Update gcc .po files
[platform/upstream/gcc.git] / gcc / po / vi.po
index dc5f6f4..2130fcf 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 7.1-b20170101\n"
 "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:10+0000\n"
+"POT-Creation-Date: 2022-04-01 17:30+0000\n"
 "PO-Revision-Date: 2017-01-08 08:33+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -579,10 +579,10 @@ msgid "Warn about creation of array temporaries."
 msgstr "Cảnh báo về sự tạo mục mảng tạm thời."
 
 #: fortran/lang.opt:214 fortran/lang.opt:535 config/alpha/alpha.opt:31
-#: common.opt:680 common.opt:818 common.opt:1056 common.opt:1060
-#: common.opt:1064 common.opt:1068 common.opt:1743 common.opt:1807
-#: common.opt:1946 common.opt:1950 common.opt:2199 common.opt:2417
-#: common.opt:3133
+#: common.opt:680 common.opt:822 common.opt:1060 common.opt:1064
+#: common.opt:1068 common.opt:1072 common.opt:1747 common.opt:1811
+#: common.opt:1950 common.opt:1954 common.opt:2203 common.opt:2421
+#: common.opt:3137
 #, no-c-format
 msgid "Does nothing. Preserved for backward compatibility."
 msgstr "Không làm gì. Giữ lại vì mục đích tương thích ngược."
@@ -1169,16 +1169,16 @@ msgstr ""
 msgid "Append underscores to externally visible names."
 msgstr "Có tên hiển thị bên ngoài thì phụ thêm dấu gạch dưới."
 
-#: fortran/lang.opt:824 c-family/c.opt:1631 c-family/c.opt:1667
-#: c-family/c.opt:1675 c-family/c.opt:1990 config/pa/pa.opt:42
+#: fortran/lang.opt:824 c-family/c.opt:1623 c-family/c.opt:1659
+#: c-family/c.opt:1667 c-family/c.opt:1986 config/pa/pa.opt:42
 #: config/pa/pa.opt:74 config/arc/arc.opt:140 config/arc/arc.opt:293
-#: config/arc/arc.opt:305 common.opt:638 common.opt:1147 common.opt:1151
-#: common.opt:1155 common.opt:1242 common.opt:1532 common.opt:1614
-#: common.opt:1898 common.opt:2041 common.opt:2084 common.opt:2492
-#: common.opt:2528 common.opt:2621 common.opt:2625 common.opt:2734
-#: common.opt:2825 common.opt:2833 common.opt:2841 common.opt:2849
-#: common.opt:2950 common.opt:3006 common.opt:3094 common.opt:3254
-#: common.opt:3258 common.opt:3262 common.opt:3266
+#: config/arc/arc.opt:305 common.opt:638 common.opt:1151 common.opt:1155
+#: common.opt:1159 common.opt:1246 common.opt:1536 common.opt:1618
+#: common.opt:1902 common.opt:2045 common.opt:2088 common.opt:2496
+#: common.opt:2532 common.opt:2625 common.opt:2629 common.opt:2738
+#: common.opt:2829 common.opt:2837 common.opt:2845 common.opt:2853
+#: common.opt:2954 common.opt:3010 common.opt:3098 common.opt:3258
+#: common.opt:3262 common.opt:3266 common.opt:3270
 #, no-c-format
 msgid "Does nothing.  Preserved for backward compatibility."
 msgstr "Không làm gì. Dành cho mục đích tương thích ngược."
@@ -1407,2067 +1407,2067 @@ msgstr "-Wlarger-than=<số>\t  Cảnh báo nếu một đối tượng lớn h
 msgid "Disable Walloca-larger-than= warning.  Equivalent to Walloca-larger-than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:355
+#: c-family/c.opt:351
 #, fuzzy, no-c-format
 #| msgid "Warn about comparison of different enum types."
 msgid "Warn about comparisons between two operands of array type."
 msgstr "Cảnh báo về sự so sánh các loại đếm (enum) khác nhau."
 
-#: c-family/c.opt:359 c-family/c.opt:363
+#: c-family/c.opt:355 c-family/c.opt:359
 #, fuzzy, no-c-format
 #| msgid "Warn about multiple declarations of the same object."
 msgid "Warn about mismatched declarations of array parameters and unsafe accesses to them."
 msgstr "Cảnh báo về nhiều khai báo trên cùng đối tượng."
 
-#: c-family/c.opt:367
+#: c-family/c.opt:363
 #, fuzzy, no-c-format
 #| msgid "Warn about zero-length formats."
 msgid "Warn about accesses to interior zero-length array members."
 msgstr "Cảnh báo về định dạng có chiều dài số không."
 
-#: c-family/c.opt:371
+#: c-family/c.opt:367
 #, no-c-format
 msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector."
 msgstr "Cảnh báo khi nào một sự gán Objective-C bị chặn bởi bộ nhặt rác."
 
-#: c-family/c.opt:375
+#: c-family/c.opt:371
 #, no-c-format
 msgid "Warn about casting functions to incompatible types."
 msgstr "Cảnh báo về hàm áp kiểu cho kiểu không tương thích."
 
-#: c-family/c.opt:383
+#: c-family/c.opt:379
 #, no-c-format
 msgid "-Wbidi-chars=[none|unpaired|any|ucn] Warn about UTF-8 bidirectional control characters."
 msgstr ""
 
-#: c-family/c.opt:406
+#: c-family/c.opt:402
 #, no-c-format
 msgid "Warn about boolean expression compared with an integer value different from true/false."
 msgstr "Cảnh báo về so sánh biểu thứ lôgíc với một giá trị nguyên khác đúng/sai."
 
-#: c-family/c.opt:410
+#: c-family/c.opt:406
 #, no-c-format
 msgid "Warn about certain operations on boolean expressions."
 msgstr "Cảnh báo về thao tác chắc chắn trên biểu thức lô-gíc."
 
-#: c-family/c.opt:414
+#: c-family/c.opt:410
 #, no-c-format
 msgid "Warn when __builtin_frame_address or __builtin_return_address is used unsafely."
 msgstr "Cảnh báo khi __builtin_frame_address hay __builtin_return_address được dùng không an toàn."
 
-#: c-family/c.opt:418
+#: c-family/c.opt:414
 #, no-c-format
 msgid "Warn when a built-in function is declared with the wrong signature."
 msgstr "Cảnh báo một hàm dựng sẵn được khai báo với chữ ký sai."
 
-#: c-family/c.opt:422
+#: c-family/c.opt:418
 #, no-c-format
 msgid "Warn when a built-in preprocessor macro is undefined or redefined."
 msgstr "Cảnh báo khi một vĩ lệnh bộ tiền xử lý dựng sẵn chưa được xác định hoặc được xác định lại."
 
-#: c-family/c.opt:426
+#: c-family/c.opt:422
 #, fuzzy, no-c-format
 #| msgid "Warn about features not present in ISO C99, but present in ISO C11."
 msgid "Warn about features not present in ISO C11, but present in ISO C2X."
 msgstr "Cảnh báo về các đặc điểm không có trong ISO C99, nhưng lại có trong ISO C11."
 
-#: c-family/c.opt:430
+#: c-family/c.opt:426
 #, no-c-format
 msgid "Warn about features not present in ISO C90, but present in ISO C99."
 msgstr "Cảnh báo về các đặc điểm không có trong ISO C90, nhưng lại có trong ISO C99."
 
-#: c-family/c.opt:434
+#: c-family/c.opt:430
 #, no-c-format
 msgid "Warn about features not present in ISO C99, but present in ISO C11."
 msgstr "Cảnh báo về các đặc điểm không có trong ISO C99, nhưng lại có trong ISO C11."
 
-#: c-family/c.opt:438
+#: c-family/c.opt:434
 #, no-c-format
 msgid "Warn about C constructs that are not in the common subset of C and C++."
 msgstr "Cảnh báo về cấu trúc C không nằm trong tập hợp phụ chung của C và C++."
 
-#: c-family/c.opt:445
+#: c-family/c.opt:441
 #, no-c-format
 msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011."
 msgstr "Cảnh báo về cấu trúc C++ mà nó có nghĩa khác nhau giữa ISO C++ 1998 và ISO C++ 2011."
 
-#: c-family/c.opt:449
+#: c-family/c.opt:445
 #, no-c-format
 msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014."
 msgstr "Cảnh báo về cấu trúc C++ mà nó có nghĩa khác nhau giữa ISO C++ 2001 và ISO C++ 2014."
 
-#: c-family/c.opt:456
+#: c-family/c.opt:452
 #, fuzzy, no-c-format
 #| msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014."
 msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO C++ 2017."
 msgstr "Cảnh báo về cấu trúc C++ mà nó có nghĩa khác nhau giữa ISO C++ 2001 và ISO C++ 2014."
 
-#: c-family/c.opt:463
+#: c-family/c.opt:459
 #, fuzzy, no-c-format
 #| msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014."
 msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO C++ 2020."
 msgstr "Cảnh báo về cấu trúc C++ mà nó có nghĩa khác nhau giữa ISO C++ 2001 và ISO C++ 2014."
 
-#: c-family/c.opt:467
+#: c-family/c.opt:463
 #, no-c-format
 msgid "Warn about C++11 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:471
+#: c-family/c.opt:467
 #, no-c-format
 msgid "Warn about C++14 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:475
+#: c-family/c.opt:471
 #, no-c-format
 msgid "Warn about C++17 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:479
+#: c-family/c.opt:475
 #, no-c-format
 msgid "Warn about C++20 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:483
+#: c-family/c.opt:479
 #, no-c-format
 msgid "Warn about C++23 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:487
+#: c-family/c.opt:483
 #, fuzzy, no-c-format
 #| msgid "Warn about casting functions to incompatible types."
 msgid "Warn about casts between incompatible function types."
 msgstr "Cảnh báo về hàm áp kiểu cho kiểu không tương thích."
 
-#: c-family/c.opt:491
+#: c-family/c.opt:487
 #, no-c-format
 msgid "Warn about casts which discard qualifiers."
 msgstr "Cảnh báo về sự ép kiểu mà loại bỏ đoạn điều kiện."
 
-#: c-family/c.opt:495 c-family/c.opt:499
+#: c-family/c.opt:491 c-family/c.opt:495
 #, fuzzy, no-c-format
 #| msgid "Warn about comparison of different enum types."
 msgid "Warn about catch handlers of non-reference type."
 msgstr "Cảnh báo về sự so sánh các loại đếm (enum) khác nhau."
 
-#: c-family/c.opt:503
+#: c-family/c.opt:499
 #, no-c-format
 msgid "Warn about subscripts whose type is \"char\"."
 msgstr "Cảnh báo về chữ in thấp có loại “char”."
 
-#: c-family/c.opt:507 c-family/c.opt:1528 c-family/c.opt:1532
-#: c-family/c.opt:1536 c-family/c.opt:1540 c-family/c.opt:1544
-#: c-family/c.opt:1548 c-family/c.opt:1552 c-family/c.opt:1559
-#: c-family/c.opt:1563 c-family/c.opt:1567 c-family/c.opt:1571
-#: c-family/c.opt:1575 c-family/c.opt:1579 c-family/c.opt:1583
-#: c-family/c.opt:1587 c-family/c.opt:1591 c-family/c.opt:1595
-#: c-family/c.opt:1599 c-family/c.opt:1603 c-family/c.opt:1607
+#: c-family/c.opt:503 c-family/c.opt:1520 c-family/c.opt:1524
+#: c-family/c.opt:1528 c-family/c.opt:1532 c-family/c.opt:1536
+#: c-family/c.opt:1540 c-family/c.opt:1544 c-family/c.opt:1551
+#: c-family/c.opt:1555 c-family/c.opt:1559 c-family/c.opt:1563
+#: c-family/c.opt:1567 c-family/c.opt:1571 c-family/c.opt:1575
+#: c-family/c.opt:1579 c-family/c.opt:1583 c-family/c.opt:1587
+#: c-family/c.opt:1591 c-family/c.opt:1595 c-family/c.opt:1599
 #: config/i386/i386.opt:991
 #, fuzzy, no-c-format
 #| msgid "Deprecated.  This switch has no effect."
 msgid "Removed in GCC 9.  This switch has no effect."
 msgstr "Đã lỗi thời. Tùy chọn này không có tác dụng gì."
 
-#: c-family/c.opt:511
+#: c-family/c.opt:507
 #, no-c-format
 msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"."
 msgstr "Cảnh báo về biến có thể bị thay đổi bởi “longjmp” hoặc “vfork”."
 
-#: c-family/c.opt:515
+#: c-family/c.opt:511
 #, fuzzy, no-c-format
 #| msgid "Warn about overflow in arithmetic expressions."
 msgid "Warn about uses of a comma operator within a subscripting expression."
 msgstr "Cảnh báo về biểu thức toán học bị tràn."
 
-#: c-family/c.opt:519
+#: c-family/c.opt:515
 #, no-c-format
 msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line."
 msgstr "Cảnh báo về ghi chú khối có thể lồng nhau, và ghi chú C++ chiếm giữ nhiều dòng vật lý."
 
-#: c-family/c.opt:523
+#: c-family/c.opt:519
 #, no-c-format
 msgid "Synonym for -Wcomment."
 msgstr "Đồng nghĩa với -Wcomment."
 
-#: c-family/c.opt:527
+#: c-family/c.opt:523
 #, no-c-format
 msgid "Warn for conditionally-supported constructs."
 msgstr "Cảnh báo cho cấu trúc hỗ-trợ-có-điều-kiện."
 
-#: c-family/c.opt:531
+#: c-family/c.opt:527
 #, no-c-format
 msgid "Warn for implicit type conversions that may change a value."
 msgstr "Cảnh báo về sự chuyển đổi loại ngầm có thể thay đổi một giá trị."
 
-#: c-family/c.opt:535
+#: c-family/c.opt:531
 #, no-c-format
 msgid "Warn for converting NULL from/to a non-pointer type."
 msgstr "Cảnh báo về chuyển đổi NULL từ/đến một loại không phải hàm trỏ."
 
-#: c-family/c.opt:543
+#: c-family/c.opt:539
 #, no-c-format
 msgid "Warn when performing class template argument deduction on a type with no deduction guides."
 msgstr ""
 
-#: c-family/c.opt:548
+#: c-family/c.opt:544
 #, no-c-format
 msgid "Warn when all constructors and destructors are private."
 msgstr "Cảnh báo khi mọi bộ cấu trúc và bộ hủy cấu trúc đều là riêng."
 
-#: c-family/c.opt:552
+#: c-family/c.opt:548
 #, no-c-format
 msgid "Warn about dangling else."
 msgstr "Cảnh báo về else thừa."
 
-#: c-family/c.opt:556 c-family/c.opt:560
+#: c-family/c.opt:552 c-family/c.opt:556
 #, no-c-format
 msgid "Warn for uses of pointers to auto variables whose lifetime has ended."
 msgstr ""
 
-#: c-family/c.opt:564
+#: c-family/c.opt:560
 #, no-c-format
 msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage."
 msgstr "Cảnh báo về sử dụng __TIME__, __DATE__ và __TIMESTAMP__."
 
-#: c-family/c.opt:568
+#: c-family/c.opt:564
 #, no-c-format
 msgid "Warn when a declaration is found after a statement."
 msgstr "Cảnh báo khi phát hiện một lời khai báo đẳng sau một câu lệnh."
 
-#: c-family/c.opt:572
+#: c-family/c.opt:568
 #, no-c-format
 msgid "Warn when deleting a pointer to incomplete type."
 msgstr "Cảnh báo khi xóa một con trỏ tới kiểu không hoàn toàn."
 
-#: c-family/c.opt:576
+#: c-family/c.opt:572
 #, no-c-format
 msgid "Warn about deleting polymorphic objects with non-virtual destructors."
 msgstr "Cảnh báo về xóa các đối tượng đa thể với cấu trúc không phải ảo."
 
-#: c-family/c.opt:584
+#: c-family/c.opt:580
 #, no-c-format
 msgid "Mark implicitly-declared copy operations as deprecated if the class has a user-provided copy operation."
 msgstr ""
 
-#: c-family/c.opt:589
+#: c-family/c.opt:585
 #, no-c-format
 msgid "Mark implicitly-declared copy operations as deprecated if the class has a user-provided copy operation or destructor."
 msgstr ""
 
-#: c-family/c.opt:594
+#: c-family/c.opt:590
 #, fuzzy, no-c-format
 #| msgid "Warn about certain operations on boolean expressions."
 msgid "Warn about deprecated arithmetic conversions on operands of enumeration types."
 msgstr "Cảnh báo về thao tác chắc chắn trên biểu thức lô-gíc."
 
-#: c-family/c.opt:598
+#: c-family/c.opt:594
 #, no-c-format
 msgid "Warn about deprecated arithmetic conversions on operands where one is of enumeration type and the other is of a floating-point type."
 msgstr ""
 
-#: c-family/c.opt:603
+#: c-family/c.opt:599
 #, no-c-format
 msgid "Warn about positional initialization of structs requiring designated initializers."
 msgstr "Cảnh báo về đoạn khởi tạo của cấu trúc cần bộ khởi tạo thiết kế."
 
-#: c-family/c.opt:607
+#: c-family/c.opt:603
 #, no-c-format
 msgid "Warn if qualifiers on arrays which are pointer targets are discarded."
 msgstr "Cảnh báo nến từ hạn định trên mảng cái mà đích trỏ đến bị loại bỏ."
 
-#: c-family/c.opt:611
+#: c-family/c.opt:607
 #, no-c-format
 msgid "Warn if type qualifiers on pointers are discarded."
 msgstr "Cảnh báo nếu từ hạn định trên các con trỏ bị loại bỏ."
 
-#: c-family/c.opt:615
+#: c-family/c.opt:611
 #, no-c-format
 msgid "Warn about compile-time integer division by zero."
 msgstr "Cảnh báo về số nguyên chia cho số không vào lúc biên dịch."
 
-#: c-family/c.opt:619
+#: c-family/c.opt:615
 #, fuzzy, no-c-format
 #| msgid "Warn about duplicated conditions in an if-else-if chain."
 msgid "Warn about duplicated branches in if-else statements."
 msgstr "Cảnh báo về các điều kiện trùng lắp trong chuỗi if-else-if."
 
-#: c-family/c.opt:623
+#: c-family/c.opt:619
 #, no-c-format
 msgid "Warn about duplicated conditions in an if-else-if chain."
 msgstr "Cảnh báo về các điều kiện trùng lắp trong chuỗi if-else-if."
 
-#: c-family/c.opt:627
+#: c-family/c.opt:623
 #, no-c-format
 msgid "Warn about violations of Effective C++ style rules."
 msgstr "Cảnh báo về sự vượt quá quy tắc Effective C++."
 
-#: c-family/c.opt:631
+#: c-family/c.opt:627
 #, no-c-format
 msgid "Warn about an empty body in an if or else statement."
 msgstr "Cảnh báo về thân trống trong một câu lệnh “if” (nếu) hay “else” (không thì)."
 
-#: c-family/c.opt:635
+#: c-family/c.opt:631
 #, fuzzy, no-c-format
 #| msgid "Warn about stray tokens after #elif and #endif."
 msgid "Warn about stray tokens after #else and #endif."
 msgstr "Cảnh báo về hiệu bài thừa đẳng sau #elif và #endif."
 
-#: c-family/c.opt:639
+#: c-family/c.opt:635
 #, no-c-format
 msgid "Warn about comparison of different enum types."
 msgstr "Cảnh báo về sự so sánh các loại đếm (enum) khác nhau."
 
-#: c-family/c.opt:643
+#: c-family/c.opt:639
 #, fuzzy, no-c-format
 #| msgid "Warn about most implicit conversions."
 msgid "Warn about implicit conversion of enum types."
 msgstr "Cảnh báo chuyển đổi ngầm."
 
-#: c-family/c.opt:651
+#: c-family/c.opt:647
 #, no-c-format
 msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead."
 msgstr "Tùy chọn này đã lạc hậu: hãy thay thế bằng -Werror=implicit-function-declaration."
 
-#: c-family/c.opt:655
+#: c-family/c.opt:651
 #, fuzzy, no-c-format
 msgid "Warn when an exception handler is shadowed by another handler."
 msgstr "Cảnh báo khi biến hằng không được dùng."
 
-#: c-family/c.opt:663
+#: c-family/c.opt:659
 #, fuzzy, no-c-format
 #| msgid "Warn about implicit function declarations."
 msgid "Warn about semicolon after in-class function definition."
 msgstr "Cảnh báo về lời khai báo hàm ngầm."
 
-#: c-family/c.opt:667
+#: c-family/c.opt:663
 #, no-c-format
 msgid "Warn for implicit type conversions that cause loss of floating point precision."
 msgstr "Cảnh báo về sự chuyển đổi loại ngầm có thể làm nguyên nhân mất chính xác số thực dấu chấm động."
 
-#: c-family/c.opt:671
+#: c-family/c.opt:667
 #, no-c-format
 msgid "Warn if testing floating point numbers for equality."
 msgstr "Cảnh báo nếu kiểm tra đẳng thức của con số dấu chấm động."
 
-#: c-family/c.opt:675 c-family/c.opt:721
+#: c-family/c.opt:671 c-family/c.opt:717
 #, no-c-format
 msgid "Warn about printf/scanf/strftime/strfmon format string anomalies."
 msgstr "Cảnh báo khi phát hiện sự dị thường về chuỗi định dạng printf/scanf/strftime/strfmon."
 
-#: c-family/c.opt:679
+#: c-family/c.opt:675
 #, no-c-format
 msgid "Warn about format strings that contain NUL bytes."
 msgstr "Cảnh báo về chuỗi định dạng chứa NUL byte."
 
-#: c-family/c.opt:683
+#: c-family/c.opt:679
 #, fuzzy, no-c-format
 #| msgid "Warn about format strings that are not literals."
 msgid "Warn about GCC format strings with strings unsuitable for diagnostics."
 msgstr "Cảnh báo về chuỗi định dạng không phải có nghĩa chữ."
 
-#: c-family/c.opt:687
+#: c-family/c.opt:683
 #, no-c-format
 msgid "Warn if passing too many arguments to a function for its format string."
 msgstr "Cảnh báo nếu gửi cho hàm quá nhiều đối số đối với chuỗi định dạng của nó."
 
-#: c-family/c.opt:691
+#: c-family/c.opt:687
 #, no-c-format
 msgid "Warn about format strings that are not literals."
 msgstr "Cảnh báo về chuỗi định dạng không phải có nghĩa chữ."
 
-#: c-family/c.opt:695
+#: c-family/c.opt:691
 #, no-c-format
 msgid "Warn about function calls with format strings that write past the end of the destination region.  Same as -Wformat-overflow=1."
 msgstr ""
 
-#: c-family/c.opt:700
+#: c-family/c.opt:696
 #, no-c-format
 msgid "Warn about possible security problems with format functions."
 msgstr "Cảnh báo về hàm định dạng có thể gây ra vấn đề về hàm định dạng."
 
-#: c-family/c.opt:704
+#: c-family/c.opt:700
 #, no-c-format
 msgid "Warn about sign differences with format functions."
 msgstr "Cảnh báo về các khác biệt dấu với các hàm định dạng."
 
-#: c-family/c.opt:708
+#: c-family/c.opt:704
 #, no-c-format
 msgid "Warn about calls to snprintf and similar functions that truncate output. Same as -Wformat-truncation=1."
 msgstr ""
 
-#: c-family/c.opt:713
+#: c-family/c.opt:709
 #, no-c-format
 msgid "Warn about strftime formats yielding 2-digit years."
 msgstr "Cảnh báo về định dạng strftime xuất năm chỉ có hai chữ số."
 
-#: c-family/c.opt:717
+#: c-family/c.opt:713
 #, no-c-format
 msgid "Warn about zero-length formats."
 msgstr "Cảnh báo về định dạng có chiều dài số không."
 
-#: c-family/c.opt:725
+#: c-family/c.opt:721
 #, no-c-format
 msgid "Warn about function calls with format strings that write past the end of the destination region."
 msgstr ""
 
-#: c-family/c.opt:730
+#: c-family/c.opt:726
 #, fuzzy, no-c-format
 #| msgid "Warn about casting functions to incompatible types."
 msgid "Warn about calls to snprintf and similar functions that truncate output."
 msgstr "Cảnh báo về hàm áp kiểu cho kiểu không tương thích."
 
-#: c-family/c.opt:734
+#: c-family/c.opt:730
 #, fuzzy, no-c-format
 #| msgid "Warn when a Cell microcoded instruction is emitted."
 msgid "Warn when the field in a struct is not aligned."
 msgstr "Cảnh báo khi xuất một câu lệnh mã vi Cell."
 
-#: c-family/c.opt:738
+#: c-family/c.opt:734
 #, no-c-format
 msgid "Warn whenever type qualifiers are ignored."
 msgstr "Cảnh báo khi nào đoạn điều kiện loại bị bỏ qua."
 
-#: c-family/c.opt:742
+#: c-family/c.opt:738
 #, no-c-format
 msgid "Warn whenever attributes are ignored."
 msgstr "Cảnh báo khi nào các thuộc tính bị bỏ qua."
 
-#: c-family/c.opt:746
+#: c-family/c.opt:742
 #, fuzzy, no-c-format
 #| msgid "Warn when a register variable is declared volatile."
 msgid "Warn when a base is inaccessible in derived due to ambiguity."
 msgstr "Cảnh báo khi biến thanh ghi được khai báo là hay thay đổi."
 
-#: c-family/c.opt:750
+#: c-family/c.opt:746
 #, no-c-format
 msgid "Warn when there is a conversion between pointers that have incompatible types."
 msgstr "Cảnh báo khi chuyển đổi giữa một con trỏ tới kiểu không tương thích."
 
-#: c-family/c.opt:754 common.opt:649
+#: c-family/c.opt:750 common.opt:649
 #, no-c-format
 msgid "Warn for infinitely recursive calls."
 msgstr ""
 
-#: c-family/c.opt:758
+#: c-family/c.opt:754
 #, no-c-format
 msgid "Warn when the address of packed member of struct or union is taken."
 msgstr ""
 
-#: c-family/c.opt:762
+#: c-family/c.opt:758
 #, no-c-format
 msgid "Warn about variables which are initialized to themselves."
 msgstr "Cảnh báo về biến bị tự khởi tạo."
 
-#: c-family/c.opt:766
+#: c-family/c.opt:762
 #, no-c-format
 msgid "Warn about uses of std::initializer_list that can result in dangling pointers."
 msgstr ""
 
-#: c-family/c.opt:770
+#: c-family/c.opt:766
 #, no-c-format
 msgid "Warn about nonsensical values of --param destructive-interference-size or constructive-interference-size."
 msgstr ""
 
-#: c-family/c.opt:775
+#: c-family/c.opt:771
 #, no-c-format
 msgid "Warn about implicit declarations."
 msgstr "Cảnh báo khai báo ngầm."
 
-#: c-family/c.opt:783
+#: c-family/c.opt:779
 #, no-c-format
 msgid "Warn about implicit conversions from \"float\" to \"double\"."
 msgstr "Cảnh báo về sự chuyển đổi ngầm \"float\" thành \"double\"."
 
-#: c-family/c.opt:787
+#: c-family/c.opt:783
 #, no-c-format
 msgid "Warn if \"defined\" is used outside #if."
 msgstr "Cảnh báo nếu như \"defined\" được sử dụng ngoài #if."
 
-#: c-family/c.opt:791
+#: c-family/c.opt:787
 #, no-c-format
 msgid "Warn about implicit function declarations."
 msgstr "Cảnh báo về lời khai báo hàm ngầm."
 
-#: c-family/c.opt:795
+#: c-family/c.opt:791
 #, no-c-format
 msgid "Warn when a declaration does not specify a type."
 msgstr "Cảnh báo khi một lời khai báo không ghi rõ loại."
 
-#: c-family/c.opt:802
+#: c-family/c.opt:798
 #, no-c-format
 msgid "Warn about C++11 inheriting constructors when the base has a variadic constructor."
 msgstr "Cảnh báo về các cấu trúc kế thừa C++11 khi cơ sở có một cấu tử variadic."
 
-#: c-family/c.opt:806
+#: c-family/c.opt:802
 #, no-c-format
 msgid "Warn about incompatible integer to pointer and pointer to integer conversions."
 msgstr "Cảnh báo về sự không thể chuyển đổi số nguyên thành con trỏ và con trỏ thành số nguyên."
 
-#: c-family/c.opt:810
+#: c-family/c.opt:806
 #, no-c-format
 msgid "Warn for suspicious integer expressions in boolean context."
 msgstr ""
 
-#: c-family/c.opt:814
+#: c-family/c.opt:810
 #, no-c-format
 msgid "Warn when there is a cast to a pointer from an integer of a different size."
 msgstr "Cảnh báo khi có một sự gán cho một hàm trỏ từ một số nguyên có kích cỡ khác."
 
-#: c-family/c.opt:818
+#: c-family/c.opt:814
 #, no-c-format
 msgid "Warn about invalid uses of the \"offsetof\" macro."
 msgstr "Cảnh báo khi sai sử dụng vĩ lệnh “offsetof”."
 
-#: c-family/c.opt:822
+#: c-family/c.opt:818
 #, no-c-format
 msgid "Warn about PCH files that are found but not used."
 msgstr "Cảnh báo về tập tin PCH được tìm thấy mà không phải được sử dụng."
 
-#: c-family/c.opt:826
+#: c-family/c.opt:822
 #, no-c-format
 msgid "Warn when a jump misses a variable initialization."
 msgstr "Cảnh báo khi một bước nhảy còn thiếu sự khởi tạo biến."
 
-#: c-family/c.opt:830
+#: c-family/c.opt:826
 #, no-c-format
 msgid "Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore."
 msgstr ""
 
-#: c-family/c.opt:834
+#: c-family/c.opt:830
 #, no-c-format
 msgid "Warn when a logical operator is suspiciously always evaluating to true or false."
 msgstr "Cảnh báo khi một toán tử hợp lý cứ ước lượng là đúng hoặc là sai một cách đáng ngờ."
 
-#: c-family/c.opt:838
+#: c-family/c.opt:834
 #, no-c-format
 msgid "Warn when logical not is used on the left hand side operand of a comparison."
 msgstr ""
 
-#: c-family/c.opt:842
+#: c-family/c.opt:838
 #, no-c-format
 msgid "Do not warn about using \"long long\" when -pedantic."
 msgstr "Bật -pedantic thì đừng cảnh báo về sử dụng “long long”."
 
-#: c-family/c.opt:846
+#: c-family/c.opt:842
 #, no-c-format
 msgid "Warn about suspicious declarations of \"main\"."
 msgstr "Cảnh báo về lời khai báo “main” đáng ngờ."
 
-#: c-family/c.opt:854
+#: c-family/c.opt:850
 #, no-c-format
 msgid "Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not."
 msgstr ""
 
-#: c-family/c.opt:858
+#: c-family/c.opt:854
 #, no-c-format
 msgid "Warn about suspicious calls to memset where the third argument contains the number of elements not multiplied by the element size."
 msgstr ""
 
-#: c-family/c.opt:862
+#: c-family/c.opt:858
 #, no-c-format
 msgid "Warn when the indentation of the code does not reflect the block structure."
 msgstr ""
 
-#: c-family/c.opt:866
+#: c-family/c.opt:862
 #, no-c-format
 msgid "Warn for deallocation calls with arguments returned from mismatched allocation functions."
 msgstr ""
 
-#: c-family/c.opt:871
+#: c-family/c.opt:867
 #, no-c-format
 msgid "Warn for mismatches between calls to operator new or delete and the corresponding call to the allocation or deallocation function."
 msgstr ""
 
-#: c-family/c.opt:876
+#: c-family/c.opt:872
 #, no-c-format
 msgid "Warn when a class is redeclared or referenced using a mismatched class-key."
 msgstr ""
 
-#: c-family/c.opt:880
+#: c-family/c.opt:876
 #, no-c-format
 msgid "Warn about possibly missing braces around initializers."
 msgstr "Cảnh báo về đoạn khởi tạo có thể thiếu dấu ngoặc móc."
 
-#: c-family/c.opt:884
+#: c-family/c.opt:880
 #, no-c-format
 msgid "Warn about global functions without previous declarations."
 msgstr "Cảnh báo về hàm toàn cục không có lời khai báo trước."
 
-#: c-family/c.opt:888
+#: c-family/c.opt:884
 #, no-c-format
 msgid "Warn about missing fields in struct initializers."
 msgstr "Cảnh báo về đoạn khởi tạo cấu trúc thiếu trường."
 
-#: c-family/c.opt:892
+#: c-family/c.opt:888
 #, fuzzy, no-c-format
 #| msgid "Warn about possibly missing parentheses."
 msgid "Warn about likely missing requires keyword."
 msgstr "Cảnh báo về dấu ngoặc đơn có thể bị thiếu."
 
-#: c-family/c.opt:896
+#: c-family/c.opt:892
 #, no-c-format
 msgid "Warn when the template keyword is missing after a member access token in a dependent member access expression if that member is a template."
 msgstr ""
 
-#: c-family/c.opt:900
+#: c-family/c.opt:896
 #, no-c-format
 msgid "Warn about unsafe macros expanding to multiple statements used as a body of a clause such as if, else, while, switch, or for."
 msgstr ""
 
-#: c-family/c.opt:904
+#: c-family/c.opt:900
 #, no-c-format
 msgid "Warn on direct multiple inheritance."
 msgstr ""
 
-#: c-family/c.opt:908
+#: c-family/c.opt:904
 #, no-c-format
 msgid "Warn on namespace definition."
 msgstr "Cảnh báo lúc định nghĩa không gian tên."
 
-#: c-family/c.opt:912
+#: c-family/c.opt:908
 #, no-c-format
 msgid "Warn when fields in a struct with the packed attribute are misaligned."
 msgstr ""
 
-#: c-family/c.opt:916
+#: c-family/c.opt:912
 #, no-c-format
 msgid "Warn when a range-based for-loop is creating unnecessary copies."
 msgstr ""
 
-#: c-family/c.opt:920
+#: c-family/c.opt:916
 #, no-c-format
 msgid "Warn when a class or enumerated type is referenced using a redundant class-key."
 msgstr ""
 
-#: c-family/c.opt:924
+#: c-family/c.opt:920
 #, no-c-format
 msgid "Warn about missing sized deallocation functions."
 msgstr "Cảnh báo về thiếu hàm giải cấp phát cỡ."
 
-#: c-family/c.opt:928
+#: c-family/c.opt:924
 #, no-c-format
 msgid "Warn about suspicious divisions of two sizeof expressions that don't work correctly with pointers."
 msgstr ""
 
-#: c-family/c.opt:932
+#: c-family/c.opt:928
 #, no-c-format
 msgid "Warn about divisions of two sizeof operators when the first one is applied to an array and the divisor does not equal the size of the array element."
 msgstr ""
 
-#: c-family/c.opt:937
+#: c-family/c.opt:933
 #, no-c-format
 msgid "Warn about suspicious length parameters to certain string functions if the argument uses sizeof."
 msgstr ""
 
-#: c-family/c.opt:941
+#: c-family/c.opt:937
 #, no-c-format
 msgid "Warn when sizeof is applied on a parameter declared as an array."
 msgstr ""
 
-#: c-family/c.opt:945
+#: c-family/c.opt:941
 #, no-c-format
 msgid "Warn about calls to strcmp and strncmp used in equality expressions that are necessarily true or false due to the length of one and size of the other argument."
 msgstr ""
 
-#: c-family/c.opt:951
+#: c-family/c.opt:947
 #, no-c-format
 msgid "Warn about buffer overflow in string manipulation functions like memcpy and strcpy."
 msgstr ""
 
-#: c-family/c.opt:956
+#: c-family/c.opt:952
 #, no-c-format
 msgid "Under the control of Object Size type, warn about buffer overflow in string manipulation functions like memcpy and strcpy."
 msgstr ""
 
-#: c-family/c.opt:961
+#: c-family/c.opt:957
 #, no-c-format
 msgid "Warn about reading past the end of a source array in string manipulation functions like memchr and memcpy."
 msgstr ""
 
-#: c-family/c.opt:965
+#: c-family/c.opt:961
 #, no-c-format
 msgid "Warn about truncation in string manipulation functions like strncat and strncpy."
 msgstr ""
 
-#: c-family/c.opt:969
+#: c-family/c.opt:965
 #, no-c-format
 msgid "Warn about functions which might be candidates for format attributes."
 msgstr "Cảnh báo về hàm có thể yêu cầu thuộc tính định dạng."
 
-#: c-family/c.opt:973
+#: c-family/c.opt:969
 #, no-c-format
 msgid "Suggest that the override keyword be used when the declaration of a virtual function overrides another."
 msgstr ""
 
-#: c-family/c.opt:978
+#: c-family/c.opt:974
 #, no-c-format
 msgid "Warn about enumerated switches, with no default, missing a case."
 msgstr ""
 
-#: c-family/c.opt:982
+#: c-family/c.opt:978
 #, no-c-format
 msgid "Warn about enumerated switches missing a \"default:\" statement."
 msgstr ""
 
-#: c-family/c.opt:986
+#: c-family/c.opt:982
 #, no-c-format
 msgid "Warn about all enumerated switches missing a specific case."
 msgstr ""
 
-#: c-family/c.opt:990
+#: c-family/c.opt:986
 #, no-c-format
 msgid "Warn about switches with boolean controlling expression."
 msgstr "Cảnh báo về switches với biểu thức điều khiển trả về lô-gíc."
 
-#: c-family/c.opt:994
+#: c-family/c.opt:990
 #, no-c-format
 msgid "Warn about switch values that are outside of the switch's type range."
 msgstr ""
 
-#: c-family/c.opt:998
+#: c-family/c.opt:994
 #, no-c-format
 msgid "Warn on primary template declaration."
 msgstr "Cảnh báo về khai báo hàm mẫu sơ cấp."
 
-#: c-family/c.opt:1002
+#: c-family/c.opt:998
 #, no-c-format
 msgid "Warn about declarations of entities that may be missing attributes that related entities have been declared with."
 msgstr ""
 
-#: c-family/c.opt:1011
+#: c-family/c.opt:1007
 #, no-c-format
 msgid "Warn about user-specified include directories that do not exist."
 msgstr "Cảnh báo khi người dùng xác định một thư mục không tồn tại."
 
-#: c-family/c.opt:1015
+#: c-family/c.opt:1011
 #, no-c-format
 msgid "Warn about function parameters declared without a type specifier in K&R-style functions."
 msgstr "Cảnh báo về tham số hàm được khai báo mà không ghi rõ loại, trong hàm kiểu K&R."
 
-#: c-family/c.opt:1019
+#: c-family/c.opt:1015
 #, no-c-format
 msgid "Warn about global functions without prototypes."
 msgstr "Cảnh báo về hàm toàn cục mà không có nguyên mẫu."
 
-#: c-family/c.opt:1026
+#: c-family/c.opt:1022
 #, no-c-format
 msgid "Warn about use of multi-character character constants."
 msgstr "Cảnh báo về sử dụng hằng số ký tự đa ký tự."
 
-#: c-family/c.opt:1030
+#: c-family/c.opt:1026
 #, no-c-format
 msgid "Warn about narrowing conversions within { } that are ill-formed in C++11."
 msgstr ""
 
-#: c-family/c.opt:1034
+#: c-family/c.opt:1030
 #, no-c-format
 msgid "Warn about \"extern\" declarations not at file scope."
 msgstr "Cảnh báo về lời khai báo “extern” (bên ngoài) ở ngoại phạm vi tập tin."
 
-#: c-family/c.opt:1038
+#: c-family/c.opt:1034
 #, no-c-format
 msgid "Warn when a noexcept expression evaluates to false even though the expression can't actually throw."
 msgstr ""
 
-#: c-family/c.opt:1042
+#: c-family/c.opt:1038
 #, no-c-format
 msgid "Warn if C++17 noexcept function type will change the mangled name of a symbol."
 msgstr ""
 
-#: c-family/c.opt:1046
+#: c-family/c.opt:1042
 #, no-c-format
 msgid "Warn when non-templatized friend functions are declared within a template."
 msgstr "Cảnh báo khi hàm bạn không làm mẫu được khai báo bên trong một mẫu."
 
-#: c-family/c.opt:1050
+#: c-family/c.opt:1046
 #, no-c-format
 msgid "Warn when a conversion function will never be called due to the type it converts to."
 msgstr ""
 
-#: c-family/c.opt:1054
+#: c-family/c.opt:1050
 #, no-c-format
 msgid "Warn for unsafe raw memory writes to objects of class types."
 msgstr ""
 
-#: c-family/c.opt:1058
+#: c-family/c.opt:1054
 #, no-c-format
 msgid "Warn about non-virtual destructors."
 msgstr "Cảnh báo về bộ hủy cấu trúc không phải ảo."
 
-#: c-family/c.opt:1062
+#: c-family/c.opt:1058
 #, no-c-format
 msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL."
 msgstr "Cảnh báo khi NULL được gửi cho khe đối số đánh dấu là yêu cầu giá trị không phải NULL."
 
-#: c-family/c.opt:1078
+#: c-family/c.opt:1074
 #, fuzzy, no-c-format
 #| msgid "-Wnormalized=<none|id|nfc|nfkc>\tWarn about non-normalised Unicode strings."
 msgid "-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings."
 msgstr "-Wnormalized=<none|id|nfc|nfkc>\tCảnh báo về chuỗi Unicode không phải chuẩn hóa."
 
-#: c-family/c.opt:1101
+#: c-family/c.opt:1097
 #, no-c-format
 msgid "Warn if a class interface has no superclass.  Root classes may use an attribute to suppress this warning."
 msgstr ""
 
-#: c-family/c.opt:1106
+#: c-family/c.opt:1102
 #, no-c-format
 msgid "Warn if a C-style cast is used in a program."
 msgstr "Cảnh báo nếu một sự gán kiểu C được sử dụng trong một chương trình."
 
-#: c-family/c.opt:1110
+#: c-family/c.opt:1106
 #, no-c-format
 msgid "Warn for obsolescent usage in a declaration."
 msgstr "Cảnh báo về lời khai báo kiểu cũ."
 
-#: c-family/c.opt:1114
+#: c-family/c.opt:1110
 #, no-c-format
 msgid "Warn if an old-style parameter definition is used."
 msgstr "Cảnh báo về lời xác định tham số kiểu cũ."
 
-#: c-family/c.opt:1118
+#: c-family/c.opt:1114
 #, no-c-format
 msgid "Warn about potentially suboptimal choices related to OpenACC parallelism."
 msgstr ""
 
-#: c-family/c.opt:1122
+#: c-family/c.opt:1118
 #, no-c-format
 msgid "Warn if a simd directive is overridden by the vectorizer cost model."
 msgstr ""
 
-#: c-family/c.opt:1126
+#: c-family/c.opt:1122
 #, no-c-format
 msgid "Warn if a string is longer than the maximum portable length specified by the standard."
 msgstr "Cảnh báo về chuỗi dài hơn chiều dài di động tối đa được tiêu chuẩn ghi rõ."
 
-#: c-family/c.opt:1130
+#: c-family/c.opt:1126
 #, no-c-format
 msgid "Warn about overloaded virtual function names."
 msgstr "Cảnh báo về các tên hàm ảo quá tải."
 
-#: c-family/c.opt:1134
+#: c-family/c.opt:1130
 #, no-c-format
 msgid "Warn about overriding initializers without side effects."
 msgstr "Cảnh báo về ghi đè lên đoạn khởi tạo mà không có hiệu ứng cạnh."
 
-#: c-family/c.opt:1138
+#: c-family/c.opt:1134
 #, no-c-format
 msgid "Warn about overriding initializers with side effects."
 msgstr "Cảnh báo về ghi đè lên đoạn khởi tạo mà có hiệu ứng cạnh."
 
-#: c-family/c.opt:1142
+#: c-family/c.opt:1138
 #, no-c-format
 msgid "Warn about packed bit-fields whose offset changed in GCC 4.4."
 msgstr "Cảnh báo về trường bit đóng gói có hiệu số bị thay đổi trong GCC 4.4."
 
-#: c-family/c.opt:1146
+#: c-family/c.opt:1142
 #, no-c-format
 msgid "Warn about possibly missing parentheses."
 msgstr "Cảnh báo về dấu ngoặc đơn có thể bị thiếu."
 
-#: c-family/c.opt:1154
+#: c-family/c.opt:1150
 #, no-c-format
 msgid "Warn about calling std::move on a local object in a return statement preventing copy elision."
 msgstr ""
 
-#: c-family/c.opt:1158
+#: c-family/c.opt:1154
 #, no-c-format
 msgid "Warn when converting the type of pointers to member functions."
 msgstr "Cảnh báo khi chuyển đổi loại hàm trỏ sang hàm thành viên."
 
-#: c-family/c.opt:1162
+#: c-family/c.opt:1158
 #, no-c-format
 msgid "Warn about function pointer arithmetic."
 msgstr "Cảnh báo về số học trỏ đến hàm."
 
-#: c-family/c.opt:1166
+#: c-family/c.opt:1162
 #, no-c-format
 msgid "Warn when a pointer differs in signedness in an assignment."
 msgstr ""
 
-#: c-family/c.opt:1170
+#: c-family/c.opt:1166
 #, fuzzy, no-c-format
 #| msgid "Warn about use of multi-character character constants."
 msgid "Warn when a pointer is compared with a zero character constant."
 msgstr "Cảnh báo về sử dụng hằng số ký tự đa ký tự."
 
-#: c-family/c.opt:1174
+#: c-family/c.opt:1170
 #, no-c-format
 msgid "Warn when a pointer is cast to an integer of a different size."
 msgstr "Cảnh báo khi có một sự gán cho một hàm trỏ cho một số nguyên có kích cỡ khác."
 
-#: c-family/c.opt:1178
+#: c-family/c.opt:1174
 #, no-c-format
 msgid "Warn about misuses of pragmas."
 msgstr "Cảnh báo lạm dụng pragmas."
 
-#: c-family/c.opt:1182
+#: c-family/c.opt:1178
 #, no-c-format
 msgid "Warn if constructor or destructors with priorities from 0 to 100 are used."
 msgstr ""
 
-#: c-family/c.opt:1186
+#: c-family/c.opt:1182
 #, no-c-format
 msgid "Warn if a property for an Objective-C object has no assign semantics specified."
 msgstr ""
 
-#: c-family/c.opt:1190
+#: c-family/c.opt:1186
 #, no-c-format
 msgid "Warn if inherited methods are unimplemented."
 msgstr ""
 
-#: c-family/c.opt:1194 c-family/c.opt:1198
+#: c-family/c.opt:1190 c-family/c.opt:1194
 #, no-c-format
 msgid "Warn for placement new expressions with undefined behavior."
 msgstr ""
 
-#: c-family/c.opt:1202
+#: c-family/c.opt:1198
 #, no-c-format
 msgid "Warn about multiple declarations of the same object."
 msgstr "Cảnh báo về nhiều khai báo trên cùng đối tượng."
 
-#: c-family/c.opt:1206
+#: c-family/c.opt:1202
 #, no-c-format
 msgid "Warn about redundant calls to std::move."
 msgstr ""
 
-#: c-family/c.opt:1210
+#: c-family/c.opt:1206
 #, fuzzy, no-c-format
 msgid "Warn about uses of register storage specifier."
 msgstr "Cảnh báo lạm dụng pragmas."
 
-#: c-family/c.opt:1214
+#: c-family/c.opt:1210
 #, no-c-format
 msgid "Warn when the compiler reorders code."
 msgstr "Cảnh báo khi trình dịch đổi thứ tự mã."
 
-#: c-family/c.opt:1218
+#: c-family/c.opt:1214
 #, no-c-format
 msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)."
 msgstr ""
 
-#: c-family/c.opt:1222
+#: c-family/c.opt:1218
 #, no-c-format
 msgid "Warn on suspicious constructs involving reverse scalar storage order."
 msgstr ""
 
-#: c-family/c.opt:1226
+#: c-family/c.opt:1222
 #, no-c-format
 msgid "Warn if a selector has multiple methods."
 msgstr "Cảnh báo nếu một chọn có nhiều phương thức."
 
-#: c-family/c.opt:1230
+#: c-family/c.opt:1226
 #, no-c-format
 msgid "Warn about possible violations of sequence point rules."
 msgstr "Cảnh báo về sự vi phạm quy tắc điểm liên tiếp."
 
-#: c-family/c.opt:1234
+#: c-family/c.opt:1230
 #, no-c-format
 msgid "Warn if a local declaration hides an instance variable."
 msgstr "Cảnh báo khi một lời khai báo nội bộ ẩn một biến minh dụ."
 
-#: c-family/c.opt:1238 c-family/c.opt:1242
+#: c-family/c.opt:1234 c-family/c.opt:1238
 #, no-c-format
 msgid "Warn if left shift of a signed value overflows."
 msgstr ""
 
-#: c-family/c.opt:1246
+#: c-family/c.opt:1242
 #, no-c-format
 msgid "Warn if shift count is negative."
 msgstr "Cảnh báo nếu số lượng dịch là số âm."
 
-#: c-family/c.opt:1250
+#: c-family/c.opt:1246
 #, no-c-format
 msgid "Warn if shift count >= width of type."
 msgstr "Cảnh báo nếu số lượng dịch >= độ rộng của kiểu."
 
-#: c-family/c.opt:1254
+#: c-family/c.opt:1250
 #, no-c-format
 msgid "Warn if left shifting a negative value."
 msgstr "Cảnh báo nếu số lượng dịch trái là số âm."
 
-#: c-family/c.opt:1258
+#: c-family/c.opt:1254
 #, no-c-format
 msgid "Warn if conversion of the result of arithmetic might change the value even though converting the operands cannot."
 msgstr ""
 
-#: c-family/c.opt:1262
+#: c-family/c.opt:1258
 #, no-c-format
 msgid "Warn about signed-unsigned comparisons."
 msgstr "Cảnh báo về so sánh có và không dấu."
 
-#: c-family/c.opt:1270
+#: c-family/c.opt:1266
 #, no-c-format
 msgid "Warn for implicit type conversions between signed and unsigned integers."
 msgstr "Cảnh báo về sự chuyển đổi loại ngầm giữa số nguyên có dấu và không có dấu."
 
-#: c-family/c.opt:1274
+#: c-family/c.opt:1270
 #, no-c-format
 msgid "Warn when overload promotes from unsigned to signed."
 msgstr ""
 
-#: c-family/c.opt:1278
+#: c-family/c.opt:1274
 #, no-c-format
 msgid "Warn about uncasted NULL used as sentinel."
 msgstr "Cảnh báo NULL chưa áp kiểu dùng làm ký hiệu cầm canh."
 
-#: c-family/c.opt:1282
+#: c-family/c.opt:1278
 #, no-c-format
 msgid "Warn about unprototyped function declarations."
 msgstr "Cảnh báo về khai báo hàm không được khai báo mẫu trước."
 
-#: c-family/c.opt:1294
+#: c-family/c.opt:1290
 #, no-c-format
 msgid "Warn if type signatures of candidate methods do not match exactly."
 msgstr ""
 
-#: c-family/c.opt:1298
+#: c-family/c.opt:1294
 #, no-c-format
 msgid "Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used."
 msgstr ""
 
-#: c-family/c.opt:1302
+#: c-family/c.opt:1298
 #, no-c-format
 msgid "Deprecated.  This switch has no effect."
 msgstr "Đã lỗi thời. Tùy chọn này không có tác dụng gì."
 
-#: c-family/c.opt:1310
+#: c-family/c.opt:1306
 #, no-c-format
 msgid "Warn if a comparison always evaluates to true or false."
 msgstr "Cảnh báo khi so sánh luôn ước lượng là đúng hoặc là sai."
 
-#: c-family/c.opt:1314
+#: c-family/c.opt:1310
 #, no-c-format
 msgid "Warn if a throw expression will always result in a call to terminate()."
 msgstr ""
 
-#: c-family/c.opt:1318
+#: c-family/c.opt:1314
 #, no-c-format
 msgid "Warn about features not present in traditional C."
 msgstr "Cảnh báo về các đặc điểm không có trong ISO C90, nhưng lại có trong ISO C99"
 
-#: c-family/c.opt:1322
+#: c-family/c.opt:1318
 #, no-c-format
 msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype."
 msgstr ""
 
-#: c-family/c.opt:1326
+#: c-family/c.opt:1322
 #, no-c-format
 msgid "Warn if trigraphs are encountered that might affect the meaning of the program."
 msgstr ""
 
-#: c-family/c.opt:1330
+#: c-family/c.opt:1326
 #, no-c-format
 msgid "Warn about @selector()s without previously declared methods."
 msgstr "Cảnh báo về @selector()s không có lời khai báo trước."
 
-#: c-family/c.opt:1334
+#: c-family/c.opt:1330
 #, no-c-format
 msgid "Warn if an undefined macro is used in an #if directive."
 msgstr ""
 
-#: c-family/c.opt:1346
+#: c-family/c.opt:1342
 #, no-c-format
 msgid "Warn about unrecognized pragmas."
 msgstr "Cảnh báo về pragmas không thừa nhận."
 
-#: c-family/c.opt:1350
+#: c-family/c.opt:1346
 #, no-c-format
 msgid "Warn about unsuffixed float constants."
 msgstr "Cảnh báo hằng thực không có hậu tố."
 
-#: c-family/c.opt:1358
+#: c-family/c.opt:1354
 #, no-c-format
 msgid "Warn when typedefs locally defined in a function are not used."
 msgstr "Cảnh báo khi typedefs nội bộ định nghĩa hàm mà nó không được dùng."
 
-#: c-family/c.opt:1362
+#: c-family/c.opt:1358
 #, no-c-format
 msgid "Warn about macros defined in the main file that are not used."
 msgstr "Cảnh báo về các vĩ lệnh đã định nghĩa trong tập tin chính mà không được sử dụng."
 
-#: c-family/c.opt:1366
+#: c-family/c.opt:1362
 #, no-c-format
 msgid "Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value."
 msgstr ""
 
-#: c-family/c.opt:1374 c-family/c.opt:1378
+#: c-family/c.opt:1370 c-family/c.opt:1374
 #, no-c-format
 msgid "Warn when a const variable is unused."
 msgstr "Cảnh báo khi biến hằng không được dùng."
 
-#: c-family/c.opt:1382
-#, no-c-format
-msgid "# effect."
-msgstr ""
-
-#: c-family/c.opt:1394
+#: c-family/c.opt:1386
 #, no-c-format
 msgid "Warn about using variadic macros."
 msgstr "Cảnh báo về dùng các vĩ lệnh variadic."
 
-#: c-family/c.opt:1398
+#: c-family/c.opt:1390
 #, no-c-format
 msgid "Warn about questionable usage of the macros used to retrieve variable arguments."
 msgstr ""
 
-#: c-family/c.opt:1402
+#: c-family/c.opt:1394
 #, no-c-format
 msgid "Warn about the most vexing parse syntactic ambiguity."
 msgstr ""
 
-#: c-family/c.opt:1406
+#: c-family/c.opt:1398
 #, no-c-format
 msgid "Warn if a variable length array is used."
 msgstr "Cảnh báo nếu mảng có độ dài biến đổi được dùng."
 
-#: c-family/c.opt:1410
+#: c-family/c.opt:1402
 #, no-c-format
 msgid "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes."
 msgstr ""
 
-#: c-family/c.opt:1416
+#: c-family/c.opt:1408
 #, no-c-format
 msgid "Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:1420
+#: c-family/c.opt:1412
 #, fuzzy, no-c-format
 #| msgid "Warn about multiple declarations of the same object."
 msgid "Warn about mismatched declarations of VLA parameters."
 msgstr "Cảnh báo về nhiều khai báo trên cùng đối tượng."
 
-#: c-family/c.opt:1424
+#: c-family/c.opt:1416
 #, fuzzy, no-c-format
 #| msgid "Warn about deprecated 'vector long ...' AltiVec type usage."
 msgid "Warn about deprecated uses of volatile qualifier."
 msgstr "Cảnh báo về sử dụng loại AltiVec “vector long …”."
 
-#: c-family/c.opt:1428
+#: c-family/c.opt:1420
 #, no-c-format
 msgid "Warn when a register variable is declared volatile."
 msgstr "Cảnh báo khi biến thanh ghi được khai báo là hay thay đổi."
 
-#: c-family/c.opt:1432
+#: c-family/c.opt:1424
 #, no-c-format
 msgid "Warn on direct virtual inheritance."
 msgstr ""
 
-#: c-family/c.opt:1436
+#: c-family/c.opt:1428
 #, no-c-format
 msgid "Warn if a virtual base has a non-trivial move assignment operator."
 msgstr ""
 
-#: c-family/c.opt:1440
+#: c-family/c.opt:1432
 #, no-c-format
 msgid "In C++, nonzero means warn about deprecated conversion from string literals to 'char *'.  In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard."
 msgstr ""
 
-#: c-family/c.opt:1444
+#: c-family/c.opt:1436
 #, no-c-format
 msgid "Warn when a literal '0' is used as null pointer."
 msgstr "Cảnh báo khi chuỗi văn “0” được dùng như là con trỏ null."
 
-#: c-family/c.opt:1448
+#: c-family/c.opt:1440
 #, no-c-format
 msgid "Warn about useless casts."
 msgstr "Cảnh báo về áp kiểu vô ích."
 
-#: c-family/c.opt:1452
+#: c-family/c.opt:1444
 #, no-c-format
 msgid "Warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage."
 msgstr ""
 
-#: c-family/c.opt:1456
+#: c-family/c.opt:1448
 #, fuzzy, no-c-format
 msgid "Warn when a declaration has duplicate const, volatile, restrict or _Atomic specifier."
 msgstr "Cảnh báo khi một lời khai báo không ghi rõ loại."
 
-#: c-family/c.opt:1460
+#: c-family/c.opt:1452
 #, no-c-format
 msgid "Warn when an argument passed to a restrict-qualified parameter aliases with another argument."
 msgstr ""
 
-#: c-family/c.opt:1465
+#: c-family/c.opt:1457
 #, no-c-format
 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)."
 msgstr "Đồng nghĩa -std=c89 (cho C) hoặc -std=c++98 (cho C++)."
 
-#: c-family/c.opt:1473
+#: c-family/c.opt:1465
 #, no-c-format
 msgid "The version of the C++ ABI used for -Wabi warnings and link compatibility aliases."
 msgstr ""
 
-#: c-family/c.opt:1477
+#: c-family/c.opt:1469
 #, no-c-format
 msgid "Enforce class member access control semantics."
 msgstr ""
 
-#: c-family/c.opt:1481
+#: c-family/c.opt:1473
 #, fuzzy, no-c-format
 #| msgid "-fada-spec-parent=unit  Dump Ada specs as child units of given parent."
 msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent."
 msgstr "-fada-spec-parent=unit  Đổ đặc tả Ada là các đơn vị con của cha đã cho."
 
-#: c-family/c.opt:1485
+#: c-family/c.opt:1477
 #, no-c-format
 msgid "Support C++17 allocation of over-aligned types."
 msgstr ""
 
-#: c-family/c.opt:1489
+#: c-family/c.opt:1481
 #, no-c-format
 msgid "-faligned-new=<N>\tUse C++17 over-aligned type allocation for alignments greater than N."
 msgstr ""
 
-#: c-family/c.opt:1496
+#: c-family/c.opt:1488
 #, no-c-format
 msgid "Allow variadic functions without named parameter."
 msgstr ""
 
-#: c-family/c.opt:1500 c-family/c.opt:1768 c-family/c.opt:2155
-#: c-family/c.opt:2159 c-family/c.opt:2175
+#: c-family/c.opt:1492 c-family/c.opt:1764 c-family/c.opt:2151
+#: c-family/c.opt:2155 c-family/c.opt:2171
 #, no-c-format
 msgid "No longer supported."
 msgstr "không còn được hỗ trợ nữa."
 
-#: c-family/c.opt:1504
+#: c-family/c.opt:1496
 #, no-c-format
 msgid "Recognize the \"asm\" keyword."
 msgstr "Không chấp nhận từ khóa \"asm\"."
 
-#: c-family/c.opt:1512
+#: c-family/c.opt:1504
 #, no-c-format
 msgid "Recognize built-in functions."
 msgstr "Chấp nhận các hàm dựng sẵn."
 
-#: c-family/c.opt:1519
+#: c-family/c.opt:1511
 #, no-c-format
 msgid "Where shorter, use canonicalized paths to systems headers."
 msgstr ""
 
-#: c-family/c.opt:1523
+#: c-family/c.opt:1515
 #, no-c-format
 msgid "Enable the char8_t fundamental type and use it as the type for UTF-8 string and character literals."
 msgstr ""
 
-#: c-family/c.opt:1611
+#: c-family/c.opt:1603
 #, fuzzy, no-c-format
 #| msgid "Deprecated.  This switch has no effect."
 msgid "Removed in GCC 8.  This switch has no effect."
 msgstr "Đã lỗi thời. Tùy chọn này không có tác dụng gì."
 
-#: c-family/c.opt:1615
+#: c-family/c.opt:1607
 #, no-c-format
 msgid "Enable support for C++ concepts."
 msgstr "Bật sự hỗ trợ cho khái niệm C++."
 
-#: c-family/c.opt:1619
+#: c-family/c.opt:1611
 #, fuzzy, no-c-format
 #| msgid "Warn about features not present in traditional C."
 msgid "Enable certain features present in the Concepts TS."
 msgstr "Cảnh báo về các đặc điểm không có trong ISO C90, nhưng lại có trong ISO C99"
 
-#: c-family/c.opt:1623
+#: c-family/c.opt:1615
 #, no-c-format
 msgid "Specify maximum error replay depth during recursive diagnosis of a constraint satisfaction failure."
 msgstr ""
 
-#: c-family/c.opt:1627
+#: c-family/c.opt:1619
 #, no-c-format
 msgid "Allow the arguments of the '?' operator to have different types."
 msgstr ""
 
-#: c-family/c.opt:1635
+#: c-family/c.opt:1627
 #, no-c-format
 msgid "-fconst-string-class=<name>\tUse class <name> for constant strings."
 msgstr "-fconst-string-class=<tên>\tDùng <tên> lớp cho chuỗi hằng."
 
-#: c-family/c.opt:1639
+#: c-family/c.opt:1631
 #, no-c-format
 msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
 msgstr "-fconstexpr-depth=<number>\tChỉ định mức đệ quy constexpr (bt hằng) tối đa."
 
-#: c-family/c.opt:1643
+#: c-family/c.opt:1635
 #, fuzzy, no-c-format
 #| msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
 msgid "-fconstexpr-cache-depth=<number>\tSpecify maximum constexpr recursion cache depth."
 msgstr "-fconstexpr-depth=<number>\tChỉ định mức đệ quy constexpr (bt hằng) tối đa."
 
-#: c-family/c.opt:1647
+#: c-family/c.opt:1639
 #, fuzzy, no-c-format
 #| msgid "floating point overflow in expression"
 msgid "Allow IEC559 floating point exceptions in constant expressions."
 msgstr "tràn số dấu chấm động trong biểu thức"
 
-#: c-family/c.opt:1651
+#: c-family/c.opt:1643
 #, no-c-format
 msgid "-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration count."
 msgstr "-fconstexpr-loop-limit=<number>\tChỉ định số lượng bước lặp constexpr (bt hằng) tối đa."
 
-#: c-family/c.opt:1655
+#: c-family/c.opt:1647
 #, fuzzy, no-c-format
 #| msgid "-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration count."
 msgid "-fconstexpr-ops-limit=<number>\tSpecify maximum number of constexpr operations during a single constexpr evaluation."
 msgstr "-fconstexpr-loop-limit=<number>\tChỉ định số lượng bước lặp constexpr (bt hằng) tối đa."
 
-#: c-family/c.opt:1659
+#: c-family/c.opt:1651
 #, no-c-format
 msgid "Enable C++ coroutines (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1663
+#: c-family/c.opt:1655
 #, no-c-format
 msgid "Emit debug annotations during preprocessing."
 msgstr ""
 
-#: c-family/c.opt:1671
+#: c-family/c.opt:1663
 #, no-c-format
 msgid "Factor complex constructors and destructors to favor space over speed."
 msgstr "Cảnh báo khi mọi bộ cấu trúc và bộ hủy cấu trúc đều là riêng"
 
-#: c-family/c.opt:1679
+#: c-family/c.opt:1671
 #, no-c-format
 msgid "Print hierarchical comparisons when template types are mismatched."
 msgstr ""
 
-#: c-family/c.opt:1683
+#: c-family/c.opt:1675
 #, no-c-format
 msgid "Preprocess directives only."
 msgstr "Chỉ các chỉ thị tiền xử lý."
 
-#: c-family/c.opt:1687
+#: c-family/c.opt:1679
 #, no-c-format
 msgid "Permit '$' as an identifier character."
 msgstr "Cho phép “$” là ký tự dùng để định danh."
 
-#: c-family/c.opt:1691
+#: c-family/c.opt:1683
 #, no-c-format
 msgid "-fmacro-prefix-map=<old>=<new>\tMap one directory name to another in __FILE__, __BASE_FILE__, and __builtin_FILE()."
 msgstr ""
 
-#: c-family/c.opt:1695
+#: c-family/c.opt:1687
 #, no-c-format
 msgid "Write all declarations as Ada code transitively."
 msgstr ""
 
-#: c-family/c.opt:1699
+#: c-family/c.opt:1691
 #, no-c-format
 msgid "Write all declarations as Ada code for the given file only."
 msgstr ""
 
-#: c-family/c.opt:1706
+#: c-family/c.opt:1698
 #, fuzzy, no-c-format
 #| msgid "Do not discard comments in macro expansions."
 msgid "Do not elide common elements in template comparisons."
 msgstr "Đừng loại bỏ ghi chú trong sự mở rộng vĩ lệnh."
 
-#: c-family/c.opt:1710
+#: c-family/c.opt:1702
 #, no-c-format
 msgid "Generate code to check exception specifications."
 msgstr ""
 
-#: c-family/c.opt:1717
+#: c-family/c.opt:1709
 #, no-c-format
 msgid "-fexec-charset=<cset>\tConvert all strings and character constants to character set <cset>."
 msgstr "-fexec-charset=<cset>\tChuyển mọi hằng chuỗi và ký tự sang bảng ký tự <cset>."
 
-#: c-family/c.opt:1721
+#: c-family/c.opt:1713
 #, no-c-format
 msgid "Permit universal character names (\\u and \\U) in identifiers."
 msgstr ""
 
-#: c-family/c.opt:1725
+#: c-family/c.opt:1717
 #, no-c-format
 msgid "-finput-charset=<cset>\tSpecify the default character set for source files."
 msgstr "-finput-charset=<cset>\tChỉ định bảng mã ký tự mặc định cho tập tin mã nguồn."
 
-#: c-family/c.opt:1729
+#: c-family/c.opt:1721
 #, no-c-format
 msgid "Support dynamic initialization of thread-local variables in a different translation unit."
 msgstr ""
 
-#: c-family/c.opt:1739
+#: c-family/c.opt:1728
+#, fuzzy, no-c-format
+msgid "Fold calls to simple inline functions."
+msgstr "gọi hàm nội bộ"
+
+#: c-family/c.opt:1735
 #, no-c-format
 msgid "Do not assume that standard C libraries and \"main\" exist."
 msgstr ""
 
-#: c-family/c.opt:1743
+#: c-family/c.opt:1739
 #, no-c-format
 msgid "Recognize GNU-defined keywords."
 msgstr "Không chấp nhận từ khóa \"GNU-define\""
 
-#: c-family/c.opt:1747
+#: c-family/c.opt:1743
 #, no-c-format
 msgid "Generate code for GNU runtime environment."
 msgstr "Tạo ra mã môi trường thực thi GNU."
 
-#: c-family/c.opt:1751
+#: c-family/c.opt:1747
 #, no-c-format
 msgid "Use traditional GNU semantics for inline functions."
 msgstr ""
 
-#: c-family/c.opt:1764
+#: c-family/c.opt:1760
 #, no-c-format
 msgid "Assume normal C execution environment."
 msgstr "Coi là môi trường thực thi C bình thường."
 
-#: c-family/c.opt:1772
+#: c-family/c.opt:1768
 #, no-c-format
 msgid "Export functions even if they can be inlined."
 msgstr "Xuất hàm ngay cả khi chúng có thể chung dòng."
 
-#: c-family/c.opt:1776
+#: c-family/c.opt:1772
 #, fuzzy, no-c-format
 #| msgid "Make \"char\" unsigned by default."
 msgid "Make inline functions constexpr by default."
 msgstr "Làm cho \"char\" là không dấu theo mặc định."
 
-#: c-family/c.opt:1780
+#: c-family/c.opt:1776
 #, no-c-format
 msgid "Emit implicit instantiations of inline templates."
 msgstr ""
 
-#: c-family/c.opt:1784
+#: c-family/c.opt:1780
 #, no-c-format
 msgid "Emit implicit instantiations of templates."
 msgstr ""
 
-#: c-family/c.opt:1788
+#: c-family/c.opt:1784
 #, no-c-format
 msgid "Implement C++17 inheriting constructor semantics."
 msgstr ""
 
-#: c-family/c.opt:1795
+#: c-family/c.opt:1791
 #, no-c-format
 msgid "Don't emit dllexported inline functions unless needed."
 msgstr ""
 
-#: c-family/c.opt:1802
+#: c-family/c.opt:1798
 #, no-c-format
 msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
 msgstr ""
 
-#: c-family/c.opt:1806
+#: c-family/c.opt:1802
 #, no-c-format
 msgid "Enable C++ modules-ts (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1814
+#: c-family/c.opt:1810
 #, no-c-format
 msgid "Enable C++ header module (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1821
+#: c-family/c.opt:1817
 #, no-c-format
 msgid "Member functions defined within their class are inline in module purview."
 msgstr ""
 
-#: c-family/c.opt:1825
+#: c-family/c.opt:1821
 #, no-c-format
 msgid "Only emit Compiled Module Interface."
 msgstr ""
 
-#: c-family/c.opt:1829
+#: c-family/c.opt:1825
 #, no-c-format
 msgid "Mapper for module to CMI files."
 msgstr ""
 
-#: c-family/c.opt:1833
+#: c-family/c.opt:1829
 #, fuzzy, no-c-format
 msgid "Enable lazy module importing."
 msgstr "Bật khả năng tiền xử lý."
 
-#: c-family/c.opt:1841
+#: c-family/c.opt:1837
 #, no-c-format
 msgid "Warn about macros that have conflicting header units definitions."
 msgstr ""
 
-#: c-family/c.opt:1845
+#: c-family/c.opt:1841
 #, no-c-format
 msgid "Note #include directives translated to import declarations."
 msgstr ""
 
-#: c-family/c.opt:1849
+#: c-family/c.opt:1845
 #, no-c-format
 msgid "Note #include directives not translated to import declarations, and not known to be textual."
 msgstr ""
 
-#: c-family/c.opt:1853
+#: c-family/c.opt:1849
 #, no-c-format
 msgid "Note a #include translation of a specific header."
 msgstr ""
 
-#: c-family/c.opt:1857
+#: c-family/c.opt:1853
 #, no-c-format
 msgid "Note Compiled Module Interface pathnames."
 msgstr ""
 
-#: c-family/c.opt:1861
+#: c-family/c.opt:1857
 #, no-c-format
 msgid "Note Compiled Module Interface pathname of a specific module or header-unit."
 msgstr ""
 
-#: c-family/c.opt:1865
+#: c-family/c.opt:1861
 #, no-c-format
 msgid "fmax-include-depth=<number> Set the maximum depth of the nested #include."
 msgstr ""
 
-#: c-family/c.opt:1869
+#: c-family/c.opt:1865
 #, no-c-format
 msgid "Don't warn about uses of Microsoft extensions."
 msgstr "Không cảnh báo dùng lệnh mở rộng Microsoft."
 
-#: c-family/c.opt:1888
+#: c-family/c.opt:1884
 #, no-c-format
 msgid "Implement resolution of DR 150 for matching of template template arguments."
 msgstr ""
 
-#: c-family/c.opt:1892
+#: c-family/c.opt:1888
 #, no-c-format
 msgid "Generate code for NeXT (Apple Mac OS X) runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1896
+#: c-family/c.opt:1892
 #, no-c-format
 msgid "Assume that receivers of Objective-C messages may be nil."
 msgstr ""
 
-#: c-family/c.opt:1900
+#: c-family/c.opt:1896
 #, no-c-format
 msgid "Allow access to instance variables as if they were local declarations within instance method implementations."
 msgstr ""
 
-#: c-family/c.opt:1904
+#: c-family/c.opt:1900
 #, no-c-format
 msgid "-fvisibility=[private|protected|public|package]\tSet the default symbol visibility."
 msgstr "-fvisibility=[private|protected|public|package]\tĐặt tính khả kiến ký hiệu mặc định."
 
-#: c-family/c.opt:1929
+#: c-family/c.opt:1925
 #, no-c-format
 msgid "Treat a throw() exception specification as noexcept to improve code size."
 msgstr ""
 
-#: c-family/c.opt:1933
+#: c-family/c.opt:1929
 #, no-c-format
 msgid "Specify which ABI to use for Objective-C family code and meta-data generation."
 msgstr ""
 
-#: c-family/c.opt:1939
+#: c-family/c.opt:1935
 #, no-c-format
 msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed."
 msgstr ""
 
-#: c-family/c.opt:1943
+#: c-family/c.opt:1939
 #, no-c-format
 msgid "Allow fast jumps to the message dispatcher."
 msgstr ""
 
-#: c-family/c.opt:1949
+#: c-family/c.opt:1945
 #, no-c-format
 msgid "Enable Objective-C exception and synchronization syntax."
 msgstr ""
 
-#: c-family/c.opt:1953
+#: c-family/c.opt:1949
 #, no-c-format
 msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs."
 msgstr ""
 
-#: c-family/c.opt:1957
+#: c-family/c.opt:1953
 #, no-c-format
 msgid "Enable inline checks for nil receivers with the NeXT runtime and ABI version 2."
 msgstr ""
 
-#: c-family/c.opt:1962
+#: c-family/c.opt:1958
 #, no-c-format
 msgid "Enable Objective-C setjmp exception handling runtime."
 msgstr ""
 
-#: c-family/c.opt:1966
+#: c-family/c.opt:1962
 #, no-c-format
 msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0."
 msgstr ""
 
-#: c-family/c.opt:1970
+#: c-family/c.opt:1966
 #, no-c-format
 msgid "Enable OpenACC."
 msgstr "Bật OpenACC."
 
-#: c-family/c.opt:1974
+#: c-family/c.opt:1970
 #, no-c-format
 msgid "Specify default OpenACC compute dimensions."
 msgstr ""
 
-#: c-family/c.opt:1978
+#: c-family/c.opt:1974
 #, no-c-format
 msgid "Enable OpenMP (implies -frecursive in Fortran)."
 msgstr ""
 
-#: c-family/c.opt:1982
+#: c-family/c.opt:1978
 #, no-c-format
 msgid "Enable OpenMP's SIMD directives."
 msgstr "Bật chỉ thị OpenMP's SIMD."
 
-#: c-family/c.opt:1986
+#: c-family/c.opt:1982
 #, no-c-format
 msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
 msgstr ""
 
-#: c-family/c.opt:1997
+#: c-family/c.opt:1993
 #, no-c-format
 msgid "Look for and use PCH files even when preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2001
+#: c-family/c.opt:1997
 #, no-c-format
 msgid "Downgrade conformance errors to warnings."
 msgstr ""
 
-#: c-family/c.opt:2005
+#: c-family/c.opt:2001
 #, no-c-format
 msgid "Enable Plan 9 language extensions."
 msgstr ""
 
-#: c-family/c.opt:2009
+#: c-family/c.opt:2005
 #, no-c-format
 msgid "Treat the input file as already preprocessed."
 msgstr ""
 
-#: c-family/c.opt:2017
+#: c-family/c.opt:2013
 #, no-c-format
 msgid "-ftrack-macro-expansion=<0|1|2>\tTrack locations of tokens coming from macro expansion and display them in error messages."
 msgstr ""
 
-#: c-family/c.opt:2021
+#: c-family/c.opt:2017
 #, no-c-format
 msgid "Do not pretty-print template specializations as the template signature followed by the arguments."
 msgstr ""
 
-#: c-family/c.opt:2025
+#: c-family/c.opt:2021
 #, no-c-format
 msgid "Treat known sprintf return values as constants."
 msgstr ""
 
-#: c-family/c.opt:2029
+#: c-family/c.opt:2025
 #, no-c-format
 msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime."
 msgstr ""
 
-#: c-family/c.opt:2033
+#: c-family/c.opt:2029
 #, fuzzy, no-c-format
 #| msgid "Deprecated.  This switch has no effect."
 msgid "Removed in GCC 10.  This switch has no effect."
 msgstr "Đã lỗi thời. Tùy chọn này không có tác dụng gì."
 
-#: c-family/c.opt:2037
+#: c-family/c.opt:2033
 #, no-c-format
 msgid "Generate run time type descriptor information."
 msgstr ""
 
-#: c-family/c.opt:2041 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:2037 ada/gcc-interface/lang.opt:81
 #, no-c-format
 msgid "Use the narrowest integer type possible for enumeration types."
 msgstr ""
 
-#: c-family/c.opt:2045
+#: c-family/c.opt:2041
 #, no-c-format
 msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
 msgstr ""
 
-#: c-family/c.opt:2049
+#: c-family/c.opt:2045
 #, no-c-format
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
 msgstr ""
 
-#: c-family/c.opt:2053 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:2049 ada/gcc-interface/lang.opt:85
 #, no-c-format
 msgid "Make \"char\" signed by default."
 msgstr "Làm cho \"char\" là có dấu theo mặc định."
 
-#: c-family/c.opt:2057
+#: c-family/c.opt:2053
 #, no-c-format
 msgid "Enable C++14 sized deallocation support."
 msgstr ""
 
-#: c-family/c.opt:2064
+#: c-family/c.opt:2060
 #, fuzzy, no-c-format
 #| msgid "-fsso-struct=[big-endian|little-endian]\tSet the default scalar storage order."
 msgid "-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar storage order."
 msgstr "-fsso-struct=[big-endian|little-endian]\tĐặt thứ tự lưu trữ vô hướng mặc định."
 
-#: c-family/c.opt:2080
+#: c-family/c.opt:2076
 #, no-c-format
 msgid "Display statistics accumulated during compilation."
 msgstr ""
 
-#: c-family/c.opt:2084
+#: c-family/c.opt:2080
 #, no-c-format
 msgid "Assume that values of enumeration type are always within the minimum range of that type."
 msgstr ""
 
-#: c-family/c.opt:2091 c-family/c.opt:2096
+#: c-family/c.opt:2087 c-family/c.opt:2092
 #, no-c-format
 msgid "Follow the C++17 evaluation order requirements for assignment expressions, shift, member function calls, etc."
 msgstr ""
 
-#: c-family/c.opt:2113
+#: c-family/c.opt:2109
 #, no-c-format
 msgid "Set the maximum number of template instantiation notes for a single warning or error."
 msgstr ""
 
-#: c-family/c.opt:2120
+#: c-family/c.opt:2116
 #, no-c-format
 msgid "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
 msgstr ""
 
-#: c-family/c.opt:2127
+#: c-family/c.opt:2123
 #, no-c-format
 msgid "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing local statics."
 msgstr ""
 
-#: c-family/c.opt:2131
+#: c-family/c.opt:2127
 #, no-c-format
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
 msgstr ""
 
-#: c-family/c.opt:2135 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2131 ada/gcc-interface/lang.opt:89
 #, no-c-format
 msgid "Make \"char\" unsigned by default."
 msgstr "Làm cho \"char\" là không dấu theo mặc định."
 
-#: c-family/c.opt:2139
+#: c-family/c.opt:2135
 #, no-c-format
 msgid "Use __cxa_atexit to register destructors."
 msgstr ""
 
-#: c-family/c.opt:2143
+#: c-family/c.opt:2139
 #, no-c-format
 msgid "Use __cxa_get_exception_ptr in exception handling."
 msgstr ""
 
-#: c-family/c.opt:2147
+#: c-family/c.opt:2143
 #, no-c-format
 msgid "Marks all inlined functions and methods as having hidden visibility."
 msgstr ""
 
-#: c-family/c.opt:2151
+#: c-family/c.opt:2147
 #, no-c-format
 msgid "Changes visibility to match Microsoft Visual Studio by default."
 msgstr ""
 
-#: c-family/c.opt:2163
+#: c-family/c.opt:2159
 #, no-c-format
 msgid "Emit common-like symbols as weak symbols."
 msgstr ""
 
-#: c-family/c.opt:2167
+#: c-family/c.opt:2163
 #, no-c-format
 msgid "-fwide-exec-charset=<cset>\tConvert all wide strings and character constants to character set <cset>."
 msgstr "-fwide-exec-charset=<cset>\tChuyển đổi mọi chuỗi rộng và hằng ký tự rộng ra bộ mã <cset>."
 
-#: c-family/c.opt:2171
+#: c-family/c.opt:2167
 #, no-c-format
 msgid "Generate a #line directive pointing at the current working directory."
 msgstr ""
 
-#: c-family/c.opt:2179
+#: c-family/c.opt:2175
 #, no-c-format
 msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
 msgstr ""
 
-#: c-family/c.opt:2183
+#: c-family/c.opt:2179
 #, no-c-format
 msgid "Dump declarations to a .decl file."
 msgstr ""
 
-#: c-family/c.opt:2187
+#: c-family/c.opt:2183
 #, no-c-format
 msgid "-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2191
+#: c-family/c.opt:2187
 #, no-c-format
 msgid "-femit-struct-debug-reduced\tConservative reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2195
+#: c-family/c.opt:2191
 #, no-c-format
 msgid "-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2199
+#: c-family/c.opt:2195
 #, no-c-format
 msgid "Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding number literal rather than a user-defined number literal."
 msgstr ""
 
-#: c-family/c.opt:2204
+#: c-family/c.opt:2200
 #, no-c-format
 msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
 msgstr "-idirafter <thư_mục>\tPhụ thêm thư mục này vào đường dẫn bao gồm hệ thống."
 
-#: c-family/c.opt:2208
+#: c-family/c.opt:2204
 #, no-c-format
 msgid "-imacros <file>\tAccept definition of macros in <file>."
 msgstr ""
 
-#: c-family/c.opt:2212
+#: c-family/c.opt:2208
 #, no-c-format
 msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
 msgstr ""
 
-#: c-family/c.opt:2216
+#: c-family/c.opt:2212
 #, no-c-format
 msgid "-include <file>\tInclude the contents of <file> before other files."
 msgstr ""
 
-#: c-family/c.opt:2220
+#: c-family/c.opt:2216
 #, no-c-format
 msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
 msgstr ""
 
-#: c-family/c.opt:2224
+#: c-family/c.opt:2220
 #, no-c-format
 msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
 msgstr "-isysroot <thư_mục>\tĐặt <thư_mục> này vào đường dẫn gốc hệ thống."
 
-#: c-family/c.opt:2228
+#: c-family/c.opt:2224
 #, no-c-format
 msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
 msgstr "-isystem <thư_mục>\tThêm <thư_mục> này vào đầu đường dẫn bao gồm hệ thống."
 
-#: c-family/c.opt:2232
+#: c-family/c.opt:2228
 #, no-c-format
 msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
 msgstr "-iframework <thư_mục>\tPhụ thêm thư mục này vào đường dẫn bao gồm khuôn khổ hệ thống"
 
-#: c-family/c.opt:2236
+#: c-family/c.opt:2232
 #, no-c-format
 msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
 msgstr "-iwithprefix <thư_mục>\tPhụ thêm thư mục này vào đường dẫn bao gồm hệ thống."
 
-#: c-family/c.opt:2240
+#: c-family/c.opt:2236
 #, no-c-format
 msgid "-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
 msgstr "-iwithprefixbefore <thư_mục>\tPhụ thêm thư mục này vào đường dẫn bao gồm chính."
 
-#: c-family/c.opt:2250
+#: c-family/c.opt:2246
 #, no-c-format
 msgid "Do not search standard system include directories (those specified with -isystem will still be used)."
 msgstr ""
 
-#: c-family/c.opt:2254
+#: c-family/c.opt:2250
 #, no-c-format
 msgid "Do not search standard system include directories for C++."
 msgstr ""
 
-#: c-family/c.opt:2266
+#: c-family/c.opt:2262
 #, no-c-format
 msgid "Generate C header of platform-specific features."
 msgstr ""
 
-#: c-family/c.opt:2270
+#: c-family/c.opt:2266
 #, no-c-format
 msgid "Remap file names when including files."
 msgstr ""
 
-#: c-family/c.opt:2274 c-family/c.opt:2278
+#: c-family/c.opt:2270 c-family/c.opt:2274
 #, no-c-format
 msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum."
 msgstr "Làm cho hợp với chuẩn ISO 1998 C++ xem xét lại đính chính kỹ thuật năm 2003."
 
-#: c-family/c.opt:2282
+#: c-family/c.opt:2278
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++."
 
-#: c-family/c.opt:2286
+#: c-family/c.opt:2282
 #, no-c-format
 msgid "Deprecated in favor of -std=c++11."
 msgstr "Đã lạc hậu và được thay thế bằng -std=c++11."
 
-#: c-family/c.opt:2290
+#: c-family/c.opt:2286
 #, no-c-format
 msgid "Deprecated in favor of -std=c++14."
 msgstr "Đã lạc hậu và được thay thế bằng -std=c++14."
 
-#: c-family/c.opt:2294
+#: c-family/c.opt:2290
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard."
 msgstr "Làm cho hợp với chuẩn ISO 2014 C++."
 
-#: c-family/c.opt:2298
+#: c-family/c.opt:2294
 #, fuzzy, no-c-format
 #| msgid "Deprecated in favor of -std=c++11."
 msgid "Deprecated in favor of -std=c++17."
 msgstr "Đã lạc hậu và được thay thế bằng -std=c++11."
 
-#: c-family/c.opt:2302
+#: c-family/c.opt:2298
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2011 C++ standard."
 msgid "Conform to the ISO 2017 C++ standard."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++."
 
-#: c-family/c.opt:2306 c-family/c.opt:2310
+#: c-family/c.opt:2302 c-family/c.opt:2306
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support)."
 msgid "Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 2017(?) C++ (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2314 c-family/c.opt:2318
+#: c-family/c.opt:2310 c-family/c.opt:2314
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support)."
 msgid "Conform to the ISO 2023 C++ draft standard (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 2017(?) C++ (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2322 c-family/c.opt:2460
+#: c-family/c.opt:2318 c-family/c.opt:2456
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++."
 
-#: c-family/c.opt:2326
+#: c-family/c.opt:2322
 #, no-c-format
 msgid "Deprecated in favor of -std=c11."
 msgstr "Đã lạc hậu và được thay thế bằng -std=c11."
 
-#: c-family/c.opt:2330 c-family/c.opt:2334 c-family/c.opt:2464
-#: c-family/c.opt:2468
+#: c-family/c.opt:2326 c-family/c.opt:2330 c-family/c.opt:2460
+#: c-family/c.opt:2464
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2011 C standard."
 msgid "Conform to the ISO 2017 C standard (published in 2018)."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++."
 
-#: c-family/c.opt:2338
+#: c-family/c.opt:2334
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support)."
 msgid "Conform to the ISO 202X C standard draft (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 2017(?) C++ (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2342 c-family/c.opt:2346 c-family/c.opt:2444
+#: c-family/c.opt:2338 c-family/c.opt:2342 c-family/c.opt:2440
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard."
 msgstr "Làm cho hợp với chuẩn ISO 1990 C."
 
-#: c-family/c.opt:2350 c-family/c.opt:2452
+#: c-family/c.opt:2346 c-family/c.opt:2448
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard."
 msgstr "Làm cho hợp với chuẩn ISO 1999 C."
 
-#: c-family/c.opt:2354
+#: c-family/c.opt:2350
 #, no-c-format
 msgid "Deprecated in favor of -std=c99."
 msgstr "Đã lạc hậu và được thay thế bằng -std=c99."
 
-#: c-family/c.opt:2358 c-family/c.opt:2363
+#: c-family/c.opt:2354 c-family/c.opt:2359
 #, fuzzy, no-c-format
 msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 1998 C++ xem xét lại đính chính kỹ thuật năm 2003."
 
-#: c-family/c.opt:2368
+#: c-family/c.opt:2364
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++ với phần mở rộng GNU."
 
-#: c-family/c.opt:2372
+#: c-family/c.opt:2368
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++11."
 msgstr "Đã lạc hậu và được thay thế bằng -std=gnu++11."
 
-#: c-family/c.opt:2376
+#: c-family/c.opt:2372
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++14."
 msgstr "Đã lạc hậu và được thay thế bằng -std=gnu++14."
 
-#: c-family/c.opt:2380
+#: c-family/c.opt:2376
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 2014 C++ với phần mở rộng GNU."
 
-#: c-family/c.opt:2384
+#: c-family/c.opt:2380
 #, fuzzy, no-c-format
 #| msgid "Deprecated in favor of -std=gnu++11."
 msgid "Deprecated in favor of -std=gnu++17."
 msgstr "Đã lạc hậu và được thay thế bằng -std=gnu++11."
 
-#: c-family/c.opt:2388
+#: c-family/c.opt:2384
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
 msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C++ với phần mở rộng GNU."
 
-#: c-family/c.opt:2392 c-family/c.opt:2396
+#: c-family/c.opt:2388 c-family/c.opt:2392
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)."
 msgid "Conform to the ISO 2020 C++ standard with GNU extensions (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 201z(7?) C++ có phần mở rộng GNU (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2400 c-family/c.opt:2404
+#: c-family/c.opt:2396 c-family/c.opt:2400
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)."
 msgid "Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 201z(7?) C++ có phần mở rộng GNU (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2408
+#: c-family/c.opt:2404
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C với phần mở rộng GNU."
 
-#: c-family/c.opt:2412
+#: c-family/c.opt:2408
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu11."
 msgstr "Đã lạc hậu và được thay thế bằng -std=gnu11."
 
-#: c-family/c.opt:2416 c-family/c.opt:2420
+#: c-family/c.opt:2412 c-family/c.opt:2416
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 2011 C standard with GNU extensions."
 msgid "Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 2011 C với phần mở rộng GNU."
 
-#: c-family/c.opt:2424
+#: c-family/c.opt:2420
 #, fuzzy, no-c-format
 #| msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)."
 msgid "Conform to the ISO 202X C standard draft with GNU extensions (experimental and incomplete support)."
 msgstr "Làm cho hợp với chuẩn nháp ISO 201z(7?) C++ có phần mở rộng GNU (thử nghiệm và hỗ trợ chưa đầy đủ)."
 
-#: c-family/c.opt:2428 c-family/c.opt:2432
+#: c-family/c.opt:2424 c-family/c.opt:2428
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 1990 C với phần mở rộng GNU."
 
-#: c-family/c.opt:2436
+#: c-family/c.opt:2432
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard with GNU extensions."
 msgstr "Làm cho hợp với chuẩn ISO 1999 C với phần mở rộng GNU."
 
-#: c-family/c.opt:2440
+#: c-family/c.opt:2436
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu99."
 msgstr "Đã lạc hậu và được thay thế bằng -std=gnu99."
 
-#: c-family/c.opt:2448
+#: c-family/c.opt:2444
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard as amended in 1994."
 msgstr "Làm cho hợp với chuẩn ISO 1990 C như sửa đổi trong 1994."
 
-#: c-family/c.opt:2456
+#: c-family/c.opt:2452
 #, no-c-format
 msgid "Deprecated in favor of -std=iso9899:1999."
 msgstr "Đã lạc hậu và được thay thế bằng -std=iso9899:1999."
 
-#: c-family/c.opt:2472
+#: c-family/c.opt:2468
 #, no-c-format
 msgid "-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers and runtime."
 msgstr ""
 
-#: c-family/c.opt:2489
+#: c-family/c.opt:2485
 #, no-c-format
 msgid "Enable traditional preprocessing."
 msgstr "Bật tiền xử lý theo kiểu cổ điển."
 
-#: c-family/c.opt:2493
+#: c-family/c.opt:2489
 #, no-c-format
 msgid "-trigraphs\tSupport ISO C trigraphs."
 msgstr "-trigraphs\tHỗ trợ bộ ba ISO C."
 
-#: c-family/c.opt:2497
+#: c-family/c.opt:2493
 #, no-c-format
 msgid "Do not predefine system-specific and GCC-specific macros."
 msgstr ""
@@ -3628,7 +3628,7 @@ msgstr ""
 
 #: d/lang.opt:280
 #, no-c-format
-msgid "-fdump-cxx-spec=<filename>\tWrite all declarations as C++ code to <file>."
+msgid "-fdump-cxx-spec=<filename>\tWrite all declarations as C++ code to <filename>."
 msgstr ""
 
 #: d/lang.opt:284
@@ -3724,7 +3724,7 @@ msgstr ""
 
 #: d/lang.opt:373
 #, no-c-format
-msgid "When a symbol is resolved, check alias this scope before going to upper scopes."
+msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes."
 msgstr ""
 
 #: d/lang.opt:377
@@ -4230,6 +4230,11 @@ msgstr ""
 msgid "Dump the analyzer supergraph to a SRCFILE.supergraph.dot file."
 msgstr ""
 
+#: analyzer/analyzer.opt:255
+#, no-c-format
+msgid "Emit custom warnings with internal details intended for analyzer developers."
+msgstr ""
+
 #: config/vms/vms.opt:27
 #, no-c-format
 msgid "Malloc data into P2 space."
@@ -5235,11 +5240,12 @@ msgid "Convert BASE + LARGE_OFFSET addresses to NEW_BASE + SMALL_OFFSET to allow
 msgstr ""
 
 #: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:92
+#: config/loongarch/loongarch.opt:186
 #, no-c-format
 msgid "Specify the code model."
 msgstr "Chỉ định mô hình mã."
 
-#: config/riscv/riscv.opt:114
+#: config/riscv/riscv.opt:114 config/loongarch/loongarch.opt:158
 #, fuzzy, no-c-format
 #| msgid "Do not use unaligned memory references."
 msgid "Do not generate unaligned memory accesses."
@@ -5279,26 +5285,26 @@ msgstr "Không hiểu lựa chọn cân chỉnh dữ liệu (để dùng với t
 
 #: config/riscv/riscv.opt:171 config/aarch64/aarch64.opt:235
 #: config/i386/i386.opt:1007 config/arm/arm.opt:327
-#: config/rs6000/rs6000.opt:578
+#: config/rs6000/rs6000.opt:554
 #, no-c-format
 msgid "Use given stack-protector guard."
 msgstr ""
 
 #: config/riscv/riscv.opt:175 config/aarch64/aarch64.opt:239
-#: config/arm/arm.opt:331 config/rs6000/rs6000.opt:582
+#: config/arm/arm.opt:331 config/rs6000/rs6000.opt:558
 #, fuzzy, no-c-format
 #| msgid "Valid arguments to -mfloat-gprs=:"
 msgid "Valid arguments to -mstack-protector-guard=:"
 msgstr "Đối số hợp lệ cho -mfloat-gprs=:"
 
 #: config/riscv/riscv.opt:185 config/i386/i386.opt:1021
-#: config/rs6000/rs6000.opt:592
+#: config/rs6000/rs6000.opt:568
 #, no-c-format
 msgid "Use the given base register for addressing the stack-protector guard."
 msgstr ""
 
 #: config/riscv/riscv.opt:192 config/i386/i386.opt:1028
-#: config/rs6000/rs6000.opt:599
+#: config/rs6000/rs6000.opt:575
 #, no-c-format
 msgid "Use the given offset for addressing the stack-protector guard."
 msgstr ""
@@ -5439,7 +5445,7 @@ msgstr ""
 msgid "The possible TLS dialects:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:55
+#: config/aarch64/aarch64.opt:55 config/loongarch/loongarch.opt:167
 #, no-c-format
 msgid "The code model option names for -mcmodel:"
 msgstr ""
@@ -5621,6 +5627,11 @@ msgstr ""
 msgid "Constant memset size in bytes from which to start using MOPS sequence."
 msgstr ""
 
+#: config/aarch64/aarch64.opt:298
+#, no-c-format
+msgid "Limit how much the autovectorizer may unroll a loop."
+msgstr ""
+
 #: config/linux.opt:24
 #, no-c-format
 msgid "Use Bionic C library."
@@ -7516,64 +7527,75 @@ msgstr "Sử dụng thư viện dùng chung."
 msgid "Support multi-threading."
 msgstr "Hỗ trợ chức năng đa luồng."
 
-#: config/nvptx/nvptx.opt:28 config/gcn/gcn.opt:54
-#, no-c-format
-msgid "Generate code for a 64-bit ABI."
-msgstr "Tạo ra mã cho một ABI 64 bít."
+#: config/nvptx/nvptx-gen.opt:24
+#, fuzzy, no-c-format
+#| msgid "Known ARM architectures (for use with the -march= option):"
+msgid "Known PTX ISA target architectures (for use with the -misa= option):"
+msgstr "Hiểu kiến trúc ARM (để dùng với tùy chọn -march=):"
+
+#: config/nvptx/nvptx.opt:28
+#, fuzzy, no-c-format
+#| msgid "Does nothing. Preserved for backward compatibility."
+msgid "Ignored, but preserved for backward compatibility.  Only 64-bit ABI is supported."
+msgstr "Không làm gì. Giữ lại vì mục đích tương thích ngược."
 
-#: config/nvptx/nvptx.opt:32
+#: config/nvptx/nvptx.opt:33
 #, no-c-format
 msgid "Link in code for a __main kernel."
 msgstr "Lien kết mã cho __main của nhân."
 
-#: config/nvptx/nvptx.opt:36
+#: config/nvptx/nvptx.opt:37
 #, no-c-format
 msgid "Optimize partition neutering."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:40
+#: config/nvptx/nvptx.opt:41
 #, no-c-format
 msgid "Use custom stacks instead of local memory for automatic storage."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:44
+#: config/nvptx/nvptx.opt:45
 #, no-c-format
 msgid "Specify size of .local memory used for stack when the exact amount is not known."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:48
+#: config/nvptx/nvptx.opt:49
 #, fuzzy, no-c-format
 msgid "Generate code that can keep local state uniform across all lanes."
 msgstr "Tạo ra mã có thể sử dụng được trong đối tượng năng động có kiểu SVR4."
 
-#: config/nvptx/nvptx.opt:52
+#: config/nvptx/nvptx.opt:53
 #, no-c-format
 msgid "Generate code for OpenMP offloading: enables -msoft-stack and -muniform-simt."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:56
+#: config/nvptx/nvptx.opt:58
 #, fuzzy, no-c-format
-#| msgid "Known MIPS ISA levels (for use with the -mips option):"
-msgid "Known PTX ISA versions (for use with the -misa= option):"
-msgstr "Hiểu mức MIPS ISA (để dùng với tùy chọn -mips):"
+#| msgid "Specify the name of the target architecture."
+msgid "Specify the PTX ISA target architecture to use."
+msgstr "Ghi rõ tên của kiến trúc đích."
 
-#: config/nvptx/nvptx.opt:76
-#, fuzzy, no-c-format
-#| msgid "Specify the name of the target CPU."
-msgid "Specify the version of the ptx ISA to use."
-msgstr "Ghi rõ tên của CPU đích."
+#: config/nvptx/nvptx.opt:62
+#, no-c-format
+msgid "Alias:"
+msgstr ""
 
-#: config/nvptx/nvptx.opt:80
+#: config/nvptx/nvptx.opt:117
 #, fuzzy, no-c-format
-#| msgid "Known TILEPro CPUs (for use with the -mcpu= option):"
-msgid "Known PTX versions (for use with the -mptx= option):"
-msgstr "Không hiểu TILEPro CPUs (để dùng với tùy chọn -mcpu=):"
+#| msgid "Known MIPS ISA levels (for use with the -mips option):"
+msgid "Known PTX ISA versions (for use with the -mptx= option):"
+msgstr "Hiểu mức MIPS ISA (để dùng với tùy chọn -mips):"
+
+#: config/nvptx/nvptx.opt:136
+#, no-c-format
+msgid "Specify the PTX ISA version to use."
+msgstr ""
 
-#: config/nvptx/nvptx.opt:93
+#: config/nvptx/nvptx.opt:140
 #, fuzzy, no-c-format
-#| msgid "Specify the name of the target architecture."
-msgid "Specify the version of the ptx version to use."
-msgstr "Ghi rõ tên của kiến trúc đích."
+#| msgid "Use fp registers."
+msgid "Initialize ptx registers."
+msgstr "Sử dụng thanh ghi dấu chấm động."
 
 #: config/vxworks.opt:36
 #, no-c-format
@@ -8905,174 +8927,149 @@ msgstr ""
 msgid "Use vector and scalar instructions added in ISA 2.07."
 msgstr "Đừng sử dụng chỉ lệnh callt (mặc định)."
 
-#: config/rs6000/rs6000.opt:491 config/rs6000/rs6000.opt:495
+#: config/rs6000/rs6000.opt:491
 #, no-c-format
 msgid "Fuse certain integer operations together for better performance on power10."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:499
-#, no-c-format
-msgid "Fuse pairs of scalar or vector logical operations together for better performance on power10."
-msgstr ""
-
-#: config/rs6000/rs6000.opt:503
-#, no-c-format
-msgid "Fuse scalar logical op with add/subf for better performance on power10."
-msgstr ""
-
-#: config/rs6000/rs6000.opt:507
-#, no-c-format
-msgid "Fuse scalar add/subf with logical op for better performance on power10."
-msgstr ""
-
-#: config/rs6000/rs6000.opt:511
-#, no-c-format
-msgid "Fuse dependent pairs of add or vaddudm instructions for better performance on power10."
-msgstr ""
-
-#: config/rs6000/rs6000.opt:515
-#, no-c-format
-msgid "Fuse certain store operations together for better performance on power10."
-msgstr ""
-
-#: config/rs6000/rs6000.opt:519
+#: config/rs6000/rs6000.opt:495
 #, no-c-format
 msgid "Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions."
 msgstr "Sử dụng câu lệnh ISA 2.07 Category:Vector.AES và Category:Vector.SHA2."
 
-#: config/rs6000/rs6000.opt:526
+#: config/rs6000/rs6000.opt:502
 #, no-c-format
 msgid "Use ISA 2.07 transactional memory (HTM) instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:530
+#: config/rs6000/rs6000.opt:506
 #, no-c-format
 msgid "Generate the quad word memory instructions (lq/stq)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:534
+#: config/rs6000/rs6000.opt:510
 #, no-c-format
 msgid "Generate the quad word memory atomic instructions (lqarx/stqcx)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:538
+#: config/rs6000/rs6000.opt:514
 #, no-c-format
 msgid "Generate aggregate parameter passing code with at most 64-bit alignment."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:542
+#: config/rs6000/rs6000.opt:518
 #, no-c-format
 msgid "Analyze and remove doubleword swaps from VSX computations."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:550
+#: config/rs6000/rs6000.opt:526
 #, fuzzy, no-c-format
 msgid "Use certain scalar instructions added in ISA 3.0."
 msgstr "Đừng sử dụng chỉ lệnh callt (mặc định)."
 
-#: config/rs6000/rs6000.opt:554
+#: config/rs6000/rs6000.opt:530
 #, fuzzy, no-c-format
 msgid "Use vector instructions added in ISA 3.0."
 msgstr "Đừng sử dụng chỉ lệnh callt (mặc định)."
 
-#: config/rs6000/rs6000.opt:558
+#: config/rs6000/rs6000.opt:534
 #, fuzzy, no-c-format
 msgid "Use the new min/max instructions defined in ISA 3.0."
 msgstr "Đừng sử dụng chỉ lệnh callt (mặc định)."
 
-#: config/rs6000/rs6000.opt:562
+#: config/rs6000/rs6000.opt:538
 #, no-c-format
 msgid "Generate the integer modulo instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:566
+#: config/rs6000/rs6000.opt:542
 #, no-c-format
 msgid "Enable IEEE 128-bit floating point via the __float128 keyword."
 msgstr "Bậ sử dụng câu lệnh só thực dấu chấm động thập phân 128-bit IEEE thông qua từ khóa __float128."
 
-#: config/rs6000/rs6000.opt:570
+#: config/rs6000/rs6000.opt:546
 #, no-c-format
 msgid "Enable using IEEE 128-bit floating point instructions."
 msgstr "Bật sử dụng câu lệnh dấu số thực chấm động 128-bit IEEE."
 
-#: config/rs6000/rs6000.opt:574
+#: config/rs6000/rs6000.opt:550
 #, no-c-format
 msgid "Enable default conversions between __float128 & long double."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:614
+#: config/rs6000/rs6000.opt:590
 #, fuzzy, no-c-format
 #| msgid "Generate conditional move instructions."
 msgid "Generate (do not generate) prefixed memory instructions."
 msgstr "Tạo chỉ lệnh di chuyển điều kiện"
 
-#: config/rs6000/rs6000.opt:618
+#: config/rs6000/rs6000.opt:594
 #, fuzzy, no-c-format
 #| msgid "Generate pc-relative code."
 msgid "Generate (do not generate) pc-relative memory addressing."
 msgstr "Tạo ra mã tương đối với PC (pc-relative)."
 
-#: config/rs6000/rs6000.opt:622
+#: config/rs6000/rs6000.opt:598
 #, no-c-format
 msgid "Generate (do not generate) pc-relative memory optimizations for externals."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:626
+#: config/rs6000/rs6000.opt:602
 #, fuzzy, no-c-format
 #| msgid "Generate norm instruction."
 msgid "Generate (do not generate) MMA instructions."
 msgstr "Tạo ra câu lệnh norm."
 
-#: config/rs6000/rs6000.opt:633
+#: config/rs6000/rs6000.opt:609
 #, no-c-format
 msgid "Enable instructions that guard against return-oriented programming attacks."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:637
+#: config/rs6000/rs6000.opt:613
 #, fuzzy, no-c-format
 #| msgid "Generate code in 32 bit ARM state."
 msgid "Generate code that will run in privileged state."
 msgstr "Tạo ra mã cho ARM 32 bit."
 
-#: config/rs6000/rs6000.opt:641
+#: config/rs6000/rs6000.opt:617
 #, fuzzy, no-c-format
 #| msgid "Do not generate load/store with update instructions."
 msgid "Generate (do not generate) code that uses the XXSPLTIW instruction."
 msgstr "Đừng tạo ra câu lệnh nạp/lưu với bản cập nhật."
 
-#: config/rs6000/rs6000.opt:645
+#: config/rs6000/rs6000.opt:621
 #, fuzzy, no-c-format
 #| msgid "Do not generate load/store with update instructions."
 msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction."
 msgstr "Đừng tạo ra câu lệnh nạp/lưu với bản cập nhật."
 
-#: config/rs6000/rs6000.opt:649
+#: config/rs6000/rs6000.opt:625
 #, fuzzy, no-c-format
 #| msgid "Do not generate load/store with update instructions."
 msgid "Generate (do not generate) code that uses the LXVKQ instruction."
 msgstr "Đừng tạo ra câu lệnh nạp/lưu với bản cập nhật."
 
-#: config/rs6000/rs6000.opt:653
+#: config/rs6000/rs6000.opt:629
 #, no-c-format
 msgid "When costing for loop vectorization, we probably need to penalize the loop body cost if the existing cost model may not adequately reflect delays from unavailable vector resources.  We collect the cost for vectorized statements and non-vectorized statements separately, check the proportion of vec_cost to total cost of vec_cost and non vec_cost, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 85."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:662
+#: config/rs6000/rs6000.opt:638
 #, no-c-format
 msgid "Like parameter rs6000-density-pct-threshold, we also check the total sum of vec_cost and non vec_cost, and penalize only if the sum exceeds the threshold specified by this parameter.  The default value is 70."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:668
+#: config/rs6000/rs6000.opt:644
 #, no-c-format
 msgid "When both heuristics with rs6000-density-pct-threshold and rs6000-density-size-threshold are satisfied, we decide to penalize the loop body cost by the value which is specified by this parameter.  The default value is 10."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:675
+#: config/rs6000/rs6000.opt:651
 #, no-c-format
 msgid "When costing for loop vectorization, we probably need to penalize the loop body cost by accounting for excess strided or elementwise loads.  We collect the numbers for general statements and load statements according to the information for statements to be vectorized, check the proportion of load statements, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 45."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:684
+#: config/rs6000/rs6000.opt:660
 #, no-c-format
 msgid "Like parameter rs6000-density-load-pct-threshold, we also check if the total number of load statements exceeds the threshold specified by this parameter, and penalize only if it's satisfied.  The default value is 20."
 msgstr ""
@@ -9353,6 +9350,95 @@ msgstr "Bật câu lệnh mở rộng ký hiệu."
 msgid "Enable user-defined instructions."
 msgstr "Bật câu lệnh được người dùng xác định."
 
+#: config/loongarch/loongarch.opt:47
+#, no-c-format
+msgid "Basic ISAs of LoongArch:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:56
+#, no-c-format
+msgid "FPU types of LoongArch:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:69
+#, fuzzy, no-c-format
+#| msgid "-march=ISA\tGenerate code for the given ISA."
+msgid "-mfpu=FPU\tGenerate code for the given FPU."
+msgstr "-march=ISA\tTạo ra mã cho ISA đưa ra."
+
+#: config/loongarch/loongarch.opt:76 config/mips/mips.opt:377
+#, no-c-format
+msgid "Prevent the use of all hardware floating-point instructions."
+msgstr "Ngăn cản sử dụng câu lệnh nào có loại dấu chấm động phần cứng."
+
+#: config/loongarch/loongarch.opt:80 config/mips/mips.opt:369
+#, no-c-format
+msgid "Restrict the use of hardware floating-point instructions to 32-bit operations."
+msgstr "Hạn chế sử dụng câu lệnh dấu chấm động phần cứng thành thao tác 32-bit."
+
+#: config/loongarch/loongarch.opt:84 config/mips/mips.opt:116
+#, no-c-format
+msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations."
+msgstr "Cho phép xử lý dấu chấm động phần cứng bao quát thao tác cả hai hệ điều hành 32-bit và 64-bit."
+
+#: config/loongarch/loongarch.opt:90
+#, no-c-format
+msgid "LoongArch CPU types:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:103
+#, fuzzy, no-c-format
+#| msgid "-march=ISA\tGenerate code for the given ISA."
+msgid "-march=PROCESSOR\tGenerate code for the given PROCESSOR ISA."
+msgstr "-march=ISA\tTạo ra mã cho ISA đưa ra."
+
+#: config/loongarch/loongarch.opt:107
+#, fuzzy, no-c-format
+#| msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR."
+msgid "-mtune=PROCESSOR\tGenerate optimized code for PROCESSOR."
+msgstr "-mtune=BỘ_XỬ_LÝ\tTối ưu hóa kết xuất cho bộ xử lý này."
+
+#: config/loongarch/loongarch.opt:116
+#, no-c-format
+msgid "Base ABI types for LoongArch:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:129
+#, fuzzy, no-c-format
+#| msgid "-mabi=ABI\tGenerate code that conforms to the given ABI."
+msgid "-mabi=BASEABI\tGenerate code that conforms to the given BASEABI."
+msgstr "-mabi=ABI\tTạo ra làm hợp với ABI đưa ra."
+
+#: config/loongarch/loongarch.opt:138 config/mips/mips.opt:71
+#, no-c-format
+msgid "-mbranch-cost=COST\tSet the cost of branches to roughly COST instructions."
+msgstr "-mbranch-cost=GIÁ\tĐặt giá của nhánh thành khoảng số các câu lệnh này."
+
+#: config/loongarch/loongarch.opt:142 config/mips/mips.opt:83
+#, no-c-format
+msgid "Trap on integer divide by zero."
+msgstr "Bẫy khi số nguyên chia cho số không."
+
+#: config/loongarch/loongarch.opt:146
+#, no-c-format
+msgid "Conditional moves for integral are enabled."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:150
+#, no-c-format
+msgid "Conditional moves for float are enabled."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:154
+#, no-c-format
+msgid "Prevent optimizing block moves, which is also the default behavior of -Os."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:162
+#, no-c-format
+msgid "-mmax-inline-memcpy-size=SIZE\tSet the max size of memcpy to inline, default is 1024."
+msgstr ""
+
 #: config/or1k/elf.opt:28
 #, no-c-format
 msgid "Configure the newlib board specific runtime.  The default is or1ksim."
@@ -11551,6 +11637,11 @@ msgstr "Ghi rõ tên của CPU đích."
 msgid "Generate code for a 32-bit ABI."
 msgstr "Tạo ra mã cho một ABI 32 bít."
 
+#: config/gcn/gcn.opt:54
+#, no-c-format
+msgid "Generate code for a 64-bit ABI."
+msgstr "Tạo ra mã cho một ABI 64 bít."
+
 #: config/gcn/gcn.opt:58
 #, no-c-format
 msgid "Enable OpenMP GPU offloading."
@@ -11674,11 +11765,6 @@ msgstr "Sử dụng chỉ lệnh madd/msub số nguyên."
 msgid "-march=ISA\tGenerate code for the given ISA."
 msgstr "-march=ISA\tTạo ra mã cho ISA đưa ra."
 
-#: config/mips/mips.opt:71
-#, no-c-format
-msgid "-mbranch-cost=COST\tSet the cost of branches to roughly COST instructions."
-msgstr "-mbranch-cost=GIÁ\tĐặt giá của nhánh thành khoảng số các câu lệnh này."
-
 #: config/mips/mips.opt:75
 #, no-c-format
 msgid "Use Branch Likely instructions, overriding the architecture default."
@@ -11689,11 +11775,6 @@ msgstr "Sử dụng câu lệnh rất có thể thích hợp với nhanh (Branch
 msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing."
 msgstr "Bật/tắt ASE MIPS16 trên các hàm qua lại, để kiểm tra chức năng của bộ dịch mã số."
 
-#: config/mips/mips.opt:83
-#, no-c-format
-msgid "Trap on integer divide by zero."
-msgstr "Bẫy khi số nguyên chia cho số không."
-
 #: config/mips/mips.opt:87
 #, no-c-format
 msgid "-mcode-readable=SETTING\tSpecify when instructions are allowed to access code."
@@ -11719,11 +11800,6 @@ msgstr "Sử dụng câu lệnh bẫy để kiểm tra có số nguyên chia cho
 msgid "Allow the use of MDMX instructions."
 msgstr "Cho phép sử dụng câu lệnh MDMX."
 
-#: config/mips/mips.opt:116
-#, no-c-format
-msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations."
-msgstr "Cho phép xử lý dấu chấm động phần cứng bao quát thao tác cả hai hệ điều hành 32-bit và 64-bit."
-
 #: config/mips/mips.opt:120
 #, no-c-format
 msgid "Use MIPS-DSP instructions."
@@ -11995,21 +12071,11 @@ msgstr "Thử cho phép bộ liên kết chuyển đổi cuộc gọi PIC sang c
 msgid "When generating -mabicalls code, make the code suitable for use in shared libraries."
 msgstr "Khi tạo ra mã -mabicalls, làm cho mã thích hợp với sử dụng trong thư viện dùng chung."
 
-#: config/mips/mips.opt:369
-#, no-c-format
-msgid "Restrict the use of hardware floating-point instructions to 32-bit operations."
-msgstr "Hạn chế sử dụng câu lệnh dấu chấm động phần cứng thành thao tác 32-bit."
-
 #: config/mips/mips.opt:373
 #, no-c-format
 msgid "Use SmartMIPS instructions."
 msgstr "Sử dụng câu lệnh SmartMIPS."
 
-#: config/mips/mips.opt:377
-#, no-c-format
-msgid "Prevent the use of all hardware floating-point instructions."
-msgstr "Ngăn cản sử dụng câu lệnh nào có loại dấu chấm động phần cứng."
-
 #: config/mips/mips.opt:381
 #, no-c-format
 msgid "Optimize lui/addiu address loads."
@@ -12962,2337 +13028,2343 @@ msgid "Warn whenever a trampoline is generated."
 msgstr "Cảnh báo khi nào đoạn điều kiện loại bị bỏ qua."
 
 #: common.opt:806
+#, fuzzy, no-c-format
+#| msgid "Warn about maybe uninitialized automatic variables."
+msgid "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto variable."
+msgstr "Cảnh báo về các biến tự động tự động không được khởi tạo."
+
+#: common.opt:810
 #, no-c-format
 msgid "Warn if a comparison is always true or always false due to the limited range of the data type."
 msgstr ""
 
-#: common.opt:810
+#: common.opt:814
 #, no-c-format
 msgid "Warn about uninitialized automatic variables."
 msgstr "Cảnh báo về các biến tự động tự động không được khởi tạo."
 
-#: common.opt:814
+#: common.opt:818
 #, no-c-format
 msgid "Warn about maybe uninitialized automatic variables."
 msgstr "Cảnh báo về các biến tự động tự động không được khởi tạo."
 
-#: common.opt:822
+#: common.opt:826
 #, no-c-format
 msgid "Enable all -Wunused- warnings."
 msgstr "Bật tất cả cảnh báo -Wunused-."
 
-#: common.opt:826
+#: common.opt:830
 #, no-c-format
 msgid "Warn when a function parameter is only set, otherwise unused."
 msgstr "Cảnh báo khi tham số của hàm chỉ được đặt, nếu không thì không sử dụng."
 
-#: common.opt:830
+#: common.opt:834
 #, no-c-format
 msgid "Warn when a variable is only set, otherwise unused."
 msgstr "Cảnh báo khi biến chỉ được đặt, nếu không thì không sử dụng."
 
-#: common.opt:834
+#: common.opt:838
 #, no-c-format
 msgid "Warn when a function is unused."
 msgstr "Cảnh báo khi hàm không được dùng."
 
-#: common.opt:838
+#: common.opt:842
 #, no-c-format
 msgid "Warn when a label is unused."
 msgstr "Cảnh báo khi nhãn không được dùng."
 
-#: common.opt:842
+#: common.opt:846
 #, no-c-format
 msgid "Warn when a function parameter is unused."
 msgstr "Cảnh báo khi tham số của hàm không được dùng."
 
-#: common.opt:846
+#: common.opt:850
 #, no-c-format
 msgid "Warn when an expression value is unused."
 msgstr "Cảnh báo khi giá trị của biểu thức không được dùng."
 
-#: common.opt:850
+#: common.opt:854
 #, no-c-format
 msgid "Warn when a variable is unused."
 msgstr "Cảnh báo khi biến không được dùng."
 
-#: common.opt:854
+#: common.opt:858
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not match."
 msgstr ""
 
-#: common.opt:858
+#: common.opt:862
 #, no-c-format
 msgid "Warn in case a function ends earlier than it begins due to an invalid linenum macros."
 msgstr ""
 
-#: common.opt:862
+#: common.opt:866
 #, fuzzy, no-c-format
 #| msgid "Warn about user-specified include directories that do not exist."
 msgid "Warn in case profiles in -fprofile-use do not exist."
 msgstr "Cảnh báo khi người dùng xác định một thư mục không tồn tại."
 
-#: common.opt:866
+#: common.opt:870
 #, no-c-format
 msgid "Warn when a vector operation is compiled outside the SIMD."
 msgstr ""
 
-#: common.opt:870
+#: common.opt:874
 #, fuzzy, no-c-format
 #| msgid "Warn about unprototyped function declarations."
 msgid "Warn about unsupported features in ThreadSanitizer."
 msgstr "Cảnh báo về khai báo hàm không được khai báo mẫu trước."
 
-#: common.opt:886
+#: common.opt:890
 #, no-c-format
 msgid "-aux-info <file>\tEmit declaration information into <file>."
 msgstr ""
 
-#: common.opt:899
+#: common.opt:903
 #, no-c-format
 msgid "-d<letters>\tEnable dumps from specific passes of the compiler."
 msgstr ""
 
-#: common.opt:903
+#: common.opt:907
 #, no-c-format
 msgid "-dumpbase <file>\tSet the file basename to be used for dumps."
 msgstr ""
 
-#: common.opt:907
+#: common.opt:911
 #, no-c-format
 msgid "-dumpbase-ext .<ext>    Drop a trailing .<ext> from the dump basename to name auxiliary output files."
 msgstr ""
 
-#: common.opt:911
+#: common.opt:915
 #, no-c-format
 msgid "-dumpdir <dir>\tSet the directory name to be used for dumps."
 msgstr ""
 
-#: common.opt:1009
+#: common.opt:1013
 #, no-c-format
 msgid "The version of the C++ ABI in use."
 msgstr ""
 
-#: common.opt:1013
+#: common.opt:1017
 #, no-c-format
 msgid "Aggressively optimize loops using language constraints."
 msgstr ""
 
-#: common.opt:1017
+#: common.opt:1021
 #, no-c-format
 msgid "Align the start of functions."
 msgstr "Chỉnh đầu của hàm."
 
-#: common.opt:1027
+#: common.opt:1031
 #, no-c-format
 msgid "Align labels which are only reached by jumping."
 msgstr ""
 
-#: common.opt:1034
+#: common.opt:1038
 #, no-c-format
 msgid "Align all labels."
 msgstr "Cân chỉnh tất cả các nhãn."
 
-#: common.opt:1041
+#: common.opt:1045
 #, no-c-format
 msgid "Align the start of loops."
 msgstr "Chỉnh đầu của vòng lặp."
 
-#: common.opt:1048
+#: common.opt:1052
 #, no-c-format
 msgid "Allow the compiler to introduce new data races on stores."
 msgstr ""
 
-#: common.opt:1052
+#: common.opt:1056
 #, fuzzy, no-c-format
 #| msgid "Enable traditional preprocessing."
 msgid "Enable static analysis pass."
 msgstr "Bật tiền xử lý theo kiểu cổ điển."
 
-#: common.opt:1072
+#: common.opt:1076
 #, no-c-format
 msgid "Select what to sanitize."
 msgstr "Chọn cái gì để cải thiện."
 
-#: common.opt:1076
+#: common.opt:1080
 #, fuzzy, no-c-format
 #| msgid "Select what to sanitize."
 msgid "Select type of coverage sanitization."
 msgstr "Chọn cái gì để cải thiện."
 
-#: common.opt:1089
+#: common.opt:1093
 #, no-c-format
 msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
 msgstr ""
 
-#: common.opt:1093
+#: common.opt:1097
 #, no-c-format
 msgid "-fsanitize-sections=<sec1,sec2,...>\tSanitize global variables in user-defined sections."
 msgstr ""
 
-#: common.opt:1098
+#: common.opt:1102
 #, no-c-format
 msgid "After diagnosing undefined behavior attempt to continue execution."
 msgstr ""
 
-#: common.opt:1102
+#: common.opt:1106
 #, no-c-format
 msgid "This switch is deprecated; use -fsanitize-recover= instead."
 msgstr "Cái chuyển này đã lạc hậu: hãy thay thế bằng -fsanitize-recover=."
 
-#: common.opt:1109
+#: common.opt:1113
 #, no-c-format
 msgid "Use trap instead of a library function for undefined behavior sanitization."
 msgstr ""
 
-#: common.opt:1113
+#: common.opt:1117
 #, no-c-format
 msgid "Generate unwind tables that are exact at each instruction boundary."
 msgstr ""
 
-#: common.opt:1117
+#: common.opt:1121
 #, no-c-format
 msgid "Generate auto-inc/dec instructions."
 msgstr "Tạo ra câu lệnh auto-inc/dec."
 
-#: common.opt:1121
+#: common.opt:1125
 #, no-c-format
 msgid "Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in 'pwd'."
 msgstr ""
 
-#: common.opt:1126
+#: common.opt:1130
 #, no-c-format
 msgid "Use sample profile information for call graph node weights. The profile file is specified in the argument."
 msgstr ""
 
-#: common.opt:1135
+#: common.opt:1139
 #, no-c-format
 msgid "Generate code to check bounds before indexing arrays."
 msgstr ""
 
-#: common.opt:1139
+#: common.opt:1143
 #, no-c-format
 msgid "Replace add, compare, branch with branch on count register."
 msgstr ""
 
-#: common.opt:1143
+#: common.opt:1147
 #, no-c-format
 msgid "Use profiling information for branch probabilities."
 msgstr ""
 
-#: common.opt:1159
+#: common.opt:1163
 #, fuzzy, no-c-format
 #| msgid "Emit call graph information."
 msgid "Output callgraph information on a per-file basis."
 msgstr "Xuất thông tin về đồ thị gọi."
 
-#: common.opt:1163
+#: common.opt:1167
 #, no-c-format
 msgid "Output callgraph information on a per-file basis with decorations."
 msgstr ""
 
-#: common.opt:1167
+#: common.opt:1171
 #, no-c-format
 msgid "-fcall-saved-<register>\tMark <register> as being preserved across functions."
 msgstr ""
 
-#: common.opt:1171
+#: common.opt:1175
 #, no-c-format
 msgid "-fcall-used-<register>\tMark <register> as being corrupted by function calls."
 msgstr ""
 
-#: common.opt:1178
+#: common.opt:1182
 #, no-c-format
 msgid "Save registers around function calls."
 msgstr ""
 
-#: common.opt:1182
+#: common.opt:1186
 #, no-c-format
 msgid "This switch is deprecated; do not use."
 msgstr "Cái chuyển này đã lạc hậu: đừng dùng."
 
-#: common.opt:1186
+#: common.opt:1190
 #, no-c-format
 msgid "Check the return value of new in C++."
 msgstr "Kiểm tra giá trị trả về của new trong C++."
 
-#: common.opt:1190 common.opt:1194
+#: common.opt:1194 common.opt:1198
 #, no-c-format
 msgid "Perform internal consistency checkings."
 msgstr ""
 
-#: common.opt:1198
+#: common.opt:1202
 #, fuzzy, no-c-format
 msgid "Enable code hoisting."
 msgstr "Bật khả năng tiền xử lý."
 
-#: common.opt:1202
+#: common.opt:1206
 #, no-c-format
 msgid "Looks for opportunities to reduce stack adjustments and stack references."
 msgstr ""
 
-#: common.opt:1206
+#: common.opt:1210
 #, fuzzy, no-c-format
 #| msgid "%qD is used uninitialized in this function"
 msgid "Put uninitialized globals in the common section."
 msgstr "%qD được dùng để bỏ khởi tạo trong hàm này"
 
-#: common.opt:1214
+#: common.opt:1218
 #, no-c-format
 msgid "-fcompare-debug[=<opts>]\tCompile with and without e.g. -gtoggle, and compare the final-insns dump."
 msgstr ""
 
-#: common.opt:1218
+#: common.opt:1222
 #, no-c-format
 msgid "Run only the second compilation of -fcompare-debug."
 msgstr "Chỉ chạy biên dịch lần hai của tùy chọn -fcompare-debug."
 
-#: common.opt:1222
+#: common.opt:1226
 #, no-c-format
 msgid "Perform comparison elimination after register allocation has finished."
 msgstr ""
 
-#: common.opt:1226
+#: common.opt:1230
 #, no-c-format
 msgid "Do not perform optimizations increasing noticeably stack usage."
 msgstr ""
 
-#: common.opt:1230
+#: common.opt:1234
 #, no-c-format
 msgid "Perform a register copy-propagation optimization pass."
 msgstr ""
 
-#: common.opt:1234
+#: common.opt:1238
 #, no-c-format
 msgid "Perform cross-jumping optimization."
 msgstr ""
 
-#: common.opt:1238
+#: common.opt:1242
 #, no-c-format
 msgid "When running CSE, follow jumps to their targets."
 msgstr ""
 
-#: common.opt:1246
+#: common.opt:1250
 #, no-c-format
 msgid "Omit range reduction step when performing complex division."
 msgstr ""
 
-#: common.opt:1250
+#: common.opt:1254
 #, no-c-format
 msgid "Complex multiplication and division follow Fortran rules."
 msgstr ""
 
-#: common.opt:1254
+#: common.opt:1258
 #, no-c-format
 msgid "Place data items into their own section."
 msgstr ""
 
-#: common.opt:1258
+#: common.opt:1262
 #, no-c-format
 msgid "List all available debugging counters with their limits and counts."
 msgstr ""
 
-#: common.opt:1262
+#: common.opt:1266
 #, no-c-format
 msgid "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
 msgstr ""
 
-#: common.opt:1266
+#: common.opt:1270
 #, no-c-format
 msgid "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug information."
 msgstr ""
 
-#: common.opt:1270
+#: common.opt:1274
 #, no-c-format
 msgid "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in compilation result."
 msgstr ""
 
-#: common.opt:1274
+#: common.opt:1278
 #, no-c-format
 msgid "Output .debug_types section when using DWARF v4 debuginfo."
 msgstr ""
 
-#: common.opt:1280
+#: common.opt:1284
 #, no-c-format
 msgid "Defer popping functions args from stack until later."
 msgstr ""
 
-#: common.opt:1284
+#: common.opt:1288
 #, no-c-format
 msgid "Attempt to fill delay slots of branch instructions."
 msgstr ""
 
-#: common.opt:1288
+#: common.opt:1292
 #, no-c-format
 msgid "Delete dead instructions that may throw exceptions."
 msgstr ""
 
-#: common.opt:1292
+#: common.opt:1296
 #, no-c-format
 msgid "Delete useless null pointer checks."
 msgstr ""
 
-#: common.opt:1296
+#: common.opt:1300
 #, no-c-format
 msgid "Stream extra data to support more aggressive devirtualization in LTO local transformation mode."
 msgstr ""
 
-#: common.opt:1300
+#: common.opt:1304
 #, no-c-format
 msgid "Perform speculative devirtualization."
 msgstr ""
 
-#: common.opt:1304
+#: common.opt:1308
 #, no-c-format
 msgid "Try to convert virtual calls to direct ones."
 msgstr ""
 
-#: common.opt:1308
+#: common.opt:1312
 #, no-c-format
 msgid "-fdiagnostics-show-location=[once|every-line]\tHow often to emit source location at the beginning of line-wrapped diagnostics."
 msgstr ""
 
-#: common.opt:1325
+#: common.opt:1329
 #, no-c-format
 msgid "Show the source line with a caret indicating the column."
 msgstr ""
 
-#: common.opt:1329
+#: common.opt:1333
 #, no-c-format
 msgid "Show labels annotating ranges of source code when showing source."
 msgstr ""
 
-#: common.opt:1333
+#: common.opt:1337
 #, no-c-format
 msgid "Show line numbers in the left margin when showing source."
 msgstr ""
 
-#: common.opt:1341
+#: common.opt:1345
 #, no-c-format
 msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
 msgstr ""
 
-#: common.opt:1361
+#: common.opt:1365
 #, no-c-format
 msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
 msgstr ""
 
-#: common.opt:1381
+#: common.opt:1385
 #, no-c-format
 msgid "-fdiagnostics-column-unit=[display|byte]\tSelect whether column numbers are output as display columns (default) or raw bytes."
 msgstr ""
 
-#: common.opt:1385
+#: common.opt:1389
 #, no-c-format
 msgid "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  The default is 1-based as per GNU style, but some utilities may expect 0-based, for example."
 msgstr ""
 
-#: common.opt:1389
+#: common.opt:1393
 #, no-c-format
 msgid "-fdiagnostics-format=[text|json]\tSelect output format."
 msgstr ""
 
-#: common.opt:1393
+#: common.opt:1397
 #, no-c-format
 msgid "-fdiagnostics-escape-format=[unicode|bytes]\tSelect how to escape non-printable-ASCII bytes in the source for diagnostics that suggest it."
 msgstr ""
 
-#: common.opt:1428
+#: common.opt:1432
 #, no-c-format
 msgid "Print fix-it hints in machine-readable form."
 msgstr ""
 
-#: common.opt:1432
+#: common.opt:1436
 #, no-c-format
 msgid "Print fix-it hints to stderr in unified diff format."
 msgstr ""
 
-#: common.opt:1436
+#: common.opt:1440
 #, no-c-format
 msgid "Amend appropriate diagnostic messages with the command line option that controls them."
 msgstr ""
 
-#: common.opt:1440
+#: common.opt:1444
 #, no-c-format
 msgid "Print CWE identifiers for diagnostic messages, where available."
 msgstr ""
 
-#: common.opt:1444
+#: common.opt:1448
 #, no-c-format
 msgid "Specify how to print any control-flow path associated with a diagnostic."
 msgstr ""
 
-#: common.opt:1448
+#: common.opt:1452
 #, no-c-format
 msgid "Turn off any diagnostics features that complicate the output, such as line numbers, color, and warning URLs."
 msgstr ""
 
-#: common.opt:1452
+#: common.opt:1456
 #, no-c-format
 msgid "-ftabstop=<number>      Distance between tab stops for column reporting."
 msgstr ""
 
-#: common.opt:1468
+#: common.opt:1472
 #, no-c-format
 msgid "Show stack depths of events in paths."
 msgstr ""
 
-#: common.opt:1472
+#: common.opt:1476
 #, no-c-format
 msgid "Set minimum width of left margin of source code when showing source."
 msgstr ""
 
-#: common.opt:1476
+#: common.opt:1480
 #, fuzzy, no-c-format
 #| msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass."
 msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
 msgstr "-fdisable-[tree|rtl|ipa]-<pass>=vùng1+vùng2 tắt chuyển qua tối ưu hóa."
 
-#: common.opt:1480
+#: common.opt:1484
 #, fuzzy, no-c-format
 #| msgid "-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass."
 msgid "-fenable-[tree|rtl|ipa]-<pass>=range1+range2\tEnable an optimization pass."
 msgstr "-fenable-[tree|rtl|ipa]-<pass>=vùng1+vùng2 bật chuyển qua tối ưu hóa."
 
-#: common.opt:1484
+#: common.opt:1488
 #, no-c-format
 msgid "-fdump-<type>\tDump various compiler internals to a file."
 msgstr ""
 
-#: common.opt:1491
+#: common.opt:1495
 #, no-c-format
 msgid "-fdump-final-insns=filename\tDump to filename the insns at the end of translation."
 msgstr ""
 
-#: common.opt:1495
+#: common.opt:1499
 #, no-c-format
 msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code."
 msgstr ""
 
-#: common.opt:1499
+#: common.opt:1503
 #, no-c-format
 msgid "Suppress output of addresses in debugging dumps."
 msgstr ""
 
-#: common.opt:1503
+#: common.opt:1507
 #, no-c-format
 msgid "Collect and dump debug information into temporary file if ICE in C/C++ compiler occurred."
 msgstr ""
 
-#: common.opt:1508
+#: common.opt:1512
 #, no-c-format
 msgid "Dump detailed information on GCC's internal representation of source code locations."
 msgstr ""
 
-#: common.opt:1512
+#: common.opt:1516
 #, no-c-format
 msgid "Dump optimization passes."
 msgstr ""
 
-#: common.opt:1516
+#: common.opt:1520
 #, no-c-format
 msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps."
 msgstr ""
 
-#: common.opt:1520
+#: common.opt:1524
 #, no-c-format
 msgid "Suppress output of previous and next insn numbers in debugging dumps."
 msgstr ""
 
-#: common.opt:1524
+#: common.opt:1528
 #, no-c-format
 msgid "Enable CFI tables via GAS assembler directives."
 msgstr ""
 
-#: common.opt:1528
+#: common.opt:1532
 #, no-c-format
 msgid "Perform early inlining."
 msgstr ""
 
-#: common.opt:1536
+#: common.opt:1540
 #, no-c-format
 msgid "Perform interprocedural reduction of aggregates."
 msgstr ""
 
-#: common.opt:1540
+#: common.opt:1544
 #, no-c-format
 msgid "Perform unused symbol elimination in debug info."
 msgstr ""
 
-#: common.opt:1544
+#: common.opt:1548
 #, no-c-format
 msgid "Perform unused type elimination in debug info."
 msgstr ""
 
-#: common.opt:1548
+#: common.opt:1552
 #, no-c-format
 msgid "Do not suppress C++ class debug information."
 msgstr ""
 
-#: common.opt:1552
+#: common.opt:1556
 #, no-c-format
 msgid "Enable exception handling."
 msgstr "Bật tiếp nhận ngoại lệ."
 
-#: common.opt:1556
+#: common.opt:1560
 #, no-c-format
 msgid "Perform a number of minor, expensive optimizations."
 msgstr ""
 
-#: common.opt:1560
+#: common.opt:1564
 #, fuzzy, no-c-format
 #| msgid "-fexcess-precision=[fast|standard]\tSpecify handling of excess floating-point precision."
 msgid "-fexcess-precision=[fast|standard|16]\tSpecify handling of excess floating-point precision."
 msgstr "-fexcess-precision=[fast|standard]\tChỉ định cách xử lý khi độ chính xác của dấu chấm động bị vượt quá."
 
-#: common.opt:1578
+#: common.opt:1582
 #, no-c-format
 msgid "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of FLT_EVAL_METHOD are permitted."
 msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tChỉ định xem giá trị của FLT_EVAL_METHOD sẽ cho phép."
 
-#: common.opt:1594
+#: common.opt:1598
 #, no-c-format
 msgid "Output lto objects containing both the intermediate language and binary output."
 msgstr ""
 
-#: common.opt:1598
+#: common.opt:1602
 #, no-c-format
 msgid "Assume no NaNs or infinities are generated."
 msgstr ""
 
-#: common.opt:1602
+#: common.opt:1606
 #, no-c-format
 msgid "Assume that loops with an exit will terminate and not loop indefinitely."
 msgstr ""
 
-#: common.opt:1606
+#: common.opt:1610
 #, no-c-format
 msgid "-ffixed-<register>\tMark <register> as being unavailable to the compiler."
 msgstr ""
 
-#: common.opt:1610
+#: common.opt:1614
 #, no-c-format
 msgid "Don't allocate floats and doubles in extended-precision registers."
 msgstr ""
 
-#: common.opt:1618
+#: common.opt:1622
 #, no-c-format
 msgid "Perform a forward propagation pass on RTL."
 msgstr ""
 
-#: common.opt:1622
+#: common.opt:1626
 #, no-c-format
 msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
 msgstr ""
 
-#: common.opt:1639
+#: common.opt:1643
 #, no-c-format
 msgid "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" exceptions."
 msgstr ""
 
-#: common.opt:1646
+#: common.opt:1650
 #, no-c-format
 msgid "Allow function addresses to be held in registers."
 msgstr "Sử dụng địa chỉ hàm mà được giữ trong các thanh ghi."
 
-#: common.opt:1650
+#: common.opt:1654
 #, no-c-format
 msgid "Place each function into its own section."
 msgstr ""
 
-#: common.opt:1654
+#: common.opt:1658
 #, no-c-format
 msgid "Perform global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1658
+#: common.opt:1662
 #, no-c-format
 msgid "Perform enhanced load motion during global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1662
+#: common.opt:1666
 #, no-c-format
 msgid "Perform store motion after global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1666
+#: common.opt:1670
 #, no-c-format
 msgid "Perform redundant load after store elimination in global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1671
+#: common.opt:1675
 #, no-c-format
 msgid "Perform global common subexpression elimination after register allocation has finished."
 msgstr ""
 
-#: common.opt:1688
+#: common.opt:1692
 #, no-c-format
 msgid "-fgnat-encodings=[all|gdb|minimal]\tSelect the balance between GNAT encodings and standard DWARF emitted in the debug information."
 msgstr ""
 
-#: common.opt:1693
+#: common.opt:1697
 #, no-c-format
 msgid "Enable in and out of Graphite representation."
 msgstr ""
 
-#: common.opt:1697
+#: common.opt:1701
 #, no-c-format
 msgid "Enable Graphite Identity transformation."
 msgstr ""
 
-#: common.opt:1701
+#: common.opt:1705
 #, no-c-format
 msgid "Enable hoisting adjacent loads to encourage generating conditional move instructions."
 msgstr ""
 
-#: common.opt:1710
+#: common.opt:1714
 #, no-c-format
 msgid "Improve GCC's ability to track column numbers in large source files, at the expense of slower compilation."
 msgstr ""
 
-#: common.opt:1715
+#: common.opt:1719
 #, no-c-format
 msgid "Mark all loops as parallel."
 msgstr "Đánh dấu tất cả các vòng lặp là xử lý song song."
 
-#: common.opt:1719 common.opt:1727 common.opt:2914
+#: common.opt:1723 common.opt:1731 common.opt:2918
 #, no-c-format
 msgid "Enable loop nest transforms.  Same as -floop-nest-optimize."
 msgstr ""
 
-#: common.opt:1723
+#: common.opt:1727
 #, fuzzy, no-c-format
 #| msgid "Enable clip instructions."
 msgid "Enable loop interchange on trees."
 msgstr "Bật các câu lệnh trích đoạn."
 
-#: common.opt:1731
+#: common.opt:1735
 #, no-c-format
 msgid "Perform unroll-and-jam on loops."
 msgstr ""
 
-#: common.opt:1735
+#: common.opt:1739
 #, no-c-format
 msgid "Enable support for GNU transactional memory."
 msgstr ""
 
-#: common.opt:1739
+#: common.opt:1743
 #, no-c-format
 msgid "Use STB_GNU_UNIQUE if supported by the assembler."
 msgstr ""
 
-#: common.opt:1747
+#: common.opt:1751
 #, no-c-format
 msgid "Enable the loop nest optimizer."
 msgstr "Bật sự tối ưu hóa vòng lặp lồng nhau."
 
-#: common.opt:1751
+#: common.opt:1755
 #, no-c-format
 msgid "Force bitfield accesses to match their type width."
 msgstr ""
 
-#: common.opt:1755
+#: common.opt:1759
 #, no-c-format
 msgid "Merge adjacent stores."
 msgstr ""
 
-#: common.opt:1759
+#: common.opt:1763
 #, no-c-format
 msgid "Enable guessing of branch probabilities."
 msgstr ""
 
-#: common.opt:1763
+#: common.opt:1767
 #, no-c-format
 msgid "Harden conditionals not used in branches, checking reversed conditions."
 msgstr ""
 
-#: common.opt:1767
+#: common.opt:1771
 #, no-c-format
 msgid "Harden conditional branches by checking reversed conditions."
 msgstr ""
 
-#: common.opt:1775
+#: common.opt:1779
 #, no-c-format
 msgid "Process #ident directives."
 msgstr ""
 
-#: common.opt:1779
+#: common.opt:1783
 #, no-c-format
 msgid "Perform conversion of conditional jumps to branchless equivalents."
 msgstr ""
 
-#: common.opt:1783
+#: common.opt:1787
 #, no-c-format
 msgid "Perform conversion of conditional jumps to conditional execution."
 msgstr ""
 
-#: common.opt:1787
+#: common.opt:1791
 #, no-c-format
 msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables."
 msgstr ""
 
-#: common.opt:1803
+#: common.opt:1807
 #, no-c-format
 msgid "Convert conditional jumps in innermost loops to branchless equivalents."
 msgstr ""
 
-#: common.opt:1815
+#: common.opt:1819
 #, no-c-format
 msgid "Do not generate .size directives."
 msgstr "Đừng tạo ra chỉ thị .size."
 
-#: common.opt:1819
+#: common.opt:1823
 #, no-c-format
 msgid "Perform indirect inlining."
 msgstr ""
 
-#: common.opt:1825
+#: common.opt:1829
 #, no-c-format
 msgid "Enable inlining of function declared \"inline\", disabling disables all inlining."
 msgstr ""
 
-#: common.opt:1829
+#: common.opt:1833
 #, no-c-format
 msgid "Integrate functions into their callers when code size is known not to grow."
 msgstr ""
 
-#: common.opt:1833
+#: common.opt:1837
 #, no-c-format
 msgid "Integrate functions not declared \"inline\" into their callers when profitable."
 msgstr ""
 
-#: common.opt:1837
+#: common.opt:1841
 #, no-c-format
 msgid "Integrate functions only required by their single caller."
 msgstr ""
 
-#: common.opt:1844
+#: common.opt:1848
 #, no-c-format
 msgid "-finline-limit=<number>\tLimit the size of inlined functions to <number>."
 msgstr ""
 
-#: common.opt:1848
+#: common.opt:1852
 #, no-c-format
 msgid "Inline __atomic operations when a lock free instruction sequence is available."
 msgstr ""
 
-#: common.opt:1855
+#: common.opt:1859
 #, no-c-format
 msgid "-fcf-protection=[full|branch|return|none|check]\tInstrument functions with checks to verify jump/call/return control-flow transfer instructions have valid targets."
 msgstr ""
 
-#: common.opt:1878
+#: common.opt:1882
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls."
 msgstr ""
 
-#: common.opt:1882
+#: common.opt:1886
 #, no-c-format
 msgid "-finstrument-functions-exclude-function-list=name,...\tDo not instrument listed functions."
 msgstr ""
 
-#: common.opt:1886
+#: common.opt:1890
 #, no-c-format
 msgid "-finstrument-functions-exclude-file-list=filename,...\tDo not instrument functions listed in files."
 msgstr ""
 
-#: common.opt:1890
+#: common.opt:1894
 #, no-c-format
 msgid "Perform interprocedural constant propagation."
 msgstr ""
 
-#: common.opt:1894
+#: common.opt:1898
 #, no-c-format
 msgid "Perform cloning to make Interprocedural constant propagation stronger."
 msgstr ""
 
-#: common.opt:1902
+#: common.opt:1906
 #, no-c-format
 msgid "Perform interprocedural bitwise constant propagation."
 msgstr ""
 
-#: common.opt:1906
+#: common.opt:1910
 #, no-c-format
 msgid "Perform interprocedural modref analysis."
 msgstr ""
 
-#: common.opt:1910
+#: common.opt:1914
 #, no-c-format
 msgid "Perform interprocedural profile propagation."
 msgstr ""
 
-#: common.opt:1914
+#: common.opt:1918
 #, no-c-format
 msgid "Perform interprocedural points-to analysis."
 msgstr ""
 
-#: common.opt:1918
+#: common.opt:1922
 #, no-c-format
 msgid "Discover pure and const functions."
 msgstr ""
 
-#: common.opt:1922
+#: common.opt:1926
 #, no-c-format
 msgid "Perform Identical Code Folding for functions and read-only variables."
 msgstr ""
 
-#: common.opt:1926
+#: common.opt:1930
 #, no-c-format
 msgid "Perform Identical Code Folding for functions."
 msgstr ""
 
-#: common.opt:1930
+#: common.opt:1934
 #, no-c-format
 msgid "Perform Identical Code Folding for variables."
 msgstr ""
 
-#: common.opt:1934
+#: common.opt:1938
 #, no-c-format
 msgid "Discover read-only and non addressable static variables."
 msgstr ""
 
-#: common.opt:1938
+#: common.opt:1942
 #, no-c-format
 msgid "Discover read-only, write-only and non-addressable static variables."
 msgstr ""
 
-#: common.opt:1942
+#: common.opt:1946
 #, no-c-format
 msgid "Reduce stack alignment on call sites if possible."
 msgstr ""
 
-#: common.opt:1954
+#: common.opt:1958
 #, no-c-format
 msgid "Perform IPA Value Range Propagation."
 msgstr ""
 
-#: common.opt:1958
+#: common.opt:1962
 #, fuzzy, no-c-format
 #| msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm."
 msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
 msgstr "-fira-algorithm=[CB|priority] Đặt dùng thuật toán IRA."
 
-#: common.opt:1962
+#: common.opt:1966
 #, no-c-format
 msgid "Assume strict aliasing rules apply across (uninlined) function boundaries."
 msgstr ""
 
-#: common.opt:1975
+#: common.opt:1979
 #, fuzzy, no-c-format
 #| msgid "-fira-region=[one|all|mixed] Set regions for IRA."
 msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
 msgstr "-fira-region=[one|all|mixed] Đặt vùng cho IRA."
 
-#: common.opt:1991
+#: common.opt:1995
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
 msgstr ""
 
-#: common.opt:1996
+#: common.opt:2000
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL loop optimizations."
 msgstr ""
 
-#: common.opt:2001
+#: common.opt:2005
 #, no-c-format
 msgid "Share slots for saving different hard registers."
 msgstr ""
 
-#: common.opt:2005
+#: common.opt:2009
 #, no-c-format
 msgid "Share stack slots for spilled pseudo-registers."
 msgstr ""
 
-#: common.opt:2009
+#: common.opt:2013
 #, no-c-format
 msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
 msgstr ""
 
-#: common.opt:2013
+#: common.opt:2017
 #, no-c-format
 msgid "Optimize induction variables on trees."
 msgstr ""
 
-#: common.opt:2017
+#: common.opt:2021
 #, no-c-format
 msgid "Use jump tables for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2021
+#: common.opt:2025
 #, fuzzy, no-c-format
 #| msgid "type mismatch for case label in switch statement"
 msgid "Use bit tests for sufficiently large switch statements."
 msgstr "kiểu không khớp cho nhãn case trong câu lệnh switch"
 
-#: common.opt:2025
+#: common.opt:2029
 #, no-c-format
 msgid "Generate code for functions even if they are fully inlined."
 msgstr "Xuất hàm ngay cả khi chúng có thể chung dòng."
 
-#: common.opt:2029
+#: common.opt:2033
 #, no-c-format
 msgid "Generate code for static functions even if they are never called."
 msgstr "Xuất mã cho hàm tĩnh ngay cả khi chúng không bao giờ được gọi."
 
-#: common.opt:2033
+#: common.opt:2037
 #, no-c-format
 msgid "Emit static const variables even if they are not used."
 msgstr ""
 
-#: common.opt:2037
+#: common.opt:2041
 #, no-c-format
 msgid "Give external symbols a leading underscore."
 msgstr ""
 
-#: common.opt:2045
+#: common.opt:2049
 #, no-c-format
 msgid "Do CFG-sensitive rematerialization in LRA."
 msgstr ""
 
-#: common.opt:2049
+#: common.opt:2053
 #, no-c-format
 msgid "Enable link-time optimization."
 msgstr ""
 
-#: common.opt:2053
+#: common.opt:2057
 #, no-c-format
 msgid "Link-time optimization with number of parallel jobs or jobserver."
 msgstr ""
 
-#: common.opt:2075
+#: common.opt:2079
 #, no-c-format
 msgid "Specify the algorithm to partition symbols and vars at linktime."
 msgstr ""
 
-#: common.opt:2080
+#: common.opt:2084
 #, fuzzy, no-c-format
 #| msgid "-flto-compression-level=<number>\tUse zlib compression level <number> for IL."
 msgid "-flto-compression-level=<number>\tUse zlib/zstd compression level <number> for IL."
 msgstr "-flto-compression-level=<số>\tDùng mức nén zlib <số> cho IL."
 
-#: common.opt:2088
+#: common.opt:2092
 #, no-c-format
 msgid "Report various link-time optimization statistics."
 msgstr ""
 
-#: common.opt:2092
+#: common.opt:2096
 #, no-c-format
 msgid "Report various link-time optimization statistics for WPA only."
 msgstr ""
 
-#: common.opt:2096
+#: common.opt:2100
 #, no-c-format
 msgid "Set errno after built-in math functions."
 msgstr ""
 
-#: common.opt:2100
+#: common.opt:2104
 #, no-c-format
 msgid "-fmax-errors=<number>\tMaximum number of errors to report."
 msgstr "-fmax-errors=<số>\tSố lượng tối đa các lỗi cần thông báo."
 
-#: common.opt:2104
+#: common.opt:2108
 #, no-c-format
 msgid "Report on permanent memory allocation."
 msgstr ""
 
-#: common.opt:2108
+#: common.opt:2112
 #, no-c-format
 msgid "Report on permanent memory allocation in WPA only."
 msgstr ""
 
-#: common.opt:2115
+#: common.opt:2119
 #, no-c-format
 msgid "Attempt to merge identical constants and constant variables."
 msgstr ""
 
-#: common.opt:2119
+#: common.opt:2123
 #, no-c-format
 msgid "Attempt to merge identical constants across compilation units."
 msgstr ""
 
-#: common.opt:2123
+#: common.opt:2127
 #, no-c-format
 msgid "Attempt to merge identical debug strings across compilation units."
 msgstr ""
 
-#: common.opt:2127
+#: common.opt:2131
 #, no-c-format
 msgid "-fmessage-length=<number>\tLimit diagnostics to <number> characters per line.  0 suppresses line-wrapping."
 msgstr ""
 
-#: common.opt:2131
+#: common.opt:2135
 #, no-c-format
 msgid "Perform SMS based modulo scheduling before the first scheduling pass."
 msgstr ""
 
-#: common.opt:2135
+#: common.opt:2139
 #, no-c-format
 msgid "Perform SMS based modulo scheduling with register moves allowed."
 msgstr ""
 
-#: common.opt:2139
+#: common.opt:2143
 #, no-c-format
 msgid "Move loop invariant computations out of loops."
 msgstr ""
 
-#: common.opt:2143
+#: common.opt:2147
 #, fuzzy, no-c-format
 #| msgid "Align the start of loops."
 msgid "Move stores out of loops."
 msgstr "Chỉnh đầu của vòng lặp."
 
-#: common.opt:2147
+#: common.opt:2151
 #, no-c-format
 msgid "Use the RTL dead code elimination pass."
 msgstr ""
 
-#: common.opt:2151
+#: common.opt:2155
 #, no-c-format
 msgid "Use the RTL dead store elimination pass."
 msgstr ""
 
-#: common.opt:2155
+#: common.opt:2159
 #, no-c-format
 msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling."
 msgstr ""
 
-#: common.opt:2159
+#: common.opt:2163
 #, no-c-format
 msgid "Support synchronous non-call exceptions."
 msgstr ""
 
-#: common.opt:2166
+#: common.opt:2170
 #, no-c-format
 msgid "-foffload-options=<targets>=<options>\tSpecify options for the offloading targets."
 msgstr ""
 
-#: common.opt:2170
+#: common.opt:2174
 #, no-c-format
 msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
 msgstr ""
 
-#: common.opt:2183
+#: common.opt:2187
 #, no-c-format
 msgid "When possible do not generate stack frames."
 msgstr ""
 
-#: common.opt:2187
+#: common.opt:2191
 #, no-c-format
 msgid "Enable all optimization info dumps on stderr."
 msgstr ""
 
-#: common.opt:2191
+#: common.opt:2195
 #, no-c-format
 msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
 msgstr "-fopt-info[-<type>=tập-tin]\tĐổ chi tiết việc tối ưu hóa bộ dịch."
 
-#: common.opt:2195
+#: common.opt:2199
 #, no-c-format
 msgid "Write a SRCFILE.opt-record.json file detailing what optimizations were performed."
 msgstr ""
 
-#: common.opt:2203
+#: common.opt:2207
 #, no-c-format
 msgid "Optimize sibling and tail recursive calls."
 msgstr ""
 
-#: common.opt:2207
+#: common.opt:2211
 #, no-c-format
 msgid "Perform partial inlining."
 msgstr ""
 
-#: common.opt:2211 common.opt:2215
+#: common.opt:2215 common.opt:2219
 #, no-c-format
 msgid "Report on memory allocation before interprocedural optimization."
 msgstr ""
 
-#: common.opt:2219
+#: common.opt:2223
 #, no-c-format
 msgid "Pack structure members together without holes."
 msgstr ""
 
-#: common.opt:2223
+#: common.opt:2227
 #, no-c-format
 msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
 msgstr ""
 
-#: common.opt:2227
+#: common.opt:2231
 #, no-c-format
 msgid "Return small aggregates in memory, not registers."
 msgstr ""
 
-#: common.opt:2231
+#: common.opt:2235
 #, no-c-format
 msgid "Perform loop peeling."
 msgstr ""
 
-#: common.opt:2235
+#: common.opt:2239
 #, no-c-format
 msgid "Enable machine specific peephole optimizations."
 msgstr ""
 
-#: common.opt:2239
+#: common.opt:2243
 #, no-c-format
 msgid "Enable an RTL peephole pass before sched2."
 msgstr ""
 
-#: common.opt:2243
+#: common.opt:2247
 #, no-c-format
 msgid "Generate position-independent code if possible (large mode)."
 msgstr ""
 
-#: common.opt:2247
+#: common.opt:2251
 #, no-c-format
 msgid "Generate position-independent code for executables if possible (large mode)."
 msgstr ""
 
-#: common.opt:2251
+#: common.opt:2255
 #, no-c-format
 msgid "Generate position-independent code if possible (small mode)."
 msgstr ""
 
-#: common.opt:2255
+#: common.opt:2259
 #, no-c-format
 msgid "Generate position-independent code for executables if possible (small mode)."
 msgstr ""
 
-#: common.opt:2259
+#: common.opt:2263
 #, no-c-format
 msgid "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
 msgstr ""
 
-#: common.opt:2263
+#: common.opt:2267
 #, no-c-format
 msgid "Specify a plugin to load."
 msgstr "Chỉ định phần bổ sung cần nạp."
 
-#: common.opt:2267
+#: common.opt:2271
 #, no-c-format
 msgid "-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for plugin <name>."
 msgstr "-fplugin-arg-<tên>-<khóa>[=<giá trị>]\tChỉ định đối số <khóa>=<giá trị> cho plugin <tên>."
 
-#: common.opt:2271
+#: common.opt:2275
 #, no-c-format
 msgid "Run predictive commoning optimization."
 msgstr ""
 
-#: common.opt:2275
+#: common.opt:2279
 #, no-c-format
 msgid "Generate prefetch instructions, if available, for arrays in loops."
 msgstr ""
 
-#: common.opt:2279
+#: common.opt:2283
 #, no-c-format
 msgid "Enable basic program profiling code."
 msgstr ""
 
-#: common.opt:2283
+#: common.opt:2287
 #, fuzzy, no-c-format
 #| msgid "Generate string instructions for block moves."
 msgid "Generate absolute source path names for gcov."
 msgstr "Tạo ra câu lệnh chuỗi để di chuyển khối."
 
-#: common.opt:2287
+#: common.opt:2291
 #, no-c-format
 msgid "Insert arc-based program profiling code."
 msgstr ""
 
-#: common.opt:2291
+#: common.opt:2295
 #, no-c-format
 msgid "Set the top-level directory for storing the profile data. The default is 'pwd'."
 msgstr ""
 
-#: common.opt:2296
+#: common.opt:2300
 #, no-c-format
 msgid "Select the name for storing the profile note file."
 msgstr ""
 
-#: common.opt:2300
+#: common.opt:2304
 #, no-c-format
 msgid "Enable correction of flow inconsistent profile data input."
 msgstr ""
 
-#: common.opt:2304
+#: common.opt:2308
 #, no-c-format
 msgid "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update method."
 msgstr ""
 
-#: common.opt:2308
+#: common.opt:2312
 #, no-c-format
 msgid "Instrument only functions from files whose name matches any of the regular expressions (separated by semi-colons)."
 msgstr ""
 
-#: common.opt:2312
+#: common.opt:2316
 #, no-c-format
 msgid "Instrument only functions from files whose name does not match any of the regular expressions (separated by semi-colons)."
 msgstr ""
 
-#: common.opt:2328
+#: common.opt:2332
 #, no-c-format
 msgid "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level of reproducibility of profile gathered by -fprofile-generate."
 msgstr ""
 
-#: common.opt:2344
+#: common.opt:2348
 #, no-c-format
 msgid "Remove prefix from absolute path before mangling name for -fprofile-generate= and -fprofile-use=."
 msgstr ""
 
-#: common.opt:2348
+#: common.opt:2352
 #, no-c-format
 msgid "-fprofile-prefix-map=<old>=<new>\tMap one directory name to another in GCOV coverage result."
 msgstr ""
 
-#: common.opt:2352
+#: common.opt:2356
 #, no-c-format
 msgid "Enable common options for generating profile info for profile feedback directed optimizations."
 msgstr ""
 
-#: common.opt:2356
+#: common.opt:2360
 #, no-c-format
 msgid "Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2360
+#: common.opt:2364
 #, no-c-format
 msgid "Register the profile information in the .gcov_info section instead of using a constructor/destructor."
 msgstr ""
 
-#: common.opt:2364
+#: common.opt:2368
 #, no-c-format
 msgid "Register the profile information in the specified section instead of using a constructor/destructor."
 msgstr ""
 
-#: common.opt:2368
+#: common.opt:2372
 #, no-c-format
 msgid "Do not assume that functions never executed during the train run are cold."
 msgstr ""
 
-#: common.opt:2372
+#: common.opt:2376
 #, no-c-format
 msgid "Enable common options for performing profile feedback directed optimizations."
 msgstr ""
 
-#: common.opt:2376
+#: common.opt:2380
 #, no-c-format
 msgid "Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2380
+#: common.opt:2384
 #, no-c-format
 msgid "Insert code to profile values of expressions."
 msgstr ""
 
-#: common.opt:2384
+#: common.opt:2388
 #, no-c-format
 msgid "Report on consistency of profile."
 msgstr ""
 
-#: common.opt:2388
+#: common.opt:2392
 #, no-c-format
 msgid "Enable function reordering that improves code placement."
 msgstr ""
 
-#: common.opt:2392
+#: common.opt:2396
 #, fuzzy, no-c-format
 #| msgid "Generate cld instruction in the function prologue."
 msgid "Insert NOP instructions at each function entry."
 msgstr "Tạo ra câu lệnh cld trong đoạn mở đầu hàm."
 
-#: common.opt:2399
+#: common.opt:2403
 #, no-c-format
 msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
 msgstr ""
 
-#: common.opt:2409
+#: common.opt:2413
 #, no-c-format
 msgid "Record gcc command line switches in the object file."
 msgstr ""
 
-#: common.opt:2413
+#: common.opt:2417
 #, no-c-format
 msgid "Return small aggregates in registers."
 msgstr ""
 
-#: common.opt:2421
+#: common.opt:2425
 #, no-c-format
 msgid "Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes."
 msgstr ""
 
-#: common.opt:2432
+#: common.opt:2436
 #, no-c-format
 msgid "-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations to provide a safe compilation for live-patching.  At the same time, provides multiple-level control on the enabled IPA optimizations."
 msgstr ""
 
-#: common.opt:2447
+#: common.opt:2451
 #, no-c-format
 msgid "Tell DCE to remove unused C++ allocations."
 msgstr ""
 
-#: common.opt:2451
+#: common.opt:2455
 #, no-c-format
 msgid "Relief of register pressure through live range shrinkage."
 msgstr ""
 
-#: common.opt:2455
+#: common.opt:2459
 #, no-c-format
 msgid "Perform a register renaming optimization pass."
 msgstr ""
 
-#: common.opt:2459
+#: common.opt:2463
 #, no-c-format
 msgid "Perform a target dependent instruction fusion optimization pass."
 msgstr ""
 
-#: common.opt:2463
+#: common.opt:2467
 #, no-c-format
 msgid "Reorder basic blocks to improve code placement."
 msgstr ""
 
-#: common.opt:2467
+#: common.opt:2471
 #, no-c-format
 msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm."
 msgstr ""
 
-#: common.opt:2480
+#: common.opt:2484
 #, no-c-format
 msgid "Reorder basic blocks and partition into hot and cold sections."
 msgstr ""
 
-#: common.opt:2484
+#: common.opt:2488
 #, no-c-format
 msgid "Reorder functions to improve code placement."
 msgstr ""
 
-#: common.opt:2488
+#: common.opt:2492
 #, no-c-format
 msgid "Add a common subexpression elimination pass after loop optimizations."
 msgstr ""
 
-#: common.opt:2496
+#: common.opt:2500
 #, no-c-format
 msgid "Disable optimizations that assume default FP rounding behavior."
 msgstr ""
 
-#: common.opt:2500
+#: common.opt:2504
 #, no-c-format
 msgid "Enable scheduling across basic blocks."
 msgstr ""
 
-#: common.opt:2504
+#: common.opt:2508
 #, no-c-format
 msgid "Enable register pressure sensitive insn scheduling."
 msgstr ""
 
-#: common.opt:2508
+#: common.opt:2512
 #, no-c-format
 msgid "Allow speculative motion of non-loads."
 msgstr ""
 
-#: common.opt:2512
+#: common.opt:2516
 #, no-c-format
 msgid "Allow speculative motion of some loads."
 msgstr ""
 
-#: common.opt:2516
+#: common.opt:2520
 #, no-c-format
 msgid "Allow speculative motion of more loads."
 msgstr ""
 
-#: common.opt:2520
+#: common.opt:2524
 #, no-c-format
 msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
 msgstr ""
 
-#: common.opt:2524
+#: common.opt:2528
 #, no-c-format
 msgid "If scheduling post reload, do superblock scheduling."
 msgstr ""
 
-#: common.opt:2532
+#: common.opt:2536
 #, no-c-format
 msgid "Reschedule instructions before register allocation."
 msgstr ""
 
-#: common.opt:2536
+#: common.opt:2540
 #, no-c-format
 msgid "Reschedule instructions after register allocation."
 msgstr ""
 
-#: common.opt:2543
+#: common.opt:2547
 #, no-c-format
 msgid "Schedule instructions using selective scheduling algorithm."
 msgstr ""
 
-#: common.opt:2547
+#: common.opt:2551
 #, no-c-format
 msgid "Run selective scheduling after reload."
 msgstr ""
 
-#: common.opt:2551
+#: common.opt:2555
 #, no-c-format
 msgid "Run self-tests, using the given path to locate test files."
 msgstr ""
 
-#: common.opt:2555
+#: common.opt:2559
 #, no-c-format
 msgid "Perform software pipelining of inner loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2559
+#: common.opt:2563
 #, no-c-format
 msgid "Perform software pipelining of outer loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2563
+#: common.opt:2567
 #, no-c-format
 msgid "Reschedule pipelined regions without pipelining."
 msgstr ""
 
-#: common.opt:2567
+#: common.opt:2571
 #, no-c-format
 msgid "Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker."
 msgstr ""
 
-#: common.opt:2573
+#: common.opt:2577
 #, no-c-format
 msgid "Allow premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2577
+#: common.opt:2581
 #, no-c-format
 msgid "-fsched-stalled-insns=<number>\tSet number of queued insns that can be prematurely scheduled."
 msgstr ""
 
-#: common.opt:2585
+#: common.opt:2589
 #, no-c-format
 msgid "Set dependence distance checking in premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2589
+#: common.opt:2593
 #, no-c-format
 msgid "-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2593
+#: common.opt:2597
 #, no-c-format
 msgid "Enable the group heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2597
+#: common.opt:2601
 #, no-c-format
 msgid "Enable the critical path heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2601
+#: common.opt:2605
 #, no-c-format
 msgid "Enable the speculative instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2605
+#: common.opt:2609
 #, no-c-format
 msgid "Enable the rank heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2609
+#: common.opt:2613
 #, no-c-format
 msgid "Enable the last instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2613
+#: common.opt:2617
 #, no-c-format
 msgid "Enable the dependent count heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2617
+#: common.opt:2621
 #, no-c-format
 msgid "Access data in the same section from shared anchor points."
 msgstr ""
 
-#: common.opt:2629
+#: common.opt:2633
 #, no-c-format
 msgid "Turn on Redundant Extensions Elimination pass."
 msgstr ""
 
-#: common.opt:2633
+#: common.opt:2637
 #, no-c-format
 msgid "Show column numbers in diagnostics, when available.  Default on."
 msgstr ""
 
-#: common.opt:2637
+#: common.opt:2641
 #, no-c-format
 msgid "Emit function prologues only before parts of the function that need it, rather than at the top of the function."
 msgstr ""
 
-#: common.opt:2642
+#: common.opt:2646
 #, no-c-format
 msgid "Shrink-wrap parts of the prologue and epilogue separately."
 msgstr ""
 
-#: common.opt:2646
+#: common.opt:2650
 #, no-c-format
 msgid "Disable optimizations observable by IEEE signaling NaNs."
 msgstr ""
 
-#: common.opt:2650
+#: common.opt:2654
 #, no-c-format
 msgid "Disable floating point optimizations that ignore the IEEE signedness of zero."
 msgstr ""
 
-#: common.opt:2654
+#: common.opt:2658
 #, no-c-format
 msgid "Convert floating point constants to single precision constants."
 msgstr ""
 
-#: common.opt:2658
+#: common.opt:2662
 #, no-c-format
 msgid "Split lifetimes of induction variables when loops are unrolled."
 msgstr ""
 
-#: common.opt:2662
+#: common.opt:2666
 #, no-c-format
 msgid "Generate discontiguous stack frames."
 msgstr "Tạo ra các khung ngăn xếp không liên tiếp."
 
-#: common.opt:2666
+#: common.opt:2670
 #, no-c-format
 msgid "Split wide types into independent registers."
 msgstr ""
 
-#: common.opt:2670
+#: common.opt:2674
 #, no-c-format
 msgid "Split wide types into independent registers earlier."
 msgstr ""
 
-#: common.opt:2674
+#: common.opt:2678
 #, no-c-format
 msgid "Enable backward propagation of use properties at the SSA level."
 msgstr ""
 
-#: common.opt:2678
+#: common.opt:2682
 #, no-c-format
 msgid "Optimize conditional patterns using SSA PHI nodes."
 msgstr ""
 
-#: common.opt:2682
+#: common.opt:2686
 #, no-c-format
 msgid "Optimize amount of stdarg registers saved to stack at start of function."
 msgstr ""
 
-#: common.opt:2686
+#: common.opt:2690
 #, no-c-format
 msgid "Apply variable expansion when loops are unrolled."
 msgstr ""
 
-#: common.opt:2690
+#: common.opt:2694
 #, no-c-format
 msgid "-fstack-check=[no|generic|specific]\tInsert stack checking code into the program."
 msgstr "-fstack-check=[no|generic|specific]\t Chèn mã kiểm tra ngăn xếp vào chương trình."
 
-#: common.opt:2694
+#: common.opt:2698
 #, no-c-format
 msgid "Insert stack checking code into the program.  Same as -fstack-check=specific."
 msgstr "Chèn mã kiểm tra ngăn xếp vào chương trình. Giống với -fstack-check=specific."
 
-#: common.opt:2698
+#: common.opt:2702
 #, no-c-format
 msgid "Insert code to probe each page of stack space as it is allocated to protect from stack-clash style attacks."
 msgstr ""
 
-#: common.opt:2706
+#: common.opt:2710
 #, no-c-format
 msgid "-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
 msgstr "-fstack-limit-register=<register>\tBẫy nếu ngăn xếp đi qua <register>."
 
-#: common.opt:2710
+#: common.opt:2714
 #, no-c-format
 msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
 msgstr "-fstack-limit-symbol=<tên>\tBẫy nếu ngăn xếp đi qua ký hiệu <tên>."
 
-#: common.opt:2714
+#: common.opt:2718
 #, no-c-format
 msgid "Use propolice as a stack protection method."
 msgstr "Bật chức năng bảo vệ ngăn xếp asan."
 
-#: common.opt:2718
+#: common.opt:2722
 #, no-c-format
 msgid "Use a stack protection method for every function."
 msgstr ""
 
-#: common.opt:2722
+#: common.opt:2726
 #, no-c-format
 msgid "Use a smart stack protection method for certain functions."
 msgstr ""
 
-#: common.opt:2726
+#: common.opt:2730
 #, no-c-format
 msgid "Use stack protection method only for functions with the stack_protect attribute."
 msgstr ""
 
-#: common.opt:2730
+#: common.opt:2734
 #, no-c-format
 msgid "Output stack usage information on a per-function basis."
 msgstr ""
 
-#: common.opt:2742
+#: common.opt:2746
 #, no-c-format
 msgid "Assume strict aliasing rules apply."
 msgstr ""
 
-#: common.opt:2746
+#: common.opt:2750
 #, no-c-format
 msgid "Treat signed overflow as undefined.  Negated as -fwrapv -fwrapv-pointer."
 msgstr ""
 
-#: common.opt:2750
+#: common.opt:2754
 #, no-c-format
 msgid "Implement __atomic operations via libcalls to legacy __sync functions."
 msgstr ""
 
-#: common.opt:2754
+#: common.opt:2758
 #, no-c-format
 msgid "Check for syntax errors, then stop."
 msgstr "Kiểm tra lỗi cú pháp, sau đó dừng lại."
 
-#: common.opt:2758
+#: common.opt:2762
 #, no-c-format
 msgid "Create data files needed by \"gcov\"."
 msgstr "Tạo tập tin dữ liệu cần bởi \"gcov\"."
 
-#: common.opt:2762
+#: common.opt:2766
 #, no-c-format
 msgid "Perform jump threading optimizations."
 msgstr ""
 
-#: common.opt:2766
+#: common.opt:2770
 #, no-c-format
 msgid "Report the time taken by each compiler pass."
 msgstr ""
 
-#: common.opt:2770
+#: common.opt:2774
 #, no-c-format
 msgid "Record times taken by sub-phases separately."
 msgstr ""
 
-#: common.opt:2774
+#: common.opt:2778
 #, no-c-format
 msgid "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet the default thread-local storage code generation model."
 msgstr ""
 
-#: common.opt:2793
+#: common.opt:2797
 #, no-c-format
 msgid "Reorder top level functions, variables, and asms."
 msgstr ""
 
-#: common.opt:2797
+#: common.opt:2801
 #, no-c-format
 msgid "Perform superblock formation via tail duplication."
 msgstr ""
 
-#: common.opt:2801
+#: common.opt:2805
 #, no-c-format
 msgid "For targets that normally need trampolines for nested functions, always generate them instead of using descriptors."
 msgstr ""
 
-#: common.opt:2809
+#: common.opt:2813
 #, no-c-format
 msgid "Assume floating-point operations can trap."
 msgstr ""
 
-#: common.opt:2813
+#: common.opt:2817
 #, no-c-format
 msgid "Trap for signed overflow in addition, subtraction and multiplication."
 msgstr ""
 
-#: common.opt:2817
+#: common.opt:2821
 #, no-c-format
 msgid "Enable SSA-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2821
+#: common.opt:2825
 #, no-c-format
 msgid "Enable SSA-BIT-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2829
+#: common.opt:2833
 #, no-c-format
 msgid "Enable loop header copying on trees."
 msgstr ""
 
-#: common.opt:2837
+#: common.opt:2841
 #, no-c-format
 msgid "Enable SSA coalescing of user variables."
 msgstr ""
 
-#: common.opt:2845
+#: common.opt:2849
 #, no-c-format
 msgid "Enable copy propagation on trees."
 msgstr ""
 
-#: common.opt:2853
+#: common.opt:2857
 #, no-c-format
 msgid "Transform condition stores into unconditional ones."
 msgstr ""
 
-#: common.opt:2857
+#: common.opt:2861
 #, no-c-format
 msgid "Perform conversions of switch initializations."
 msgstr ""
 
-#: common.opt:2861
+#: common.opt:2865
 #, no-c-format
 msgid "Enable SSA dead code elimination optimization on trees."
 msgstr ""
 
-#: common.opt:2865
+#: common.opt:2869
 #, no-c-format
 msgid "Enable dominator optimizations."
 msgstr ""
 
-#: common.opt:2869
+#: common.opt:2873
 #, no-c-format
 msgid "Enable tail merging on trees."
 msgstr ""
 
-#: common.opt:2873
+#: common.opt:2877
 #, no-c-format
 msgid "Enable dead store elimination."
 msgstr ""
 
-#: common.opt:2877
+#: common.opt:2881
 #, no-c-format
 msgid "Enable forward propagation on trees."
 msgstr ""
 
-#: common.opt:2881
+#: common.opt:2885
 #, no-c-format
 msgid "Enable Full Redundancy Elimination (FRE) on trees."
 msgstr ""
 
-#: common.opt:2885
+#: common.opt:2889
 #, no-c-format
 msgid "Enable string length optimizations on trees."
 msgstr ""
 
-#: common.opt:2889
+#: common.opt:2893
 #, no-c-format
 msgid "Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer.  Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2895
+#: common.opt:2899
 #, no-c-format
 msgid "Detect paths that trigger erroneous or undefined behavior due to a null value being used in a way forbidden by a returns_nonnull or nonnull attribute.  Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2902
+#: common.opt:2906
 #, no-c-format
 msgid "Enable loop distribution on trees."
 msgstr ""
 
-#: common.opt:2906
+#: common.opt:2910
 #, no-c-format
 msgid "Enable loop distribution for patterns transformed into a library call."
 msgstr ""
 
-#: common.opt:2910
+#: common.opt:2914
 #, no-c-format
 msgid "Enable loop invariant motion on trees."
 msgstr ""
 
-#: common.opt:2918
+#: common.opt:2922
 #, no-c-format
 msgid "Create canonical induction variables in loops."
 msgstr ""
 
-#: common.opt:2922
+#: common.opt:2926
 #, no-c-format
 msgid "Enable loop optimizations on tree level."
 msgstr ""
 
-#: common.opt:2926
+#: common.opt:2930
 #, no-c-format
 msgid "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
 msgstr ""
 
-#: common.opt:2930
+#: common.opt:2934
 #, no-c-format
 msgid "Enable hoisting loads from conditional pointers."
 msgstr ""
 
-#: common.opt:2934
+#: common.opt:2938
 #, no-c-format
 msgid "Enable SSA-PRE optimization on trees."
 msgstr ""
 
-#: common.opt:2938
+#: common.opt:2942
 #, no-c-format
 msgid "In SSA-PRE optimization on trees, enable partial-partial redundancy elimination."
 msgstr ""
 
-#: common.opt:2942
+#: common.opt:2946
 #, no-c-format
 msgid "Perform function-local points-to analysis on trees."
 msgstr ""
 
-#: common.opt:2946
+#: common.opt:2950
 #, no-c-format
 msgid "Enable reassociation on tree level."
 msgstr ""
 
-#: common.opt:2954
+#: common.opt:2958
 #, no-c-format
 msgid "Enable SSA code sinking on trees."
 msgstr ""
 
-#: common.opt:2958
+#: common.opt:2962
 #, no-c-format
 msgid "Perform straight-line strength reduction."
 msgstr ""
 
-#: common.opt:2962
+#: common.opt:2966
 #, no-c-format
 msgid "Perform scalar replacement of aggregates."
 msgstr ""
 
-#: common.opt:2966
+#: common.opt:2970
 #, no-c-format
 msgid "Replace temporary expressions in the SSA->normal pass."
 msgstr ""
 
-#: common.opt:2970
+#: common.opt:2974
 #, no-c-format
 msgid "Perform live range splitting during the SSA->normal pass."
 msgstr ""
 
-#: common.opt:2974
+#: common.opt:2978
 #, no-c-format
 msgid "Perform Value Range Propagation on trees."
 msgstr ""
 
-#: common.opt:2978
+#: common.opt:2982
 #, no-c-format
 msgid "Split paths leading to loop backedges."
 msgstr ""
 
-#: common.opt:2982
+#: common.opt:2986
 #, no-c-format
 msgid "Assume common declarations may be overridden with ones with a larger trailing array."
 msgstr ""
 
-#: common.opt:2987
+#: common.opt:2991
 #, no-c-format
 msgid "Compile whole compilation unit at a time."
 msgstr ""
 
-#: common.opt:2991
+#: common.opt:2995
 #, no-c-format
 msgid "Perform loop unrolling when iteration count is known."
 msgstr ""
 
-#: common.opt:2995
+#: common.opt:2999
 #, no-c-format
 msgid "Perform loop unrolling for all loops."
 msgstr ""
 
-#: common.opt:3010
+#: common.opt:3014
 #, no-c-format
 msgid "Allow optimization for floating-point arithmetic which may change the result of the operation due to rounding."
 msgstr ""
 
-#: common.opt:3015
+#: common.opt:3019
 #, no-c-format
 msgid "Same as -fassociative-math for expressions which include division."
 msgstr ""
 
-#: common.opt:3023
+#: common.opt:3027
 #, no-c-format
 msgid "Allow math optimizations that may violate IEEE or ISO standards."
 msgstr ""
 
-#: common.opt:3027
+#: common.opt:3031
 #, no-c-format
 msgid "Perform loop unswitching."
 msgstr ""
 
-#: common.opt:3031
+#: common.opt:3035
 #, no-c-format
 msgid "Perform loop splitting."
 msgstr ""
 
-#: common.opt:3035
+#: common.opt:3039
 #, no-c-format
 msgid "Version loops based on whether indices have a stride of one."
 msgstr ""
 
-#: common.opt:3039
+#: common.opt:3043
 #, no-c-format
 msgid "Just generate unwind tables for exception handling."
 msgstr ""
 
-#: common.opt:3043
+#: common.opt:3047
 #, no-c-format
 msgid "Use the bfd linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3047
+#: common.opt:3051
 #, no-c-format
 msgid "Use the gold linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3051
+#: common.opt:3055
 #, no-c-format
 msgid "Use the lld LLVM linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3055
+#: common.opt:3059
 #, no-c-format
 msgid "Use the Modern linker (MOLD) linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3065
+#: common.opt:3069
 #, no-c-format
 msgid "Perform variable tracking."
 msgstr ""
 
-#: common.opt:3072
+#: common.opt:3076
 #, no-c-format
 msgid "Perform variable tracking by annotating assignments."
 msgstr ""
 
-#: common.opt:3078
+#: common.opt:3082
 #, no-c-format
 msgid "Toggle -fvar-tracking-assignments."
 msgstr ""
 
-#: common.opt:3085
+#: common.opt:3089
 #, no-c-format
 msgid "Perform variable tracking and also tag variables that are uninitialized."
 msgstr ""
 
-#: common.opt:3090
+#: common.opt:3094
 #, no-c-format
 msgid "Enable vectorization on trees."
 msgstr ""
 
-#: common.opt:3098
+#: common.opt:3102
 #, no-c-format
 msgid "Enable loop vectorization on trees."
 msgstr ""
 
-#: common.opt:3102
+#: common.opt:3106
 #, no-c-format
 msgid "Enable basic block vectorization (SLP) on trees."
 msgstr ""
 
-#: common.opt:3106
+#: common.opt:3110
 #, no-c-format
 msgid "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost model for vectorization."
 msgstr ""
 
-#: common.opt:3110
+#: common.opt:3114
 #, no-c-format
 msgid "-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the vectorization cost model for code marked with a simd directive."
 msgstr ""
 
-#: common.opt:3129
+#: common.opt:3133
 #, no-c-format
 msgid "Enables the dynamic vectorizer cost model.  Preserved for backward compatibility."
 msgstr ""
 
-#: common.opt:3137
+#: common.opt:3141
 #, no-c-format
 msgid "Enable copy propagation of scalar-evolution information."
 msgstr ""
 
-#: common.opt:3141
+#: common.opt:3145
 #, no-c-format
 msgid "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to automatic variables."
 msgstr ""
 
-#: common.opt:3163
+#: common.opt:3167
 #, no-c-format
 msgid "Add extra commentary to assembler output."
 msgstr ""
 
-#: common.opt:3167
+#: common.opt:3171
 #, no-c-format
 msgid "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol visibility."
 msgstr ""
 
-#: common.opt:3186
+#: common.opt:3190
 #, no-c-format
 msgid "Validate vtable pointers before using them."
 msgstr ""
 
-#: common.opt:3202
+#: common.opt:3206
 #, no-c-format
 msgid "Output vtable verification counters."
 msgstr ""
 
-#: common.opt:3206
+#: common.opt:3210
 #, no-c-format
 msgid "Output vtable verification pointer sets information."
 msgstr ""
 
-#: common.opt:3210
+#: common.opt:3214
 #, no-c-format
 msgid "Use expression value profiles in optimizations."
 msgstr ""
 
-#: common.opt:3214
+#: common.opt:3218
 #, no-c-format
 msgid "Construct webs and split unrelated uses of single variable."
 msgstr ""
 
-#: common.opt:3218
+#: common.opt:3222
 #, no-c-format
 msgid "Enable conditional dead code elimination for builtin calls."
 msgstr ""
 
-#: common.opt:3222
+#: common.opt:3226
 #, no-c-format
 msgid "Perform whole program optimizations."
 msgstr ""
 
-#: common.opt:3226
+#: common.opt:3230
 #, no-c-format
 msgid "Assume pointer overflow wraps around."
 msgstr ""
 
-#: common.opt:3230
+#: common.opt:3234
 #, no-c-format
 msgid "Assume signed arithmetic overflow wraps around."
 msgstr ""
 
-#: common.opt:3234
+#: common.opt:3238
 #, no-c-format
 msgid "Put zero initialized data in the bss section."
 msgstr ""
 
-#: common.opt:3238
+#: common.opt:3242
 #, no-c-format
 msgid "Clear call-used registers upon function return."
 msgstr ""
 
-#: common.opt:3242
+#: common.opt:3246
 #, no-c-format
 msgid "Generate debug information in default format."
 msgstr ""
 
-#: common.opt:3246
+#: common.opt:3250
 #, no-c-format
 msgid "Assume assembler support for (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3250
+#: common.opt:3254
 #, no-c-format
 msgid "Assume assembler support for view in (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3270
+#: common.opt:3274
 #, no-c-format
 msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
 msgstr ""
 
-#: common.opt:3276
+#: common.opt:3280
 #, no-c-format
 msgid "Generate CTF debug information at default level."
 msgstr ""
 
-#: common.opt:3280
+#: common.opt:3284
 #, no-c-format
 msgid "Generate BTF debug information at default level."
 msgstr ""
 
-#: common.opt:3284
+#: common.opt:3288
 #, no-c-format
 msgid "Generate debug information in default version of DWARF format."
 msgstr ""
 
-#: common.opt:3288
+#: common.opt:3292
 #, no-c-format
 msgid "Generate debug information in DWARF v2 (or later) format."
 msgstr ""
 
-#: common.opt:3292
+#: common.opt:3296
 #, no-c-format
 msgid "Use 32-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3296
+#: common.opt:3300
 #, no-c-format
 msgid "Use 64-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3300
+#: common.opt:3304
 #, no-c-format
 msgid "Generate debug information in default extended format."
 msgstr ""
 
-#: common.opt:3304
+#: common.opt:3308
 #, fuzzy, no-c-format
 #| msgid "Generate a single exit point for each function."
 msgid "Generate extended entry point information for inlined functions."
 msgstr "Tạo ra một điểm ra khỏi riêng lẻ cho mỗi hàm."
 
-#: common.opt:3308
+#: common.opt:3312
 #, no-c-format
 msgid "Compute locview reset points based on insn length estimates."
 msgstr ""
 
-#: common.opt:3316
+#: common.opt:3320
 #, no-c-format
 msgid "Don't generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3320
+#: common.opt:3324
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3324
+#: common.opt:3328
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
 msgstr ""
 
-#: common.opt:3328
+#: common.opt:3332
 #, no-c-format
 msgid "Record gcc command line switches in DWARF DW_AT_producer."
 msgstr ""
 
-#: common.opt:3332
+#: common.opt:3336
 #, no-c-format
 msgid "Generate debug information in separate .dwo files."
 msgstr ""
 
-#: common.opt:3336
+#: common.opt:3340
 #, no-c-format
 msgid "Generate debug information in STABS format."
 msgstr ""
 
-#: common.opt:3340
+#: common.opt:3344
 #, no-c-format
 msgid "Generate debug information in extended STABS format."
 msgstr ""
 
-#: common.opt:3344
+#: common.opt:3348
 #, no-c-format
 msgid "Emit progressive recommended breakpoint locations."
 msgstr ""
 
-#: common.opt:3348
+#: common.opt:3352
 #, no-c-format
 msgid "Don't emit DWARF additions beyond selected version."
 msgstr ""
 
-#: common.opt:3352
+#: common.opt:3356
 #, no-c-format
 msgid "Add description attributes to some DWARF DIEs that have no name attribute."
 msgstr ""
 
-#: common.opt:3356
+#: common.opt:3360
 #, no-c-format
 msgid "Toggle debug information generation."
 msgstr ""
 
-#: common.opt:3360
+#: common.opt:3364
 #, no-c-format
 msgid "Augment variable location lists with progressive views."
 msgstr ""
 
-#: common.opt:3367
+#: common.opt:3371
 #, no-c-format
 msgid "Generate debug information in VMS format."
 msgstr ""
 
-#: common.opt:3371
+#: common.opt:3375
 #, no-c-format
 msgid "Generate debug information in XCOFF format."
 msgstr ""
 
-#: common.opt:3375
+#: common.opt:3379
 #, no-c-format
 msgid "Generate debug information in extended XCOFF format."
 msgstr ""
 
-#: common.opt:3393
+#: common.opt:3397
 #, no-c-format
 msgid "Generate compressed debug sections."
 msgstr ""
 
-#: common.opt:3397
+#: common.opt:3401
 #, no-c-format
 msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
 msgstr "-gz=<định dạng>\tTạo phần gỡ lỗi nén theo định dạng <định dạng>."
 
-#: common.opt:3404
+#: common.opt:3408
 #, no-c-format
 msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
 msgstr "-iplugindir=<dir>\tĐặt <dir> cho thư mục phần bổ sung mặc định."
 
-#: common.opt:3408
+#: common.opt:3412
 #, no-c-format
 msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
 msgstr "-imultiarch <dir>\tĐặt <dir> để cho thư mục con bao gồm đa kiến trúc."
 
-#: common.opt:3433
+#: common.opt:3437
 #, no-c-format
 msgid "-o <file>\tPlace output into <file>."
 msgstr "-o <tập tin>\tĐặt kết xuất vào <tập tin>"
 
-#: common.opt:3437
+#: common.opt:3441
 #, no-c-format
 msgid "Enable function profiling."
 msgstr ""
 
-#: common.opt:3447
+#: common.opt:3451
 #, no-c-format
 msgid "Like -pedantic but issue them as errors."
 msgstr ""
 
-#: common.opt:3487
+#: common.opt:3491
 #, no-c-format
 msgid "Do not display functions compiled or elapsed time."
 msgstr ""
 
-#: common.opt:3519
+#: common.opt:3523
 #, no-c-format
 msgid "Enable verbose output."
 msgstr "Bật kết xuất chi tiết."
 
-#: common.opt:3523
+#: common.opt:3527
 #, no-c-format
 msgid "Display the compiler's version."
 msgstr "Hiển thị thông tin về phiên bản của bộ biên dịch."
 
-#: common.opt:3527
+#: common.opt:3531
 #, no-c-format
 msgid "Suppress warnings."
 msgstr "Thu hồi cảnh báo."
 
-#: common.opt:3537
+#: common.opt:3541
 #, no-c-format
 msgid "Create a shared library."
 msgstr "Tạo thư viện dùng chung."
 
-#: common.opt:3589
+#: common.opt:3593
 #, fuzzy, no-c-format
 #| msgid "Don't create a position independent executable."
 msgid "Don't create a dynamically linked position independent executable."
 msgstr "Đừng tạo một bản thực hiện không phụ thuộc vào vị trí."
 
-#: common.opt:3593
+#: common.opt:3597
 #, fuzzy, no-c-format
 #| msgid "Create a position independent executable."
 msgid "Create a dynamically linked position independent executable."
 msgstr "Tạo một bản thực hiện không phụ thuộc vào vị trí."
 
-#: common.opt:3597
+#: common.opt:3601
 #, fuzzy, no-c-format
 #| msgid "Create a position independent executable."
 msgid "Create a static position independent executable."
 msgstr "Tạo một bản thực hiện không phụ thuộc vào vị trí."
 
-#: common.opt:3604
+#: common.opt:3608
 #, no-c-format
 msgid "Use caller save register across calls if possible."
 msgstr ""
@@ -15578,7 +15650,7 @@ msgstr "Chèn vào trực tiếp một cách đệ quy chỉ khi xác xuất cu
 
 #: params.opt:254
 #, no-c-format
-msgid "When propagating IPA-CP effect estimates, multiply frequencies of recursive edges that that bring back an unchanged value by this factor."
+msgid "When propagating IPA-CP effect estimates, multiply frequencies of recursive edges that bring back an unchanged value by this factor."
 msgstr ""
 
 #: params.opt:258
@@ -15954,7 +16026,7 @@ msgstr ""
 
 #: params.opt:554
 #, no-c-format
-msgid "Maximum combinaed size of caller and callee wich is inlined if callee is called once."
+msgid "Maximum combined size of caller and callee which is inlined if callee is called once."
 msgstr ""
 
 #: params.opt:558
@@ -16037,630 +16109,641 @@ msgstr ""
 
 #: params.opt:618
 #, no-c-format
+msgid "Minimum page size for warning purposes."
+msgstr ""
+
+#: params.opt:622
+#, no-c-format
 msgid "Maximum length of partial antic set when performing tree pre optimization."
 msgstr "Chiều dài tối đa của tập hợp antic bộ phận khi thực hiện sự tối ưu hóa sẵn cây."
 
-#: params.opt:622
+#: params.opt:626
 #, no-c-format
 msgid "The maximum number of branches on the path through the peeled sequence."
 msgstr "Số tối đa các nhánh trên đường dẫn xuyên suốt chuỗi vỏ bọc."
 
-#: params.opt:626
+#: params.opt:630
 #, no-c-format
 msgid "The maximum number of peelings of a single loop."
 msgstr "Số tối đa các lần lột một vòng lặp riêng lẻ."
 
-#: params.opt:630
+#: params.opt:634
 #, no-c-format
 msgid "The maximum number of insns of a peeled loop."
 msgstr "Số tối đa các lệnh insns của một vòng lặp được lột."
 
-#: params.opt:634
+#: params.opt:638
 #, no-c-format
 msgid "The maximum length of scheduling's pending operations list."
 msgstr "Chiều dài tối đa của danh sách các thao tác còn treo."
 
-#: params.opt:638 params.opt:682
+#: params.opt:642 params.opt:686
 #, no-c-format
 msgid "The maximum number of blocks in a region to be considered for interblock scheduling."
 msgstr "Số tối đa các khối mỗi vùng cần tính để định thời giữa các khối."
 
-#: params.opt:642 params.opt:686
+#: params.opt:646 params.opt:690
 #, no-c-format
 msgid "The maximum number of insns in a region to be considered for interblock scheduling."
 msgstr "Số tối đa các lệnh mỗi vùng cần tính để định thời giữa các khối."
 
-#: params.opt:646
+#: params.opt:650
 #, no-c-format
 msgid "Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant."
 msgstr ""
 
-#: params.opt:650
+#: params.opt:654
 #, no-c-format
 msgid "The maximum number of loop iterations we predict statically."
 msgstr "Số tối đa các lần lặp lại vòng lặp dự đoán một cách tĩnh."
 
-#: params.opt:654
+#: params.opt:658
 #, no-c-format
 msgid "The maximum number of instructions to search backward when looking for equivalent reload."
 msgstr "Số tối đa các lệnh cần quét ngược khi tìm một sự nạp lại tương đương."
 
-#: params.opt:658
+#: params.opt:662
 #, no-c-format
 msgid "Maximum number of insns in a basic block to consider for RTL if-conversion."
 msgstr "Số tối đa các lệnh trong khối cơ bản cần để coi là cho if-conversion SLP."
 
-#: params.opt:662
+#: params.opt:666
 #, no-c-format
 msgid "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered predictable."
 msgstr ""
 
-#: params.opt:666
+#: params.opt:670
 #, no-c-format
 msgid "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered unpredictable."
 msgstr ""
 
-#: params.opt:670
+#: params.opt:674
 #, no-c-format
 msgid "The maximum number of iterations through CFG to extend regions."
 msgstr "Số tối đa các lần lặp lại qua CFG để kéo dài vùng."
 
-#: params.opt:674
+#: params.opt:678
 #, no-c-format
 msgid "The maximum conflict delay for an insn to be considered for speculative motion."
 msgstr "Khoảng đợi xung đột tối đa trước khi một lệnh được tính để di chuyển một cách lý thuyết có tính chất suy đoán."
 
-#: params.opt:678
+#: params.opt:682
 #, no-c-format
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass."
 msgstr "Số tối đa các câu lệnh sẵn sàng đưa ra cần được tính bởi bộ định thời trong lần đầu tiên chạy thủ tục định thời."
 
-#: params.opt:690
+#: params.opt:694
 #, no-c-format
 msgid "Maximum length of candidate scans for straight-line strength reduction."
 msgstr ""
 
-#: params.opt:694
+#: params.opt:698
 #, no-c-format
 msgid "Maximum number of may-defs visited when devirtualizing speculatively."
 msgstr ""
 
-#: params.opt:698
+#: params.opt:702
 #, no-c-format
 msgid "Maximum recursion depth allowed when querying a property of an SSA name."
 msgstr ""
 
-#: params.opt:702
+#: params.opt:706
 #, fuzzy, no-c-format
 #| msgid "Maximum number of conditional store pairs that can be sunk."
 msgid "Maximum number of constant stores to merge in the store merging pass."
 msgstr "Số tối đa các cặp lưu điều kiện cái mà có thể hạ xuống."
 
-#: params.opt:706
+#: params.opt:710
 #, no-c-format
 msgid "Maximum number of conditional store pairs that can be sunk."
 msgstr "Số tối đa các cặp lưu điều kiện cái mà có thể hạ xuống."
 
-#: params.opt:710 params.opt:714
+#: params.opt:714 params.opt:718
 #, fuzzy, no-c-format
 #| msgid "Maximum number of instructions in the ready list that are considered eligible for renaming."
 msgid "Maximum number of store chains to track at the same time in the store merging pass."
 msgstr "Số tối đa các lệnh trong danh sách sẵn sàng mà được thấy là thích hợp với chức năng thay đổi tên."
 
-#: params.opt:718
+#: params.opt:722
 #, no-c-format
 msgid "Maximum amount of similar bbs to compare a bb with."
 msgstr ""
 
-#: params.opt:722
+#: params.opt:726
 #, no-c-format
 msgid "Maximum amount of iterations of the pass over a function."
 msgstr ""
 
-#: params.opt:726
+#: params.opt:730
 #, no-c-format
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths."
 msgstr ""
 
-#: params.opt:730
+#: params.opt:734
 #, no-c-format
 msgid "Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma."
 msgstr ""
 
-#: params.opt:734
+#: params.opt:738
 #, no-c-format
 msgid "The maximum number of unrollings of a single loop."
 msgstr "Số tối đa các lần bỏ cuộn một vòng lặp riêng lẻ."
 
-#: params.opt:738
+#: params.opt:742
 #, no-c-format
 msgid "The maximum number of instructions to consider to unroll in a loop."
 msgstr "Số tối đa các lệnh cần tính nên bỏ cuộn trong một vòng lặp."
 
-#: params.opt:742
+#: params.opt:746
 #, no-c-format
 msgid "The maximum number of insns of an unswitched loop."
 msgstr "Số tối đa các lệnh của một vòng lặp chưa chuyển đổi nhánh."
 
-#: params.opt:746
+#: params.opt:750
 #, no-c-format
 msgid "The maximum number of unswitchings in a single loop."
 msgstr "Số tối đa các lần hủy chuyển đổi nhánh trong một vòng lặp riêng lẻ."
 
-#: params.opt:750
+#: params.opt:754
 #, no-c-format
 msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling."
 msgstr "Dùng -fvariable-expansion-in-unroller thì số tối đa các lần mở rộng một biến nào đó trong khi bỏ cuộn vòng lặp."
 
-#: params.opt:754
+#: params.opt:758
 #, no-c-format
 msgid "Max. recursion depth for expanding var tracking expressions."
 msgstr ""
 
-#: params.opt:758
+#: params.opt:762
 #, no-c-format
 msgid "Max. size of loc list for which reverse ops should be added."
 msgstr ""
 
-#: params.opt:762
+#: params.opt:766
 #, no-c-format
 msgid "Max. size of var tracking hash tables."
 msgstr "Kích cỡ tối đa của bảng chuỗi duy nhất theo dõi var."
 
-#: params.opt:766
+#: params.opt:770
 #, no-c-format
 msgid "Maximum number of VALUEs handled during a single find_base_term call."
 msgstr ""
 
-#: params.opt:770
+#: params.opt:774
 #, no-c-format
 msgid "Maximum number of assertions to add along the default edge of a switch statement during VRP."
 msgstr ""
 
-#: params.opt:774
+#: params.opt:778
 #, no-c-format
 msgid "The minimum number of matching instructions to consider for crossjumping."
 msgstr "Số tối thiểu các lệnh tương ứng cần tính để nhảy chéo"
 
-#: params.opt:778
+#: params.opt:782
 #, no-c-format
 msgid "Inline recursively only when the probability of call being executed exceeds the parameter."
 msgstr "Chèn vào trực tiếp một cách đệ quy chỉ khi xác xuất cuộc gọi được thực hiện cũng vượt quá tham số."
 
-#: params.opt:782
+#: params.opt:786
 #, no-c-format
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
 msgstr "Tỷ lệ tối thiểu giữa các lệnh và các lần lấy sẵn để bật lấy sẵn cho một vòng lặp không rõ số đếm lần đi qua."
 
-#: params.opt:786
+#: params.opt:790
 #, no-c-format
 msgid "The minimum threshold for probability of semi-invariant condition statement to trigger loop split."
 msgstr ""
 
-#: params.opt:790
+#: params.opt:794
 #, no-c-format
 msgid "The minimum UID to be used for a nondebug insn."
 msgstr "UID tối thiểu cần sử dụng cho một lệnh không gỡ rối."
 
-#: params.opt:794
+#: params.opt:798
 #, no-c-format
 msgid "The minimum size of variables taking part in stack slot sharing when not optimizing."
 msgstr ""
 
-#: params.opt:798
+#: params.opt:802
 #, no-c-format
 msgid "The minimum probability of reaching a source block for interblock speculative scheduling."
 msgstr "Xác xuất tối thiểu có thể tới một khối nguồn để định thời giữa các khối một cách lý thuyết có tính chất suy đoán."
 
-#: params.opt:802
+#: params.opt:806
 #, no-c-format
 msgid "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization."
 msgstr "Dùng -ftree-vectorize thì biên giới vòng lặp tối thiểu của một vòng lặp cần tính để véc-tơ hóa."
 
-#: params.opt:806
+#: params.opt:810
 #, no-c-format
 msgid "--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC 'kernels' constructs handling."
 msgstr ""
 
-#: params.opt:819
+#: params.opt:823
 #, no-c-format
 msgid "--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC privatization diagnostics."
 msgstr ""
 
-#: params.opt:832
+#: params.opt:836
 #, no-c-format
 msgid "Chunk size of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:836
+#: params.opt:840
 #, fuzzy, no-c-format
 #| msgid "The maximum number of instructions to consider to unroll in a loop."
 msgid "Minimum number of iterations per thread of an innermost parallelized loop."
 msgstr "Số tối đa các lệnh cần tính nên bỏ cuộn trong một vòng lặp."
 
-#: params.opt:840
+#: params.opt:844
 #, no-c-format
 msgid "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchedule type of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:862
+#: params.opt:866
 #, no-c-format
 msgid "Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen."
 msgstr ""
 
-#: params.opt:866
+#: params.opt:870
 #, no-c-format
 msgid "Maximal estimated outcome of branch considered predictable."
 msgstr "Kết quả ước lượng tối đa của nhánh được thấy là dự đoán được."
 
-#: params.opt:870
+#: params.opt:874
 #, no-c-format
 msgid "Whether software prefetch hints should be issued for non-constant strides."
 msgstr ""
 
-#: params.opt:874
+#: params.opt:878
 #, no-c-format
 msgid "The number of insns executed before prefetch is completed."
 msgstr "Số các lệnh insn được thực hiện trước khi hoàn tất quá trình lấy sẵn (prefetch)."
 
-#: params.opt:878
+#: params.opt:882
 #, no-c-format
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
 msgstr "Tỷ lệ tối thiểu giữa các lệnh và các thao tác vùng nhớ để bật lấy sẵn trong một vòng lặp."
 
-#: params.opt:882
+#: params.opt:886
 #, no-c-format
 msgid "The minimum constant stride beyond which we should use prefetch hints for."
 msgstr ""
 
-#: params.opt:886
+#: params.opt:890
 #, fuzzy, no-c-format
 #| msgid "use internal function id in profile lookup."
 msgid "Use internal function id in profile lookup."
 msgstr "dùng mã số hàm nội tại trong tìm kiếm hồ sơ."
 
-#: params.opt:890
+#: params.opt:894
 #, no-c-format
 msgid "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the output mode for debugging ranger."
 msgstr ""
 
-#: params.opt:915
+#: params.opt:919
 #, no-c-format
 msgid "Maximum depth of logical expression evaluation ranger will look through when evaluating outgoing edge ranges."
 msgstr ""
 
-#: params.opt:920
+#: params.opt:924
 #, fuzzy, no-c-format
 #| msgid "The maximum number of instructions to consider to find accurate live register information."
 msgid "Maximum number of relations the oracle will register in a basic block."
 msgstr "Số tối đa các lệnh cần tính để tìm thông tin thanh ghi vẫn hiện thời và chính xác."
 
-#: params.opt:924
+#: params.opt:928
 #, fuzzy, no-c-format
 #| msgid "The maximum depth of a loop nest we completely peel."
 msgid "Maximum depth of a loop nest to fully value-number optimistically."
 msgstr "Độ sâu tối đa của một bộ vòng lặp xếp lồng vào nhau được chúng ta lột hoàn toàn."
 
-#: params.opt:928
+#: params.opt:932
 #, no-c-format
 msgid "Maximum number of disambiguations to perform per memory access."
 msgstr ""
 
-#: params.opt:932
+#: params.opt:936
 #, no-c-format
 msgid "Bound on the complexity of the expressions in the scalar evolutions analyzer."
 msgstr "Đóng kết với độ tinh vi của biểu thức được sử dụng trong bộ phân tích sự khai căn vô hướng."
 
-#: params.opt:936
+#: params.opt:940
 #, no-c-format
 msgid "Bound on size of expressions used in the scalar evolutions analyzer."
 msgstr "Đóng kết với kích cỡ biểu thức được sử dụng trong bộ phân tích sự khai căn vô hướng."
 
-#: params.opt:940
+#: params.opt:944
 #, no-c-format
 msgid "Hardware autoprefetcher scheduler model control flag.  Number of lookahead cycles the model looks into, at '0' only enable instruction sorting heuristic.  Disabled by default."
 msgstr ""
 
-#: params.opt:944
+#: params.opt:948
 #, no-c-format
 msgid "Minimal distance between possibly conflicting store and load."
 msgstr "Khoảng cách tối thiểu giữa vị trí lưu và nạp có thể xung đột với nhau."
 
-#: params.opt:948
+#: params.opt:952
 #, no-c-format
 msgid "Which -fsched-pressure algorithm to apply."
 msgstr "Thuật toán nào được áp dụng."
 
-#: params.opt:952
+#: params.opt:956
 #, no-c-format
 msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
 msgstr "Xác xuất tối thiểu (theo phần trăm) có suy đoán đúng, để định thời lệnh thuộc lý thuyết có tính chất suy đoán."
 
-#: params.opt:956
+#: params.opt:960
 #, no-c-format
 msgid "The minimum probability an edge must have for the scheduler to save its state across it."
 msgstr ""
 
-#: params.opt:960
+#: params.opt:964
 #, no-c-format
 msgid "Maximum number of instructions in the ready list that are considered eligible for renaming."
 msgstr "Số tối đa các lệnh trong danh sách sẵn sàng mà được thấy là thích hợp với chức năng thay đổi tên."
 
-#: params.opt:964
+#: params.opt:968
 #, no-c-format
 msgid "The maximum size of the lookahead window of selective scheduling."
 msgstr "Kích cỡ tối đa của cửa sổ nhìn trước của việc định thời lựa chọn."
 
-#: params.opt:968
+#: params.opt:972
 #, no-c-format
 msgid "Maximum number of times that an insn could be scheduled."
 msgstr "Số tối đa các lần có thể định thời một lệnh nào đó."
 
-#: params.opt:972
+#: params.opt:976
 #, no-c-format
 msgid "The number of prefetches that can run at the same time."
 msgstr "Số các quá trình lấy sẵn có thể chạy đồng thời."
 
-#: params.opt:976
+#: params.opt:980
 #, no-c-format
 msgid "Target block's relative execution frequency (as a percentage) required to sink a statement."
 msgstr ""
 
-#: params.opt:980
+#: params.opt:984
 #, no-c-format
 msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA."
 msgstr "Số các chu kỳ được bộ định thời mô-đu-lô swing tính khi kiểm tra sự xung đột bằng DFA."
 
-#: params.opt:984
+#: params.opt:988
 #, no-c-format
 msgid "A threshold on the average loop count considered by the swing modulo scheduler."
 msgstr "Một ngưỡng trên số trung bình đếm vòng lặp được bộ định thời mô-đu-lô swing tính."
 
-#: params.opt:988
+#: params.opt:992
 #, no-c-format
 msgid "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop."
 msgstr "Một hệ số để điều hưởng giới hạn trên được bộ định thời mô-đu-lô swing sử dụng để định thời một vòng lặp."
 
-#: params.opt:992
+#: params.opt:996
 #, no-c-format
 msgid "The minimum value of stage count that swing modulo scheduler will generate."
 msgstr ""
 
-#: params.opt:996
+#: params.opt:1000
 #, no-c-format
 msgid "Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for size."
 msgstr ""
 
-#: params.opt:1000
+#: params.opt:1004
 #, no-c-format
 msgid "Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed."
 msgstr ""
 
-#: params.opt:1004
+#: params.opt:1008
 #, no-c-format
 msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable."
 msgstr ""
 
-#: params.opt:1008
+#: params.opt:1012
 #, fuzzy, no-c-format
 #| msgid "The maximum number of insns combine tries to combine."
 msgid "The maximum number of SSA_NAME assignments to follow in determining a value."
 msgstr "Số tối đa các chỉ lệnh phối hợp cố phối hợp."
 
-#: params.opt:1012
+#: params.opt:1016
 #, no-c-format
 msgid "The lower bound for a buffer to be considered for stack smashing protection."
 msgstr "Biên giới dưới của một vùng đệm được tính để bảo vệ chống ngăn xếp bị đập tan ra."
 
-#: params.opt:1016
+#: params.opt:1020
 #, no-c-format
 msgid "Size of the stack guard expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1020
+#: params.opt:1024
 #, no-c-format
 msgid "Interval in which to probe the stack expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1024
+#: params.opt:1028
 #, no-c-format
 msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so."
 msgstr ""
 
-#: params.opt:1028
+#: params.opt:1032
 #, no-c-format
 msgid "Maximum size of a single store merging region in bytes."
 msgstr ""
 
-#: params.opt:1032
+#: params.opt:1036
 #, no-c-format
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place."
 msgstr "Tỷ lệ tối đa giữa kích cỡ mảng và các nhánh chuyển đổi để chuyển đảo để lấy chỗ trống."
 
-#: params.opt:1036
+#: params.opt:1040
 #, fuzzy, no-c-format
 #| msgid "maximum number of parameters in a SCoP."
 msgid "Maximum number of bases stored in each modref tree."
 msgstr "số tối đa các tham số trong một SCoP."
 
-#: params.opt:1040
+#: params.opt:1044
 #, fuzzy, no-c-format
 #| msgid "maximum number of parameters in a SCoP."
 msgid "Maximum number of references stored in each modref base."
 msgstr "số tối đa các tham số trong một SCoP."
 
-#: params.opt:1044
+#: params.opt:1048
 #, fuzzy, no-c-format
 #| msgid "The maximum number of branches on the path through the peeled sequence."
 msgid "Maximum number of accesses stored in each modref reference."
 msgstr "Số tối đa các nhánh trên đường dẫn xuyên suốt chuỗi vỏ bọc."
 
-#: params.opt:1048
+#: params.opt:1052
 #, fuzzy, no-c-format
 #| msgid "The maximum number of nested indirect inlining performed by early inliner."
 msgid "Maximum number of tests performed by modref query."
 msgstr "Số tối đa các lần chèn vào trực tiếp loại gián tiếp lồng nhau được làm bởi bộ chèn vào trực tiếp sớm."
 
-#: params.opt:1052
+#: params.opt:1056
 #, no-c-format
 msgid "Maximum depth of DFS walk used by modref escape analysis."
 msgstr ""
 
-#: params.opt:1056
+#: params.opt:1060
 #, no-c-format
 msgid "Maximum number of escape points tracked by modref per SSA-name."
 msgstr ""
 
-#: params.opt:1060
+#: params.opt:1064
 #, fuzzy, no-c-format
 #| msgid "Maximum number of times that an insn could be scheduled."
 msgid "Maximum number of times a given range is adjusted during the dataflow."
 msgstr "Số tối đa các lần có thể định thời một lệnh nào đó."
 
-#: params.opt:1064
+#: params.opt:1068
 #, no-c-format
 msgid "--param=threader-debug=[none|all] Enables verbose dumping of the threader solver."
 msgstr ""
 
-#: params.opt:1077
+#: params.opt:1081
 #, no-c-format
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs."
 msgstr ""
 
-#: params.opt:1081
+#: params.opt:1085
 #, no-c-format
 msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available."
 msgstr "Phần trăm hàm, tăng cấp theo tần số thực hiện, mà phải được bao quát bởi việc tạo vết. Được sử dụng khi hồ sơ phản hồi không sẵn có."
 
-#: params.opt:1085
+#: params.opt:1089
 #, no-c-format
 msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available."
 msgstr "Phần trăm hàm, tăng cấp theo tần số thực hiện, mà phải được bao quát bởi việc tạo vết. Được sử dụng khi hồ sơ phản hồi sẵn có."
 
-#: params.opt:1089
+#: params.opt:1093
 #, no-c-format
 msgid "Maximal code growth caused by tail duplication (in percent)."
 msgstr "Độ tăng mã lên tối đa (theo phần trăm) do đuôi bị nhân đôi."
 
-#: params.opt:1093
+#: params.opt:1097
 #, no-c-format
 msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available."
 msgstr "Dừng tăng lên tiếp nếu xác xuất có cạnh tốt nhất vẫn nhỏ hơn ngưỡng này (theo phần trăm). Được sử dụng khi không có sẵn sàng thông tin phản hồi từ hồ sơ"
 
-#: params.opt:1097
+#: params.opt:1101
 #, no-c-format
 msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available."
 msgstr "Dừng tăng lên tiếp nếu xác xuất có cạnh tốt nhất vẫn nhỏ hơn ngưỡng này (theo phần trăm). Được sử dụng khi có sẵn sàng thông tin phản hồi từ hồ sơ"
 
-#: params.opt:1101
+#: params.opt:1105
 #, no-c-format
 msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)."
 msgstr "Dừng tăng lên ngược nếu xác xuất ngược có cạnh tốt nhất vẫn nhỏ hơn ngưỡng này (theo phần trăm)."
 
-#: params.opt:1105
+#: params.opt:1109
 #, no-c-format
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.opt:1109
+#: params.opt:1113
 #, no-c-format
 msgid "Emit special instrumentation for accesses to volatiles."
 msgstr ""
 
-#: params.opt:1113
+#: params.opt:1117
 #, no-c-format
 msgid "Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
 msgstr ""
 
-#: params.opt:1117
+#: params.opt:1121
 #, no-c-format
 msgid "Maximum number of nested calls to search for control dependencies during uninitialized variable analysis."
 msgstr ""
 
-#: params.opt:1121
+#: params.opt:1125
 #, fuzzy, no-c-format
 #| msgid "Use subroutines for function prologues and epilogues."
 msgid "Instruction accounted for function prologue, epilogue and other overhead."
 msgstr "Sử dụng chương trình con cho đoạn mở/đóng hàm."
 
-#: params.opt:1125
+#: params.opt:1129
 #, fuzzy, no-c-format
 #| msgid "Use subroutines for function prologues and epilogues."
 msgid "Time accounted for function prologue, epilogue and other overhead."
 msgstr "Sử dụng chương trình con cho đoạn mở/đóng hàm."
 
-#: params.opt:1129
+#: params.opt:1133
 #, no-c-format
 msgid "Instruction accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1133
+#: params.opt:1137
 #, no-c-format
 msgid "Time accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1137
+#: params.opt:1141
 #, no-c-format
 msgid "The denominator n of fraction 1/n of the number of profiled runs of the entire program below which the execution count of a basic block must be in order for the basic block to be considered unlikely."
 msgstr ""
 
-#: params.opt:1141
+#: params.opt:1145
 #, no-c-format
 msgid "Maximum unroll factor for the unroll-and-jam transformation."
 msgstr ""
 
-#: params.opt:1145
+#: params.opt:1149
 #, no-c-format
 msgid "Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable."
 msgstr ""
 
-#: params.opt:1149
+#: params.opt:1153
 #, no-c-format
 msgid "Use direct poisoning/unpoisoning instructions for variables smaller or equal to this number."
 msgstr ""
 
-#: params.opt:1153
+#: params.opt:1157
 #, no-c-format
 msgid "Whether to use canonical types."
 msgstr "Có nên sử dụng loại hợp nguyên tắc hay không."
 
-#: params.opt:1157
+#: params.opt:1161
 #, no-c-format
 msgid "Enable loop epilogue vectorization using smaller vector size."
 msgstr ""
 
-#: params.opt:1161
+#: params.opt:1165
 #, fuzzy, no-c-format
 #| msgid "Maximum number of namespaces to search for alternatives when name lookup fails."
 msgid "Maximum number of loop peels to enhance alignment of data references in a loop."
 msgstr "Số tối đa các không gian tên để tìm kiếm cái thay thế khi việc tìm gặp lỗi."
 
-#: params.opt:1165
+#: params.opt:1169
 #, no-c-format
 msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check."
 msgstr "Đóng kết với số các sự kiểm tra lúc chạy được chèn bởi việc kiểm tra phiên bản vòng lặp cho bí danh của bộ véc-tơ hóa."
 
-#: params.opt:1169
+#: params.opt:1173
 #, no-c-format
 msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check."
 msgstr "Đóng kết với số các sự kiểm tra lúc chạy được chèn bởi việc kiểm tra phiên bản vòng lặp để xếp hàng của bộ véc-tơ hóa."
 
-#: params.opt:1173
+#: params.opt:1177
 #, no-c-format
 msgid "Controls how loop vectorizer uses partial vectors.  0 means never, 1 means only for loops whose need to iterate can be removed, 2 means for all loops.  The default value is 2."
 msgstr ""
 
-#: params.opt:1177
+#: params.opt:1181
 #, no-c-format
 msgid "The maximum factor which the loop vectorizer applies to the cost of statements in an inner loop relative to the loop being vectorized."
 msgstr ""
 
-#: params.opt:1181
+#: params.opt:1185
+#, fuzzy, no-c-format
+#| msgid "Use decimal floating point instructions."
+msgid "Enable loop vectorization of floating point inductions."
+msgstr "Sử dụng câu lệnh dấu chấm động thập phân bằng phần cứng."
+
+#: params.opt:1189
 #, no-c-format
 msgid "--param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in."
 msgstr ""
 
-#: params.opt:1185
+#: params.opt:1193
 #, no-c-format
 msgid "--param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in."
 msgstr ""
@@ -16742,7 +16825,7 @@ msgstr "%s: xử lý các cảnh báo như là các lỗi"
 msgid "%s: some warnings being treated as errors"
 msgstr "%s: xử lý một số các cảnh báo như là các lỗi"
 
-#: diagnostic.cc:464 input.cc:278 input.cc:2036 c-family/c-opts.cc:1478
+#: diagnostic.cc:464 input.cc:278 input.cc:2036 c-family/c-opts.cc:1480
 #: fortran/cpp.cc:608 fortran/error.cc:1150 fortran/error.cc:1170
 msgid "<built-in>"
 msgstr "<có-sẵn>"
@@ -16889,12 +16972,12 @@ msgstr "toán hạng “%%l” không phải là một nhãn"
 #. PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. TARGET_PRINT_OPERAND must handle them.
-#: final.cc:3774 config/arc/arc.cc:6402 config/i386/i386.cc:12259
+#: final.cc:3774 config/arc/arc.cc:6409 config/i386/i386.cc:12275
 #, c-format
 msgid "floating constant misused"
 msgstr "sai sử dụng hằng số dấu chấm động"
 
-#: final.cc:3832 config/arc/arc.cc:6499 config/i386/i386.cc:12350
+#: final.cc:3832 config/arc/arc.cc:6506 config/i386/i386.cc:12366
 #: config/pdp11/pdp11.cc:1872
 #, c-format
 msgid "invalid expression as operand"
@@ -17956,7 +18039,7 @@ msgstr "    trực tiếp từ %qs tại %r%s:%d%R"
 msgid "    inlined from %qs"
 msgstr "    trực tiếp từ %qs"
 
-#: lra-assigns.cc:1837 reload1.cc:2073
+#: lra-assigns.cc:1871 reload1.cc:2073
 msgid "this is the insn:"
 msgstr "đây là lệnh:"
 
@@ -17966,7 +18049,7 @@ msgstr "đây là lệnh:"
 msgid "unable to generate reloads for impossible constraints:"
 msgstr "không thể tạo ra việc nạp lại cho:"
 
-#: lra-constraints.cc:4168 reload.cc:3841
+#: lra-constraints.cc:4168 reload.cc:3844
 msgid "unable to generate reloads for:"
 msgstr "không thể tạo ra việc nạp lại cho:"
 
@@ -17979,65 +18062,65 @@ msgstr "Tùy chọn này còn thiếu tài liệu hướng dẫn."
 msgid "Uses of this option are diagnosed."
 msgstr "Dùng tùy-chọn này để chuẩn đoán."
 
-#: opts.cc:1577
+#: opts.cc:1584
 #, c-format
 msgid "Same as %s%s (or, in negated form, %s%s)."
 msgstr ""
 
-#: opts.cc:1582
+#: opts.cc:1589
 #, fuzzy, c-format
 #| msgid "%s  Same as %s."
 msgid "Same as %s%s."
 msgstr "%s Giống như %s."
 
-#: opts.cc:1587
+#: opts.cc:1594
 #, fuzzy, c-format
 #| msgid "%s  Same as %s."
 msgid "Same as %s."
 msgstr "%s Giống như %s."
 
-#: opts.cc:1595
+#: opts.cc:1602
 #, c-format
 msgid "%s  Same as %s."
 msgstr "%s Giống như %s."
 
-#: opts.cc:1658
+#: opts.cc:1665
 msgid "[available in "
 msgstr ""
 
-#: opts.cc:1690
+#: opts.cc:1697
 msgid "[default]"
 msgstr "[mặc định]"
 
-#: opts.cc:1699
+#: opts.cc:1706
 #, c-format
 msgid "%llu bytes"
 msgstr ""
 
-#: opts.cc:1736
+#: opts.cc:1743
 msgid "[enabled]"
 msgstr "[đã bật]"
 
-#: opts.cc:1738
+#: opts.cc:1745
 msgid "[disabled]"
 msgstr "[bị tắt]"
 
-#: opts.cc:1774
+#: opts.cc:1781
 #, c-format
 msgid " No options with the desired characteristics were found\n"
 msgstr " Không tìm thấy tùy chọn có những đặc điểm đã muốn\n"
 
-#: opts.cc:1783
+#: opts.cc:1790
 #, c-format
 msgid " None found.  Use --help=%s to show *all* the options supported by the %s front-end.\n"
 msgstr " Không tìm thấy. Hãy sử dụng --help=%s để hiển thị *tất cả* các tùy chọn được giao diện %s hỗ trợ.\n"
 
-#: opts.cc:1789
+#: opts.cc:1796
 #, c-format
 msgid " All options with the desired characteristics have already been displayed\n"
 msgstr " Đã hiển thị tất cả các tùy chọn có những đặc điểm đã muốn\n"
 
-#: opts.cc:1834
+#: opts.cc:1841
 #, fuzzy, c-format
 #| msgid "Valid arguments for the -msdata= option."
 msgid ""
@@ -18045,59 +18128,59 @@ msgid ""
 "   "
 msgstr "Đối số hợp lệ cho tùy chọn -msdata=."
 
-#: opts.cc:1884
+#: opts.cc:1891
 msgid "The following options are target specific"
 msgstr "Theo đây có những tùy chọn đặc trưng cho đích"
 
-#: opts.cc:1887
+#: opts.cc:1894
 msgid "The following options control compiler warning messages"
 msgstr "Theo đây có những tùy chọn điều khiển các thông điệp cảnh báo của bộ biên dịch"
 
-#: opts.cc:1890
+#: opts.cc:1897
 msgid "The following options control optimizations"
 msgstr "Theo đây có những tùy chọn điều khiển việc tối ưu hóa"
 
-#: opts.cc:1893 opts.cc:1933
+#: opts.cc:1900 opts.cc:1940
 msgid "The following options are language-independent"
 msgstr "Theo đây có những tùy chọn không phụ thuộc vào ngôn ngữ"
 
-#: opts.cc:1896
+#: opts.cc:1903
 #, fuzzy
 #| msgid "The following options control optimizations"
 msgid "The following options control parameters"
 msgstr "Theo đây có những tùy chọn điều khiển việc tối ưu hóa"
 
-#: opts.cc:1902
+#: opts.cc:1909
 msgid "The following options are specific to just the language "
 msgstr "Theo đây có những tùy chọn đặc trưng cho chỉ ngôn ngữ "
 
-#: opts.cc:1904
+#: opts.cc:1911
 msgid "The following options are supported by the language "
 msgstr "Theo đây có những tùy chọn được hỗ trợ bởi ngôn ngữ "
 
-#: opts.cc:1915
+#: opts.cc:1922
 msgid "The following options are not documented"
 msgstr "Theo đây có những tùy chọn không có tài liệu diễn tả"
 
-#: opts.cc:1917
+#: opts.cc:1924
 msgid "The following options take separate arguments"
 msgstr "Theo đây có những tùy chọn chấp nhận các đối số riêng"
 
-#: opts.cc:1919
+#: opts.cc:1926
 msgid "The following options take joined arguments"
 msgstr "Theo đây có những tùy chọn chấp nhận các đối số nối lại"
 
-#: opts.cc:1931
+#: opts.cc:1938
 msgid "The following options are language-related"
 msgstr "Theo đây có những tùy chọn liên quan đến ngôn ngữ"
 
-#: passes.cc:1832
+#: passes.cc:1833
 #, fuzzy, c-format
 #| msgid "deducing %qT as %qT"
 msgid "during %s pass: %s\n"
 msgstr "suy diễn %qT như là %qT"
 
-#: passes.cc:1837
+#: passes.cc:1838
 #, fuzzy, c-format
 #| msgid "open %s failed: %s"
 msgid "dump file: %s\n"
@@ -18196,7 +18279,7 @@ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d
 msgstr "%s%sGGC tìm ra: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 
 #: tree-diagnostic-path.cc:257 tree-diagnostic.cc:290 c/c-decl.cc:6073
-#: c/c-typeck.cc:7894 cp/error.cc:1165 c-family/c-pretty-print.cc:424
+#: c/c-typeck.cc:7894 cp/error.cc:1165 c-family/c-pretty-print.cc:425
 #, gcc-internal-format
 msgid "<anonymous>"
 msgstr "<nặc-danh>"
@@ -18474,97 +18557,97 @@ msgid "length modifier in strfmon format"
 msgstr "đồ sửa đổi chiều dài theo định dạng strfmon"
 
 #. Handle deferred options from command-line.
-#: c-family/c-opts.cc:1502 fortran/cpp.cc:621
+#: c-family/c-opts.cc:1504 fortran/cpp.cc:621
 msgid "<command-line>"
 msgstr "<dòng lệnh>"
 
-#: config/aarch64/aarch64.cc:10978
+#: config/aarch64/aarch64.cc:11676
 #, fuzzy, c-format
 #| msgid "Unsupported operand for code '%c'"
 msgid "unsupported operand for code '%c'"
 msgstr "Không hỗ trợ toán hạng cho mã “%c”"
 
-#: config/aarch64/aarch64.cc:10987 config/aarch64/aarch64.cc:11000
-#: config/aarch64/aarch64.cc:11012 config/aarch64/aarch64.cc:11023
-#: config/aarch64/aarch64.cc:11039 config/aarch64/aarch64.cc:11053
-#: config/aarch64/aarch64.cc:11073 config/aarch64/aarch64.cc:11150
-#: config/aarch64/aarch64.cc:11161 config/aarch64/aarch64.cc:11175
-#: config/aarch64/aarch64.cc:11397 config/aarch64/aarch64.cc:11417
+#: config/aarch64/aarch64.cc:11685 config/aarch64/aarch64.cc:11698
+#: config/aarch64/aarch64.cc:11710 config/aarch64/aarch64.cc:11721
+#: config/aarch64/aarch64.cc:11737 config/aarch64/aarch64.cc:11751
+#: config/aarch64/aarch64.cc:11771 config/aarch64/aarch64.cc:11848
+#: config/aarch64/aarch64.cc:11859 config/aarch64/aarch64.cc:11873
+#: config/aarch64/aarch64.cc:12095 config/aarch64/aarch64.cc:12115
 #: config/pru/pru.cc:1700 config/pru/pru.cc:1710 config/pru/pru.cc:1741
 #: config/pru/pru.cc:1752 config/pru/pru.cc:1824
 #, c-format
 msgid "invalid operand for '%%%c'"
 msgstr "toán hạng không hợp lệ đối với “%%%c”"
 
-#: config/aarch64/aarch64.cc:11091 config/aarch64/aarch64.cc:11102
-#: config/aarch64/aarch64.cc:11257 config/aarch64/aarch64.cc:11268
+#: config/aarch64/aarch64.cc:11789 config/aarch64/aarch64.cc:11800
+#: config/aarch64/aarch64.cc:11955 config/aarch64/aarch64.cc:11966
 #, fuzzy, c-format
 #| msgid "invalid constant"
 msgid "invalid vector constant"
 msgstr "hằng không hợp lệ"
 
-#: config/aarch64/aarch64.cc:11114 config/aarch64/aarch64.cc:11126
+#: config/aarch64/aarch64.cc:11812 config/aarch64/aarch64.cc:11824
 #, c-format
 msgid "incompatible floating point / vector register operand for '%%%c'"
 msgstr "toán hạn dấu chấm động / thanh ghi véctơ không tương thích cho “%%%c”"
 
-#: config/aarch64/aarch64.cc:11143
+#: config/aarch64/aarch64.cc:11841
 #, fuzzy, c-format
 #| msgid "incompatible floating point / vector register operand for '%%%c'"
 msgid "incompatible register operand for '%%%c'"
 msgstr "toán hạn dấu chấm động / thanh ghi véctơ không tương thích cho “%%%c”"
 
-#: config/aarch64/aarch64.cc:11209 config/arm/arm.cc:24405
+#: config/aarch64/aarch64.cc:11907 config/arm/arm.cc:24475
 #, c-format
 msgid "missing operand"
 msgstr "toán hạng còn thiếu"
 
-#: config/aarch64/aarch64.cc:11294
+#: config/aarch64/aarch64.cc:11992
 #, c-format
 msgid "invalid constant"
 msgstr "hằng không hợp lệ"
 
-#: config/aarch64/aarch64.cc:11297
+#: config/aarch64/aarch64.cc:11995
 #, c-format
 msgid "invalid operand"
 msgstr "toán hạng không hợp lệ"
 
-#: config/aarch64/aarch64.cc:11425 config/aarch64/aarch64.cc:11430
+#: config/aarch64/aarch64.cc:12123 config/aarch64/aarch64.cc:12128
 #, c-format
 msgid "invalid operand prefix '%%%c'"
 msgstr "tiền tố toán hạng không hợp lệ “%%%c”"
 
-#: config/aarch64/aarch64.cc:11450
+#: config/aarch64/aarch64.cc:12148
 #, fuzzy, c-format
 #| msgid "invalid addressing mode"
 msgid "invalid address mode"
 msgstr "sai đặt chế độ đặt địa chỉ"
 
-#: config/aarch64/aarch64.cc:25851 config/arm/arm.cc:33859
+#: config/aarch64/aarch64.cc:26825 config/arm/arm.cc:33897
 #, fuzzy
 #| msgid "invalid conversion from %<__fpreg%>"
 msgid "invalid conversion from type %<bfloat16_t%>"
 msgstr "sai chuyển đổi từ %<__fpreg%>"
 
-#: config/aarch64/aarch64.cc:25853 config/arm/arm.cc:33861
+#: config/aarch64/aarch64.cc:26827 config/arm/arm.cc:33899
 #, fuzzy
 #| msgid "invalid conversion to %<__fpreg%>"
 msgid "invalid conversion to type %<bfloat16_t%>"
 msgstr "sai chuyển đổi sang %<__fpreg%>"
 
-#: config/aarch64/aarch64.cc:25868 config/aarch64/aarch64.cc:25884
-#: config/arm/arm.cc:33876 config/arm/arm.cc:33892
+#: config/aarch64/aarch64.cc:26842 config/aarch64/aarch64.cc:26858
+#: config/arm/arm.cc:33914 config/arm/arm.cc:33930
 msgid "operation not permitted on type %<bfloat16_t%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:25892
+#: config/aarch64/aarch64.cc:26866
 #, fuzzy
 #| msgid "invalid operands in binary operation"
 msgid "cannot combine GNU and SVE vectors in a binary operation"
 msgstr "toán hạng không hợp lệ trong phép toán nhị phân"
 
-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13519
-#: config/rs6000/rs6000.cc:14232 config/sparc/sparc.cc:9357
+#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13535
+#: config/rs6000/rs6000.cc:14278 config/sparc/sparc.cc:9357
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "“%%&” bị sử dụng mà không có tham chiếu TLS năng động cục bộ"
@@ -18581,18 +18664,18 @@ msgid "invalid %%r value"
 msgstr "giá trị %%r sai"
 
 #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5531
-#: config/rs6000/rs6000.cc:13926 config/xtensa/xtensa.cc:2460
+#: config/rs6000/rs6000.cc:13972 config/xtensa/xtensa.cc:2460
 #, c-format
 msgid "invalid %%R value"
 msgstr "giá trị %%R sai"
 
-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13846
+#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13892
 #: config/xtensa/xtensa.cc:2427
 #, c-format
 msgid "invalid %%N value"
 msgstr "giá trị %%N sai"
 
-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13874
+#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13920
 #, c-format
 msgid "invalid %%P value"
 msgstr "giá trị %%P sai"
@@ -18622,7 +18705,7 @@ msgstr "giá trị %%M sai"
 msgid "invalid %%U value"
 msgstr "giá trị %%U sai"
 
-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:13934
+#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:13980
 #, c-format
 msgid "invalid %%s value"
 msgstr "giá trị %%s sai"
@@ -18632,7 +18715,7 @@ msgstr "giá trị %%s sai"
 msgid "invalid %%C value"
 msgstr "giá trị %%C sai"
 
-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13710
+#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13756
 #, c-format
 msgid "invalid %%E value"
 msgstr "giá trị %%E sai"
@@ -18645,7 +18728,7 @@ msgstr "không rõ bỏ ghi rõ bố trí lại"
 #: config/alpha/alpha.cc:5356 config/cr16/cr16.cc:1572 config/gcn/gcn.cc:6050
 #: config/gcn/gcn.cc:6059 config/gcn/gcn.cc:6119 config/gcn/gcn.cc:6127
 #: config/gcn/gcn.cc:6143 config/gcn/gcn.cc:6161 config/gcn/gcn.cc:6212
-#: config/gcn/gcn.cc:6331 config/gcn/gcn.cc:6442 config/rs6000/rs6000.cc:14237
+#: config/gcn/gcn.cc:6331 config/gcn/gcn.cc:6442 config/rs6000/rs6000.cc:14283
 #, c-format
 msgid "invalid %%xn code"
 msgstr "mã %%xn sai"
@@ -18655,109 +18738,109 @@ msgstr "mã %%xn sai"
 msgid "invalid operand address"
 msgstr "địa chỉ toán hạng không hợp lệ"
 
-#: config/arc/arc.cc:4517
+#: config/arc/arc.cc:4524
 #, c-format
 msgid "invalid operand to %%Z code"
 msgstr "toán hạng không hợp lệ cho mã %%Z"
 
-#: config/arc/arc.cc:4525
+#: config/arc/arc.cc:4532
 #, c-format
 msgid "invalid operand to %%z code"
 msgstr "toán hạng không hợp lệ cho mã %%z"
 
-#: config/arc/arc.cc:4533
+#: config/arc/arc.cc:4540
 #, fuzzy, c-format
 #| msgid "invalid operand to %%Z code"
 msgid "invalid operands to %%c code"
 msgstr "toán hạng không hợp lệ cho mã %%Z"
 
-#: config/arc/arc.cc:4541
+#: config/arc/arc.cc:4548
 #, c-format
 msgid "invalid operand to %%M code"
 msgstr "toán hạng không hợp lệ cho mã %%M"
 
-#: config/arc/arc.cc:4549 config/m32r/m32r.cc:2086
+#: config/arc/arc.cc:4556 config/m32r/m32r.cc:2086
 #, c-format
 msgid "invalid operand to %%p code"
 msgstr "sai đặt toán hạng tới mã %%p"
 
-#: config/arc/arc.cc:4560 config/m32r/m32r.cc:2079
+#: config/arc/arc.cc:4567 config/m32r/m32r.cc:2079
 #, c-format
 msgid "invalid operand to %%s code"
 msgstr "sai đặt toán hạng tới mã %%s"
 
-#: config/arc/arc.cc:4708 config/m32r/m32r.cc:2112
+#: config/arc/arc.cc:4715 config/m32r/m32r.cc:2112
 #, c-format
 msgid "invalid operand to %%R code"
 msgstr "sai đặt toán hạng tới mã %%R"
 
-#: config/arc/arc.cc:4784 config/m32r/m32r.cc:2135
+#: config/arc/arc.cc:4791 config/m32r/m32r.cc:2135
 #, c-format
 msgid "invalid operand to %%H/%%L code"
 msgstr "sai đặt toán hạng tới mã %%H/%%L"
 
-#: config/arc/arc.cc:4852 config/m32r/m32r.cc:2206
+#: config/arc/arc.cc:4859 config/m32r/m32r.cc:2206
 #, c-format
 msgid "invalid operand to %%U code"
 msgstr "sai đặt toán hạng tới mã %%U"
 
-#: config/arc/arc.cc:4864
+#: config/arc/arc.cc:4871
 #, c-format
 msgid "invalid operand to %%V code"
 msgstr "toán hạng không hợp lệ cho mã %%V"
 
-#: config/arc/arc.cc:4921
+#: config/arc/arc.cc:4928
 #, c-format
 msgid "invalid operand to %%O code"
 msgstr "toán hạng không hợp lệ cho mã %%O"
 
 #. Unknown flag.
 #. Undocumented flag.
-#: config/arc/arc.cc:4947 config/epiphany/epiphany.cc:1309
+#: config/arc/arc.cc:4954 config/epiphany/epiphany.cc:1309
 #: config/m32r/m32r.cc:2233 config/nds32/nds32.cc:3517
 #: config/sparc/sparc.cc:9636
 #, c-format
 msgid "invalid operand output code"
 msgstr "sai đặt mã kết xuất toán hạng"
 
-#: config/arc/arc.cc:6487
+#: config/arc/arc.cc:6494
 #, c-format
 msgid "invalid UNSPEC as operand: %d"
 msgstr "UNSPEC không hợp lệ như là toán hạng: %d"
 
-#: config/arc/arc.cc:6703
+#: config/arc/arc.cc:6710
 msgid "unrecognized supposed constant"
 msgstr "không nhận ra điều nên là hằng số"
 
-#: config/arm/arm.cc:20769 config/arm/arm.cc:20794 config/arm/arm.cc:20804
-#: config/arm/arm.cc:20813 config/arm/arm.cc:20822
+#: config/arm/arm.cc:20839 config/arm/arm.cc:20864 config/arm/arm.cc:20874
+#: config/arm/arm.cc:20883 config/arm/arm.cc:20892
 #, c-format
 msgid "invalid shift operand"
 msgstr "sai đặt toán hạng dời"
 
-#: config/arm/arm.cc:23678 config/arm/arm.cc:23696
+#: config/arm/arm.cc:23748 config/arm/arm.cc:23766
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "lệnh Thumb căn cứ vào"
 
-#: config/arm/arm.cc:23684
+#: config/arm/arm.cc:23754
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "gặp lệnh căn cứ vào trong dãy có điều kiện"
 
-#: config/arm/arm.cc:23802 config/arm/arm.cc:23815 config/arm/arm.cc:23840
+#: config/arm/arm.cc:23872 config/arm/arm.cc:23885 config/arm/arm.cc:23910
 #: config/nios2/nios2.cc:3081
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "Không hỗ trợ toán hạng cho mã “%c”"
 
-#: config/arm/arm.cc:23917 config/arm/arm.cc:23939 config/arm/arm.cc:23949
-#: config/arm/arm.cc:23959 config/arm/arm.cc:23969 config/arm/arm.cc:24008
-#: config/arm/arm.cc:24026 config/arm/arm.cc:24051 config/arm/arm.cc:24066
-#: config/arm/arm.cc:24093 config/arm/arm.cc:24100 config/arm/arm.cc:24118
-#: config/arm/arm.cc:24125 config/arm/arm.cc:24133 config/arm/arm.cc:24154
-#: config/arm/arm.cc:24161 config/arm/arm.cc:24352 config/arm/arm.cc:24359
-#: config/arm/arm.cc:24386 config/arm/arm.cc:24393 config/bfin/bfin.cc:1441
+#: config/arm/arm.cc:23987 config/arm/arm.cc:24009 config/arm/arm.cc:24019
+#: config/arm/arm.cc:24029 config/arm/arm.cc:24039 config/arm/arm.cc:24078
+#: config/arm/arm.cc:24096 config/arm/arm.cc:24121 config/arm/arm.cc:24136
+#: config/arm/arm.cc:24163 config/arm/arm.cc:24170 config/arm/arm.cc:24188
+#: config/arm/arm.cc:24195 config/arm/arm.cc:24203 config/arm/arm.cc:24224
+#: config/arm/arm.cc:24231 config/arm/arm.cc:24422 config/arm/arm.cc:24429
+#: config/arm/arm.cc:24456 config/arm/arm.cc:24463 config/bfin/bfin.cc:1441
 #: config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 config/bfin/bfin.cc:1462
 #: config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 config/bfin/bfin.cc:1485
 #: config/bfin/bfin.cc:1492 config/nds32/nds32.cc:3543
@@ -18765,13 +18848,13 @@ msgstr "Không hỗ trợ toán hạng cho mã “%c”"
 msgid "invalid operand for code '%c'"
 msgstr "sai đặt toán hạng cho mã “%c”"
 
-#: config/arm/arm.cc:24021
+#: config/arm/arm.cc:24091
 #, c-format
 msgid "instruction never executed"
 msgstr "lệnh chưa bao giờ thực hiện"
 
 #. Former Maverick support, removed after GCC-4.7.
-#: config/arm/arm.cc:24042
+#: config/arm/arm.cc:24112
 #, c-format
 msgid "obsolete Maverick format code '%c'"
 msgstr "định dạng mã Maverick đã cũ “%c”"
@@ -18907,7 +18990,7 @@ msgstr "gặp toán hạng bất thường"
 #: config/cris/cris.cc:775 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
 #: final.cc:3233 final.cc:3235 fold-const.cc:277 gcc.cc:6153 gcc.cc:6167
 #: rtl-error.cc:101 toplev.cc:322 vr-values.cc:2383 cp/logic.cc:312
-#: cp/logic.cc:314 cp/typeck.cc:7292 d/d-convert.cc:237
+#: cp/logic.cc:314 cp/typeck.cc:7306 d/d-convert.cc:237
 #: go/go-gcc-diagnostics.cc:28 go/go-gcc-diagnostics.cc:37
 #: go/go-gcc-diagnostics.cc:45 go/go-gcc-diagnostics.cc:53
 #: lto/lto-object.cc:180 lto/lto-object.cc:277 lto/lto-object.cc:334
@@ -19150,103 +19233,103 @@ msgstr "hằng không hợp lệ"
 msgid "Expected register or constant integer."
 msgstr "cần giao diện hay con trỏ đến giao diện"
 
-#: config/i386/i386.cc:12344
+#: config/i386/i386.cc:12360
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "đặt sai UNSPEC như là toán hạng"
 
-#: config/i386/i386.cc:12883
+#: config/i386/i386.cc:12899
 #, fuzzy, c-format
 #| msgid "invalid use of %<restrict%>"
 msgid "invalid use of register '%s'"
 msgstr "dùng %<restrict%> không hợp lệ"
 
-#: config/i386/i386.cc:12888
+#: config/i386/i386.cc:12904
 #, c-format
 msgid "invalid use of asm flag output"
 msgstr "sử dụng kết xuất cờ asm sai"
 
-#: config/i386/i386.cc:13121
+#: config/i386/i386.cc:13137
 #, c-format
 msgid "invalid operand size for operand code 'O'"
 msgstr "sai kích cỡ toán hạng cho mã toán hạng “O”"
 
-#: config/i386/i386.cc:13156
+#: config/i386/i386.cc:13172
 #, c-format
 msgid "invalid operand size for operand code 'z'"
 msgstr "sai kích cỡ toán hạng cho mã toán hạng “z”"
 
-#: config/i386/i386.cc:13225
+#: config/i386/i386.cc:13241
 #, c-format
 msgid "invalid operand type used with operand code 'Z'"
 msgstr "sử dụng loại toán hạng không hợp lệ với mã toán hạng “Z”"
 
-#: config/i386/i386.cc:13230
+#: config/i386/i386.cc:13246
 #, c-format
 msgid "invalid operand size for operand code 'Z'"
 msgstr "sai kích cỡ toán hạng cho mã toán hạng “Z”"
 
-#: config/i386/i386.cc:13307
+#: config/i386/i386.cc:13323
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “Y”"
 
-#: config/i386/i386.cc:13386
+#: config/i386/i386.cc:13402
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “D”"
 
-#: config/i386/i386.cc:13404
+#: config/i386/i386.cc:13420
 #, c-format
 msgid "operand is not a condition code, invalid operand code '%c'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng không hợp lệ “%c”"
 
-#: config/i386/i386.cc:13417
+#: config/i386/i386.cc:13433
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.cc:13432
+#: config/i386/i386.cc:13448
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'Y'"
 msgid "operand is not an integer, invalid operand code 'K'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “Y”"
 
-#: config/i386/i386.cc:13460
+#: config/i386/i386.cc:13476
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'Y'"
 msgid "operand is not a specific integer, invalid operand code 'r'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “Y”"
 
-#: config/i386/i386.cc:13478
+#: config/i386/i386.cc:13494
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'Y'"
 msgid "operand is not an integer, invalid operand code 'R'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “Y”"
 
-#: config/i386/i386.cc:13501
+#: config/i386/i386.cc:13517
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'Y'"
 msgid "operand is not a specific integer, invalid operand code 'R'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai “Y”"
 
-#: config/i386/i386.cc:13605
+#: config/i386/i386.cc:13621
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "mã toán hạng sai “%c”"
 
-#: config/i386/i386.cc:13667 config/i386/i386.cc:14056
+#: config/i386/i386.cc:13683 config/i386/i386.cc:14072
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "sai đặt ràng buộc cho toán hạng"
 
-#: config/i386/i386.cc:13768
+#: config/i386/i386.cc:13784
 #, fuzzy, c-format
 #| msgid "invalid zero extract"
 msgid "invalid vector immediate"
 msgstr "trích số không không hợp lệ"
 
-#: config/i386/i386.cc:16847
+#: config/i386/i386.cc:16791
 msgid "unknown insn mode"
 msgstr "không rõ chế độ lệnh"
 
@@ -19278,7 +19361,7 @@ msgstr "thao tác sai %<__fpreg%>"
 msgid "invalid %%P operand"
 msgstr "gặp toán hạng %%P sai"
 
-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13864
+#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13910
 #, c-format
 msgid "invalid %%p value"
 msgstr "gặp giá trị %%p sai"
@@ -19305,6 +19388,30 @@ msgstr "không cho phép sử dụng địa chỉ tuyệt đối tương đối
 msgid "invalid addressing mode"
 msgstr "sai đặt chế độ đặt địa chỉ"
 
+#: config/loongarch/loongarch.cc:4237 config/loongarch/loongarch.cc:4259
+#: config/loongarch/loongarch.cc:4451 config/mips/mips.cc:9016
+#: config/mips/mips.cc:9043 config/mips/mips.cc:9226
+#, c-format
+msgid "'%%%c' is not a valid operand prefix"
+msgstr "“%%%c” không phải là một tiền tố toán hạng đúng"
+
+#: config/loongarch/loongarch.cc:4368 config/loongarch/loongarch.cc:4375
+#: config/loongarch/loongarch.cc:4382 config/loongarch/loongarch.cc:4389
+#: config/loongarch/loongarch.cc:4399 config/loongarch/loongarch.cc:4402
+#: config/loongarch/loongarch.cc:4414 config/loongarch/loongarch.cc:4417
+#: config/loongarch/loongarch.cc:4482 config/loongarch/loongarch.cc:4497
+#: config/loongarch/loongarch.cc:4506 config/mips/mips.cc:9115
+#: config/mips/mips.cc:9122 config/mips/mips.cc:9129 config/mips/mips.cc:9136
+#: config/mips/mips.cc:9149 config/mips/mips.cc:9156 config/mips/mips.cc:9166
+#: config/mips/mips.cc:9169 config/mips/mips.cc:9181 config/mips/mips.cc:9184
+#: config/mips/mips.cc:9244 config/mips/mips.cc:9251 config/mips/mips.cc:9272
+#: config/mips/mips.cc:9287 config/mips/mips.cc:9306 config/mips/mips.cc:9315
+#: config/riscv/riscv.cc:3557 config/riscv/riscv.cc:3686
+#: config/riscv/riscv.cc:3692 config/riscv/riscv.cc:3701
+#, c-format
+msgid "invalid use of '%%%c'"
+msgstr "sai sử dụng “%%%c”"
+
 #: config/m32r/m32r.cc:2144
 msgid "bad insn for 'A'"
 msgstr "sai đặt lệnh cho “A”"
@@ -19332,7 +19439,7 @@ msgid "post-increment address is not a register"
 msgstr "địa chỉ hậu gia không phải là một thanh ghi"
 
 #: config/m32r/m32r.cc:2336 config/m32r/m32r.cc:2351
-#: config/rs6000/rs6000.cc:20490
+#: config/rs6000/rs6000.cc:20541
 msgid "bad address"
 msgstr "địa chỉ sai"
 
@@ -19374,23 +19481,6 @@ msgstr "địa chỉ sai"
 msgid "letter %c was found & insn was not CONST_INT"
 msgstr "chữ %c được tìm thấy & insn không phải là CONST_INT"
 
-#: config/mips/mips.cc:8936 config/mips/mips.cc:8963 config/mips/mips.cc:9146
-#, c-format
-msgid "'%%%c' is not a valid operand prefix"
-msgstr "“%%%c” không phải là một tiền tố toán hạng đúng"
-
-#: config/mips/mips.cc:9035 config/mips/mips.cc:9042 config/mips/mips.cc:9049
-#: config/mips/mips.cc:9056 config/mips/mips.cc:9069 config/mips/mips.cc:9076
-#: config/mips/mips.cc:9086 config/mips/mips.cc:9089 config/mips/mips.cc:9101
-#: config/mips/mips.cc:9104 config/mips/mips.cc:9164 config/mips/mips.cc:9171
-#: config/mips/mips.cc:9192 config/mips/mips.cc:9207 config/mips/mips.cc:9226
-#: config/mips/mips.cc:9235 config/riscv/riscv.cc:3557
-#: config/riscv/riscv.cc:3686 config/riscv/riscv.cc:3692
-#: config/riscv/riscv.cc:3701
-#, c-format
-msgid "invalid use of '%%%c'"
-msgstr "sai sử dụng “%%%c”"
-
 #: config/mmix/mmix.cc:1635 config/mmix/mmix.cc:1756
 msgid "MMIX Internal: Expected a CONST_INT, not this"
 msgstr "MMIX nội bộ: mong đợi một CONST_INT, không phải như thế"
@@ -19574,183 +19664,183 @@ msgstr "-mquad-memory-atomic cần chế độ 64-bit"
 msgid "%<-mquad-memory%> is not available in little endian mode"
 msgstr "-mquad-memory không sẵn sàng trên chế độ little endian"
 
-#: config/rs6000/rs6000.cc:10923
+#: config/rs6000/rs6000.cc:10963
 msgid "bad move"
 msgstr "sai di chuyển"
 
-#: config/rs6000/rs6000.cc:13494
+#: config/rs6000/rs6000.cc:13540
 msgid "Bad 128-bit move"
 msgstr "Di chuyển 128-bit sai"
 
-#: config/rs6000/rs6000.cc:13674
+#: config/rs6000/rs6000.cc:13720
 #, fuzzy, c-format
 #| msgid "invalid %%J value"
 msgid "invalid %%A value"
 msgstr "giá trị %%J sai"
 
-#: config/rs6000/rs6000.cc:13683 config/xtensa/xtensa.cc:2403
+#: config/rs6000/rs6000.cc:13729 config/xtensa/xtensa.cc:2403
 #, c-format
 msgid "invalid %%D value"
 msgstr "giá trị %%D sai"
 
-#: config/rs6000/rs6000.cc:13698
+#: config/rs6000/rs6000.cc:13744
 #, c-format
 msgid "invalid %%e value"
 msgstr "giá trị %%e sai"
 
-#: config/rs6000/rs6000.cc:13719
+#: config/rs6000/rs6000.cc:13765
 #, c-format
 msgid "invalid %%f value"
 msgstr "giá trị %%f sai"
 
-#: config/rs6000/rs6000.cc:13728
+#: config/rs6000/rs6000.cc:13774
 #, c-format
 msgid "invalid %%F value"
 msgstr "giá trị %%F sai"
 
-#: config/rs6000/rs6000.cc:13737
+#: config/rs6000/rs6000.cc:13783
 #, c-format
 msgid "invalid %%G value"
 msgstr "giá trị %%G sai"
 
-#: config/rs6000/rs6000.cc:13772
+#: config/rs6000/rs6000.cc:13818
 #, c-format
 msgid "invalid %%j code"
 msgstr "mã %%j sai"
 
-#: config/rs6000/rs6000.cc:13782
+#: config/rs6000/rs6000.cc:13828
 #, c-format
 msgid "invalid %%J code"
 msgstr "mã %%J sai"
 
-#: config/rs6000/rs6000.cc:13792
+#: config/rs6000/rs6000.cc:13838
 #, c-format
 msgid "invalid %%k value"
 msgstr "giá trị %%k sai"
 
-#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2446
+#: config/rs6000/rs6000.cc:13853 config/xtensa/xtensa.cc:2446
 #, c-format
 msgid "invalid %%K value"
 msgstr "giá trị %%K sai"
 
-#: config/rs6000/rs6000.cc:13854
+#: config/rs6000/rs6000.cc:13900
 #, c-format
 msgid "invalid %%O value"
 msgstr "giá trị %%O sai"
 
-#: config/rs6000/rs6000.cc:13901
+#: config/rs6000/rs6000.cc:13947
 #, c-format
 msgid "invalid %%q value"
 msgstr "giá trị %%q sai"
 
-#: config/rs6000/rs6000.cc:13943
+#: config/rs6000/rs6000.cc:13989
 #, fuzzy, c-format
 #| msgid "invalid %%J value"
 msgid "invalid %%t value"
 msgstr "giá trị %%J sai"
 
-#: config/rs6000/rs6000.cc:13960
+#: config/rs6000/rs6000.cc:14006
 #, c-format
 msgid "invalid %%T value"
 msgstr "giá trị %%T sai"
 
-#: config/rs6000/rs6000.cc:13972
+#: config/rs6000/rs6000.cc:14018
 #, c-format
 msgid "invalid %%u value"
 msgstr "giá trị %%u sai"
 
-#: config/rs6000/rs6000.cc:13986 config/xtensa/xtensa.cc:2415
+#: config/rs6000/rs6000.cc:14032 config/xtensa/xtensa.cc:2415
 #, c-format
 msgid "invalid %%v value"
 msgstr "giá trị %%v sai"
 
-#: config/rs6000/rs6000.cc:14036
+#: config/rs6000/rs6000.cc:14082
 #, fuzzy, c-format
 #| msgid "invalid %%J value"
 msgid "invalid %%V value"
 msgstr "giá trị %%J sai"
 
-#: config/rs6000/rs6000.cc:14053 config/xtensa/xtensa.cc:2467
+#: config/rs6000/rs6000.cc:14099 config/xtensa/xtensa.cc:2467
 #, c-format
 msgid "invalid %%x value"
 msgstr "giá trị %%x sai"
 
-#: config/rs6000/rs6000.cc:14110
+#: config/rs6000/rs6000.cc:14156
 #, fuzzy, c-format
 #| msgid "invalid %%J value"
 msgid "invalid %%z value"
 msgstr "giá trị %%J sai"
 
-#: config/rs6000/rs6000.cc:14179
+#: config/rs6000/rs6000.cc:14225
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "giá trị %%y sai, hãy thử sử dụng ràng buộc “Z”"
 
-#: config/rs6000/rs6000.cc:15047
+#: config/rs6000/rs6000.cc:15093
 #, fuzzy
 #| msgid "Enable using IEEE 128-bit floating point instructions."
 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types"
 msgstr "Bật sử dụng câu lệnh dấu số thực chấm động 128-bit IEEE."
 
-#: config/rs6000/rs6000.cc:23874
+#: config/rs6000/rs6000.cc:23925
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "đối số AltiVec bị gửi cho hàm không nguyên mẫu"
 
-#: config/rs6000/rs6000.cc:27522
+#: config/rs6000/rs6000.cc:27573
 msgid "Could not generate addis value for fusion"
 msgstr "Không thể tạo addis cho sát nhập"
 
-#: config/rs6000/rs6000.cc:27591
+#: config/rs6000/rs6000.cc:27642
 msgid "Unable to generate load/store offset for fusion"
 msgstr "Không thể tạo ra việc tải/lưu offset cho hợp nhất"
 
-#: config/rs6000/rs6000.cc:27667
+#: config/rs6000/rs6000.cc:27718
 msgid "Bad GPR fusion"
 msgstr "Hợp nhất GPR sai"
 
-#: config/rs6000/rs6000.cc:28207
+#: config/rs6000/rs6000.cc:28257
 #, fuzzy
 #| msgid "invalid conversion from %<__fpreg%>"
 msgid "invalid conversion from type %<__vector_quad%>"
 msgstr "sai chuyển đổi từ %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28209
+#: config/rs6000/rs6000.cc:28259
 #, fuzzy
 #| msgid "invalid conversion to %<__fpreg%>"
 msgid "invalid conversion to type %<__vector_quad%>"
 msgstr "sai chuyển đổi sang %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28211
+#: config/rs6000/rs6000.cc:28261
 #, fuzzy
 #| msgid "invalid conversion from %<__fpreg%>"
 msgid "invalid conversion from type %<__vector_pair%>"
 msgstr "sai chuyển đổi từ %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28213
+#: config/rs6000/rs6000.cc:28263
 #, fuzzy
 #| msgid "invalid conversion to %<__fpreg%>"
 msgid "invalid conversion to type %<__vector_pair%>"
 msgstr "sai chuyển đổi sang %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28228
+#: config/rs6000/rs6000.cc:28278
 #, fuzzy
 #| msgid "invalid conversion from %<__fpreg%>"
 msgid "invalid conversion from type %<* __vector_quad%>"
 msgstr "sai chuyển đổi từ %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28230
+#: config/rs6000/rs6000.cc:28280
 #, fuzzy
 #| msgid "invalid conversion to %<__fpreg%>"
 msgid "invalid conversion to type %<* __vector_quad%>"
 msgstr "sai chuyển đổi sang %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28232
+#: config/rs6000/rs6000.cc:28282
 #, fuzzy
 #| msgid "invalid conversion from %<__fpreg%>"
 msgid "invalid conversion from type %<* __vector_pair%>"
 msgstr "sai chuyển đổi từ %<__fpreg%>"
 
-#: config/rs6000/rs6000.cc:28234
+#: config/rs6000/rs6000.cc:28284
 #, fuzzy
 #| msgid "invalid conversion to %<__fpreg%>"
 msgid "invalid conversion to type %<* __vector_pair%>"
@@ -20113,14 +20203,14 @@ msgstr "({nặc danh})"
 #: c/c-parser.cc:7172 c/c-parser.cc:11078 c/c-parser.cc:11113
 #: c/c-parser.cc:11144 c/c-parser.cc:11191 c/c-parser.cc:11372
 #: c/c-parser.cc:12204 c/c-parser.cc:12279 c/c-parser.cc:12322
-#: c/c-parser.cc:18429 c/c-parser.cc:18509 c/c-parser.cc:18839
-#: c/c-parser.cc:18865 c/c-parser.cc:18888 c/c-parser.cc:19338
-#: c/c-parser.cc:19382 c/gimple-parser.cc:392 c/gimple-parser.cc:433
-#: c/gimple-parser.cc:442 c/gimple-parser.cc:651 c/gimple-parser.cc:2223
-#: c/gimple-parser.cc:2260 c/gimple-parser.cc:2339 c/gimple-parser.cc:2366
+#: c/c-parser.cc:18438 c/c-parser.cc:18518 c/c-parser.cc:18848
+#: c/c-parser.cc:18874 c/c-parser.cc:18897 c/c-parser.cc:19347
+#: c/c-parser.cc:19391 c/gimple-parser.cc:396 c/gimple-parser.cc:437
+#: c/gimple-parser.cc:446 c/gimple-parser.cc:655 c/gimple-parser.cc:2245
+#: c/gimple-parser.cc:2282 c/gimple-parser.cc:2361 c/gimple-parser.cc:2388
 #: c/c-parser.cc:3279 c/c-parser.cc:3466 c/c-parser.cc:3499
-#: c/c-parser.cc:11365 c/gimple-parser.cc:2049 c/gimple-parser.cc:2088
-#: cp/parser.cc:15233 cp/parser.cc:32259 cp/parser.cc:32872
+#: c/c-parser.cc:11365 c/gimple-parser.cc:2053 c/gimple-parser.cc:2110
+#: cp/parser.cc:15227 cp/parser.cc:32265 cp/parser.cc:32878
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "cần %<;%>"
@@ -20129,19 +20219,19 @@ msgstr "cần %<;%>"
 #: c/c-parser.cc:4337 c/c-parser.cc:4699 c/c-parser.cc:4720 c/c-parser.cc:4729
 #: c/c-parser.cc:4780 c/c-parser.cc:4789 c/c-parser.cc:8541 c/c-parser.cc:8608
 #: c/c-parser.cc:9115 c/c-parser.cc:9140 c/c-parser.cc:9174 c/c-parser.cc:9283
-#: c/c-parser.cc:10104 c/c-parser.cc:11479 c/c-parser.cc:13813
-#: c/c-parser.cc:14527 c/c-parser.cc:14586 c/c-parser.cc:14641
-#: c/c-parser.cc:16253 c/c-parser.cc:16373 c/c-parser.cc:17693
-#: c/c-parser.cc:18930 c/c-parser.cc:19346 c/c-parser.cc:22313
-#: c/c-parser.cc:22391 c/gimple-parser.cc:195 c/gimple-parser.cc:198
-#: c/gimple-parser.cc:527 c/gimple-parser.cc:561 c/gimple-parser.cc:566
-#: c/gimple-parser.cc:735 c/gimple-parser.cc:832 c/gimple-parser.cc:1034
-#: c/gimple-parser.cc:1060 c/gimple-parser.cc:1063 c/gimple-parser.cc:1194
-#: c/gimple-parser.cc:1321 c/gimple-parser.cc:1447 c/gimple-parser.cc:1463
-#: c/gimple-parser.cc:1479 c/gimple-parser.cc:1501 c/gimple-parser.cc:1531
-#: c/gimple-parser.cc:1557 c/gimple-parser.cc:1763 c/gimple-parser.cc:1971
-#: c/gimple-parser.cc:1991 c/gimple-parser.cc:2133 c/gimple-parser.cc:2296
-#: c/c-parser.cc:7124 cp/parser.cc:32920
+#: c/c-parser.cc:10104 c/c-parser.cc:11479 c/c-parser.cc:13822
+#: c/c-parser.cc:14536 c/c-parser.cc:14595 c/c-parser.cc:14650
+#: c/c-parser.cc:16262 c/c-parser.cc:16382 c/c-parser.cc:17702
+#: c/c-parser.cc:18939 c/c-parser.cc:19355 c/c-parser.cc:22322
+#: c/c-parser.cc:22400 c/gimple-parser.cc:195 c/gimple-parser.cc:198
+#: c/gimple-parser.cc:531 c/gimple-parser.cc:565 c/gimple-parser.cc:570
+#: c/gimple-parser.cc:739 c/gimple-parser.cc:836 c/gimple-parser.cc:1038
+#: c/gimple-parser.cc:1064 c/gimple-parser.cc:1067 c/gimple-parser.cc:1198
+#: c/gimple-parser.cc:1325 c/gimple-parser.cc:1451 c/gimple-parser.cc:1467
+#: c/gimple-parser.cc:1483 c/gimple-parser.cc:1505 c/gimple-parser.cc:1535
+#: c/gimple-parser.cc:1561 c/gimple-parser.cc:1767 c/gimple-parser.cc:1975
+#: c/gimple-parser.cc:1995 c/gimple-parser.cc:2155 c/gimple-parser.cc:2318
+#: c/c-parser.cc:7124 cp/parser.cc:32926
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "cần %<)%>"
@@ -20149,7 +20239,7 @@ msgstr "cần %<)%>"
 #: c/c-parser.cc:4108 c/c-parser.cc:4840 c/c-parser.cc:4988 c/c-parser.cc:5014
 #: c/c-parser.cc:5015 c/c-parser.cc:5429 c/c-parser.cc:5465 c/c-parser.cc:7223
 #: c/c-parser.cc:9274 c/c-parser.cc:10220 c/c-parser.cc:10509
-#: c/c-parser.cc:13216 c/gimple-parser.cc:1740 cp/parser.cc:32884
+#: c/c-parser.cc:13225 c/gimple-parser.cc:1744 cp/parser.cc:32890
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "cần %<]%>"
@@ -20159,58 +20249,58 @@ msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "cần %<;%>, %<,%> hoặc %<)%>"
 
 #. Look for the two `(' tokens.
-#: c/c-parser.cc:4749 c/c-parser.cc:4754 c/c-parser.cc:13796
-#: c/c-parser.cc:14616 c/c-parser.cc:21672 c/c-parser.cc:22121
-#: c/c-parser.cc:22334 c/gimple-parser.cc:180 c/gimple-parser.cc:474
-#: c/gimple-parser.cc:513 c/gimple-parser.cc:545 c/gimple-parser.cc:802
-#: c/gimple-parser.cc:1028 c/gimple-parser.cc:1054 c/gimple-parser.cc:1181
-#: c/gimple-parser.cc:1316 c/gimple-parser.cc:1437 c/gimple-parser.cc:1497
-#: c/gimple-parser.cc:1515 c/gimple-parser.cc:1550 c/gimple-parser.cc:1940
-#: c/gimple-parser.cc:1951 c/gimple-parser.cc:1957 c/gimple-parser.cc:2122
-#: c/gimple-parser.cc:2293 c/c-parser.cc:13618 cp/parser.cc:32875
+#: c/c-parser.cc:4749 c/c-parser.cc:4754 c/c-parser.cc:13805
+#: c/c-parser.cc:14625 c/c-parser.cc:21681 c/c-parser.cc:22130
+#: c/c-parser.cc:22343 c/gimple-parser.cc:180 c/gimple-parser.cc:478
+#: c/gimple-parser.cc:517 c/gimple-parser.cc:549 c/gimple-parser.cc:806
+#: c/gimple-parser.cc:1032 c/gimple-parser.cc:1058 c/gimple-parser.cc:1185
+#: c/gimple-parser.cc:1320 c/gimple-parser.cc:1441 c/gimple-parser.cc:1501
+#: c/gimple-parser.cc:1519 c/gimple-parser.cc:1554 c/gimple-parser.cc:1944
+#: c/gimple-parser.cc:1955 c/gimple-parser.cc:1961 c/gimple-parser.cc:2144
+#: c/gimple-parser.cc:2315 c/c-parser.cc:13627 cp/parser.cc:32881
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "cần %<(%>"
 
 #: c/c-parser.cc:4984 c/c-parser.cc:4986 c/c-parser.cc:13133
-#: cp/parser.cc:32887 cp/parser.cc:36617 go/gofrontend/embed.cc:439
+#: cp/parser.cc:32893 cp/parser.cc:36623 go/gofrontend/embed.cc:439
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "cần %<[%>"
 
-#: c/c-parser.cc:5600 c/c-parser.cc:11708 c/c-parser.cc:18404
-#: c/c-parser.cc:18490 c/c-parser.cc:19142 c/c-parser.cc:20024
-#: c/c-parser.cc:23369 c/gimple-parser.cc:385 c/gimple-parser.cc:2299
+#: c/c-parser.cc:5600 c/c-parser.cc:11708 c/c-parser.cc:18413
+#: c/c-parser.cc:18499 c/c-parser.cc:19151 c/c-parser.cc:20033
+#: c/c-parser.cc:23378 c/gimple-parser.cc:389 c/gimple-parser.cc:2321
 #: c/c-parser.cc:3267 c/c-parser.cc:3489 c/c-parser.cc:11260
-#: cp/parser.cc:20871 cp/parser.cc:32881 go/gofrontend/embed.cc:370
+#: cp/parser.cc:20869 cp/parser.cc:32887 go/gofrontend/embed.cc:370
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "cần %<{%>"
 
 #: c/c-parser.cc:5890 c/c-parser.cc:5899 c/c-parser.cc:7656 c/c-parser.cc:8745
 #: c/c-parser.cc:11472 c/c-parser.cc:11868 c/c-parser.cc:11932
-#: c/c-parser.cc:13198 c/c-parser.cc:14218 c/c-parser.cc:14444
-#: c/c-parser.cc:14962 c/c-parser.cc:15063 c/c-parser.cc:15597
-#: c/c-parser.cc:15915 c/c-parser.cc:15991 c/c-parser.cc:16103
-#: c/c-parser.cc:21534 c/c-parser.cc:22178 c/c-parser.cc:22237
-#: c/gimple-parser.cc:568 c/gimple-parser.cc:873 c/gimple-parser.cc:2347
-#: c/gimple-parser.cc:2374 c/c-parser.cc:7131 c/c-parser.cc:13721
-#: c/c-parser.cc:15068 cp/parser.cc:32914 cp/parser.cc:34593
-#: cp/parser.cc:37466 cp/parser.cc:38341 go/gofrontend/embed.cc:403
+#: c/c-parser.cc:13207 c/c-parser.cc:14227 c/c-parser.cc:14453
+#: c/c-parser.cc:14971 c/c-parser.cc:15072 c/c-parser.cc:15606
+#: c/c-parser.cc:15924 c/c-parser.cc:16000 c/c-parser.cc:16112
+#: c/c-parser.cc:21543 c/c-parser.cc:22187 c/c-parser.cc:22246
+#: c/gimple-parser.cc:572 c/gimple-parser.cc:877 c/gimple-parser.cc:2369
+#: c/gimple-parser.cc:2396 c/c-parser.cc:7131 c/c-parser.cc:13730
+#: c/c-parser.cc:15077 cp/parser.cc:32920 cp/parser.cc:34599
+#: cp/parser.cc:37472 cp/parser.cc:38347 go/gofrontend/embed.cc:403
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "cần %<:%>"
 
-#: c/c-parser.cc:6681 cp/parser.cc:32801
+#: c/c-parser.cc:6681 cp/parser.cc:32807
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "cần %<while%>"
 
 #: c/c-parser.cc:8504 c/c-parser.cc:8696 c/c-parser.cc:9164 c/c-parser.cc:9207
-#: c/c-parser.cc:9345 c/c-parser.cc:10094 c/c-parser.cc:14621
-#: c/c-parser.cc:16059 c/gimple-parser.cc:1031 c/gimple-parser.cc:1057
-#: c/gimple-parser.cc:1185 c/gimple-parser.cc:1188 c/gimple-parser.cc:1519
-#: c/gimple-parser.cc:1525 cp/parser.cc:32257 cp/parser.cc:32890
+#: c/c-parser.cc:9345 c/c-parser.cc:10094 c/c-parser.cc:14630
+#: c/c-parser.cc:16068 c/gimple-parser.cc:1035 c/gimple-parser.cc:1061
+#: c/gimple-parser.cc:1189 c/gimple-parser.cc:1192 c/gimple-parser.cc:1523
+#: c/gimple-parser.cc:1529 cp/parser.cc:32263 cp/parser.cc:32896
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "cần %<,%>"
@@ -20220,65 +20310,65 @@ msgid "expected %<.%>"
 msgstr "cần %<.%>"
 
 #: c/c-parser.cc:10931 c/c-parser.cc:10963 c/c-parser.cc:11203
-#: cp/parser.cc:35167 cp/parser.cc:35188
+#: cp/parser.cc:35173 cp/parser.cc:35194
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "cần %<@end%>"
 
-#: c/c-parser.cc:11621 c/gimple-parser.cc:1355 cp/parser.cc:32899
+#: c/c-parser.cc:11621 c/gimple-parser.cc:1359 cp/parser.cc:32905
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "cần %<>%>"
 
-#: c/c-parser.cc:15157 c/c-parser.cc:16391 cp/parser.cc:32923
+#: c/c-parser.cc:15166 c/c-parser.cc:16400 cp/parser.cc:32929
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
 #. All following cases are statements with LHS.
-#: c/c-parser.cc:15907 c/c-parser.cc:18297 c/c-parser.cc:18344
-#: c/c-parser.cc:18501 c/c-parser.cc:18849 c/c-parser.cc:19325
-#: c/c-parser.cc:21741 c/c-parser.cc:22375 c/gimple-parser.cc:726
-#: c/c-parser.cc:5488 c/c-parser.cc:18421 c/c-parser.cc:18645
-#: cp/parser.cc:32902 cp/parser.cc:40914 cp/parser.cc:41087
+#: c/c-parser.cc:15916 c/c-parser.cc:18306 c/c-parser.cc:18353
+#: c/c-parser.cc:18510 c/c-parser.cc:18858 c/c-parser.cc:19334
+#: c/c-parser.cc:21750 c/c-parser.cc:22384 c/gimple-parser.cc:730
+#: c/c-parser.cc:5488 c/c-parser.cc:18430 c/c-parser.cc:18654
+#: cp/parser.cc:32908 cp/parser.cc:40920 cp/parser.cc:41093
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "cần %<=%>"
 
-#: c/c-parser.cc:18432 c/c-parser.cc:18512 c/c-parser.cc:18866
-#: c/c-parser.cc:19190 c/gimple-parser.cc:1573 c/gimple-parser.cc:1605
-#: c/gimple-parser.cc:1615 c/gimple-parser.cc:2384 cp/parser.cc:32878
-#: cp/parser.cc:35377
+#: c/c-parser.cc:18441 c/c-parser.cc:18521 c/c-parser.cc:18875
+#: c/c-parser.cc:19199 c/gimple-parser.cc:1577 c/gimple-parser.cc:1609
+#: c/gimple-parser.cc:1619 c/gimple-parser.cc:2406 cp/parser.cc:32884
+#: cp/parser.cc:35383
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "cần %<}%>"
 
-#: c/c-parser.cc:18525 cp/parser.cc:41012
+#: c/c-parser.cc:18534 cp/parser.cc:41018
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<delete%>"
 msgid "expected %<else%>"
 msgstr "cần %<delete%>"
 
-#: c/c-parser.cc:20069 c/c-parser.cc:20058 cp/parser.cc:43252
+#: c/c-parser.cc:20078 c/c-parser.cc:20067 cp/parser.cc:43258
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "cần %<#pragma omp section%> hoặc %<}%>"
 
-#: c/c-parser.cc:22946 cp/parser.cc:46770
+#: c/c-parser.cc:22955 cp/parser.cc:46776
 msgid "<message unknown at compile time>"
 msgstr ""
 
-#: c/c-typeck.cc:8487
+#: c/c-typeck.cc:8489
 msgid "(anonymous)"
 msgstr "(nặc danh)"
 
-#: c/gimple-parser.cc:1344 cp/parser.cc:18240 cp/parser.cc:32896
+#: c/gimple-parser.cc:1348 cp/parser.cc:18235 cp/parser.cc:32902
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "cần %<<%>"
 
-#: c/gimple-parser.cc:2343 c/gimple-parser.cc:2370 c/gimple-parser.cc:2209
-#: c/gimple-parser.cc:2246
+#: c/gimple-parser.cc:2365 c/gimple-parser.cc:2392 c/gimple-parser.cc:2231
+#: c/gimple-parser.cc:2268
 #, fuzzy, gcc-internal-format
 msgid "expected label"
 msgstr "cần kênh"
@@ -20289,30 +20379,30 @@ msgstr "cần kênh"
 msgid "candidate:"
 msgstr "ứng cử 1:"
 
-#: cp/call.cc:7724
+#: cp/call.cc:7735
 #, fuzzy
 #| msgid "Enable user-defined instructions."
 msgid "  after user-defined conversion:"
 msgstr "Bật câu lệnh được người dùng xác định."
 
-#: cp/call.cc:7863 cp/pt.cc:2055 cp/pt.cc:25566
+#: cp/call.cc:7874 cp/pt.cc:2055 cp/pt.cc:25614
 msgid "candidate is:"
 msgid_plural "candidates are:"
 msgstr[0] "ứng cử là:"
 
-#: cp/call.cc:12492
+#: cp/call.cc:12525
 msgid "candidate 1:"
 msgstr "ứng cử 1:"
 
-#: cp/call.cc:12493
+#: cp/call.cc:12526
 msgid "candidate 2:"
 msgstr "ứng cử 2:"
 
-#: cp/decl.cc:3396
+#: cp/decl.cc:3452
 msgid "jump to label %qD"
 msgstr "nhảy tới nhãn %qD"
 
-#: cp/decl.cc:3397
+#: cp/decl.cc:3453
 msgid "jump to case label"
 msgstr "nhảy tới nhãn lệnh case"
 
@@ -20403,7 +20493,7 @@ msgstr "<lỗi tham số mẫu>"
 msgid "<statement>"
 msgstr "<lời khai báo>"
 
-#: cp/error.cc:2218 cp/error.cc:3304 c-family/c-pretty-print.cc:2634
+#: cp/error.cc:2218 cp/error.cc:3304 c-family/c-pretty-print.cc:2644
 #, gcc-internal-format
 msgid "<unknown>"
 msgstr "<không rõ>"
@@ -20530,43 +20620,43 @@ msgstr "%r%s:%d:%d:%R   trong khai triển constexpr của %qs"
 msgid "%r%s:%d:%R   in %<constexpr%> expansion of %qs"
 msgstr "%r%s:%d:%R   trong khai triển constexpr của %qs"
 
-#: cp/parser.cc:6034
+#: cp/parser.cc:6032
 #, fuzzy
 #| msgid "%<this%> may not be used in this context"
 msgid "parameter %qD may not appear in this context"
 msgstr "%<this%> có lẽ không nên được dùng trong ngữ cảnh này"
 
-#: cp/parser.cc:6035
+#: cp/parser.cc:6033
 msgid "local variable %qD may not appear in this context"
 msgstr ""
 
-#: cp/parser.cc:21677
+#: cp/parser.cc:21675
 #, fuzzy
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:21680
+#: cp/parser.cc:21678
 msgid "%<using enum%> of dependent type %qT"
 msgstr ""
 
-#: cp/parser.cc:21682
+#: cp/parser.cc:21680
 #, fuzzy
 #| msgid "%qT is not an enumeration type"
 msgid "%<using enum%> of non-enumeration type %q#T"
 msgstr "%qT không phải một kiểu enumeration"
 
-#: cp/parser.cc:21684
+#: cp/parser.cc:21682
 #, fuzzy
 #| msgid "increment of pointer to an incomplete type %qT"
 msgid "%<using enum%> of incomplete type %qT"
 msgstr "tăng con trỏ tới loại không hoàn toàn %qT"
 
-#: cp/parser.cc:21686
+#: cp/parser.cc:21684
 msgid "%<using enum%> of %qT before its enum-specifier"
 msgstr ""
 
-#: cp/pt.cc:2053 cp/semantics.cc:5912
+#: cp/pt.cc:2053 cp/semantics.cc:5903
 msgid "candidates are:"
 msgstr "các ứng cử là:"
 
@@ -20610,48 +20700,48 @@ msgstr "việc chuyển đổi cũng bỏ trình trạng bất biến"
 msgid "source type is not polymorphic"
 msgstr "nguồn không có loại nhiều dạng"
 
-#: cp/typeck.cc:6997 c/c-typeck.cc:4481
+#: cp/typeck.cc:7011 c/c-typeck.cc:4481
 #, gcc-internal-format
 msgid "wrong type argument to unary minus"
 msgstr "đối số có loại sai đối với dấu trừ nguyên phân"
 
-#: cp/typeck.cc:6998 c/c-typeck.cc:4468
+#: cp/typeck.cc:7012 c/c-typeck.cc:4468
 #, gcc-internal-format
 msgid "wrong type argument to unary plus"
 msgstr "đối số có loại sai đối với dấu cộng nguyên phân"
 
-#: cp/typeck.cc:7025 c/c-typeck.cc:4525
+#: cp/typeck.cc:7039 c/c-typeck.cc:4525
 #, gcc-internal-format
 msgid "wrong type argument to bit-complement"
 msgstr "đối số có loại sai đối với phần bù bit"
 
-#: cp/typeck.cc:7042 c/c-typeck.cc:4533
+#: cp/typeck.cc:7056 c/c-typeck.cc:4533
 #, gcc-internal-format
 msgid "wrong type argument to abs"
 msgstr "đối số có loại sai đối với bộ tuyệt đối"
 
-#: cp/typeck.cc:7054 c/c-typeck.cc:4555
+#: cp/typeck.cc:7068 c/c-typeck.cc:4555
 #, gcc-internal-format
 msgid "wrong type argument to conjugation"
 msgstr "đối số có loại sai đối với phần chia"
 
-#: cp/typeck.cc:7072
+#: cp/typeck.cc:7086
 msgid "in argument to unary !"
 msgstr "trong đối số tới bộ nguyên phân !"
 
-#: cp/typeck.cc:7118
+#: cp/typeck.cc:7132
 msgid "no pre-increment operator for type"
 msgstr "không có toán tử tiền gia cho loại"
 
-#: cp/typeck.cc:7120
+#: cp/typeck.cc:7134
 msgid "no post-increment operator for type"
 msgstr "không có toán tử hậu gia cho loại"
 
-#: cp/typeck.cc:7122
+#: cp/typeck.cc:7136
 msgid "no pre-decrement operator for type"
 msgstr "không có toán tử giảm gia cho loại"
 
-#: cp/typeck.cc:7124
+#: cp/typeck.cc:7138
 msgid "no post-decrement operator for type"
 msgstr "không có toán tử hậu giảm cho loại"
 
@@ -20678,7 +20768,7 @@ msgstr "đối số “%s” và “%s” cho %s thực chất"
 msgid "arguments '%s' and '%s' for intrinsic '%s'"
 msgstr "đối số “%s” và “%s” cho “%s” thực chất"
 
-#: fortran/dump-parse-tree.cc:3548
+#: fortran/dump-parse-tree.cc:3553
 #, c-format
 msgid ""
 "/* Prototypes for external procedures generated from %s\n"
@@ -20725,26 +20815,26 @@ msgstr "Đặc tính cũ:"
 msgid "Deleted feature:"
 msgstr "Đặc tính đã bị xóa bỏ:"
 
-#: fortran/expr.cc:3766
+#: fortran/expr.cc:3774
 msgid "array assignment"
 msgstr "sự gán mảng"
 
-#: fortran/frontend-passes.cc:2386
+#: fortran/frontend-passes.cc:2387
 msgid "Index variable %qs redefined at %L in procedure %qs called from within DO loop at %L"
 msgstr ""
 
 #. Macros for unified error messages.
-#: fortran/frontend-passes.cc:4066
+#: fortran/frontend-passes.cc:4067
 #, c-format
 msgid "Incorrect extent in argument B in MATMUL intrinsic in dimension 1: is %ld, should be %ld"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4069
+#: fortran/frontend-passes.cc:4070
 #, c-format
 msgid "Array bound mismatch for dimension 1 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4072
+#: fortran/frontend-passes.cc:4073
 #, c-format
 msgid "Array bound mismatch for dimension 2 of array (%ld/%ld)"
 msgstr ""
@@ -20823,76 +20913,76 @@ msgstr "thẻ %s với INQUIRE"
 msgid "Syntax error in expression at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/module.cc:1253
+#: fortran/module.cc:1254
 msgid "Unexpected EOF"
 msgstr "Gặp kết thúc tập tin bất thường"
 
-#: fortran/module.cc:1378
+#: fortran/module.cc:1379
 msgid "Name too long"
 msgstr "Tên quá dài"
 
-#: fortran/module.cc:1432 fortran/module.cc:1490 fortran/module.cc:1545
-#: fortran/module.cc:1603
+#: fortran/module.cc:1433 fortran/module.cc:1491 fortran/module.cc:1546
+#: fortran/module.cc:1604
 msgid "Bad name"
 msgstr "Tên sai"
 
-#: fortran/module.cc:1627
+#: fortran/module.cc:1628
 msgid "Expected name"
 msgstr "Mong đợi một tên"
 
-#: fortran/module.cc:1630
+#: fortran/module.cc:1631
 msgid "Expected left parenthesis"
 msgstr "Mong đợi một dấu ngoặc đơn mở"
 
-#: fortran/module.cc:1633
+#: fortran/module.cc:1634
 msgid "Expected right parenthesis"
 msgstr "Mong đợi một dấu ngoặc đơn đóng"
 
-#: fortran/module.cc:1636
+#: fortran/module.cc:1637
 msgid "Expected integer"
 msgstr "Mong đợi một số nguyên"
 
-#: fortran/module.cc:1639 fortran/module.cc:2844
+#: fortran/module.cc:1640 fortran/module.cc:2845
 msgid "Expected string"
 msgstr "Mong đợi một chuỗi"
 
-#: fortran/module.cc:1664
+#: fortran/module.cc:1665
 msgid "find_enum(): Enum not found"
 msgstr "find_enum(): không tìm thấy bộ đếm"
 
-#: fortran/module.cc:2234
+#: fortran/module.cc:2235
 msgid "Unsupported: multiple OpenACC 'routine' levels of parallelism"
 msgstr ""
 
-#: fortran/module.cc:2474
+#: fortran/module.cc:2475
 msgid "Expected attribute bit name"
 msgstr "Mong đợi một tên bit thuộc tính"
 
-#: fortran/module.cc:3473
+#: fortran/module.cc:3474
 msgid "Expected integer string"
 msgstr "Mong đợi một chuỗi số nguyên"
 
-#: fortran/module.cc:3477
+#: fortran/module.cc:3478
 msgid "Error converting integer"
 msgstr "Gặp lỗi khi chuyển đổi số nguyên"
 
-#: fortran/module.cc:3499
+#: fortran/module.cc:3500
 msgid "Expected real string"
 msgstr "Mong đợi một chuỗi thật"
 
-#: fortran/module.cc:3724
+#: fortran/module.cc:3725
 msgid "Expected expression type"
 msgstr "Mong đợi một loại biểu thức"
 
-#: fortran/module.cc:3804
+#: fortran/module.cc:3805
 msgid "Bad operator"
 msgstr "Toán tử sai"
 
-#: fortran/module.cc:3921
+#: fortran/module.cc:3922
 msgid "Bad type in constant expression"
 msgstr "Gặp loại saio trong biểu thức bất biến"
 
-#: fortran/module.cc:7379
+#: fortran/module.cc:7380
 msgid "Unexpected end of module"
 msgstr "Gặp kết thức mô-đun bất thường"
 
@@ -20920,11 +21010,11 @@ msgstr "IF (nếu) loại khối"
 msgid "implied END DO"
 msgstr "ngụ ý END DO (kết thúc làm)"
 
-#: fortran/parse.cc:2229 fortran/resolve.cc:12044
+#: fortran/parse.cc:2229 fortran/resolve.cc:12073
 msgid "assignment"
 msgstr "sự gán"
 
-#: fortran/parse.cc:2232 fortran/resolve.cc:12102 fortran/resolve.cc:12105
+#: fortran/parse.cc:2232 fortran/resolve.cc:12131 fortran/resolve.cc:12134
 msgid "pointer assignment"
 msgstr "sự gán hàm trỏ"
 
@@ -20932,201 +21022,201 @@ msgstr "sự gán hàm trỏ"
 msgid "simple IF"
 msgstr "IF (nếu) đơn giản"
 
-#: fortran/resolve.cc:2371 fortran/resolve.cc:2565
+#: fortran/resolve.cc:2388 fortran/resolve.cc:2583
 msgid "elemental procedure"
 msgstr "thủ tục loại yếu tố"
 
-#: fortran/resolve.cc:2468
+#: fortran/resolve.cc:2486
 msgid "allocatable argument"
 msgstr "đối số phân bổ được"
 
-#: fortran/resolve.cc:2473
+#: fortran/resolve.cc:2491
 msgid "asynchronous argument"
 msgstr "đối số không đồng bộ"
 
-#: fortran/resolve.cc:2478
+#: fortran/resolve.cc:2496
 msgid "optional argument"
 msgstr "đối số tùy chọn"
 
-#: fortran/resolve.cc:2483
+#: fortran/resolve.cc:2501
 msgid "pointer argument"
 msgstr "đối số con trỏ"
 
-#: fortran/resolve.cc:2488
+#: fortran/resolve.cc:2506
 msgid "target argument"
 msgstr "đối số đích"
 
-#: fortran/resolve.cc:2493
+#: fortran/resolve.cc:2511
 msgid "value argument"
 msgstr "đối số giá trị"
 
-#: fortran/resolve.cc:2498
+#: fortran/resolve.cc:2516
 msgid "volatile argument"
 msgstr "đối số hay thay đổi"
 
-#: fortran/resolve.cc:2503
+#: fortran/resolve.cc:2521
 msgid "assumed-shape argument"
 msgstr "đối số assumed-shape"
 
-#: fortran/resolve.cc:2508
+#: fortran/resolve.cc:2526
 msgid "assumed-rank argument"
 msgstr "đối số assumed-rank"
 
-#: fortran/resolve.cc:2513
+#: fortran/resolve.cc:2531
 msgid "coarray argument"
 msgstr "đối số coarray"
 
-#: fortran/resolve.cc:2518
+#: fortran/resolve.cc:2536
 msgid "parametrized derived type argument"
 msgstr "đối số kiểu được dẫn suất tham số hóa"
 
-#: fortran/resolve.cc:2523
+#: fortran/resolve.cc:2541
 msgid "polymorphic argument"
 msgstr "đối số polymorphic"
 
-#: fortran/resolve.cc:2528
+#: fortran/resolve.cc:2546
 msgid "NO_ARG_CHECK attribute"
 msgstr "thuộc tính NO_ARG_CHECK"
 
 #. As assumed-type is unlimited polymorphic (cf. above).
 #. See also TS 29113, Note 6.1.
-#: fortran/resolve.cc:2535
+#: fortran/resolve.cc:2553
 msgid "assumed-type argument"
 msgstr "đối số assumed-type"
 
-#: fortran/resolve.cc:2546
+#: fortran/resolve.cc:2564
 msgid "array result"
 msgstr "kết quả mảng"
 
-#: fortran/resolve.cc:2551
+#: fortran/resolve.cc:2569
 msgid "pointer or allocatable result"
 msgstr "con trỏ hoặc kết quả cấp phát được"
 
-#: fortran/resolve.cc:2558
+#: fortran/resolve.cc:2576
 msgid "result with non-constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:2570
+#: fortran/resolve.cc:2588
 msgid "bind(c) procedure"
 msgstr "thủ tục bind(c)"
 
-#: fortran/resolve.cc:4114
+#: fortran/resolve.cc:4132
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Gặp ngữ cảnh sai cho hàm trỏ NULL() tại %%L"
 
-#: fortran/resolve.cc:4131
+#: fortran/resolve.cc:4149
 #, c-format
 msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s"
 msgstr "Tại %%L có một toán tử thuộc số nguyên phân “%s” với toán hạng %s"
 
-#: fortran/resolve.cc:4148
+#: fortran/resolve.cc:4166
 #, fuzzy, c-format
 #| msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
 msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L"
 msgstr "Tại %%L có một toán tử thuộc số nhị phân “%s” với các toán hạng %s/%s"
 
-#: fortran/resolve.cc:4153
+#: fortran/resolve.cc:4171
 #, c-format
 msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử thuộc số nhị phân “%s” với các toán hạng %s/%s"
 
-#: fortran/resolve.cc:4168
+#: fortran/resolve.cc:4186
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử ghép nối chuỗi với các toán hạng %s/%s"
 
-#: fortran/resolve.cc:4211
+#: fortran/resolve.cc:4229
 #, c-format
 msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử hợp lý “%s” với các toán hạng %s/%s"
 
-#: fortran/resolve.cc:4234
+#: fortran/resolve.cc:4252
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Tại %%L có một toán tử .not. với toán hạng %s"
 
-#: fortran/resolve.cc:4248
+#: fortran/resolve.cc:4266
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "Không thể so sánh các số lượng PHỨC TẠP tại %L"
 
-#: fortran/resolve.cc:4346
+#: fortran/resolve.cc:4364
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "Tại %%L thì các bộ hợp lý phải được so sánh với %s thay cho %s"
 
-#: fortran/resolve.cc:4352
+#: fortran/resolve.cc:4370
 #, c-format
 msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử so sánh “%s” với các toán hạng %s/%s"
 
-#: fortran/resolve.cc:4366
+#: fortran/resolve.cc:4384
 #, fuzzy, c-format
 #| msgid "Unknown operator %%<%s%%> at %%L"
 msgid "Unknown operator %%<%s%%> at %%L; did you mean '%s'?"
 msgstr "Không rõ toán tử %%<%s%%> tại %%L"
 
-#: fortran/resolve.cc:4369
+#: fortran/resolve.cc:4387
 #, c-format
 msgid "Unknown operator %%<%s%%> at %%L"
 msgstr "Không rõ toán tử %%<%s%%> tại %%L"
 
-#: fortran/resolve.cc:4374
+#: fortran/resolve.cc:4392
 #, c-format
 msgid "Operand of user operator %%<%s%%> at %%L is %s"
 msgstr "Toán hạng của toán tử người dùng %%<%s%%> tại %%L là %s"
 
-#: fortran/resolve.cc:4379
+#: fortran/resolve.cc:4397
 #, c-format
 msgid "Operands of user operator %%<%s%%> at %%L are %s/%s"
 msgstr "Các toán hạng của toán tử người dùng %%<%s%%> tại %%L là %s/%s"
 
-#: fortran/resolve.cc:4465
+#: fortran/resolve.cc:4483
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Tại %%L và %%L có một toán tử với các phân hàng mâu thuẫn nhau"
 
-#: fortran/resolve.cc:7306
+#: fortran/resolve.cc:7324
 msgid "Loop variable"
 msgstr "Biến vòng lặp"
 
-#: fortran/resolve.cc:7310
+#: fortran/resolve.cc:7328
 msgid "iterator variable"
 msgstr "biến iterator"
 
-#: fortran/resolve.cc:7314
+#: fortran/resolve.cc:7332
 msgid "Start expression in DO loop"
 msgstr "Biểu thức bắt đầu trong vòng lặp DO (làm)"
 
-#: fortran/resolve.cc:7318
+#: fortran/resolve.cc:7336
 msgid "End expression in DO loop"
 msgstr "Biểu thức kết thúc trong vòng lặp DO (làm)"
 
-#: fortran/resolve.cc:7322
+#: fortran/resolve.cc:7340
 msgid "Step expression in DO loop"
 msgstr "Biểu thức bước trong vòng lặp DO (làm)"
 
-#: fortran/resolve.cc:7608 fortran/resolve.cc:7611
+#: fortran/resolve.cc:7626 fortran/resolve.cc:7629
 msgid "DEALLOCATE object"
 msgstr "đối tượng DEALLOCATE"
 
-#: fortran/resolve.cc:7989 fortran/resolve.cc:7992
+#: fortran/resolve.cc:8007 fortran/resolve.cc:8010
 msgid "ALLOCATE object"
 msgstr "đối tượng ALLOCATE"
 
-#: fortran/resolve.cc:8225 fortran/resolve.cc:10194 fortran/resolve.cc:10315
+#: fortran/resolve.cc:8243 fortran/resolve.cc:10214 fortran/resolve.cc:10335
 msgid "STAT variable"
 msgstr "biến STAT"
 
-#: fortran/resolve.cc:8276 fortran/resolve.cc:10206 fortran/resolve.cc:10327
+#: fortran/resolve.cc:8294 fortran/resolve.cc:10226 fortran/resolve.cc:10347
 msgid "ERRMSG variable"
 msgstr "Biến ERRMSG"
 
-#: fortran/resolve.cc:10000
+#: fortran/resolve.cc:10020
 msgid "item in READ"
 msgstr "mục tin trong READ"
 
-#: fortran/resolve.cc:10218
+#: fortran/resolve.cc:10238
 msgid "ACQUIRED_LOCK variable"
 msgstr "biến ACQUIRED_LOCK"
 
@@ -21139,7 +21229,7 @@ msgstr "Bộ dựng mảng chứa các chiều dài KÝ_TỰ khác nhau (%ld/%ld
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
-#: fortran/trans-array.cc:10064
+#: fortran/trans-array.cc:10071
 #, c-format
 msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration"
 msgstr ""
@@ -21154,12 +21244,12 @@ msgstr "Chiều dài chuỗi thật không tương ứng với điều khai báo
 msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)"
 msgstr "Chiều dài chuỗi thật vẫn nhỏ hơn điều khai báo cho đối số giả “%s” (%ld/%ld)"
 
-#: fortran/trans-expr.cc:10290
+#: fortran/trans-expr.cc:10297
 #, c-format
 msgid "Target of rank remapping is too small (%ld < %ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:11750
+#: fortran/trans-expr.cc:11757
 msgid "Assignment of scalar to unallocated array"
 msgstr "Gán vô hướng cho mảng chưa cấp phát"
 
@@ -21215,36 +21305,36 @@ msgstr ""
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9277
+#: fortran/trans-intrinsic.cc:9279
 #, c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
 msgstr "Tham số NCOPIES của REPEAT (lặp lại) hạn chế là âm (giá trị của nó là %ld)"
 
-#: fortran/trans-intrinsic.cc:9309
+#: fortran/trans-intrinsic.cc:9311
 msgid "Argument NCOPIES of REPEAT intrinsic is too large"
 msgstr "Điều thực chất REPEAT (lặp lại) có đối số NCOPIES (số các bản sao) quá lớn"
 
-#: fortran/trans-intrinsic.cc:12025
+#: fortran/trans-intrinsic.cc:12027
 #, c-format
 msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12037
+#: fortran/trans-intrinsic.cc:12039
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12049
+#: fortran/trans-intrinsic.cc:12051
 #, c-format
 msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12061
+#: fortran/trans-intrinsic.cc:12063
 #, c-format
 msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12069
+#: fortran/trans-intrinsic.cc:12071
 #, c-format
 msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
@@ -21261,20 +21351,20 @@ msgstr "Câu lệnh V/R chứa con số đơn vị quá lớn"
 msgid "Assigned label is not a target label"
 msgstr "Nhãn đã gán không phải là một nhãn đích"
 
-#: fortran/trans-stmt.cc:1278
+#: fortran/trans-stmt.cc:1287
 #, c-format
 msgid "Invalid image number %d in SYNC IMAGES"
 msgstr "Số ảnh không hợp lệ %d trong SYNC IMAGES"
 
-#: fortran/trans-stmt.cc:2440
+#: fortran/trans-stmt.cc:2449
 msgid "Loop iterates infinitely"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2460 fortran/trans-stmt.cc:2716
+#: fortran/trans-stmt.cc:2469 fortran/trans-stmt.cc:2725
 msgid "Loop variable has been modified"
 msgstr "Biến vòng lặp bị sửa đổi"
 
-#: fortran/trans-stmt.cc:2569
+#: fortran/trans-stmt.cc:2578
 msgid "DO step value is zero"
 msgstr "Giá trị bước DO (làm) là số không"
 
@@ -21348,8 +21438,8 @@ msgstr "cần kiểu số"
 msgid "expected boolean type"
 msgstr "cần kiểu boolean"
 
-#: go/gofrontend/expressions.cc:5221 c/c-parser.cc:15820 c/c-parser.cc:15827
-#: cp/parser.cc:38961 cp/parser.cc:38968
+#: go/gofrontend/expressions.cc:5221 c/c-parser.cc:15829 c/c-parser.cc:15836
+#: cp/parser.cc:38967 cp/parser.cc:38974
 #, gcc-internal-format
 msgid "expected integer"
 msgstr "Mong đợi một số nguyên"
@@ -21416,7 +21506,7 @@ msgstr "không đủ đối số"
 #: go/gofrontend/expressions.cc:10564 go/gofrontend/expressions.cc:10589
 #: go/gofrontend/expressions.cc:11469 go/gofrontend/expressions.cc:12745
 #: go/gofrontend/expressions.cc:12759 go/gofrontend/expressions.cc:12780
-#: cp/pt.cc:9127
+#: cp/pt.cc:9148
 #, gcc-internal-format
 msgid "too many arguments"
 msgstr "quá nhiều đối số"
@@ -21697,71 +21787,71 @@ msgstr "không thể dùng kiểu %s như là %s"
 msgid "conversion from normal type to notinheap type"
 msgstr "không thể chuyển đổi thành kiểu con trỏ"
 
-#: go/gofrontend/types.cc:4796
+#: go/gofrontend/types.cc:4793
 msgid "different receiver types"
 msgstr "khác kiểu nhận được"
 
-#: go/gofrontend/types.cc:4819 go/gofrontend/types.cc:4832
-#: go/gofrontend/types.cc:4846
+#: go/gofrontend/types.cc:4816 go/gofrontend/types.cc:4829
+#: go/gofrontend/types.cc:4843
 msgid "different number of parameters"
 msgstr "khác số lượng đối số"
 
-#: go/gofrontend/types.cc:4839
+#: go/gofrontend/types.cc:4836
 msgid "different parameter types"
 msgstr "khác kiểu tham số"
 
-#: go/gofrontend/types.cc:4854
+#: go/gofrontend/types.cc:4851
 msgid "different varargs"
 msgstr "varargs khác biệt"
 
-#: go/gofrontend/types.cc:4867 go/gofrontend/types.cc:4880
-#: go/gofrontend/types.cc:4894
+#: go/gofrontend/types.cc:4864 go/gofrontend/types.cc:4877
+#: go/gofrontend/types.cc:4891
 msgid "different number of results"
 msgstr "khác số của kết quả"
 
-#: go/gofrontend/types.cc:4887
+#: go/gofrontend/types.cc:4884
 msgid "different result types"
 msgstr "kiểu kết quả khác biệt"
 
-#: go/gofrontend/types.cc:9305
+#: go/gofrontend/types.cc:9302
 #, c-format
 msgid "need explicit conversion; missing method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9323 go/gofrontend/types.cc:9468
+#: go/gofrontend/types.cc:9320 go/gofrontend/types.cc:9465
 #, c-format
 msgid "incompatible type for method %s%s%s"
 msgstr "kiểu không tương thích cho phương thức %s%s%s"
 
-#: go/gofrontend/types.cc:9327 go/gofrontend/types.cc:9472
+#: go/gofrontend/types.cc:9324 go/gofrontend/types.cc:9469
 #, c-format
 msgid "incompatible type for method %s%s%s (%s)"
 msgstr "kiểu không tương thích cho phương thức %s%s%s (%s)"
 
-#: go/gofrontend/types.cc:9408 go/gofrontend/types.cc:9421
+#: go/gofrontend/types.cc:9405 go/gofrontend/types.cc:9418
 msgid "pointer to interface type has no methods"
 msgstr ""
 
-#: go/gofrontend/types.cc:9410 go/gofrontend/types.cc:9423
+#: go/gofrontend/types.cc:9407 go/gofrontend/types.cc:9420
 msgid "type has no methods"
 msgstr "kiểu không có phương thức"
 
-#: go/gofrontend/types.cc:9444
+#: go/gofrontend/types.cc:9441
 #, c-format
 msgid "ambiguous method %s%s%s"
 msgstr "phương thức còn chưa rõ ràng %s%s%s"
 
-#: go/gofrontend/types.cc:9447
+#: go/gofrontend/types.cc:9444
 #, c-format
 msgid "missing method %s%s%s"
 msgstr "thiếu phương thức%s%s%s"
 
-#: go/gofrontend/types.cc:9489
+#: go/gofrontend/types.cc:9486
 #, c-format
 msgid "method %s%s%s requires a pointer receiver"
 msgstr "phương thức %s%s%s yêu cầu bộ nhận con trỏ"
 
-#: go/gofrontend/types.cc:9507
+#: go/gofrontend/types.cc:9504
 #, c-format
 msgid "method %s%s%s is marked go:nointerface"
 msgstr "phương thức %s%s%s được đánh dấu là go:nointerface"
@@ -21797,7 +21887,7 @@ msgstr ""
 msgid "target OS does not support unaligned accesses"
 msgstr "CPU đích không hỗ trợ truy cập chưa cân chỉnh"
 
-#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:182
+#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:192
 #, gcc-internal-format
 msgid "profiling is not yet implemented for this architecture"
 msgstr ""
@@ -21974,7 +22064,7 @@ msgid "%<-maix64%> required: 64-bit computation with 32-bit addressing not yet s
 msgstr "-maix64 được yêu cầu: tính toán 64-bit với địa chỉ 32-bit vẫn chưa được hỗ trợ"
 
 #: config/rs6000/aix71.h:48 config/rs6000/aix72.h:48 config/rs6000/aix73.h:48
-#: config/rs6000/rtems.h:121
+#: config/rs6000/rtems.h:121 config/rs6000/rs6000.cc:3515
 #, fuzzy, gcc-internal-format
 #| msgid "-mcmodel incompatible with other toc options"
 msgid "%<-mcmodel%> incompatible with other toc options"
@@ -22105,15 +22195,15 @@ msgstr "thiếu tên macro sau %qs"
 
 #: c-family/c.opt:70 c-family/c.opt:73 c-family/c.opt:76 c-family/c.opt:79
 #: c-family/c.opt:175 c-family/c.opt:178 c-family/c.opt:220 c-family/c.opt:224
-#: c-family/c.opt:236 c-family/c.opt:2207 c-family/c.opt:2215
-#: config/darwin.opt:30 common.opt:331 common.opt:334 common.opt:3432
+#: c-family/c.opt:236 c-family/c.opt:2203 c-family/c.opt:2211
+#: config/darwin.opt:30 common.opt:331 common.opt:334 common.opt:3436
 #, gcc-internal-format
 msgid "missing filename after %qs"
 msgstr "thiếu tên tập tin sau %qs"
 
 #: c-family/c.opt:85 c-family/c.opt:88 c-family/c.opt:91 c-family/c.opt:94
-#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:2203
-#: c-family/c.opt:2223 c-family/c.opt:2227 c-family/c.opt:2231
+#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:2199
+#: c-family/c.opt:2219 c-family/c.opt:2223 c-family/c.opt:2227
 #, gcc-internal-format
 msgid "missing path after %qs"
 msgstr "thiếu đường dẫn sau %qs"
@@ -22128,52 +22218,52 @@ msgstr "thiếu đích makefile sau %qs"
 msgid "argument %qs to %<-Waligned-new%> not recognized"
 msgstr "không nhận ra tham số %qs cho %<-Waligned-new%>"
 
-#: c-family/c.opt:390
+#: c-family/c.opt:386
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qs to %<-Waligned-new%> not recognized"
 msgid "argument %qs to %<-Wbidi-chars%> not recognized"
 msgstr "không nhận ra tham số %qs cho %<-Waligned-new%>"
 
-#: c-family/c.opt:1085
+#: c-family/c.opt:1081
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr "không nhận ra tham số %qs cho %<-Wnormalized%>"
 
-#: c-family/c.opt:1634
+#: c-family/c.opt:1626
 #, gcc-internal-format
 msgid "no class name specified with %qs"
 msgstr "không chỉ định tên lớp với %qs"
 
-#: c-family/c.opt:1757
+#: c-family/c.opt:1753
 #, fuzzy, gcc-internal-format
 #| msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
 msgid "%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by default)"
 msgstr "-fhandle-exceptions được đổi tên thành -fexceptions (và giờ thành mặc định)"
 
-#: c-family/c.opt:1828
+#: c-family/c.opt:1824
 #, fuzzy, gcc-internal-format
 #| msgid "missing number"
 msgid "missing mapper"
 msgstr "thiếu số"
 
-#: c-family/c.opt:1852
+#: c-family/c.opt:1848
 #, fuzzy, gcc-internal-format
 #| msgid "missing number"
 msgid "missing header name"
 msgstr "thiếu số"
 
-#: c-family/c.opt:1860
+#: c-family/c.opt:1856
 #, fuzzy, gcc-internal-format
 #| msgid "missing open paren"
 msgid "missing module name"
 msgstr "thiếu paren mở"
 
-#: c-family/c.opt:1907
+#: c-family/c.opt:1903
 #, gcc-internal-format
 msgid "unrecognized ivar visibility value %qs"
 msgstr "không nhận giá trị khả kiến ivar %qs"
 
-#: c-family/c.opt:2067
+#: c-family/c.opt:2063
 #, gcc-internal-format
 msgid "unrecognized scalar storage order value %qs"
 msgstr "không nhận ra giá trị thứ tự kho vô hướng %qs"
@@ -22271,106 +22361,106 @@ msgstr "%qs đã lạc hậu"
 msgid "unknown linker output %qs"
 msgstr "không hiểu xuất bộ liên kết %qs"
 
-#: common.opt:1563
+#: common.opt:1567
 #, gcc-internal-format
 msgid "unknown excess precision style %qs"
 msgstr "không hiểu kiểu chính xác bị vượt quá %qs"
 
-#: common.opt:1581
+#: common.opt:1585
 #, gcc-internal-format
 msgid "unknown specification for the set of FLT_EVAL_METHOD values to permit %qs"
 msgstr ""
 
-#: common.opt:1625
+#: common.opt:1629
 #, gcc-internal-format
 msgid "unknown floating point contraction style %qs"
 msgstr ""
 
-#: common.opt:1790
+#: common.opt:1794
 #, gcc-internal-format
 msgid "unknown Stack Reuse Level %qs"
 msgstr ""
 
-#: common.opt:1859
+#: common.opt:1863
 #, gcc-internal-format
 msgid "unknown Control-Flow Protection Level %qs"
 msgstr ""
 
-#: common.opt:1965
+#: common.opt:1969
 #, gcc-internal-format
 msgid "unknown IRA algorithm %qs"
 msgstr "không hiểu thuật toán IRA %qs"
 
-#: common.opt:1978
+#: common.opt:1982
 #, gcc-internal-format
 msgid "unknown IRA region %qs"
 msgstr "không hiểu vùng IRA %qs"
 
-#: common.opt:2056
+#: common.opt:2060
 #, gcc-internal-format
 msgid "unknown LTO partitioning model %qs"
 msgstr "không hiểu mô hình phân vùng TLS %qs"
 
-#: common.opt:2162
+#: common.opt:2166
 #, fuzzy, gcc-internal-format
 #| msgid "options or targets missing after %qs"
 msgid "targets missing after %qs"
 msgstr "thiếu tùy chọn hay đích sau %qs"
 
-#: common.opt:2165
+#: common.opt:2169
 #, fuzzy, gcc-internal-format
 #| msgid "options or targets missing after %qs"
 msgid "options or targets=options missing after %qs"
 msgstr "thiếu tùy chọn hay đích sau %qs"
 
-#: common.opt:2173
+#: common.opt:2177
 #, gcc-internal-format
 msgid "unknown offload ABI %qs"
 msgstr "không hiểu ABI offload %qs"
 
-#: common.opt:2315
+#: common.opt:2319
 #, fuzzy, gcc-internal-format
 msgid "unknown profile reproducibility method %qs"
 msgstr "không hiểu mô hình kích thước con trỏ %qs"
 
-#: common.opt:2331
+#: common.opt:2335
 #, fuzzy, gcc-internal-format
 msgid "unknown profile update method %qs"
 msgstr "không hiểu mô hình kích thước con trỏ %qs"
 
-#: common.opt:2437
+#: common.opt:2441
 #, fuzzy, gcc-internal-format
 #| msgid "unknown machine mode %qE"
 msgid "unknown Live-Patching Level %qs"
 msgstr "không hiểu chế độ máy %qE"
 
-#: common.opt:2470
+#: common.opt:2474
 #, gcc-internal-format
 msgid "unknown basic block reordering algorithm %qs"
 msgstr "không hiểu thuật toán xếp lại khối cơ bản %qs"
 
-#: common.opt:2777
+#: common.opt:2781
 #, gcc-internal-format
 msgid "unknown TLS model %qs"
 msgstr "không hiểu mô hình TLS %qs"
 
-#: common.opt:3113
+#: common.opt:3117
 #, gcc-internal-format
 msgid "unknown vectorizer cost model %qs"
 msgstr ""
 
-#: common.opt:3144
+#: common.opt:3148
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized ivar visibility value %qs"
 msgid "unrecognized automatic variable initialization type %qs"
 msgstr "không nhận giá trị khả kiến ivar %qs"
 
-#: common.opt:3170
+#: common.opt:3174
 #, gcc-internal-format
 msgid "unrecognized visibility value %qs"
 msgstr ""
 
-#: common.opt:3189
+#: common.opt:3193
 #, gcc-internal-format
 msgid "unknown vtable verify initialization priority %qs"
 msgstr ""
@@ -22381,19 +22471,19 @@ msgstr ""
 msgid "unknown evrp mode %qs"
 msgstr "không hiểu mô hình TLS %qs"
 
-#: params.opt:893
+#: params.opt:897
 #, fuzzy, gcc-internal-format
 #| msgid "unknown pointer size model %qs"
 msgid "unknown ranger debug mode %qs"
 msgstr "không hiểu mô hình kích thước con trỏ %qs"
 
-#: params.opt:1067
+#: params.opt:1071
 #, fuzzy, gcc-internal-format
 #| msgid "unknown pointer size model %qs"
 msgid "unknown threader debug mode %qs"
 msgstr "không hiểu mô hình kích thước con trỏ %qs"
 
-#: params.opt:1188
+#: params.opt:1196
 #, fuzzy, gcc-internal-format
 #| msgid "unknown TLS model %qs"
 msgid "unknown vrp mode %qs"
@@ -22421,16 +22511,16 @@ msgstr ""
 msgid "ignoring attribute %qE because it conflicts with attribute %qs"
 msgstr "thuộc tính %s của %qs xung đột với thuộc tính %s tại %L"
 
-#: attribs.cc:552 c-family/c-attribs.cc:910 c-family/c-attribs.cc:2408
-#: c-family/c-attribs.cc:2854 c-family/c-attribs.cc:4680
-#: c-family/c-attribs.cc:4773 cp/decl.cc:15499 cp/decl.cc:15549
+#: attribs.cc:552 c-family/c-attribs.cc:912 c-family/c-attribs.cc:2410
+#: c-family/c-attribs.cc:2856 c-family/c-attribs.cc:4682
+#: c-family/c-attribs.cc:4775 cp/decl.cc:15630 cp/decl.cc:15680
 #: cp/friend.cc:316 cp/tree.cc:5093
 #, gcc-internal-format
 msgid "previous declaration here"
 msgstr "khai báo trước ở đây"
 
 #. Warn about and ignore all others for now, but store them.
-#: attribs.cc:714 c-family/c-attribs.cc:3882 objc/objc-act.cc:5133
+#: attribs.cc:714 c-family/c-attribs.cc:3884 objc/objc-act.cc:5133
 #: objc/objc-act.cc:7124 objc/objc-act.cc:8322 objc/objc-act.cc:8378
 #, gcc-internal-format
 msgid "%qE attribute directive ignored"
@@ -22457,7 +22547,7 @@ msgstr "cần %<(%> hoặc xuống dòng"
 msgid "expected between %i and %i, found %i"
 msgstr ""
 
-#: attribs.cc:756 c-family/c-attribs.cc:4546
+#: attribs.cc:756 c-family/c-attribs.cc:4548
 #, gcc-internal-format
 msgid "%qE attribute does not apply to types"
 msgstr ""
@@ -22481,43 +22571,43 @@ msgstr ""
 #. standard attributes.  Diagnose it here with a pedwarn and
 #. then discard it to prevent a duplicate warning later.
 #: attribs.cc:873 attribs.cc:1824 attribs.cc:1834 attribs.cc:1844
-#: c-family/c-attribs.cc:938 c-family/c-attribs.cc:1000
-#: c-family/c-attribs.cc:1019 c-family/c-attribs.cc:1037
-#: c-family/c-attribs.cc:1067 c-family/c-attribs.cc:1088
-#: c-family/c-attribs.cc:1109 c-family/c-attribs.cc:1150
-#: c-family/c-attribs.cc:1181 c-family/c-attribs.cc:1197
-#: c-family/c-attribs.cc:1214 c-family/c-attribs.cc:1230
-#: c-family/c-attribs.cc:1247 c-family/c-attribs.cc:1272
-#: c-family/c-attribs.cc:1288 c-family/c-attribs.cc:1303
-#: c-family/c-attribs.cc:1331 c-family/c-attribs.cc:1348
-#: c-family/c-attribs.cc:1366 c-family/c-attribs.cc:1390
-#: c-family/c-attribs.cc:1428 c-family/c-attribs.cc:1451
-#: c-family/c-attribs.cc:1468 c-family/c-attribs.cc:1497
-#: c-family/c-attribs.cc:1518 c-family/c-attribs.cc:1539
-#: c-family/c-attribs.cc:1566 c-family/c-attribs.cc:1597
-#: c-family/c-attribs.cc:1626 c-family/c-attribs.cc:1680
-#: c-family/c-attribs.cc:1733 c-family/c-attribs.cc:1799
-#: c-family/c-attribs.cc:1857 c-family/c-attribs.cc:1946
-#: c-family/c-attribs.cc:1976 c-family/c-attribs.cc:2027
-#: c-family/c-attribs.cc:2508 c-family/c-attribs.cc:2707
-#: c-family/c-attribs.cc:2768 c-family/c-attribs.cc:3009
-#: c-family/c-attribs.cc:3089 c-family/c-attribs.cc:3241
-#: c-family/c-attribs.cc:3696 c-family/c-attribs.cc:3762
-#: c-family/c-attribs.cc:3798 c-family/c-attribs.cc:3853
-#: c-family/c-attribs.cc:4035 c-family/c-attribs.cc:4056
-#: c-family/c-attribs.cc:4169 c-family/c-attribs.cc:4234
-#: c-family/c-attribs.cc:4437 c-family/c-attribs.cc:4548
-#: c-family/c-attribs.cc:5290 c-family/c-attribs.cc:5313
-#: c-family/c-attribs.cc:5352 c-family/c-attribs.cc:5434
-#: c-family/c-attribs.cc:5495 c-family/c-attribs.cc:5511
-#: c-family/c-attribs.cc:5679 c-family/c-common.cc:6031
-#: c-family/c-common.cc:6034 config/darwin.cc:2141 config/arm/arm.cc:7371
-#: config/arm/arm.cc:7399 config/arm/arm.cc:7416 config/avr/avr.cc:9568
+#: c-family/c-attribs.cc:940 c-family/c-attribs.cc:1002
+#: c-family/c-attribs.cc:1021 c-family/c-attribs.cc:1039
+#: c-family/c-attribs.cc:1069 c-family/c-attribs.cc:1090
+#: c-family/c-attribs.cc:1111 c-family/c-attribs.cc:1152
+#: c-family/c-attribs.cc:1183 c-family/c-attribs.cc:1199
+#: c-family/c-attribs.cc:1216 c-family/c-attribs.cc:1232
+#: c-family/c-attribs.cc:1249 c-family/c-attribs.cc:1274
+#: c-family/c-attribs.cc:1290 c-family/c-attribs.cc:1305
+#: c-family/c-attribs.cc:1333 c-family/c-attribs.cc:1350
+#: c-family/c-attribs.cc:1368 c-family/c-attribs.cc:1392
+#: c-family/c-attribs.cc:1430 c-family/c-attribs.cc:1453
+#: c-family/c-attribs.cc:1470 c-family/c-attribs.cc:1499
+#: c-family/c-attribs.cc:1520 c-family/c-attribs.cc:1541
+#: c-family/c-attribs.cc:1568 c-family/c-attribs.cc:1599
+#: c-family/c-attribs.cc:1628 c-family/c-attribs.cc:1682
+#: c-family/c-attribs.cc:1735 c-family/c-attribs.cc:1801
+#: c-family/c-attribs.cc:1859 c-family/c-attribs.cc:1948
+#: c-family/c-attribs.cc:1978 c-family/c-attribs.cc:2029
+#: c-family/c-attribs.cc:2510 c-family/c-attribs.cc:2709
+#: c-family/c-attribs.cc:2770 c-family/c-attribs.cc:3011
+#: c-family/c-attribs.cc:3091 c-family/c-attribs.cc:3243
+#: c-family/c-attribs.cc:3698 c-family/c-attribs.cc:3764
+#: c-family/c-attribs.cc:3800 c-family/c-attribs.cc:3855
+#: c-family/c-attribs.cc:4037 c-family/c-attribs.cc:4058
+#: c-family/c-attribs.cc:4171 c-family/c-attribs.cc:4236
+#: c-family/c-attribs.cc:4439 c-family/c-attribs.cc:4550
+#: c-family/c-attribs.cc:5292 c-family/c-attribs.cc:5315
+#: c-family/c-attribs.cc:5354 c-family/c-attribs.cc:5436
+#: c-family/c-attribs.cc:5503 c-family/c-attribs.cc:5519
+#: c-family/c-attribs.cc:5687 c-family/c-common.cc:6035
+#: c-family/c-common.cc:6038 config/darwin.cc:2141 config/arm/arm.cc:7412
+#: config/arm/arm.cc:7440 config/arm/arm.cc:7457 config/avr/avr.cc:9568
 #: config/csky/csky.cc:6494 config/csky/csky.cc:6516
 #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992
 #: config/i386/i386-options.cc:3381 config/i386/i386-options.cc:3539
 #: config/i386/i386-options.cc:3771 config/i386/i386-options.cc:3801
-#: config/ia64/ia64.cc:785 config/rs6000/rs6000.cc:20254
+#: config/ia64/ia64.cc:785 config/rs6000/rs6000.cc:20305
 #: ada/gcc-interface/utils.cc:6582 ada/gcc-interface/utils.cc:6598
 #: ada/gcc-interface/utils.cc:6636 ada/gcc-interface/utils.cc:6653
 #: ada/gcc-interface/utils.cc:6670 ada/gcc-interface/utils.cc:6685
@@ -22540,8 +22630,8 @@ msgstr "thuộc tính %qE bị lờ đi"
 msgid "missing %<target%> attribute for multi-versioned %qD"
 msgstr ""
 
-#: attribs.cc:1151 cp/decl.cc:1212 cp/decl.cc:2121 cp/decl.cc:2167
-#: cp/decl.cc:2183 cp/decl.cc:2797 cp/decl.cc:3243
+#: attribs.cc:1151 cp/decl.cc:1212 cp/decl.cc:2172 cp/decl.cc:2218
+#: cp/decl.cc:2234 cp/decl.cc:2853 cp/decl.cc:3299
 #, gcc-internal-format
 msgid "previous declaration of %qD"
 msgstr "khai báo trước đây của %qD"
@@ -22654,7 +22744,7 @@ msgstr "không thể đọc hồ sơ hàm từ %s."
 msgid "offset %qwi outside bounds of constant string"
 msgstr ""
 
-#: builtins.cc:704 gimple-ssa-warn-access.cc:4590 cp/name-lookup.cc:6388
+#: builtins.cc:704 gimple-ssa-warn-access.cc:4595 cp/name-lookup.cc:6414
 #, fuzzy, gcc-internal-format
 #| msgid "%qD declared here"
 msgid "%qE declared here"
@@ -22680,13 +22770,13 @@ msgstr ""
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:3713 gimple-fold.cc:2520 gimple-ssa-warn-access.cc:2541
+#: builtins.cc:3713 gimple-fold.cc:2523 gimple-ssa-warn-access.cc:2541
 #: tree-ssa-strlen.cc:3192
 #, gcc-internal-format
 msgid "%qD specified bound %E equals destination size"
 msgstr ""
 
-#: builtins.cc:4818 gimplify.cc:3513
+#: builtins.cc:4818 gimplify.cc:3600
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr ""
@@ -22832,17 +22922,17 @@ msgstr "đối số %d của %qE phải là một địa chỉ"
 msgid "last argument of %qD is not integer constant between 0 and 3"
 msgstr "đối số %qd không phải hằng số"
 
-#: calls.cc:1232
+#: calls.cc:1233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "cannot tail-call: %s"
 msgstr "[không tìm thấy %s]"
 
-#: calls.cc:2728
+#: calls.cc:2729
 #, gcc-internal-format
 msgid "function call has aggregate value"
 msgstr "cú gọi hàm có giá trị tập hợp"
 
-#: calls.cc:3449
+#: calls.cc:3451
 #, gcc-internal-format
 msgid "passing too large argument on stack"
 msgstr "chuyển đối số quá lớn cho ngăn xếp"
@@ -22933,38 +23023,38 @@ msgstr ""
 msgid "invalid hard register usage between earlyclobber operand and input operand"
 msgstr ""
 
-#: cfgexpand.cc:3309
+#: cfgexpand.cc:3314
 #, gcc-internal-format, gfc-internal-format
 msgid "output number %d not directly addressable"
 msgstr ""
 
-#: cfgexpand.cc:3405
+#: cfgexpand.cc:3410
 #, gcc-internal-format
 msgid "%<asm%> operand %d probably does not match constraints"
 msgstr ""
 
-#: cfgexpand.cc:3590
+#: cfgexpand.cc:3595
 #, gcc-internal-format
 msgid "%<asm%> clobber conflict with output operand"
 msgstr ""
 
-#: cfgexpand.cc:3595
+#: cfgexpand.cc:3600
 #, fuzzy, gcc-internal-format
 #| msgid "%<%%%> constraint used with last operand"
 msgid "%<asm%> clobber conflict with input operand"
 msgstr "%<%%%> hằng được dùng với toán hạng cuối"
 
-#: cfgexpand.cc:6648
+#: cfgexpand.cc:6659
 #, gcc-internal-format
 msgid "stack protector not protecting local variables: variable length buffer"
 msgstr ""
 
-#: cfgexpand.cc:6652
+#: cfgexpand.cc:6663
 #, gcc-internal-format, gfc-internal-format
 msgid "stack protector not protecting function: all local arrays are less than %d bytes long"
 msgstr ""
 
-#: cfgexpand.cc:6941
+#: cfgexpand.cc:6952
 #, gcc-internal-format
 msgid "patchable function entry %wu exceeds size %wu"
 msgstr ""
@@ -23160,147 +23250,152 @@ msgstr "%s không hỗ trợ block_ends_with_condjump_p"
 msgid "%s does not support flow_call_edges_add"
 msgstr "%s không hỗ trợ flow_call_edges_add"
 
-#: cfgloop.cc:1409
+#: cfgloop.cc:1411
 #, gcc-internal-format
 msgid "loop verification on loop tree that needs fixup"
 msgstr ""
 
-#: cfgloop.cc:1425
+#: cfgloop.cc:1427
 #, gcc-internal-format
 msgid "corrupt loop tree root"
 msgstr "gốc cây loop bị hỏng"
 
-#: cfgloop.cc:1435
+#: cfgloop.cc:1437
 #, gcc-internal-format, gfc-internal-format
 msgid "loop with header %d marked for removal"
 msgstr ""
 
-#: cfgloop.cc:1440
+#: cfgloop.cc:1442
 #, gcc-internal-format, gfc-internal-format
 msgid "loop with header %d not in loop tree"
 msgstr ""
 
-#: cfgloop.cc:1446
+#: cfgloop.cc:1448
 #, gcc-internal-format, gfc-internal-format
 msgid "non-loop with header %d not marked for removal"
 msgstr ""
 
-#: cfgloop.cc:1460
+#: cfgloop.cc:1462
 #, gcc-internal-format, gfc-internal-format
 msgid "removed loop %d in loop tree"
 msgstr ""
 
-#: cfgloop.cc:1468
+#: cfgloop.cc:1470
 #, gcc-internal-format, gfc-internal-format
 msgid "size of loop %d should be %d, not %d"
 msgstr "kích thước của vòng lặp %d nên là %d, không phải %d"
 
-#: cfgloop.cc:1479
+#: cfgloop.cc:1481
 #, gcc-internal-format, gfc-internal-format
 msgid "bb %d does not belong to loop %d"
 msgstr "bb %d không thuộc về vòng lặp %d"
 
-#: cfgloop.cc:1491
+#: cfgloop.cc:1493
 #, gcc-internal-format, gfc-internal-format
 msgid "bb %d has father loop %d, should be loop %d"
 msgstr ""
 
-#: cfgloop.cc:1507
+#: cfgloop.cc:1509
 #, gcc-internal-format
 msgid "loop %d%'s header is not a loop header"
 msgstr ""
 
-#: cfgloop.cc:1513
+#: cfgloop.cc:1515
 #, gcc-internal-format
 msgid "loop %d%'s header does not have exactly 2 entries"
 msgstr ""
 
-#: cfgloop.cc:1520
+#: cfgloop.cc:1522
 #, gcc-internal-format
 msgid "loop %d%'s latch does not have an edge to its header"
 msgstr ""
 
-#: cfgloop.cc:1525
+#: cfgloop.cc:1527
 #, gcc-internal-format
 msgid "loop %d%'s latch is not dominated by its header"
 msgstr ""
 
-#: cfgloop.cc:1533
+#: cfgloop.cc:1535
 #, gcc-internal-format
 msgid "loop %d%'s latch does not have exactly 1 successor"
 msgstr ""
 
-#: cfgloop.cc:1538
+#: cfgloop.cc:1540
 #, gcc-internal-format
 msgid "loop %d%'s latch does not have header as successor"
 msgstr ""
 
-#: cfgloop.cc:1543
+#: cfgloop.cc:1545
 #, gcc-internal-format
 msgid "loop %d%'s latch does not belong directly to it"
 msgstr ""
 
-#: cfgloop.cc:1549
+#: cfgloop.cc:1551
 #, gcc-internal-format
 msgid "loop %d%'s header does not belong directly to it"
 msgstr ""
 
-#: cfgloop.cc:1559
+#: cfgloop.cc:1561
 #, gcc-internal-format
 msgid "loop %d%'s latch is marked as part of irreducible region"
 msgstr ""
 
-#: cfgloop.cc:1593
+#: cfgloop.cc:1573
+#, gcc-internal-format
+msgid "loop %d%'s number of iterations %qE references the released SSA name %qE"
+msgstr ""
+
+#: cfgloop.cc:1606
 #, gcc-internal-format, gfc-internal-format
 msgid "basic block %d should be marked irreducible"
 msgstr ""
 
-#: cfgloop.cc:1599
+#: cfgloop.cc:1612
 #, gcc-internal-format, gfc-internal-format
 msgid "basic block %d should not be marked irreducible"
 msgstr ""
 
-#: cfgloop.cc:1608
+#: cfgloop.cc:1621
 #, gcc-internal-format, gfc-internal-format
 msgid "edge from %d to %d should be marked irreducible"
 msgstr ""
 
-#: cfgloop.cc:1615
+#: cfgloop.cc:1628
 #, gcc-internal-format, gfc-internal-format
 msgid "edge from %d to %d should not be marked irreducible"
 msgstr ""
 
-#: cfgloop.cc:1629
+#: cfgloop.cc:1642
 #, gcc-internal-format, gfc-internal-format
 msgid "corrupted head of the exits list of loop %d"
 msgstr ""
 
-#: cfgloop.cc:1647
+#: cfgloop.cc:1660
 #, gcc-internal-format, gfc-internal-format
 msgid "corrupted exits list of loop %d"
 msgstr ""
 
-#: cfgloop.cc:1656
+#: cfgloop.cc:1669
 #, gcc-internal-format, gfc-internal-format
 msgid "nonempty exits list of loop %d, but exits are not recorded"
 msgstr ""
 
-#: cfgloop.cc:1683
+#: cfgloop.cc:1696
 #, gcc-internal-format, gfc-internal-format
 msgid "exit %d->%d not recorded"
 msgstr "thoát khỏi %d->%d không được ghi lại"
 
-#: cfgloop.cc:1706
+#: cfgloop.cc:1719
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong list of exited loops for edge %d->%d"
 msgstr ""
 
-#: cfgloop.cc:1715
+#: cfgloop.cc:1728
 #, gcc-internal-format
 msgid "too many loop exits recorded"
 msgstr ""
 
-#: cfgloop.cc:1726
+#: cfgloop.cc:1739
 #, gcc-internal-format, gfc-internal-format
 msgid "%d exits recorded for loop %d (having %d exits)"
 msgstr ""
@@ -24489,7 +24584,7 @@ msgstr ""
 msgid "%<lp_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3518 tree.cc:13835 value-prof.cc:537
+#: except.cc:3518 tree.cc:13878 value-prof.cc:537
 #, fuzzy, gcc-internal-format
 #| msgid "open %s failed: %s"
 msgid "%qs failed"
@@ -24562,42 +24657,42 @@ msgstr ""
 msgid "large fixed-point constant implicitly truncated to fixed-point type"
 msgstr ""
 
-#: fold-const.cc:4663 fold-const.cc:4673
+#: fold-const.cc:4666 fold-const.cc:4676
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d due to width of bit-field"
 msgstr ""
 
-#: fold-const.cc:6026 tree-ssa-reassoc.cc:2855 tree-ssa-reassoc.cc:3909
+#: fold-const.cc:6029 tree-ssa-reassoc.cc:2855 tree-ssa-reassoc.cc:3909
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying range test"
 msgstr ""
 
-#: fold-const.cc:6490 fold-const.cc:6506
+#: fold-const.cc:6493 fold-const.cc:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d"
 msgstr "so sánh luôn là %d"
 
-#: fold-const.cc:6654
+#: fold-const.cc:6657
 #, gcc-internal-format
 msgid "%<or%> of unmatched not-equal tests is always 1"
 msgstr ""
 
-#: fold-const.cc:6659
+#: fold-const.cc:6662
 #, gcc-internal-format
 msgid "%<and%> of mutually exclusive equal-tests is always 0"
 msgstr ""
 
-#: fold-const.cc:9872
+#: fold-const.cc:9879
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when reducing constant in comparison"
 msgstr ""
 
-#: fold-const.cc:10279
+#: fold-const.cc:10286
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when combining constants around a comparison"
 msgstr ""
 
-#: fold-const.cc:13544
+#: fold-const.cc:13551
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
 msgstr ""
@@ -24612,7 +24707,7 @@ msgstr ""
 msgid "total size of local objects exceeds maximum %wu"
 msgstr ""
 
-#: function.cc:1788 gimplify.cc:6474 gimplify.cc:6636
+#: function.cc:1788 gimplify.cc:6599 gimplify.cc:6761
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
@@ -25191,7 +25286,7 @@ msgstr "can%'t ghi tập tin PCH: %m"
 msgid "cannot write PCH file: required memory segment unavailable"
 msgstr ""
 
-#: ggc-common.cc:562
+#: ggc-common.cc:562 config/i386/host-cygwin.cc:57
 #, fuzzy, gcc-internal-format
 #| msgid "can%'t get position in PCH file: %m"
 msgid "cannot get position in PCH file: %m"
@@ -25309,48 +25404,48 @@ msgstr "chỉ số mảng nhỏ hơn cận dưới"
 msgid "array subscript %wu is above array bounds of %qT"
 msgstr "chỉ số mảng lớn hơn cận trên"
 
-#: gimple-fold.cc:2076 gimple-fold.cc:3127 gimple-ssa-warn-restrict.cc:2073
+#: gimple-fold.cc:2079 gimple-fold.cc:3130 gimple-ssa-warn-restrict.cc:2073
 #, gcc-internal-format
 msgid "%qD source argument is the same as destination"
 msgstr ""
 
-#: gimple-fold.cc:2142
+#: gimple-fold.cc:2145
 #, gcc-internal-format
 msgid "%qD destination unchanged after copying no bytes from a string of length %E"
 msgstr ""
 
-#: gimple-fold.cc:2147
+#: gimple-fold.cc:2150
 #, gcc-internal-format
 msgid "%qD destination unchanged after copying no bytes"
 msgstr ""
 
-#: gimple-fold.cc:2522 gimple-ssa-warn-access.cc:856
+#: gimple-fold.cc:2525 gimple-ssa-warn-access.cc:856
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-fold.cc:2541
+#: gimple-fold.cc:2544
 #, gcc-internal-format
 msgid "%qD specified bound %E equals source length"
 msgstr ""
 
-#: gimple-fold.cc:4529 gimple-fold.cc:4733
+#: gimple-fold.cc:4542 gimple-fold.cc:4746
 #, gcc-internal-format
 msgid "flexible array member %qD does not have well defined padding bits for %qs"
 msgstr ""
 
-#: gimple-fold.cc:4682 cp/constexpr.cc:4357
+#: gimple-fold.cc:4695 cp/constexpr.cc:4357
 #, gcc-internal-format
 msgid "PDP11 bit-field handling unsupported in %qs"
 msgstr ""
 
-#: gimple-fold.cc:4909
+#: gimple-fold.cc:4922
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ISO C++ does not support variable-length array types"
 msgid "%s not supported for variable length aggregates"
 msgstr "ISO C++ không hỗ trợ các kiểu mảng có độ dài không cố định"
 
-#: gimple-fold.cc:4915
+#: gimple-fold.cc:4928
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SPE not supported in this target"
 msgid "%s not supported on this target"
@@ -25371,21 +25466,21 @@ msgstr ""
 msgid "function may return address of local variable"
 msgstr "hàm có thể trả về địa chỉ của biến cục bộ"
 
-#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:10987
+#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:10989
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "hàm trả về địa chỉ của biến cục bộ"
 
 #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2028
-#: gimple-ssa-warn-access.cc:3693 tree.cc:12074 tree.cc:12111 tree.cc:12152
-#: tree.cc:12185 c/c-typeck.cc:2991 c/c-typeck.cc:3084 c/c-typeck.cc:5634
-#: c/c-typeck.cc:10893 c/c-typeck.cc:10910 c/gimple-parser.cc:2446
-#: c/gimple-parser.cc:2454 cp/call.cc:7595 cp/call.cc:9669 cp/constexpr.cc:853
-#: cp/constexpr.cc:3814 cp/cvt.cc:1075 cp/cvt.cc:1113 cp/decl.cc:8493
-#: cp/decl.cc:15701 cp/decl.cc:16068 cp/decl2.cc:5788 cp/decl2.cc:5843
-#: cp/parser.cc:21698 cp/pt.cc:8935 cp/semantics.cc:2149 cp/semantics.cc:3459
-#: cp/semantics.cc:4556 cp/typeck.cc:1984 cp/typeck.cc:2201 cp/typeck.cc:4332
-#: cp/typeck.cc:10175
+#: gimple-ssa-warn-access.cc:3693 tree.cc:12117 tree.cc:12154 tree.cc:12195
+#: tree.cc:12228 c/c-typeck.cc:2991 c/c-typeck.cc:3084 c/c-typeck.cc:5634
+#: c/c-typeck.cc:10895 c/c-typeck.cc:10912 c/gimple-parser.cc:2468
+#: c/gimple-parser.cc:2476 cp/call.cc:7606 cp/call.cc:9681 cp/constexpr.cc:853
+#: cp/constexpr.cc:3814 cp/cvt.cc:1075 cp/cvt.cc:1113 cp/decl.cc:8620
+#: cp/decl.cc:15832 cp/decl.cc:16199 cp/decl2.cc:5818 cp/decl2.cc:5873
+#: cp/parser.cc:21696 cp/pt.cc:8956 cp/semantics.cc:2149 cp/semantics.cc:3464
+#: cp/semantics.cc:4547 cp/typeck.cc:1991 cp/typeck.cc:2210 cp/typeck.cc:4341
+#: cp/typeck.cc:10189
 #, gcc-internal-format
 msgid "declared here"
 msgstr "được khai báo ở đây"
@@ -26454,111 +26549,111 @@ msgstr "%qD không phải là hàm thành viên mẫu"
 msgid "%qD called on pointer to an unallocated object"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3915
+#: gimple-ssa-warn-access.cc:3910
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "pointer %qE may be used after %qD"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: gimple-ssa-warn-access.cc:3916
+#: gimple-ssa-warn-access.cc:3911
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "pointer %qE used after %qD"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: gimple-ssa-warn-access.cc:3920
+#: gimple-ssa-warn-access.cc:3915
 #, gcc-internal-format
 msgid "pointer may be used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3921
+#: gimple-ssa-warn-access.cc:3916
 #, fuzzy, gcc-internal-format
 #| msgid "unused parameter %qD"
 msgid "pointer used after %qD"
 msgstr "tham số chưa dùng %q+D"
 
-#: gimple-ssa-warn-access.cc:3925
+#: gimple-ssa-warn-access.cc:3920
 #, fuzzy, gcc-internal-format
 msgid "call to %qD here"
 msgstr "%qD được khai báo ở đây"
 
-#: gimple-ssa-warn-access.cc:3940
+#: gimple-ssa-warn-access.cc:3935
 #, gcc-internal-format
 msgid "dangling pointer %qE to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3941
+#: gimple-ssa-warn-access.cc:3936
 #, fuzzy, gcc-internal-format
 #| msgid "invalid pointer mode %qs"
 msgid "using dangling pointer %qE to %qD"
 msgstr "chế độ con trỏ %qs không hợp lệ"
 
-#: gimple-ssa-warn-access.cc:3946
+#: gimple-ssa-warn-access.cc:3941
 #, gcc-internal-format
 msgid "dangling pointer to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3947
+#: gimple-ssa-warn-access.cc:3942
 #, fuzzy, gcc-internal-format
 #| msgid "invalid pointer mode %qs"
 msgid "using a dangling pointer to %qD"
 msgstr "chế độ con trỏ %qs không hợp lệ"
 
-#: gimple-ssa-warn-access.cc:3950 gimple-ssa-warn-access.cc:4582
+#: gimple-ssa-warn-access.cc:3945 gimple-ssa-warn-access.cc:4587
 #: gimple-ssa-warn-restrict.cc:1823 tree-ssa-uninit.cc:900
 #: tree-ssa-uninit.cc:1066 c/c-decl.cc:3893 c/c-decl.cc:4166
-#: c/c-typeck.cc:8985 c/c-typeck.cc:11694 cp/class.cc:1459 cp/class.cc:3243
-#: cp/constexpr.cc:1012 cp/decl.cc:4224 cp/decl.cc:12214 cp/decl.cc:12697
-#: cp/decl.cc:12706 cp/friend.cc:404 cp/friend.cc:414 cp/init.cc:2878
-#: cp/parser.cc:3488 cp/parser.cc:3634 cp/parser.cc:3685 cp/parser.cc:6884
-#: cp/parser.cc:24228 cp/typeck.cc:4768
+#: c/c-typeck.cc:8987 c/c-typeck.cc:11696 cp/class.cc:1492 cp/class.cc:3276
+#: cp/constexpr.cc:1012 cp/decl.cc:4290 cp/decl.cc:12341 cp/decl.cc:12824
+#: cp/decl.cc:12833 cp/friend.cc:404 cp/friend.cc:414 cp/init.cc:2888
+#: cp/parser.cc:3488 cp/parser.cc:3634 cp/parser.cc:3685 cp/parser.cc:6882
+#: cp/parser.cc:24226 cp/typeck.cc:4777
 #, gcc-internal-format
 msgid "%qD declared here"
 msgstr "%qD được khai báo ở đây"
 
-#: gimple-ssa-warn-access.cc:3958
+#: gimple-ssa-warn-access.cc:3953
 #, gcc-internal-format
 msgid "dangling pointer %qE to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3960
+#: gimple-ssa-warn-access.cc:3955
 #, gcc-internal-format
 msgid "using dangling pointer %qE to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3966
+#: gimple-ssa-warn-access.cc:3961
 #, gcc-internal-format
 msgid "dangling pointer to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3968
+#: gimple-ssa-warn-access.cc:3963
 #, gcc-internal-format
 msgid "using a dangling pointer to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3972
+#: gimple-ssa-warn-access.cc:3967
 #, fuzzy, gcc-internal-format
 #| msgid "unnamed class defined here"
 msgid "unnamed temporary defined here"
 msgstr "union được định nghĩa ở đây"
 
-#: gimple-ssa-warn-access.cc:4062
+#: gimple-ssa-warn-access.cc:4057
 #, fuzzy, gcc-internal-format
 msgid "%qD called on pointer %qE passed to mismatched allocation function %qD"
 msgstr "gọi hàm nội bộ"
 
-#: gimple-ssa-warn-access.cc:4067
+#: gimple-ssa-warn-access.cc:4062
 #, fuzzy, gcc-internal-format
 msgid "%qD called on a pointer passed to mismatched reallocation function %qD"
 msgstr "gọi hàm nội bộ"
 
-#: gimple-ssa-warn-access.cc:4073
+#: gimple-ssa-warn-access.cc:4068
 #, fuzzy, gcc-internal-format
 #| msgid "  in call to %qD"
 msgid "call to %qD"
 msgstr "  trong gọi đến %qD"
 
-#: gimple-ssa-warn-access.cc:4578
+#: gimple-ssa-warn-access.cc:4581
 #, fuzzy, gcc-internal-format
 #| msgid "address of local variable %qD returned"
 msgid "storing the address of local variable %qD in %qE"
@@ -26819,12 +26914,12 @@ msgstr ""
 msgid "bytecode stream: unknown GIMPLE statement tag %s"
 msgstr ""
 
-#: gimple-warn-recursion.cc:183
+#: gimple-warn-recursion.cc:195
 #, gcc-internal-format
 msgid "infinite recursion detected"
 msgstr ""
 
-#: gimple-warn-recursion.cc:190
+#: gimple-warn-recursion.cc:202
 #, fuzzy, gcc-internal-format
 #| msgid "recursive inlining"
 msgid "recursive call"
@@ -26835,364 +26930,369 @@ msgstr "chèn vào trực tiếp một cách đệ quy"
 msgid "gimple check: expected %s(%s), have %s(%s) in %s, at %s:%d"
 msgstr ""
 
-#: gimplify.cc:2108
+#: gimplify.cc:2068
 #, fuzzy, gcc-internal-format
 msgid "statement will never be executed"
 msgstr "câu lệnh không có tác dụng"
 
-#: gimplify.cc:2447 gimplify.cc:2455
+#: gimplify.cc:2132
+#, gcc-internal-format
+msgid "%qs cannot be initialized with%<-ftrivial-auto-var_init%>"
+msgstr ""
+
+#: gimplify.cc:2524 gimplify.cc:2532
 #, gcc-internal-format
 msgid "this statement may fall through"
 msgstr ""
 
-#: gimplify.cc:2457
+#: gimplify.cc:2534
 #, gcc-internal-format
 msgid "here"
 msgstr ""
 
 #. We've found [[fallthrough]]; at the end of a switch, which the C++
 #. standard says is ill-formed; see [dcl.attr.fallthrough].
-#: gimplify.cc:2569 gimplify.cc:2592
+#: gimplify.cc:2646 gimplify.cc:2669
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> not preceding a case label or default label"
 msgstr ""
 
-#: gimplify.cc:3680
+#: gimplify.cc:3767
 #, gcc-internal-format
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.cc:6475
+#: gimplify.cc:6600
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory output %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6490
+#: gimplify.cc:6615
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of asm flag output"
 msgid "invalid lvalue in %<asm%> output %d"
 msgstr "sử dụng kết xuất cờ asm sai"
 
-#: gimplify.cc:6637
+#: gimplify.cc:6762
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6677 gimplify.cc:6687
+#: gimplify.cc:6802 gimplify.cc:6812
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.cc:7304
+#: gimplify.cc:7427
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: gimplify.cc:7306
+#: gimplify.cc:7429
 #, fuzzy, gcc-internal-format
 #| msgid "enclosing %s"
 msgid "enclosing region"
 msgstr "bao quanh %s"
 
-#: gimplify.cc:7310
+#: gimplify.cc:7433
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in target region"
 msgstr ""
 
-#: gimplify.cc:7312
+#: gimplify.cc:7435
 #, gcc-internal-format
 msgid "enclosing target region"
 msgstr ""
 
-#: gimplify.cc:7325
+#: gimplify.cc:7448
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.cc:7327
+#: gimplify.cc:7450
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.cc:7424
+#: gimplify.cc:7547
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D not declared in class"
 msgid "%qE not specified in enclosing %qs"
 msgstr "%q#D chưa được khai báo trong lớp"
 
-#: gimplify.cc:7426
+#: gimplify.cc:7549
 #, fuzzy, gcc-internal-format
 #| msgid "enclosing %s"
 msgid "enclosing %qs"
 msgstr "bao quanh %s"
 
-#: gimplify.cc:7569
+#: gimplify.cc:7692
 #, gcc-internal-format
 msgid "%qE not specified in enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:7571
+#: gimplify.cc:7694
 #, gcc-internal-format
 msgid "enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:7632
+#: gimplify.cc:7755
 #, gcc-internal-format
 msgid "%qE with %<link%> clause used in %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7640
+#: gimplify.cc:7763
 #, gcc-internal-format
 msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7709
+#: gimplify.cc:7832
 #, fuzzy, gcc-internal-format
 #| msgid "SPE not supported in this target"
 msgid "%qE not specified in enclosing %<target%>"
 msgstr "SPE không được hỗ trợ ở đích này"
 
-#: gimplify.cc:7711
+#: gimplify.cc:7834
 #, fuzzy, gcc-internal-format
 #| msgid "enclosing %s"
 msgid "enclosing %<target%>"
 msgstr "bao quanh %s"
 
-#: gimplify.cc:7741 gimplify.cc:9442
+#: gimplify.cc:7864 gimplify.cc:9565
 #, gcc-internal-format
 msgid "variable %qE declared in enclosing %<host_data%> region"
 msgstr ""
 
-#: gimplify.cc:7762
+#: gimplify.cc:7885
 #, gcc-internal-format
 msgid "%qD referenced in target region does not have a mappable type"
 msgstr ""
 
-#: gimplify.cc:7893
+#: gimplify.cc:8016
 #, gcc-internal-format
 msgid "iteration variable %qE is predetermined linear"
 msgstr ""
 
-#: gimplify.cc:7896
+#: gimplify.cc:8019
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.cc:7910
+#: gimplify.cc:8033
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.cc:7913
+#: gimplify.cc:8036
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.cc:7916
+#: gimplify.cc:8039
 #, gcc-internal-format
 msgid "iteration variable %qE should not be linear"
 msgstr ""
 
-#: gimplify.cc:9103 gimplify.cc:9109
+#: gimplify.cc:9226 gimplify.cc:9232
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:9126
+#: gimplify.cc:9249
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in clause %<lastprivate%>"
 msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
 msgstr "%qD không phải một biến trong mệnh đề %<lastprivate%>"
 
-#: gimplify.cc:9148
+#: gimplify.cc:9271
 #, gcc-internal-format
 msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
 msgstr ""
 
-#: gimplify.cc:9156
+#: gimplify.cc:9279
 #, gcc-internal-format
 msgid "invalid %<task%> reduction modifier on construct other than %<parallel%>, %qs, %<sections%> or %<scope%>"
 msgstr ""
 
-#: gimplify.cc:9167 gimplify.cc:9173 gimplify.cc:9179 gimplify.cc:9185
-#: gimplify.cc:9191 gimplify.cc:13522
+#: gimplify.cc:9290 gimplify.cc:9296 gimplify.cc:9302 gimplify.cc:9308
+#: gimplify.cc:9314 gimplify.cc:13647
 #, fuzzy, gcc-internal-format
 #| msgid "%qD in %<reduction%> clause is a zero size array"
 msgid "%<inscan%> %<reduction%> clause on %qs construct"
 msgstr "%qD trong mệnh đề %<reduction%> là một mạng cỡ không"
 
-#: gimplify.cc:9285
+#: gimplify.cc:9408
 #, gcc-internal-format
 msgid "%<linear%> clause for variable other than loop iterator specified on construct combined with %<distribute%>"
 msgstr ""
 
-#: gimplify.cc:9638
+#: gimplify.cc:9761
 #, gcc-internal-format
 msgid "mapping field %qE of variable length structure"
 msgstr ""
 
-#: gimplify.cc:9908
+#: gimplify.cc:10031
 #, gcc-internal-format
 msgid "%qE appears more than once in map clauses"
 msgstr ""
 
-#: gimplify.cc:10424
+#: gimplify.cc:10547
 #, gcc-internal-format
 msgid "copyprivate variable %qE is not threadprivate or private in outer context"
 msgstr ""
 
-#: gimplify.cc:10481
+#: gimplify.cc:10604
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.cc:10513
+#: gimplify.cc:10636
 #, gcc-internal-format
 msgid "expected %qs %<if%> clause modifier rather than %qs"
 msgstr ""
 
-#: gimplify.cc:10551
+#: gimplify.cc:10674
 #, gcc-internal-format
 msgid "%<device%> clause with %<ancestor%> is only allowed on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:10567
+#: gimplify.cc:10690
 #, gcc-internal-format
 msgid "with %<ancestor%>, only the %<device%>, %<firstprivate%>, %<private%>, %<defaultmap%>, and %<map%> clauses may appear on the construct"
 msgstr ""
 
-#: gimplify.cc:10779
+#: gimplify.cc:10902
 #, gcc-internal-format
 msgid "%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on the containing construct"
 msgstr ""
 
-#: gimplify.cc:10993
+#: gimplify.cc:11116
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in implicit %<map%> clause"
 msgstr ""
 
-#: gimplify.cc:11047
+#: gimplify.cc:11170
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:11304
+#: gimplify.cc:11427
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:11377
+#: gimplify.cc:11500
 #, gcc-internal-format
 msgid "same variable used in %<firstprivate%> and %<lastprivate%> clauses on %<distribute%> construct"
 msgstr ""
 
-#: gimplify.cc:11478
+#: gimplify.cc:11601
 #, gcc-internal-format
 msgid "incompatible data clause with reduction on %qE; promoting to %<present_or_copy%>"
 msgstr ""
 
-#: gimplify.cc:11627
+#: gimplify.cc:11750
 #, gcc-internal-format
 msgid "%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> directive clause"
 msgstr ""
 
-#: gimplify.cc:11646
+#: gimplify.cc:11769
 #, gcc-internal-format
 msgid "invalid private reduction on %qE"
 msgstr ""
 
-#: gimplify.cc:11796
+#: gimplify.cc:11919
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause used together with %<linear%> clause for a variable other than loop iterator"
 msgstr ""
 
-#: gimplify.cc:12130
+#: gimplify.cc:12253
 #, gcc-internal-format
 msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
 msgstr ""
 
-#: gimplify.cc:12389 gimplify.cc:12393 gimplify.cc:12402
+#: gimplify.cc:12512 gimplify.cc:12516 gimplify.cc:12525
 #, gcc-internal-format
 msgid "%qs clause may not appear on non-rectangular %qs"
 msgstr ""
 
-#: gimplify.cc:12621
+#: gimplify.cc:12744
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate instance variable %q+D"
 msgid "threadprivate iteration variable %qD"
 msgstr "trùng biến minh dụ %q+D"
 
-#: gimplify.cc:12652 gimplify.cc:12760
+#: gimplify.cc:12775 gimplify.cc:12883
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
 msgstr ""
 
-#: gimplify.cc:13460
+#: gimplify.cc:13585
 #, gcc-internal-format
 msgid "%<bind%> clause not specified on a %<loop%> construct not nested inside another OpenMP construct"
 msgstr ""
 
-#: gimplify.cc:13484
+#: gimplify.cc:13609
 #, gcc-internal-format
 msgid "%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
 msgstr ""
 
-#: gimplify.cc:13504
+#: gimplify.cc:13629
 #, gcc-internal-format
 msgid "%<bind(teams)%> on a %<loop%> region not strictly nested inside of a %<teams%> region"
 msgstr ""
 
-#: gimplify.cc:13529
+#: gimplify.cc:13654
 #, gcc-internal-format
 msgid "invalid %<task%> reduction modifier on construct other than %<parallel%>, %qs or %<sections%>"
 msgstr ""
 
-#: gimplify.cc:13557
+#: gimplify.cc:13682
 #, gcc-internal-format
 msgid "%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD which is not the loop iterator"
 msgstr ""
 
-#: gimplify.cc:14639 omp-low.cc:3628
+#: gimplify.cc:14764 omp-low.cc:3654
 #, gcc-internal-format
 msgid "%<ordered%> construct with %<depend%> clause must be closely nested inside a loop with %<ordered%> clause with a parameter"
 msgstr ""
 
-#: gimplify.cc:14657
+#: gimplify.cc:14782
 #, gcc-internal-format
 msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
 msgstr ""
 
-#: gimplify.cc:14670
+#: gimplify.cc:14795
 #, gcc-internal-format
 msgid "number of variables in %<depend%> clause with %<sink%> modifier does not match number of iteration variables"
 msgstr ""
 
-#: gimplify.cc:14683
+#: gimplify.cc:14808
 #, gcc-internal-format
 msgid "more than one %<depend%> clause with %<source%> modifier on an %<ordered%> construct"
 msgstr ""
 
-#: gimplify.cc:14694
+#: gimplify.cc:14819
 #, gcc-internal-format
 msgid "%<depend%> clause with %<source%> modifier specified together with %<depend%> clauses with %<sink%> modifier on the same construct"
 msgstr ""
 
-#: gimplify.cc:15986
+#: gimplify.cc:16122
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification gặp lỗi"
 
-#: gimplify.cc:16514
+#: gimplify.cc:16650
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr ""
 
-#: gimplify.cc:16519
+#: gimplify.cc:16655
 #, gcc-internal-format
 msgid "(so you should pass %qT not %qT to %<va_arg%>)"
 msgstr ""
 
-#: gimplify.cc:16526
+#: gimplify.cc:16662
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr ""
@@ -27593,7 +27693,7 @@ msgstr ""
 msgid "IPA modref summary is missing in input file"
 msgstr ""
 
-#: ipa-prop.cc:4764 ipa-prop.cc:4806 ipa-prop.cc:4890 ipa-prop.cc:4938
+#: ipa-prop.cc:4774 ipa-prop.cc:4816 ipa-prop.cc:4902 ipa-prop.cc:4950
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function in gimple call"
 msgid "invalid jump function in LTO stream"
@@ -27679,17 +27779,17 @@ msgstr ""
 msgid "maximum number of LRA assignment passes is achieved (%d)"
 msgstr "số tối đa các tham số trong một SCoP."
 
-#: lra-assigns.cc:1821 reload1.cc:1242
+#: lra-assigns.cc:1855 reload1.cc:1242
 #, gcc-internal-format
 msgid "%<asm%> operand has impossible constraints"
 msgstr ""
 
-#: lra-assigns.cc:1836
+#: lra-assigns.cc:1870
 #, gcc-internal-format
 msgid "unable to find a register to spill"
 msgstr ""
 
-#: lra-constraints.cc:4170 reload.cc:3842 reload.cc:4097
+#: lra-constraints.cc:4170 reload.cc:3845 reload.cc:4100
 #, gcc-internal-format
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr ""
@@ -27987,34 +28087,34 @@ msgstr "CPU đích không hỗ trợ truy cập chưa cân chỉnh"
 msgid "default %<target_clones%> attribute was not set"
 msgstr "chưa đặt đích mặc định"
 
-#: multiple_target.cc:351
+#: multiple_target.cc:327 c-family/c-attribs.cc:5494
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute ignored"
 msgid "single %<target_clones%> attribute is ignored"
 msgstr "thuộc tính %qs bị bỏ qua"
 
-#: multiple_target.cc:360
+#: multiple_target.cc:336
 #, gcc-internal-format
 msgid "clones for %<target_clones%> attribute cannot be created"
 msgstr ""
 
-#: multiple_target.cc:363
+#: multiple_target.cc:339
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it has %<noclone%> attribute"
 msgstr ""
 
-#: multiple_target.cc:384
+#: multiple_target.cc:360
 #, fuzzy, gcc-internal-format
 #| msgid "default target was not set"
 msgid "%<default%> target was not set"
 msgstr "chưa đặt đích mặc định"
 
-#: multiple_target.cc:388
+#: multiple_target.cc:364
 #, gcc-internal-format
 msgid "an empty string cannot be in %<target_clones%> attribute"
 msgstr ""
 
-#: multiple_target.cc:392
+#: multiple_target.cc:368
 #, fuzzy, gcc-internal-format
 #| msgid "default target was not set"
 msgid "multiple %<default%> targets were set"
@@ -28110,275 +28210,275 @@ msgstr "switch bắt đầu ở đây"
 msgid "... without %qs clause near to here"
 msgstr ""
 
-#: omp-low.cc:2678 omp-offload.cc:1488
+#: omp-low.cc:2704 omp-offload.cc:1488
 #, gcc-internal-format
 msgid "%<seq%> overrides other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2681 omp-offload.cc:1489
+#: omp-low.cc:2707 omp-offload.cc:1489
 #, gcc-internal-format
 msgid "%<auto%> conflicts with other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2685 omp-offload.cc:1523
+#: omp-low.cc:2711 omp-offload.cc:1523
 #, gcc-internal-format
 msgid "inner loop uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-low.cc:2736
+#: omp-low.cc:2762
 #, gcc-internal-format
 msgid "argument not permitted on %qs clause"
 msgstr ""
 
-#: omp-low.cc:2740
+#: omp-low.cc:2766
 #, fuzzy, gcc-internal-format
 #| msgid "returning a value from a constructor"
 msgid "enclosing parent compute construct"
 msgstr "trả về một giá trị từ cấu tử"
 
-#: omp-low.cc:2743
+#: omp-low.cc:2769
 #, fuzzy, gcc-internal-format
 #| msgid "enclosing %s"
 msgid "enclosing routine"
 msgstr "bao quanh %s"
 
-#: omp-low.cc:2784
+#: omp-low.cc:2810
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting types for %q+D"
 msgid "conflicting reduction operations for %qE"
 msgstr "kiểu xung đột cho %q+D"
 
-#: omp-low.cc:2787
+#: omp-low.cc:2813
 #, fuzzy, gcc-internal-format
 #| msgid "no previous declaration for %qD"
 msgid "location of the previous reduction for %qE"
 msgstr "chưa có khai báo trước đây cho %qD"
 
-#: omp-low.cc:2820
+#: omp-low.cc:2846
 #, gcc-internal-format
 msgid "nested loop in reduction needs reduction clause for %qE"
 msgstr ""
 
-#: omp-low.cc:3077
+#: omp-low.cc:3103
 #, gcc-internal-format
 msgid "%<target%> construct with nested %<teams%> construct contains directives outside of the %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3135
+#: omp-low.cc:3161
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC routine"
 msgstr ""
 
-#: omp-low.cc:3144
+#: omp-low.cc:3170
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3159
+#: omp-low.cc:3185
 #, gcc-internal-format
 msgid "OpenMP constructs are not allowed in target region with %<ancestor%>"
 msgstr ""
 
-#: omp-low.cc:3184 omp-low.cc:3251
+#: omp-low.cc:3210 omp-low.cc:3277
 #, gcc-internal-format
 msgid "OpenMP constructs other than %<parallel%>, %<loop%> or %<simd%> may not be nested inside a region with the %<order(concurrent)%> clause"
 msgstr ""
 
-#: omp-low.cc:3203
+#: omp-low.cc:3229
 #, gcc-internal-format
 msgid "%<ordered simd threads%> must be closely nested inside of %<%s simd%> region"
 msgstr ""
 
-#: omp-low.cc:3219
+#: omp-low.cc:3245
 #, gcc-internal-format
 msgid "OpenMP constructs other than %<ordered simd%>, %<simd%>, %<loop%> or %<atomic%> may not be nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3233
+#: omp-low.cc:3259
 #, gcc-internal-format
 msgid "only %<distribute%>, %<parallel%> or %<loop%> regions are allowed to be strictly nested inside %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:3247
+#: omp-low.cc:3273
 #, gcc-internal-format
 msgid "OpenMP constructs other than %<parallel%>, %<loop%> or %<simd%> may not be nested inside a %<loop%> region"
 msgstr ""
 
-#: omp-low.cc:3267
+#: omp-low.cc:3293
 #, gcc-internal-format
 msgid "%<distribute%> region must be strictly nested inside %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3316
+#: omp-low.cc:3342
 #, gcc-internal-format
 msgid "OpenACC loop directive must be associated with an OpenACC compute region"
 msgstr ""
 
-#: omp-low.cc:3338
+#: omp-low.cc:3364
 #, gcc-internal-format
 msgid "orphaned %qs construct"
 msgstr "cấu tử %qs mồ côi"
 
-#: omp-low.cc:3367
+#: omp-low.cc:3393
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp cancel for%> inside %<nowait%> for construct"
 msgid "%<cancel for%> inside %<nowait%> for construct"
 msgstr "%<#pragma omp cancel for%> trong %<nowait%> cho cấu trúc"
 
-#: omp-low.cc:3372
+#: omp-low.cc:3398
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp cancel for%> inside %<ordered%> for construct"
 msgid "%<cancel for%> inside %<ordered%> for construct"
 msgstr "%<#pragma omp cancel for%> trong %<ordered%> cho cấu trúc"
 
-#: omp-low.cc:3392 omp-low.cc:3405
+#: omp-low.cc:3418 omp-low.cc:3431
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp cancel sections%> inside %<nowait%> sections construct"
 msgid "%<cancel sections%> inside %<nowait%> sections construct"
 msgstr "%<#pragma omp cancel sections%> trong %<nowait%> phần cấu trúc"
 
-#: omp-low.cc:3434
+#: omp-low.cc:3460
 #, gcc-internal-format
 msgid "%<%s taskgroup%> construct not closely nested inside of %<taskgroup%> region"
 msgstr ""
 
-#: omp-low.cc:3459
+#: omp-low.cc:3485
 #, gcc-internal-format
 msgid "invalid arguments"
 msgstr "các đối số không hợp lệ"
 
-#: omp-low.cc:3465
+#: omp-low.cc:3491
 #, gcc-internal-format
 msgid "%<%s %s%> construct not closely nested inside of %qs"
 msgstr ""
 
-#: omp-low.cc:3494
+#: omp-low.cc:3520
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, %<loop%>, %<critical%>, %<ordered%>, %<master%>, %<masked%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3501
+#: omp-low.cc:3527
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, %<loop%>, %<critical%>, %<ordered%>, %<master%>, %<masked%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3532
+#: omp-low.cc:3558
 #, gcc-internal-format
 msgid "%qs region may not be closely nested inside of work-sharing, %<loop%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3567
+#: omp-low.cc:3593
 #, gcc-internal-format
 msgid "%<scope%> region may not be closely nested inside of work-sharing, %<loop%>, explicit %<task%>, %<taskloop%>, %<critical%>, %<ordered%>, %<master%>, or %<masked%> region"
 msgstr ""
 
-#: omp-low.cc:3592 omp-low.cc:3749 c-family/c-omp.cc:729
+#: omp-low.cc:3618 omp-low.cc:3775 c-family/c-omp.cc:734
 #, gcc-internal-format
 msgid "%<depend(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3620
+#: omp-low.cc:3646
 #, gcc-internal-format
 msgid "%<ordered%> construct with %<depend%> clause must be closely nested inside an %<ordered%> loop"
 msgstr ""
 
-#: omp-low.cc:3637
+#: omp-low.cc:3663
 #, gcc-internal-format
 msgid "invalid depend kind in omp %<ordered%> %<depend%>"
 msgstr ""
 
-#: omp-low.cc:3652
+#: omp-low.cc:3678
 #, gcc-internal-format
 msgid "%<ordered%> %<simd%> must be closely nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3665
+#: omp-low.cc:3691
 #, gcc-internal-format
 msgid "%<ordered%> region may not be closely nested inside of %<critical%>, %<ordered%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3678 omp-low.cc:3700
+#: omp-low.cc:3704 omp-low.cc:3726
 #, gcc-internal-format
 msgid "%<ordered%> region must be closely nested inside a loop region with an %<ordered%> clause"
 msgstr ""
 
-#: omp-low.cc:3686
+#: omp-low.cc:3712
 #, gcc-internal-format
 msgid "%<ordered%> region without %<depend%> clause may not be closely nested inside a loop region with an %<ordered%> clause with a parameter"
 msgstr ""
 
-#: omp-low.cc:3717
+#: omp-low.cc:3743
 #, gcc-internal-format
 msgid "%<critical%> region may not be nested inside a %<critical%> region with the same name"
 msgstr ""
 
-#: omp-low.cc:3735
+#: omp-low.cc:3761
 #, gcc-internal-format
 msgid "%<teams%> construct must be closely nested inside of %<target%> construct or not nested in any OpenMP construct"
 msgstr ""
 
-#: omp-low.cc:3757
+#: omp-low.cc:3783
 #, gcc-internal-format
 msgid "OpenACC region inside of OpenACC routine, nested parallelism not supported yet"
 msgstr ""
 
-#: omp-low.cc:3770
+#: omp-low.cc:3796
 #, gcc-internal-format
 msgid "OpenACC construct inside of non-OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3831
+#: omp-low.cc:3857
 #, gcc-internal-format
 msgid "%s %qs construct inside of %s %qs region"
 msgstr ""
 
-#: omp-low.cc:3844 omp-low.cc:3851
+#: omp-low.cc:3870 omp-low.cc:3877
 #, gcc-internal-format
 msgid "%qs construct inside of %qs region"
 msgstr ""
 
-#: omp-low.cc:4090
+#: omp-low.cc:4116
 #, gcc-internal-format
 msgid "setjmp/longjmp inside %<simd%> construct"
 msgstr ""
 
-#: omp-low.cc:4116
+#: omp-low.cc:4142
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: omp-low.cc:4132
+#: omp-low.cc:4158
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD strictly nested in a %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:4144
+#: omp-low.cc:4170
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD in a region with %<device(ancestor)%> clause"
 msgstr ""
 
-#: omp-low.cc:9800
+#: omp-low.cc:9829
 #, gcc-internal-format
 msgid "ignoring sink clause with offset that is not a multiple of the loop step"
 msgstr ""
 
-#: omp-low.cc:9823
+#: omp-low.cc:9852
 #, gcc-internal-format
 msgid "first offset must be in opposite direction of loop iterations"
 msgstr ""
 
-#: omp-low.cc:14581
+#: omp-low.cc:14618
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid exit from %s structured block"
 msgstr ""
 
-#: omp-low.cc:14583 omp-low.cc:14588
+#: omp-low.cc:14620 omp-low.cc:14625
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid entry to %s structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.cc:14592
+#: omp-low.cc:14629
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid branch to/from %s structured block"
 msgstr ""
@@ -28415,7 +28515,13 @@ msgstr ""
 msgid "location of OpenACC %<kernels%>"
 msgstr ""
 
-#: omp-oacc-neuter-broadcast.cc:1788
+#: omp-oacc-kernels-decompose.cc:1288
+#, fuzzy, gcc-internal-format
+#| msgid "-pipe not supported"
+msgid "%qs not yet supported"
+msgstr "không hỗ trợ -pipe"
+
+#: omp-oacc-neuter-broadcast.cc:1764
 #, gcc-internal-format
 msgid "shared-memory region overflow"
 msgstr ""
@@ -28539,7 +28645,7 @@ msgstr "(gần chỗ khởi tạo cho %qs)"
 msgid "command-line option %qs is not supported by this configuration"
 msgstr "%s không được hỗ trợ bởi cấu hình này"
 
-#: opts-common.cc:1389 opts.cc:2410
+#: opts-common.cc:1389 opts.cc:2419
 #, gcc-internal-format
 msgid "missing argument to %qs"
 msgstr "thiếu đối số đối cho %qs"
@@ -28682,8 +28788,8 @@ msgstr ""
 
 #: opts.cc:831 opts.cc:837 opts.cc:843 opts.cc:849 opts.cc:860 opts.cc:870
 #: opts.cc:876 opts.cc:882 opts.cc:888 opts.cc:894 opts.cc:900 opts.cc:906
-#: opts.cc:912 opts.cc:918 opts.cc:935 opts.cc:943 config/mips/mips.cc:20035
-#: config/mips/mips.cc:20037 config/mips/mips.cc:20050
+#: opts.cc:912 opts.cc:918 opts.cc:935 opts.cc:943 config/mips/mips.cc:20134
+#: config/mips/mips.cc:20136 config/mips/mips.cc:20149
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "%qs không tương thích với %qs"
@@ -28781,198 +28887,198 @@ msgstr "không hỗ trợ sử dụng chức năng đo hiệu năng sử dụng
 msgid "vtable verification is not supported with LTO"
 msgstr "-fvtable-verify=std không được hỗ trợ trong cấu hình này"
 
-#: opts.cc:1323
+#: opts.cc:1351
 #, gcc-internal-format
 msgid "var-tracking-assignments changes selective scheduling"
 msgstr ""
 
-#: opts.cc:1379 config/darwin.cc:3359
+#: opts.cc:1386 config/darwin.cc:3359
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition không được hỗ trợ trên kiến trúc này"
 
-#: opts.cc:1395
+#: opts.cc:1402
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition không được hỗ trợ trên kiến trúc này"
 
-#: opts.cc:1413 config/pa/pa.cc:564
+#: opts.cc:1420 config/pa/pa.cc:564
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgid "%<-freorder-blocks-and-partition%> does not work on this architecture"
 msgstr "-freorder-blocks-and-partition không được hỗ trợ trên kiến trúc này"
 
-#: opts.cc:1922
+#: opts.cc:1929
 #, gcc-internal-format
 msgid "unrecognized %<include_flags 0x%x%> passed to %<print_specific_help%>"
 msgstr ""
 
-#: opts.cc:2142
+#: opts.cc:2150
 #, fuzzy, gcc-internal-format
 #| msgid "-fsanitize=all option is not valid"
 msgid "%<-fsanitize=all%> option is not valid"
 msgstr "tùy chọn -fsanitize=all không hợp lệ"
 
-#: opts.cc:2180
+#: opts.cc:2189
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to -fsanitize%s= option: %q.*s"
 msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?"
 msgstr "không nhận ra đối số cho tùy chọn -fsanitize%s=: %q.*s"
 
-#: opts.cc:2186
+#: opts.cc:2195
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to -fsanitize%s= option: %q.*s"
 msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s"
 msgstr "không nhận ra đối số cho tùy chọn -fsanitize%s=: %q.*s"
 
-#: opts.cc:2221
+#: opts.cc:2230
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute ignored"
 msgid "%qs attribute directive ignored"
 msgstr "thuộc tính %qs bị bỏ qua"
 
-#: opts.cc:2245
+#: opts.cc:2254
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to -fsanitize%s= option: %q.*s"
 msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs"
 msgstr "không nhận ra đối số cho tùy chọn -fsanitize%s=: %q.*s"
 
-#: opts.cc:2269
+#: opts.cc:2278
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to -fsanitize%s= option: %q.*s"
 msgid "invalid arguments for %<-falign-%s%> option: %qs"
 msgstr "không nhận ra đối số cho tùy chọn -fsanitize%s=: %q.*s"
 
-#: opts.cc:2284
+#: opts.cc:2293
 #, fuzzy, gcc-internal-format
 #| msgid "wrong number of arguments to function %<va_start%>"
 msgid "invalid number of arguments for %<-falign-%s%> option: %qs"
 msgstr "sai số lượng đối số cho hàm %<va_start%>"
 
-#: opts.cc:2293
+#: opts.cc:2302
 #, fuzzy, gcc-internal-format
 #| msgid "-malign-loops=%d is not between 0 and %d"
 msgid "%<-falign-%s%> is not between 0 and %d"
 msgstr "-malign-loops=%d không nằm giữa 0 và %d"
 
-#: opts.cc:2352
+#: opts.cc:2361
 #, fuzzy, gcc-internal-format
 #| msgid "no arguments for spec function"
 msgid "invalid arguments for %<-fpatchable-function-entry%>"
 msgstr "không có đối số tới hàm đặc tả"
 
-#: opts.cc:2465
+#: opts.cc:2474
 #, fuzzy, gcc-internal-format
 #| msgid "--help argument %q.*s is ambiguous, please be more specific"
 msgid "%<--help%> argument %q.*s is ambiguous, please be more specific"
 msgstr "đối số --help %q.*s chưa rõ ràng, hãy chính xác hơn"
 
-#: opts.cc:2474
+#: opts.cc:2483
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to --help= option: %q.*s"
 msgid "unrecognized argument to %<--help=%> option: %q.*s"
 msgstr "không nhận ra đối số cho tùy chọn --help=: %q.*s"
 
-#: opts.cc:2638
+#: opts.cc:2647
 #, gcc-internal-format
 msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead"
 msgstr ""
 
-#: opts.cc:2644
+#: opts.cc:2653
 #, gcc-internal-format
 msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>"
 msgstr ""
 
-#: opts.cc:2853
+#: opts.cc:2862
 #, gcc-internal-format
 msgid "%<-foffload-abi%> option can be specified only for offload compiler"
 msgstr ""
 
-#: opts.cc:2861
+#: opts.cc:2870
 #, fuzzy, gcc-internal-format
 #| msgid "vectorlength must be a power of 2"
 msgid "structure alignment must be a small power of two, not %wu"
 msgstr "vectorlength phải là lũy thừa 2"
 
-#: opts.cc:2982
+#: opts.cc:2991
 #, gcc-internal-format
 msgid "unknown stack check parameter %qs"
 msgstr ""
 
-#: opts.cc:3028
+#: opts.cc:3037
 #, gcc-internal-format
 msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level"
 msgstr ""
 
-#: opts.cc:3039
+#: opts.cc:3048
 #, fuzzy, gcc-internal-format
 #| msgid "dwarf version %d is not supported"
 msgid "dwarf version %wu is not supported"
 msgstr "dwarf phiên bản %d không được hỗ trợ"
 
-#: opts.cc:3088
+#: opts.cc:3097
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized argument to --help= option: %q.*s"
 msgid "unrecognized argument to %<-flto=%> option: %qs"
 msgstr "không nhận ra đối số cho tùy chọn --help=: %q.*s"
 
-#: opts.cc:3288
+#: opts.cc:3297
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr "hệ thống đích không hỗ trợ xuất gỡ lỗi"
 
-#: opts.cc:3326
+#: opts.cc:3335
 #, gcc-internal-format
 msgid "debug format %qs conflicts with prior selection"
 msgstr ""
 
-#: opts.cc:3350
+#: opts.cc:3359
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized register name %qs"
 msgid "unrecognized debug output level %qs"
 msgstr "không nhận ra tên thanh ghi %qs"
 
-#: opts.cc:3352
+#: opts.cc:3361
 #, gcc-internal-format
 msgid "debug output level %qs is too high"
 msgstr "mức gỡ lỗi %qs là quá cao"
 
-#: opts.cc:3364
+#: opts.cc:3373
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized register name %qs"
 msgid "unrecognized btf debug output level %qs"
 msgstr "không nhận ra tên thanh ghi %qs"
 
-#: opts.cc:3381
+#: opts.cc:3390
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr ""
 
-#: opts.cc:3385
+#: opts.cc:3394
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr ""
 
-#: opts.cc:3430
+#: opts.cc:3439
 #, gcc-internal-format, gfc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr ""
 
-#: opts.cc:3459
+#: opts.cc:3468
 #, fuzzy, gcc-internal-format
 #| msgid "-Werror=%s: no option -%s"
 msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?"
 msgstr "-Werror=%s: không có tùy chọn -%s"
 
-#: opts.cc:3463
+#: opts.cc:3472
 #, fuzzy, gcc-internal-format
 #| msgid "-Werror=%s: no option -%s"
 msgid "%<-W%serror=%s%>: no option %<-%s%>"
 msgstr "-Werror=%s: không có tùy chọn -%s"
 
-#: opts.cc:3467
+#: opts.cc:3476
 #, fuzzy, gcc-internal-format
 #| msgid "-Werror=%s: -%s is not an option that controls warnings"
 msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings"
@@ -29166,7 +29272,7 @@ msgstr "gặp lỗi khi khởi tạo phần bổ xung %s"
 #: plugin.cc:1009
 #, fuzzy, gcc-internal-format
 #| msgid "-iplugindir <dir> option not passed from the gcc driver"
-msgid "%<-iplugindir%> <dir> option not passed from the gcc driver"
+msgid "%<-iplugindir%> option not passed from the gcc driver"
 msgstr "-iplugindir <dir> tùy chọn không được gửi từ gcc"
 
 #: pointer-query.cc:1202
@@ -29439,7 +29545,7 @@ msgstr ""
 msgid "the target does not support %<asm goto%> with outputs in %<asm%>"
 msgstr "đích này không hỗ trợ %qs"
 
-#: reload.cc:3699
+#: reload.cc:3702
 #, gcc-internal-format
 msgid "%<&%> constraint used with no register class"
 msgstr ""
@@ -30104,27 +30210,37 @@ msgstr ""
 msgid "%qs is not supported for this target"
 msgstr "-fdata-sections không được hỗ trợ cho đích này"
 
-#: toplev.cc:2016
+#: toplev.cc:1685
+#, gcc-internal-format
+msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
+msgstr ""
+
+#: toplev.cc:1688
+#, gcc-internal-format
+msgid "%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>"
+msgstr ""
+
+#: toplev.cc:2026
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr "lỗi ghi vào %s: %m"
 
-#: toplev.cc:2018
+#: toplev.cc:2028
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr "lỗi đóng %s: %m"
 
-#: toplev.cc:2136
+#: toplev.cc:2146
 #, gcc-internal-format
 msgid "mpfr not configured to handle all floating modes"
 msgstr ""
 
-#: toplev.cc:2222
+#: toplev.cc:2232
 #, gcc-internal-format
 msgid "self-tests are not enabled in this build"
 msgstr "self-tests không được bật trong lần biên dịch này"
 
-#: toplev.cc:2315
+#: toplev.cc:2325
 #, fuzzy, gcc-internal-format
 #| msgid "self-tests incompatible with -E"
 msgid "self-tests incompatible with %<-E%>"
@@ -30671,7 +30787,7 @@ msgstr ""
 msgid "invalid operand in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4794 c/gimple-parser.cc:2452
+#: tree-cfg.cc:4794 c/gimple-parser.cc:2474
 #, gcc-internal-format
 msgid "invalid conversion in return statement"
 msgstr ""
@@ -31124,29 +31240,29 @@ msgstr "biểu thức như là toán hạng không hợp lệ"
 msgid "target does not support atomic profile update, single mode is selected"
 msgstr ""
 
-#: tree-ssa-alias.cc:3968
+#: tree-ssa-alias.cc:3991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid fpu for attribute(target(\"%s\"))"
 msgid "invalid fn spec attribute \"%s\""
 msgstr "thuộc tính(đích(\"%s\")) là không hiểu"
 
-#: tree-ssa-alias.cc:4007
+#: tree-ssa-alias.cc:4030
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\" arg %i"
 msgstr "dùng %<auto%> không hợp lệ"
 
-#: tree-ssa-ccp.cc:4606 c-family/c-common.cc:5806
+#: tree-ssa-ccp.cc:4606 c-family/c-common.cc:5810
 #, gcc-internal-format
 msgid "%qs pointer is null"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4609 c-family/c-common.cc:5809
+#: tree-ssa-ccp.cc:4609 c-family/c-common.cc:5813
 #, fuzzy, gcc-internal-format
 #| msgid "In static member function %qs"
 msgid "in a call to non-static member function %qD"
 msgstr "Trong hàm bộ phận tĩnh %qs"
 
-#: tree-ssa-ccp.cc:4615 c-family/c-common.cc:5815
+#: tree-ssa-ccp.cc:4615 c-family/c-common.cc:5819
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u null where non-null expected"
 msgstr ""
@@ -31156,17 +31272,17 @@ msgstr ""
 msgid "in a call to built-in function %qD"
 msgstr "không thể tắt hàm dựng sẵn %qs"
 
-#: tree-ssa-ccp.cc:4625 c-family/c-common.cc:5819
+#: tree-ssa-ccp.cc:4625 c-family/c-common.cc:5823
 #, fuzzy, gcc-internal-format
 msgid "in a call to function %qD declared %qs"
 msgstr "hàm chung dòng %q+D được khai báo yếu"
 
-#: tree-ssa-loop-niter.cc:3472
+#: tree-ssa-loop-niter.cc:3478
 #, gcc-internal-format, gfc-internal-format
 msgid "iteration %s invokes undefined behavior"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3473
+#: tree-ssa-loop-niter.cc:3479
 #, gcc-internal-format
 msgid "within this loop"
 msgstr "trong vòng lặp này"
@@ -31361,7 +31477,7 @@ msgstr "%qE chưa được khởi tạo"
 msgid "%qs may be used uninitialized"
 msgstr "mảng được dùng như là bộ khởi tạo"
 
-#: tree-ssa-uninit.cc:314 varasm.cc:366 varasm.cc:7825
+#: tree-ssa-uninit.cc:314 varasm.cc:366 varasm.cc:7828
 #, gcc-internal-format
 msgid "%qD was declared here"
 msgstr "%qD đã được khai báo ở đây"
@@ -31596,146 +31712,146 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-loop.cc:4341
+#: tree-vect-loop.cc:4334
 #, gcc-internal-format
 msgid "vectorization did not happen for a simd loop"
 msgstr ""
 
-#: tree.cc:2223
+#: tree.cc:2259
 #, gcc-internal-format
 msgid "non-constant element in constant CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:2225
+#: tree.cc:2261
 #, gcc-internal-format
 msgid "side-effects element in no-side-effects CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:7143
+#: tree.cc:7179
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.cc:7307
+#: tree.cc:7343
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "kiểu trả về hàm không thể là hàm"
 
-#: tree.cc:8688 tree.cc:8773 tree.cc:8836
+#: tree.cc:8724 tree.cc:8809 tree.cc:8872
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "kiểm tra cây: %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:8725
+#: tree.cc:8761
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "tree check: cần không gì của %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:8738
+#: tree.cc:8774
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr "tree check: cần lớp %qs, có %qs (%s) trong %s, tại %s:%d"
 
-#: tree.cc:8787
+#: tree.cc:8823
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8800
+#: tree.cc:8836
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgid "tree check: expected %<omp_clause %s%>, have %qs in %s, at %s:%d"
 msgstr "tree check: cần omp_clause %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:8862
+#: tree.cc:8898
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8876
+#: tree.cc:8912
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgid "tree check: accessed elt %d of %<tree_int_cst%> with %d elts in %s, at %s:%d"
 msgstr "tree check: cần không gì của %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:8889
+#: tree.cc:8925
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgid "tree check: accessed elt %d of %<tree_vec%> with %d elts in %s, at %s:%d"
 msgstr "tree check: cần không gì của %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:8902
+#: tree.cc:8938
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8915
+#: tree.cc:8951
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgid "tree check: accessed operand %d of %<omp_clause %s%> with %d operands in %s, at %s:%d"
 msgstr "tree check: cần omp_clause %s, có %s trong %s, tại %s:%d"
 
-#: tree.cc:12069
+#: tree.cc:12112
 #, gcc-internal-format
 msgid "%qD is deprecated: %s"
 msgstr "%qD đã lạc hậu: %s"
 
-#: tree.cc:12072
+#: tree.cc:12115
 #, gcc-internal-format
 msgid "%qD is deprecated"
 msgstr "%qD đã lạc hậu"
 
-#: tree.cc:12095
+#: tree.cc:12138
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%qE đã lạc hậu: %s"
 
-#: tree.cc:12098
+#: tree.cc:12141
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%qE đã lạc hậu"
 
-#: tree.cc:12104
+#: tree.cc:12147
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "kiểu đã lạc hậu: %s"
 
-#: tree.cc:12107
+#: tree.cc:12150
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "kiểu đã lạc hậu"
 
-#: tree.cc:12149
+#: tree.cc:12192
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable"
 msgid "%qD is unavailable: %s"
 msgstr "%qD không phải là một biến"
 
-#: tree.cc:12151
+#: tree.cc:12194
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable"
 msgid "%qD is unavailable"
 msgstr "%qD không phải là một biến"
 
-#: tree.cc:12172
+#: tree.cc:12215
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable"
 msgid "%qE is unavailable: %s"
 msgstr "%qD không phải là một biến"
 
-#: tree.cc:12174
+#: tree.cc:12217
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable"
 msgid "%qE is unavailable"
 msgstr "%qD không phải là một biến"
 
-#: tree.cc:12179
+#: tree.cc:12222
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "open %s failed: %s"
 msgid "type is unavailable: %s"
 msgstr "mở %s gặp lỗi: %s"
 
-#: tree.cc:12181
+#: tree.cc:12224
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable"
 msgid "type is unavailable"
@@ -31761,234 +31877,234 @@ msgstr "%qD không phải là một biến"
 #. - vector types may differ by TYPE_VECTOR_OPAQUE
 #.
 #. Convenience macro for matching individual fields.
-#: tree.cc:12994
+#: tree.cc:13037
 #, gcc-internal-format, gfc-internal-format
 msgid "type variant differs by %s"
 msgstr ""
 
-#: tree.cc:13039
+#: tree.cc:13082
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13041
+#: tree.cc:13084
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13043
+#: tree.cc:13086
 #, gcc-internal-format
 msgid "type%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13068
+#: tree.cc:13111
 #, gcc-internal-format
 msgid "type variant with %<TYPE_ALIAS_SET_KNOWN_P%>"
 msgstr ""
 
-#: tree.cc:13081
+#: tree.cc:13124
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_VFIELD%>"
 msgstr ""
 
-#: tree.cc:13117
+#: tree.cc:13160
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13119
+#: tree.cc:13162
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13121
+#: tree.cc:13164
 #, gcc-internal-format
 msgid "type%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13160
+#: tree.cc:13203
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_FIELDS%>"
 msgstr ""
 
-#: tree.cc:13162
+#: tree.cc:13205
 #, gcc-internal-format
 msgid "first mismatch is field"
 msgstr ""
 
-#: tree.cc:13164
+#: tree.cc:13207
 #, gcc-internal-format
 msgid "and field"
 msgstr ""
 
-#: tree.cc:13181
+#: tree.cc:13224
 #, gcc-internal-format
 msgid "type variant has different %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13183 tree.cc:13194
+#: tree.cc:13226 tree.cc:13237
 #, gcc-internal-format
 msgid "type variant%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13185 tree.cc:13196
+#: tree.cc:13228 tree.cc:13239
 #, gcc-internal-format
 msgid "type%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13192
+#: tree.cc:13235
 #, fuzzy, gcc-internal-format
 #| msgid "-mnop-mcount is not compatible with this target"
 msgid "type is not compatible with its variant"
 msgstr "-mnop-mcount không tương thích với đích này"
 
-#: tree.cc:13504
+#: tree.cc:13547
 #, fuzzy, gcc-internal-format
 #| msgid "environment variable %qs not defined"
 msgid "main variant is not defined"
 msgstr "chưa định nghĩa biến môi trường%qs"
 
-#: tree.cc:13509
+#: tree.cc:13552
 #, gcc-internal-format
 msgid "%<TYPE_MAIN_VARIANT%> has different %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:13521
+#: tree.cc:13564
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> has different %<TYPE_CANONICAL%>"
 msgstr ""
 
-#: tree.cc:13540
+#: tree.cc:13583
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:13548
+#: tree.cc:13591
 #, gcc-internal-format
 msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:13554
+#: tree.cc:13597
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
 msgstr ""
 
-#: tree.cc:13570
+#: tree.cc:13613
 #, gcc-internal-format
 msgid "%<TYPE_VFIELD%> is not %<FIELD_DECL%> nor %<TREE_LIST%>"
 msgstr ""
 
-#: tree.cc:13580
+#: tree.cc:13623
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_PTR_TO%> is not %<POINTER_TYPE%>"
 msgstr ""
 
-#: tree.cc:13590
+#: tree.cc:13633
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_REF_TO%> is not %<REFERENCE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13611
+#: tree.cc:13654
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> is not %<TREE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13617
+#: tree.cc:13660
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> type is not %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:13628
+#: tree.cc:13671
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:13639
+#: tree.cc:13682
 #, gcc-internal-format
 msgid "%<TYPE_OFFSET_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:13657
+#: tree.cc:13700
 #, gcc-internal-format
 msgid "%<TYPE_ARRAY_MAX_SIZE%> not %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:13664
+#: tree.cc:13707
 #, gcc-internal-format
 msgid "%<TYPE_MAX_VALUE_RAW%> non-NULL"
 msgstr ""
 
-#: tree.cc:13671
+#: tree.cc:13714
 #, gcc-internal-format
 msgid "%<TYPE_LANG_SLOT_1 (binfo)%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:13687
+#: tree.cc:13730
 #, gcc-internal-format
 msgid "enum value is not %<CONST_DECL%> or %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:13696
+#: tree.cc:13739
 #, gcc-internal-format
 msgid "enum value type is not %<INTEGER_TYPE%> nor convertible to the enum"
 msgstr ""
 
-#: tree.cc:13704
+#: tree.cc:13747
 #, gcc-internal-format
 msgid "enum value name is not %<IDENTIFIER_NODE%>"
 msgstr ""
 
-#: tree.cc:13714
+#: tree.cc:13757
 #, gcc-internal-format
 msgid "array %<TYPE_DOMAIN%> is not integer type"
 msgstr ""
 
-#: tree.cc:13723
+#: tree.cc:13766
 #, gcc-internal-format
 msgid "%<TYPE_FIELDS%> defined in incomplete type"
 msgstr ""
 
-#: tree.cc:13745
+#: tree.cc:13788
 #, gcc-internal-format
 msgid "wrong tree in %<TYPE_FIELDS%> list"
 msgstr ""
 
-#: tree.cc:13760
+#: tree.cc:13803
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is %i while %<TYPE_CACHED_VALUES%> is %p"
 msgstr ""
 
-#: tree.cc:13767
+#: tree.cc:13810
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES%> is not %<TREE_VEC%>"
 msgstr ""
 
-#: tree.cc:13780
+#: tree.cc:13823
 #, gcc-internal-format
 msgid "wrong %<TYPE_CACHED_VALUES%> entry"
 msgstr ""
 
-#: tree.cc:13793
+#: tree.cc:13836
 #, gcc-internal-format
 msgid "%<TREE_PURPOSE%> is non-NULL in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:13799
+#: tree.cc:13842
 #, gcc-internal-format
 msgid "wrong entry in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:13806
+#: tree.cc:13849
 #, gcc-internal-format
 msgid "%<TYPE_VALUES_RAW%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:13818
+#: tree.cc:13861
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is set while it should not be"
 msgstr ""
 
-#: tree.cc:13828
+#: tree.cc:13871
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not main variant"
 msgstr ""
@@ -32128,86 +32244,86 @@ msgstr ""
 msgid "storage size of %q+D isn%'t known"
 msgstr ""
 
-#: varasm.cc:5266
+#: varasm.cc:5269
 #, gcc-internal-format
 msgid "initializer for integer/fixed-point value is too complicated"
 msgstr ""
 
-#: varasm.cc:5271
+#: varasm.cc:5274
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr ""
 
-#: varasm.cc:5616
+#: varasm.cc:5619
 #, gcc-internal-format
 msgid "invalid initial value for member %qE"
 msgstr ""
 
-#: varasm.cc:5872
+#: varasm.cc:5875
 #, fuzzy, gcc-internal-format
 #| msgid "%+D declared weak after being used"
 msgid "%qD declared weak after being used"
 msgstr "%+D đã khai báo weak sau khi được dùng"
 
-#: varasm.cc:5924
+#: varasm.cc:5927
 #, gcc-internal-format
 msgid "weak declaration of %q+D being applied to a already existing, static definition"
 msgstr ""
 
-#: varasm.cc:5965
+#: varasm.cc:5968
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr ""
 
-#: varasm.cc:5969
+#: varasm.cc:5972
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr ""
 
-#: varasm.cc:5998 varasm.cc:6318
+#: varasm.cc:6001 varasm.cc:6321
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6193 varasm.cc:6315
+#: varasm.cc:6196 varasm.cc:6318
 #, fuzzy, gcc-internal-format
 #| msgid "%s is not supported by this configuration"
 msgid "%qs is not supported in this configuration"
 msgstr "%s không được hỗ trợ bởi cấu hình này"
 
-#: varasm.cc:6221
+#: varasm.cc:6224
 #, fuzzy, gcc-internal-format
 #| msgid "%<__int%d%> is not supported on this target"
 msgid "%qs is not supported on this target"
 msgstr "%<__int%d%> không được hỗ trợ cho đích này"
 
-#: varasm.cc:6277
+#: varasm.cc:6280
 #, fuzzy, gcc-internal-format
 #| msgid "-mrelax is only supported for RTP PIC"
 msgid "symver is only supported on ELF platforms"
 msgstr "-mrelax chỉ hỗ trợ cho RTP PIC"
 
-#: varasm.cc:6296
+#: varasm.cc:6299
 #, gcc-internal-format
 msgid "%qs symbol %q+D ultimately targets itself"
 msgstr ""
 
-#: varasm.cc:6298
+#: varasm.cc:6301
 #, gcc-internal-format
 msgid "%qs symbol %q+D must have static linkage"
 msgstr ""
 
-#: varasm.cc:6305
+#: varasm.cc:6308 config/nvptx/nvptx.cc:7445
 #, gcc-internal-format
 msgid "alias definitions not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6533 config/sol2.cc:160 config/i386/winnt.cc:265
+#: varasm.cc:6536 config/sol2.cc:160 config/i386/winnt.cc:265
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
 msgstr ""
 
-#: varasm.cc:7821
+#: varasm.cc:7824
 #, gcc-internal-format
 msgid "%+qD without %<retain%> attribute and %qD with %<retain%> attribute are placed in a section with the same name"
 msgstr ""
@@ -32273,7 +32389,7 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr "không sclass cho %s stab (0x%x)"
 
-#: c-family/c-ada-spec.cc:2858
+#: c-family/c-ada-spec.cc:2877
 #, fuzzy, gcc-internal-format
 #| msgid "Use packed stack layout."
 msgid "packed layout"
@@ -32303,8 +32419,8 @@ msgstr "cần %qT nhưng đối số là kiểu %qT"
 msgid "%qE attribute argument %i has type %qT"
 msgstr "cần %qT nhưng đối số là kiểu %qT"
 
-#: c-family/c-attribs.cc:649 c-family/c-attribs.cc:4314
-#: c-family/c-attribs.cc:4318 d/d-attribs.cc:1199
+#: c-family/c-attribs.cc:649 c-family/c-attribs.cc:4316
+#: c-family/c-attribs.cc:4320 d/d-attribs.cc:1199
 #, fuzzy, gcc-internal-format
 #| msgid "section attribute argument not a string constant"
 msgid "%qE attribute argument value %qE is not an integer constant"
@@ -32368,491 +32484,491 @@ msgstr ""
 msgid "%qE attribute argument %i value %qE refers to a variadic function parameter of unknown type"
 msgstr ""
 
-#: c-family/c-attribs.cc:906
+#: c-family/c-attribs.cc:908
 #, fuzzy, gcc-internal-format
 #| msgid "%s attribute of %qs conflicts with %s attribute at %L"
 msgid "ignoring attribute %qs because it conflicts with previous %qs"
 msgstr "thuộc tính %s của %qs xung đột với thuộc tính %s tại %L"
 
-#: c-family/c-attribs.cc:944
+#: c-family/c-attribs.cc:946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only supported on boolean types"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:954
+#: c-family/c-attribs.cc:956
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on types"
 msgid "%qE attribute with unsupported boolean precision"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:977
+#: c-family/c-attribs.cc:979
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "%qE attribute ignored for type %qT"
 msgstr "thuộc tính %qE bị lờ đi cho %qE"
 
-#: c-family/c-attribs.cc:989
+#: c-family/c-attribs.cc:991
 #, gcc-internal-format
 msgid "%qE attribute ignored for field of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1159 c-family/c-attribs.cc:3188
-#: c-family/c-attribs.cc:5615 ada/gcc-interface/utils.cc:7033
+#: c-family/c-attribs.cc:1161 c-family/c-attribs.cc:3190
+#: c-family/c-attribs.cc:5623 ada/gcc-interface/utils.cc:7033
 #, fuzzy, gcc-internal-format
 #| msgid "%qE argument not an identifier"
 msgid "%qE argument not a string"
 msgstr "%qE đối số không phải là một định danh"
 
-#: c-family/c-attribs.cc:1322 ada/gcc-interface/utils.cc:6627
+#: c-family/c-attribs.cc:1324 ada/gcc-interface/utils.cc:6627
 #, gcc-internal-format
 msgid "%qE attribute ignored due to conflict with attribute %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:1371
+#: c-family/c-attribs.cc:1373
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored. Use %<-fcf-protection%> option to enable it"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:1411 c-family/c-attribs.cc:1417
-#: c-family/c-attribs.cc:5439 c-family/c-attribs.cc:5479
-#: c-family/c-attribs.cc:5485 ada/gcc-interface/utils.cc:6886
+#: c-family/c-attribs.cc:1413 c-family/c-attribs.cc:1419
+#: c-family/c-attribs.cc:5441 c-family/c-attribs.cc:5481
+#: c-family/c-attribs.cc:5487 ada/gcc-interface/utils.cc:6886
 #: ada/gcc-interface/utils.cc:6920 ada/gcc-interface/utils.cc:6926
 #, gcc-internal-format
 msgid "%qE attribute ignored due to conflict with %qs attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:1473 jit/dummy-frontend.cc:190 lto/lto-lang.cc:293
+#: c-family/c-attribs.cc:1475 jit/dummy-frontend.cc:190 lto/lto-lang.cc:293
 #, gcc-internal-format
 msgid "%qE attribute has no effect on unit local functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:1643 c-family/c-attribs.cc:3171
+#: c-family/c-attribs.cc:1645 c-family/c-attribs.cc:3173
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variables"
 msgid "%qE attribute ignored because %qD is not a variable"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: c-family/c-attribs.cc:1649
+#: c-family/c-attribs.cc:1651
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variables"
 msgid "%qE attribute ignored because %qD is not a local variable"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: c-family/c-attribs.cc:1674 config/i386/i386-options.cc:3795
+#: c-family/c-attribs.cc:1676 config/i386/i386-options.cc:3795
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1703
+#: c-family/c-attribs.cc:1705
 #, gcc-internal-format
 msgid "%qE attribute only affects top level objects"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các đối tượng mức"
 
-#: c-family/c-attribs.cc:1742 c-family/c-attribs.cc:3845
+#: c-family/c-attribs.cc:1744 c-family/c-attribs.cc:3847
 #, fuzzy, gcc-internal-format
 #| msgid "%<return%> with a value, in function returning void"
 msgid "%qE attribute on function returning %<void%>"
 msgstr "%<return%> với một giá trị, trong hàm trả lại void (rỗng)"
 
-#: c-family/c-attribs.cc:1765
+#: c-family/c-attribs.cc:1767
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported because endianness is not uniform"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:1782
+#: c-family/c-attribs.cc:1784
 #, fuzzy, gcc-internal-format
 #| msgid "constant argument out of range for %qs"
 msgid "attribute %qE argument must be one of %qs or %qs"
 msgstr "đối số hằng nằm ngoài phạm vi cho %qs"
 
-#: c-family/c-attribs.cc:1878
+#: c-family/c-attribs.cc:1880
 #, gcc-internal-format
 msgid "destructor priorities are not supported"
 msgstr "các quyền ưu tiên hủy tử là không được hỗ trợ"
 
-#: c-family/c-attribs.cc:1880
+#: c-family/c-attribs.cc:1882
 #, gcc-internal-format
 msgid "constructor priorities are not supported"
 msgstr "các quyền ưu tiên cấu tử là không được hỗ trợ"
 
-#: c-family/c-attribs.cc:1902
+#: c-family/c-attribs.cc:1904
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1907
+#: c-family/c-attribs.cc:1909
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1915
+#: c-family/c-attribs.cc:1917
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:1918
+#: c-family/c-attribs.cc:1920
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:2071
+#: c-family/c-attribs.cc:2073
 #, gcc-internal-format
 msgid "unknown machine mode %qE"
 msgstr "không hiểu chế độ máy %qE"
 
-#: c-family/c-attribs.cc:2105
+#: c-family/c-attribs.cc:2107
 #, gcc-internal-format
 msgid "specifying vector types with %<__attribute__ ((mode))%> is deprecated"
 msgstr ""
 
-#: c-family/c-attribs.cc:2108
+#: c-family/c-attribs.cc:2110
 #, fuzzy, gcc-internal-format
 #| msgid "use __attribute__ ((vector_size)) instead"
 msgid "use %<__attribute__ ((vector_size))%> instead"
 msgstr "sử dụng  __attribute__ ((vector_size)) để thay thế"
 
-#: c-family/c-attribs.cc:2117
+#: c-family/c-attribs.cc:2119
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr "không thể mô phỏng %qs"
 
-#: c-family/c-attribs.cc:2130
+#: c-family/c-attribs.cc:2132
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr "chế độ con trỏ %qs không hợp lệ"
 
-#: c-family/c-attribs.cc:2147
+#: c-family/c-attribs.cc:2149
 #, gcc-internal-format
 msgid "signedness of type and machine mode %qs don%'t match"
 msgstr ""
 
-#: c-family/c-attribs.cc:2158
+#: c-family/c-attribs.cc:2160
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr "không có kiểu dữ liệu cho chế độ %qs"
 
-#: c-family/c-attribs.cc:2168
+#: c-family/c-attribs.cc:2170
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use mode %qs for enumeral types"
 msgid "cannot use mode %qs for enumerated types"
 msgstr "không thể dùng chế độ %qs cho các kiểu liệt kê"
 
-#: c-family/c-attribs.cc:2196
+#: c-family/c-attribs.cc:2198
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr ""
 
-#: c-family/c-attribs.cc:2221 c-family/c-attribs.cc:2535 d/d-attribs.cc:999
+#: c-family/c-attribs.cc:2223 c-family/c-attribs.cc:2537 d/d-attribs.cc:999
 #, gcc-internal-format
 msgid "section attributes are not supported for this target"
 msgstr ""
 
-#: c-family/c-attribs.cc:2227 d/d-attribs.cc:1006
+#: c-family/c-attribs.cc:2229 d/d-attribs.cc:1006
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2233 d/d-attribs.cc:1013
+#: c-family/c-attribs.cc:2235 d/d-attribs.cc:1013
 #, gcc-internal-format
 msgid "section attribute argument not a string constant"
 msgstr "đối số thuộc tính phần không phải là một hằng chuỗi"
 
-#: c-family/c-attribs.cc:2242 d/d-attribs.cc:1022
+#: c-family/c-attribs.cc:2244 d/d-attribs.cc:1022
 #, gcc-internal-format
 msgid "section attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2253 config/bfin/bfin.cc:4795
-#: config/bfin/bfin.cc:4846 config/bfin/bfin.cc:4872 config/bfin/bfin.cc:4885
+#: c-family/c-attribs.cc:2255 config/bfin/bfin.cc:4796
+#: config/bfin/bfin.cc:4847 config/bfin/bfin.cc:4873 config/bfin/bfin.cc:4886
 #: d/d-attribs.cc:1033
 #, gcc-internal-format
 msgid "section of %q+D conflicts with previous declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:2262 c-family/c-attribs.cc:2561 d/d-attribs.cc:1042
+#: c-family/c-attribs.cc:2264 c-family/c-attribs.cc:2563 d/d-attribs.cc:1042
 #, gcc-internal-format
 msgid "section of %q+D cannot be overridden"
 msgstr "phần của %q+D không thể bị ghi đè"
 
-#: c-family/c-attribs.cc:2378
+#: c-family/c-attribs.cc:2380
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2403
+#: c-family/c-attribs.cc:2405
 #, fuzzy, gcc-internal-format
 #| msgid "%s attribute of %qs conflicts with %s attribute at %L"
 msgid "ignoring attribute %<%E (%u)%> because it conflicts with attribute %<%E (%u)%>"
 msgstr "thuộc tính %s của %qs xung đột với thuộc tính %s tại %L"
 
-#: c-family/c-attribs.cc:2448
+#: c-family/c-attribs.cc:2450
 #, fuzzy, gcc-internal-format
 #| msgid "%<inline%> can only be specified for functions"
 msgid "%<warn_if_not_aligned%> may not be specified for %q+D"
 msgstr "%<inline%> chỉ có thể được chỉ định cho hàm"
 
-#: c-family/c-attribs.cc:2496 d/d-attribs.cc:1120
+#: c-family/c-attribs.cc:2498 d/d-attribs.cc:1120
 #, gcc-internal-format
 msgid "inline function %q+D declared weak"
 msgstr "hàm chung dòng %q+D được khai báo yếu"
 
-#: c-family/c-attribs.cc:2501
+#: c-family/c-attribs.cc:2503
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2542
+#: c-family/c-attribs.cc:2544
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute on non-volatile variable"
 msgid "ignoring %qE attribute not set on a variable"
 msgstr "Thuộc tính %qE trên biến không hay thay đổi"
 
-#: c-family/c-attribs.cc:2552 config/bfin/bfin.cc:4823
+#: c-family/c-attribs.cc:2554 config/bfin/bfin.cc:4824
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2567
+#: c-family/c-attribs.cc:2569
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variables"
 msgid "%qE attribute is specific to ELF targets"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: c-family/c-attribs.cc:2574
+#: c-family/c-attribs.cc:2576
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute on non-volatile variable"
 msgid "ignoring %qE attribute set on const variable"
 msgstr "Thuộc tính %qE trên biến không hay thay đổi"
 
-#: c-family/c-attribs.cc:2585
+#: c-family/c-attribs.cc:2587
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute on non-volatile variable"
 msgid "ignoring %qE attribute set on initialized variable"
 msgstr "Thuộc tính %qE trên biến không hay thay đổi"
 
-#: c-family/c-attribs.cc:2598
+#: c-family/c-attribs.cc:2600
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute on non-volatile variable"
 msgid "ignoring %qE attribute set on uninitialized variable"
 msgstr "Thuộc tính %qE trên biến không hay thay đổi"
 
-#: c-family/c-attribs.cc:2631
+#: c-family/c-attribs.cc:2633
 #, gcc-internal-format
 msgid "%qE attribute is only applicable on functions"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:2650 d/d-attribs.cc:1068
+#: c-family/c-attribs.cc:2652 d/d-attribs.cc:1068
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to functions"
 msgid "%<symver%> attribute only applies to functions and variables"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:2658 d/d-attribs.cc:1076
+#: c-family/c-attribs.cc:2660 d/d-attribs.cc:1076
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is only applicable on functions"
 msgid "%<symver%> attribute is only applicable to symbols"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:2668 d/d-attribs.cc:1086
+#: c-family/c-attribs.cc:2670 d/d-attribs.cc:1086
 #, fuzzy, gcc-internal-format
 #| msgid "section attribute argument not a string constant"
 msgid "%<symver%> attribute argument not a string constant"
 msgstr "đối số thuộc tính phần không phải là một hằng chuỗi"
 
-#: c-family/c-attribs.cc:2682 d/d-attribs.cc:1100
+#: c-family/c-attribs.cc:2684 d/d-attribs.cc:1100
 #, gcc-internal-format
 msgid "symver attribute argument must have format %<name@nodename%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2683 d/d-attribs.cc:1101
+#: c-family/c-attribs.cc:2685 d/d-attribs.cc:1101
 #, gcc-internal-format
 msgid "%<symver%> attribute argument %qs must contain one or two %<@%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2718
+#: c-family/c-attribs.cc:2720
 #, gcc-internal-format
 msgid "%q+D defined both normally and as %qE attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:2726
+#: c-family/c-attribs.cc:2728
 #, gcc-internal-format
 msgid "weak %q+D cannot be defined %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2743 c-family/c-attribs.cc:3736
+#: c-family/c-attribs.cc:2745 c-family/c-attribs.cc:3738
 #, gcc-internal-format
 msgid "attribute %qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:2776
+#: c-family/c-attribs.cc:2778
 #, fuzzy, gcc-internal-format
 #| msgid "%+D declared alias after being used"
 msgid "%+qD declared %qs after being used"
 msgstr "%+D khai báo bí danh sau khi được sử dụng"
 
-#: c-family/c-attribs.cc:2826
+#: c-family/c-attribs.cc:2828
 #, fuzzy, gcc-internal-format
 #| msgid "attribute %<target%> argument not a string"
 msgid "%qE attribute argument cannot be a string"
 msgstr "thuộc tính %<target%> không là một chuỗi"
 
-#: c-family/c-attribs.cc:2839
+#: c-family/c-attribs.cc:2841
 #, fuzzy, gcc-internal-format
 #| msgid "an assignment cannot appear in a constant-expression"
 msgid "%qE attribute argument cannot be a constant arithmetic expression"
 msgstr "phép gán không thể được xuất hiện trong biểu thức hằng"
 
-#: c-family/c-attribs.cc:2850
+#: c-family/c-attribs.cc:2852
 #, gcc-internal-format
 msgid "%qE attribute ignored on a redeclaration of the referenced symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2905
+#: c-family/c-attribs.cc:2907
 #, gcc-internal-format
 msgid "%qE attribute ignored on a declaration of a different kind than referenced symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2910
+#: c-family/c-attribs.cc:2912
 #, fuzzy, gcc-internal-format
 #| msgid "Symbol %qs already declared"
 msgid "symbol %qD referenced by %qD declared here"
 msgstr "Ký hiệu %qs đã sẵn được khai báo"
 
-#: c-family/c-attribs.cc:2958
+#: c-family/c-attribs.cc:2960
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute doesn't apply to functions"
 msgid "%qE attribute must apply to a declaration"
 msgstr "Thuộc tính %qE không được áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:3016
+#: c-family/c-attribs.cc:3018
 #, fuzzy, gcc-internal-format
 #| msgid "inline function %q+D declared weak"
 msgid "indirect function %q+D cannot be declared %qE"
 msgstr "hàm chung dòng %q+D được khai báo yếu"
 
-#: c-family/c-attribs.cc:3039
+#: c-family/c-attribs.cc:3041
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variables"
 msgid "%qE attribute must appear before %qs attribute"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: c-family/c-attribs.cc:3052
+#: c-family/c-attribs.cc:3054
 #, fuzzy, gcc-internal-format
 #| msgid "%+D declared weak after being used"
 msgid "%+qD declared %qE after being used"
 msgstr "%+D đã khai báo weak sau khi được dùng"
 
-#: c-family/c-attribs.cc:3076
+#: c-family/c-attribs.cc:3078
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3082
+#: c-family/c-attribs.cc:3084
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qT is already defined"
 msgstr ""
 
-#: c-family/c-attribs.cc:3095
+#: c-family/c-attribs.cc:3097
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:3107
+#: c-family/c-attribs.cc:3109
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:3123
+#: c-family/c-attribs.cc:3125
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3135
+#: c-family/c-attribs.cc:3137
 #, gcc-internal-format
 msgid "%qD redeclared with different visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3138 c-family/c-attribs.cc:3142
+#: c-family/c-attribs.cc:3140 c-family/c-attribs.cc:3144
 #, gcc-internal-format
 msgid "%qD was declared %qs which implies default visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3179
+#: c-family/c-attribs.cc:3181
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD does not have thread storage duration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3201
+#: c-family/c-attribs.cc:3203
 #, gcc-internal-format
 msgid "%qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3223 c-family/c-attribs.cc:3819
-#: c-family/c-attribs.cc:5580 c-family/c-attribs.cc:5607
+#: c-family/c-attribs.cc:3225 c-family/c-attribs.cc:3821
+#: c-family/c-attribs.cc:5588 c-family/c-attribs.cc:5615
 #: config/m32c/m32c.cc:2939 ada/gcc-interface/utils.cc:7019
 #, gcc-internal-format
 msgid "%qE attribute applies only to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3269
+#: c-family/c-attribs.cc:3271
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "%<%E (%E)%> attribute ignored on functions declared %qs"
 msgstr "thuộc tính %qE bị lờ đi cho %qE"
 
-#: c-family/c-attribs.cc:3279
+#: c-family/c-attribs.cc:3281
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored with deallocation functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3283
+#: c-family/c-attribs.cc:3285
 #, fuzzy, gcc-internal-format
 msgid "deallocation function declared here"
 msgstr "hàm chung dòng %q+D được khai báo yếu"
 
-#: c-family/c-attribs.cc:3310
+#: c-family/c-attribs.cc:3312
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute doesn't apply to functions"
 msgid "%qE attribute ignored; valid only for functions"
 msgstr "Thuộc tính %qE không được áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:3320
+#: c-family/c-attribs.cc:3322
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored on functions returning %qT; valid only for pointer return types"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
 #. Handle specially the common case of specifying one of a number
 #. of overloads, such as operator delete.
-#: c-family/c-attribs.cc:3366
+#: c-family/c-attribs.cc:3368
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L is ambiguous"
 msgid "%qE attribute argument 1 is ambiguous"
 msgstr "%qs tại %L phải là số nguyên"
 
-#: c-family/c-attribs.cc:3368
+#: c-family/c-attribs.cc:3370
 #, gcc-internal-format
 msgid "use a cast to the expected type to disambiguate"
 msgstr ""
 
-#: c-family/c-attribs.cc:3373
+#: c-family/c-attribs.cc:3375
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute doesn't apply to functions"
 msgid "%qE attribute argument 1 does not name a function"
 msgstr "Thuộc tính %qE không được áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:3376
+#: c-family/c-attribs.cc:3378
 #, gcc-internal-format
 msgid "argument references a symbol declared here"
 msgstr ""
 
 #. Reject functions without a prototype.
-#: c-family/c-attribs.cc:3392
+#: c-family/c-attribs.cc:3394
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires a string argument"
 msgid "%qE attribute argument 1 must take a pointer type as its first argument"
 msgstr "Thuộc tính %qE cần tham số là chuỗi"
 
-#: c-family/c-attribs.cc:3395 c-family/c-attribs.cc:3408
+#: c-family/c-attribs.cc:3397 c-family/c-attribs.cc:3410
 #, fuzzy, gcc-internal-format
 #| msgid "previously declared here"
 msgid "referenced symbol declared here"
@@ -32860,214 +32976,214 @@ msgstr "đã khai báo trước ở đây"
 
 #. Reject functions that don't take a pointer as their first
 #. argument.
-#: c-family/c-attribs.cc:3405
+#: c-family/c-attribs.cc:3407
 #, gcc-internal-format
 msgid "%qE attribute argument 1 must take a pointer type as its first argument; have %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:3519 c-family/c-attribs.cc:3567
-#: c-family/c-attribs.cc:3594 d/d-attribs.cc:1303
+#: c-family/c-attribs.cc:3521 c-family/c-attribs.cc:3569
+#: c-family/c-attribs.cc:3596 d/d-attribs.cc:1303
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "%qE attribute ignored on a function returning %qT"
 msgstr "thuộc tính %qE bị lờ đi cho %qE"
 
-#: c-family/c-attribs.cc:3613
+#: c-family/c-attribs.cc:3615
 #, fuzzy, gcc-internal-format
 #| msgid "section attribute argument not a string constant"
 msgid "%qE attribute argument %E is not an integer constant"
 msgstr "đối số thuộc tính phần không phải là một hằng chuỗi"
 
-#: c-family/c-attribs.cc:3621
+#: c-family/c-attribs.cc:3623
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute address out of range"
 msgid "%qE attribute argument %E is not positive"
 msgstr "Thuộc tính %qE nằm ngoài vùng địa chỉ"
 
-#: c-family/c-attribs.cc:3632
+#: c-family/c-attribs.cc:3634
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute address out of range"
 msgid "%qE attribute argument %E is not a power of 2"
 msgstr "Thuộc tính %qE nằm ngoài vùng địa chỉ"
 
-#: c-family/c-attribs.cc:3645
+#: c-family/c-attribs.cc:3647
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument %E is not in the range [0, %wu]"
 msgstr "đối số 3 phải nằm trong vùng 0…15"
 
-#: c-family/c-attribs.cc:3749
+#: c-family/c-attribs.cc:3751
 #, gcc-internal-format
 msgid "only %<inbranch%> and %<notinbranch%> flags are allowed for %<__simd__%> attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3825 c-family/c-attribs.cc:5586
+#: c-family/c-attribs.cc:3827 c-family/c-attribs.cc:5594
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use %<::%> in parameter declaration"
 msgid "cannot set %qE attribute after definition"
 msgstr "không thể dùng %<::%> trong khai báo đối số"
 
-#: c-family/c-attribs.cc:3892
+#: c-family/c-attribs.cc:3894
 #, gcc-internal-format
 msgid "%qE attribute duplicated"
 msgstr "thuộc tính %qE bị trùng"
 
-#: c-family/c-attribs.cc:3894
+#: c-family/c-attribs.cc:3896
 #, gcc-internal-format
 msgid "%qE attribute follows %qE"
 msgstr "thuộc tính %qE theo %qE"
 
-#: c-family/c-attribs.cc:3993
+#: c-family/c-attribs.cc:3995
 #, gcc-internal-format
 msgid "type was previously declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4006 cp/class.cc:4744
+#: c-family/c-attribs.cc:4008 cp/class.cc:4777
 #, gcc-internal-format
 msgid "%<transaction_safe_dynamic%> may only be specified for a virtual function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4064
+#: c-family/c-attribs.cc:4066
 #, gcc-internal-format
 msgid "%qE argument not an identifier"
 msgstr "%qE đối số không phải là một định danh"
 
-#: c-family/c-attribs.cc:4075
+#: c-family/c-attribs.cc:4077
 #, gcc-internal-format
 msgid "%qD is not compatible with %qD"
 msgstr "%qD không tương thích với %qD"
 
-#: c-family/c-attribs.cc:4078
+#: c-family/c-attribs.cc:4080
 #, gcc-internal-format
 msgid "%qE argument is not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4126 cp/name-lookup.cc:6026
+#: c-family/c-attribs.cc:4128 cp/name-lookup.cc:6052
 #, gcc-internal-format
 msgid "deprecated message is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4167 c-family/c-attribs.cc:4232
+#: c-family/c-attribs.cc:4169 c-family/c-attribs.cc:4234
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr "thuộc tính %qE bị lờ đi cho %qE"
 
-#: c-family/c-attribs.cc:4191
+#: c-family/c-attribs.cc:4193
 #, gcc-internal-format
 msgid "the message attached to %<unavailable%> is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4290 c-family/c-attribs.cc:4292
+#: c-family/c-attribs.cc:4292 c-family/c-attribs.cc:4294
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4327 c-family/c-attribs.cc:4331
+#: c-family/c-attribs.cc:4329 c-family/c-attribs.cc:4333
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument value %qE is negative"
 msgstr "Đối số của hàm %s tại %L là âm"
 
-#: c-family/c-attribs.cc:4344 c-family/c-attribs.cc:4348
+#: c-family/c-attribs.cc:4346 c-family/c-attribs.cc:4350
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE exceeds %wu"
 msgstr ""
 
-#: c-family/c-attribs.cc:4356 ada/gcc-interface/utils.cc:4172
+#: c-family/c-attribs.cc:4358 ada/gcc-interface/utils.cc:4172
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4362 ada/gcc-interface/utils.cc:4179
+#: c-family/c-attribs.cc:4364 ada/gcc-interface/utils.cc:4179
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "kích thước véc-tơ không"
 
-#: c-family/c-attribs.cc:4371 c-family/c-attribs.cc:4374
+#: c-family/c-attribs.cc:4373 c-family/c-attribs.cc:4376
 #, fuzzy, gcc-internal-format
 #| msgid "number of components of vector not a power of two"
 msgid "number of vector components %wu not a power of two"
 msgstr "số lượng thành phần của véctơ không thể là mũ của hai"
 
-#: c-family/c-attribs.cc:4381 c-family/c-attribs.cc:4385
+#: c-family/c-attribs.cc:4383 c-family/c-attribs.cc:4387
 #, gcc-internal-format
 msgid "number of vector components %wu exceeds %d"
 msgstr ""
 
-#: c-family/c-attribs.cc:4445
+#: c-family/c-attribs.cc:4447
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only supported on non-mask vector types"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:4478
+#: c-family/c-attribs.cc:4480
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on types"
 msgid "%qE attribute without arguments on a non-prototype"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:4535
+#: c-family/c-attribs.cc:4537
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on types"
 msgid "%qE attribute ignored on objects of type %qT"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:4543
+#: c-family/c-attribs.cc:4545
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute doesn't apply to functions"
 msgid "%qE attribute does not apply to functions"
 msgstr "Thuộc tính %qE không được áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:4677
+#: c-family/c-attribs.cc:4679
 #, gcc-internal-format
 msgid "attribute %qs mismatch with mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4726
+#: c-family/c-attribs.cc:4728
 #, gcc-internal-format
 msgid "attribute %qs missing positional argument 2 provided in previous designation by argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4732
+#: c-family/c-attribs.cc:4734
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 missing in previous designation"
 msgstr ""
 
-#: c-family/c-attribs.cc:4738
+#: c-family/c-attribs.cc:4740
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 conflicts with previous designation by argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4746
+#: c-family/c-attribs.cc:4748
 #, gcc-internal-format
 msgid "attribute %qs mismatched positional argument values %i and %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:4768
+#: c-family/c-attribs.cc:4770
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "designating the bound of variable length array argument %u"
 msgstr "ISO C90 cấm mảng có kích thước biến đổi"
 
-#: c-family/c-attribs.cc:4851
+#: c-family/c-attribs.cc:4853
 #, fuzzy, gcc-internal-format
 #| msgid "number of arguments doesn%'t match prototype"
 msgid "attribute %qE without arguments on a non-prototype"
 msgstr "số lượng đối số không giống với nó khi khai báo mẫu hàm"
 
-#: c-family/c-attribs.cc:4901
+#: c-family/c-attribs.cc:4903
 #, fuzzy, gcc-internal-format
 #| msgid "attribute ignored"
 msgid "attribute %qE invalid mode"
 msgstr "thuộc tính bị bỏ qua"
 
-#: c-family/c-attribs.cc:4910
+#: c-family/c-attribs.cc:4912
 #, gcc-internal-format
 msgid "attribute %qE mode %qE is not an identifier; expected one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4938
+#: c-family/c-attribs.cc:4940
 #, gcc-internal-format
 msgid "attribute %qE invalid mode %qs; expected one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4949
+#: c-family/c-attribs.cc:4951
 #, gcc-internal-format
 msgid "attribute %qE unexpected %<(%> after mode %qs; expected a positional argument or %<)%>"
 msgstr ""
@@ -33076,90 +33192,90 @@ msgstr ""
 #. dropping the requirement at some point and having read_only
 #. apply to all const-qualified pointers and read_write or
 #. write_only to the rest.
-#: c-family/c-attribs.cc:4962
+#: c-family/c-attribs.cc:4964
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires a string argument"
 msgid "attribute %<%E(%s)%> missing an argument"
 msgstr "Thuộc tính %qE cần tham số là chuỗi"
 
-#: c-family/c-attribs.cc:5003
+#: c-family/c-attribs.cc:5005
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5006
+#: c-family/c-attribs.cc:5008
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5031
+#: c-family/c-attribs.cc:5033
 #, gcc-internal-format
 msgid "attribute %qs positional argument %i invalid value %wi"
 msgstr ""
 
-#: c-family/c-attribs.cc:5035
+#: c-family/c-attribs.cc:5037
 #, gcc-internal-format
 msgid "attribute %qs positional argument %i value %wi exceeds number of function arguments %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5042
+#: c-family/c-attribs.cc:5044
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires a string argument"
 msgid "attribute %qs invalid positional argument"
 msgstr "Thuộc tính %qE cần tham số là chuỗi"
 
 #. The first argument must have a pointer or reference type.
-#: c-family/c-attribs.cc:5050
+#: c-family/c-attribs.cc:5052
 #, gcc-internal-format
 msgid "attribute %qs positional argument 1 references non-pointer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5061
+#: c-family/c-attribs.cc:5063
 #, gcc-internal-format
 msgid "attribute %qs positional argument 1 references argument of function type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5074
+#: c-family/c-attribs.cc:5076
 #, gcc-internal-format
 msgid "attribute %qs positional argument 1 references %qs-qualified argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5092
+#: c-family/c-attribs.cc:5094
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 references non-integer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5324
+#: c-family/c-attribs.cc:5326
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr "dọn các đối số không phải định danh"
 
-#: c-family/c-attribs.cc:5331
+#: c-family/c-attribs.cc:5333
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr "dọn các đối số không phải hàm"
 
-#: c-family/c-attribs.cc:5368
+#: c-family/c-attribs.cc:5370
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr ""
 
-#: c-family/c-attribs.cc:5376
+#: c-family/c-attribs.cc:5378
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:5392 ada/gcc-interface/utils.cc:6530
+#: c-family/c-attribs.cc:5394 ada/gcc-interface/utils.cc:6530
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5400 ada/gcc-interface/utils.cc:6537
+#: c-family/c-attribs.cc:5402 ada/gcc-interface/utils.cc:6537
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
 
-#: c-family/c-attribs.cc:5455 ada/gcc-interface/utils.cc:6901
+#: c-family/c-attribs.cc:5457 ada/gcc-interface/utils.cc:6901
 #: d/d-attribs.cc:746
 #, fuzzy, gcc-internal-format
 #| msgid "Expected binding attribute at %C"
@@ -33167,107 +33283,107 @@ msgid "empty string in attribute %<target%>"
 msgstr "Cần thuộc tính ràng buộc tại %C"
 
 #. The argument must be a constant string.
-#: c-family/c-attribs.cc:5474 config/sh/sh.cc:8548
+#: c-family/c-attribs.cc:5476 config/sh/sh.cc:8548
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5632 ada/gcc-interface/utils.cc:7050
+#: c-family/c-attribs.cc:5640 ada/gcc-interface/utils.cc:7050
 #, fuzzy, gcc-internal-format
 #| msgid "unrecognized register name %qs"
 msgid "unrecognized %qE attribute argument %qs"
 msgstr "không nhận ra tên thanh ghi %qs"
 
-#: c-family/c-attribs.cc:5650
+#: c-family/c-attribs.cc:5658
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a function returning a pointer"
 msgid "%qE attribute on a function not returning a pointer"
 msgstr "%qD không phải là một hàm trả về con trỏ"
 
-#: c-family/c-attribs.cc:5665
+#: c-family/c-attribs.cc:5673
 #, gcc-internal-format
 msgid "%qE attribute is only valid on %<struct%> type"
 msgstr ""
 
-#: c-family/c-attribs.cc:5701
+#: c-family/c-attribs.cc:5709
 #, fuzzy, gcc-internal-format
 #| msgid "section attribute argument not a string constant"
 msgid "%qE attribute argument %qE is not an integer constant"
 msgstr "đối số thuộc tính phần không phải là một hằng chuỗi"
 
-#: c-family/c-attribs.cc:5710
+#: c-family/c-attribs.cc:5718
 #, fuzzy, gcc-internal-format
 #| msgid "the %qE attribute requires arguments"
 msgid "%qE attribute argument %qE exceeds %u"
 msgstr "thuộc tính %qE cần tham số"
 
-#: c-family/c-attribs.cc:5732
+#: c-family/c-attribs.cc:5740
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute may be put on a typedef only; attribute is ignored"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:5744
+#: c-family/c-attribs.cc:5752
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on types"
 msgid "%qE attribute is for pointer types only"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: c-family/c-attribs.cc:5763
+#: c-family/c-attribs.cc:5771
 #, gcc-internal-format
 msgid "%qE is only applicable to Objective-C class interfaces, attribute ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:5786
+#: c-family/c-attribs.cc:5794
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare pointer to %q#T"
 msgid "%qE cannot be applied to non-pointer type %qT"
 msgstr "không thể khai báo con trỏ đến %q#T"
 
-#: c-family/c-attribs.cc:5799
+#: c-family/c-attribs.cc:5807
 #, fuzzy, gcc-internal-format
 #| msgid "section attribute argument not a string constant"
 msgid "%qE attribute argument %qE is not an integer constant between 0 and 3"
 msgstr "đối số thuộc tính phần không phải là một hằng chuỗi"
 
-#: c-family/c-attribs.cc:5811
+#: c-family/c-attribs.cc:5819
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute address out of range"
 msgid "%qE attribute argument %qE is not recognised"
 msgstr "Thuộc tính %qE nằm ngoài vùng địa chỉ"
 
-#: c-family/c-attribs.cc:5826
+#: c-family/c-attribs.cc:5834
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored; valid only for functions and function pointer fields"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:5837
+#: c-family/c-attribs.cc:5845
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored; field must be a function pointer"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: c-family/c-attribs.cc:5861
+#: c-family/c-attribs.cc:5869
 #, fuzzy, gcc-internal-format
 #| msgid "unknown property attribute"
 msgid "unknown attribute %qE"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: c-family/c-attribs.cc:5888
+#: c-family/c-attribs.cc:5896
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand to %%R"
 msgid "invalid operand type %qT for %qs"
 msgstr "sai đặt toán hạng tới %%R"
 
-#: c-family/c-attribs.cc:5992
+#: c-family/c-attribs.cc:6000
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qT in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:5994
+#: c-family/c-attribs.cc:6002
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qE in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6171
+#: c-family/c-attribs.cc:6179
 #, fuzzy, gcc-internal-format
 #| msgid "unsupported argument to %<__builtin_frame_address%>"
 msgid "%qs attribute not supported in %<__builtin_has_attribute%>"
@@ -33395,500 +33511,500 @@ msgstr ""
 msgid "comparison is always true due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3247
+#: c-family/c-common.cc:3251
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<>= 0%> is always true"
 msgstr ""
 
-#: c-family/c-common.cc:3255
+#: c-family/c-common.cc:3259
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<< 0%> is always false"
 msgstr ""
 
-#: c-family/c-common.cc:3299
+#: c-family/c-common.cc:3303
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3308
+#: c-family/c-common.cc:3312
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr "con trỏ đến hàm được dùng trong số học"
 
-#: c-family/c-common.cc:3525
+#: c-family/c-common.cc:3529
 #, gcc-internal-format
 msgid "enum constant in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3555 d/d-convert.cc:149
+#: c-family/c-common.cc:3559 d/d-convert.cc:149
 #, gcc-internal-format
 msgid "the address of %qD will always evaluate as %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3600
+#: c-family/c-common.cc:3604
 #, gcc-internal-format
 msgid "%<*%> in boolean context, suggest %<&&%> instead"
 msgstr ""
 
-#: c-family/c-common.cc:3612
+#: c-family/c-common.cc:3616
 #, gcc-internal-format
 msgid "%<<<%> in boolean context, did you mean %<<%>?"
 msgstr ""
 
-#: c-family/c-common.cc:3628
+#: c-family/c-common.cc:3632
 #, gcc-internal-format
 msgid "%<?:%> using integer constants in boolean context, the expression will always evaluate to %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3637
+#: c-family/c-common.cc:3641
 #, gcc-internal-format
 msgid "%<?:%> using integer constants in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3673
+#: c-family/c-common.cc:3677
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qD will always evaluate to %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3708 cp/semantics.cc:843 cp/typeck.cc:9957
+#: c-family/c-common.cc:3712 cp/semantics.cc:843 cp/typeck.cc:9971
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr "gợi ý là dùng dấu ngoặc đơn bao quanh phép gán được dùng như là giá trị chân lý"
 
-#: c-family/c-common.cc:3795 c/c-decl.cc:4708 c/c-decl.cc:7119
-#: c/c-typeck.cc:15859
+#: c-family/c-common.cc:3799 c/c-decl.cc:4708 c/c-decl.cc:7119
+#: c/c-typeck.cc:15862
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "dùng %<restrict%> không hợp lệ"
 
-#: c-family/c-common.cc:3869
+#: c-family/c-common.cc:3873
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3879
+#: c-family/c-common.cc:3883
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<alignof%> applied to a function type"
 msgstr "ISO C++ không cho phép %<alignof%> áp dụng cho kiểu hàm"
 
-#: c-family/c-common.cc:3882
+#: c-family/c-common.cc:3886
 #, gcc-internal-format
 msgid "ISO C does not permit %<_Alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3893
+#: c-family/c-common.cc:3897 cp/typeck.cc:1905
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr ""
 
-#: c-family/c-common.cc:3902
+#: c-family/c-common.cc:3906
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT"
 msgstr ""
 
-#: c-family/c-common.cc:3910
+#: c-family/c-common.cc:3914
 #, gcc-internal-format
 msgid "invalid application of %qs to array type %qT of incomplete element type"
 msgstr ""
 
-#: c-family/c-common.cc:3962
+#: c-family/c-common.cc:3966
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr "%<__alignof%> được áp dụng cho trường bít"
 
-#: c-family/c-common.cc:4762
+#: c-family/c-common.cc:4766
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr ""
 
-#: c-family/c-common.cc:4882
+#: c-family/c-common.cc:4886
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr "không thể tắt hàm dựng sẵn %qs"
 
-#: c-family/c-common.cc:5072
+#: c-family/c-common.cc:5076
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr ""
 
-#: c-family/c-common.cc:5079
+#: c-family/c-common.cc:5083
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5107
+#: c-family/c-common.cc:5111
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr "vùng trống rỗng được chỉ ra"
 
-#: c-family/c-common.cc:5159
+#: c-family/c-common.cc:5163
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr ""
 
-#: c-family/c-common.cc:5161
+#: c-family/c-common.cc:5165
 #, gcc-internal-format
 msgid "this is the first entry overlapping that value"
 msgstr ""
 
-#: c-family/c-common.cc:5165
+#: c-family/c-common.cc:5169
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr "trùng giá trị cho case"
 
-#: c-family/c-common.cc:5166 c-family/c-warn.cc:2542
+#: c-family/c-common.cc:5170 c-family/c-warn.cc:2542
 #, gcc-internal-format
 msgid "previously used here"
 msgstr "cái trước được dùng là ở đây"
 
-#: c-family/c-common.cc:5170
+#: c-family/c-common.cc:5174
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr ""
 
-#: c-family/c-common.cc:5172
+#: c-family/c-common.cc:5176
 #, gcc-internal-format
 msgid "this is the first default label"
 msgstr "đây là nhãn mặc định đầu tiên"
 
-#: c-family/c-common.cc:5284
+#: c-family/c-common.cc:5288
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5462
+#: c-family/c-common.cc:5466
 #, gcc-internal-format
 msgid "requested alignment is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:5470 c-family/c-common.cc:5480
+#: c-family/c-common.cc:5474 c-family/c-common.cc:5484
 #, fuzzy, gcc-internal-format
 msgid "requested alignment %qE is not a positive power of 2"
 msgstr "-falign-labels=%d không được hỗ trợ"
 
-#: c-family/c-common.cc:5490
+#: c-family/c-common.cc:5494
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds object file maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5498
+#: c-family/c-common.cc:5502
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5673
+#: c-family/c-common.cc:5677
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr ""
 
-#: c-family/c-common.cc:5687
+#: c-family/c-common.cc:5691
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr ""
 
-#: c-family/c-common.cc:5914 c-family/c-common.cc:5964 d/d-attribs.cc:812
+#: c-family/c-common.cc:5918 c-family/c-common.cc:5968 d/d-attribs.cc:812
 #: d/d-attribs.cc:862
 #, gcc-internal-format
 msgid "bad option %qs to attribute %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:5917 c-family/c-common.cc:5968
+#: c-family/c-common.cc:5921 c-family/c-common.cc:5972
 #, fuzzy, gcc-internal-format
 msgid "bad option %qs to pragma %<optimize%>"
 msgstr "thao tác không hợp lệ cho %<#pragma omp atomic%>"
 
-#: c-family/c-common.cc:6016
+#: c-family/c-common.cc:6020
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> specified multiple times"
 msgstr ""
 
-#: c-family/c-common.cc:6020
+#: c-family/c-common.cc:6024
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute specified with a parameter"
 msgstr ""
 
-#: c-family/c-common.cc:6200 c-family/c-common.cc:7036
-#: c-family/c-common.cc:7083 c-family/c-common.cc:7158
-#: c-family/c-common.cc:7231 config/aarch64/aarch64-sve-builtins.cc:2122
+#: c-family/c-common.cc:6204 c-family/c-common.cc:7040
+#: c-family/c-common.cc:7087 c-family/c-common.cc:7162
+#: c-family/c-common.cc:7235 config/aarch64/aarch64-sve-builtins.cc:2122
 #: c/c-typeck.cc:3729
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr "quá ít đối số cho hàm %qE"
 
-#: c-family/c-common.cc:6205 c-family/c-common.cc:7089
-#: c-family/c-common.cc:7257 config/aarch64/aarch64-sve-builtins.cc:2124
+#: c-family/c-common.cc:6209 c-family/c-common.cc:7093
+#: c-family/c-common.cc:7261 config/aarch64/aarch64-sve-builtins.cc:2124
 #: c/c-typeck.cc:3593
 #, gcc-internal-format
 msgid "too many arguments to function %qE"
 msgstr "quá nhiều đối số cho hàm %qE"
 
-#: c-family/c-common.cc:6247
+#: c-family/c-common.cc:6251
 #, fuzzy, gcc-internal-format
 #| msgid "%qs argument of %qs intrinsic at %L must be a constant"
 msgid "third argument to function %qE must be a constant integer"
 msgstr "đối số %qs của %qs intrinsict tại %L phải là hằng"
 
-#: c-family/c-common.cc:6272
+#: c-family/c-common.cc:6276
 #, gcc-internal-format
 msgid "second argument to function %qE must be a constant integer power of 2 between %qi and %qu bits"
 msgstr ""
 
-#: c-family/c-common.cc:6293 c-family/c-common.cc:6337
+#: c-family/c-common.cc:6297 c-family/c-common.cc:6341
 #, gcc-internal-format
 msgid "non-floating-point argument in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6316
+#: c-family/c-common.cc:6320
 #, gcc-internal-format
 msgid "non-floating-point arguments in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6330
+#: c-family/c-common.cc:6334
 #, gcc-internal-format
 msgid "non-const integer argument %u in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6350
+#: c-family/c-common.cc:6354
 #, gcc-internal-format
 msgid "non-integer argument 3 in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6367 c-family/c-common.cc:6417
+#: c-family/c-common.cc:6371 c-family/c-common.cc:6421
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6374
+#: c-family/c-common.cc:6378
 #, fuzzy, gcc-internal-format
 msgid "argument 3 in call to function %qE does not have pointer to integral type"
 msgstr "%qE không có con trỏ hay kiểu mảng"
 
-#: c-family/c-common.cc:6380
+#: c-family/c-common.cc:6384
 #, fuzzy, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to enumerated type"
 msgstr "Cảnh báo khi xóa một con trỏ tới kiểu không hoàn toàn."
 
-#: c-family/c-common.cc:6386
+#: c-family/c-common.cc:6390
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6392 c-family/c-common.cc:6399
-#: c-family/c-common.cc:6454 c-family/c-common.cc:6461
+#: c-family/c-common.cc:6396 c-family/c-common.cc:6403
+#: c-family/c-common.cc:6458 c-family/c-common.cc:6465
 #, fuzzy, gcc-internal-format
 msgid "argument %u in call to function %qE has pointer to %qs type (%qT)"
 msgstr "Cảnh báo khi xóa một con trỏ tới kiểu không hoàn toàn."
 
-#: c-family/c-common.cc:6423
+#: c-family/c-common.cc:6427
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6429
+#: c-family/c-common.cc:6433
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6442
+#: c-family/c-common.cc:6446
 #, fuzzy, gcc-internal-format
 msgid "argument %u in call to function %qE does not have pointer type"
 msgstr "%qE không có con trỏ hay kiểu mảng"
 
-#: c-family/c-common.cc:6448
+#: c-family/c-common.cc:6452
 #, fuzzy, gcc-internal-format
 msgid "argument %u in call to function %qE points to incomplete type"
 msgstr "Cảnh báo khi xóa một con trỏ tới kiểu không hoàn toàn."
 
-#: c-family/c-common.cc:6713
+#: c-family/c-common.cc:6717
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to static data member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6718
+#: c-family/c-common.cc:6722
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
 msgstr ""
 
-#: c-family/c-common.cc:6725
+#: c-family/c-common.cc:6729
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to a non constant address"
 msgstr ""
 
-#: c-family/c-common.cc:6738
+#: c-family/c-common.cc:6742
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6791
+#: c-family/c-common.cc:6795
 #, gcc-internal-format
 msgid "index %E denotes an offset greater than size of %qT"
 msgstr ""
 
-#: c-family/c-common.cc:6952
+#: c-family/c-common.cc:6956
 #, gcc-internal-format
 msgid "size of array is too large"
 msgstr "kích cỡ mảng là quá lớn"
 
-#: c-family/c-common.cc:7066 c-family/c-common.cc:7190
+#: c-family/c-common.cc:7070 c-family/c-common.cc:7194
 #, gcc-internal-format
 msgid "operand type %qT is incompatible with argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7100
+#: c-family/c-common.cc:7104
 #, gcc-internal-format
 msgid "expecting argument of type pointer or of type integer for argument 1"
 msgstr ""
 
-#: c-family/c-common.cc:7116
+#: c-family/c-common.cc:7120
 #, fuzzy, gcc-internal-format
 #| msgid "argument must be channel"
 msgid "both arguments must be compatible"
 msgstr "đối số phải là kênh"
 
-#: c-family/c-common.cc:7332
+#: c-family/c-common.cc:7336
 #, gcc-internal-format
 msgid "incorrect number of arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7346
+#: c-family/c-common.cc:7350
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a non-void pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7353
+#: c-family/c-common.cc:7357
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a complete type"
 msgstr "đối số %d của %qE phải là một địa chỉ"
 
-#: c-family/c-common.cc:7362
+#: c-family/c-common.cc:7366
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7373
+#: c-family/c-common.cc:7377
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a nonzero size object"
 msgstr ""
 
-#: c-family/c-common.cc:7394
+#: c-family/c-common.cc:7398
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7402
+#: c-family/c-common.cc:7406
 #, fuzzy, gcc-internal-format
 msgid "argument %d of %qE must be a pointer to a constant size type"
 msgstr "đối số %d của %qE phải là một địa chỉ"
 
-#: c-family/c-common.cc:7408
+#: c-family/c-common.cc:7412
 #, fuzzy, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a function"
 msgstr "đối số %d của %qE phải là bội số của %d"
 
-#: c-family/c-common.cc:7416
+#: c-family/c-common.cc:7420
 #, gcc-internal-format
 msgid "size mismatch in argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7429
+#: c-family/c-common.cc:7433
 #, fuzzy, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<const%> type"
 msgstr "đối số %d của %qE phải là một địa chỉ"
 
-#: c-family/c-common.cc:7434
+#: c-family/c-common.cc:7438
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<const%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7443
+#: c-family/c-common.cc:7447
 #, fuzzy, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<volatile%> type"
 msgstr "đối số %d của %qE phải là một địa chỉ"
 
-#: c-family/c-common.cc:7448
+#: c-family/c-common.cc:7452
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<volatile%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7461
+#: c-family/c-common.cc:7465
 #, gcc-internal-format
 msgid "non-integer memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7474
+#: c-family/c-common.cc:7478
 #, gcc-internal-format
 msgid "invalid memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7875
+#: c-family/c-common.cc:7879
 #, gcc-internal-format
 msgid "this target does not define a speculation barrier; your program will still execute correctly, but incorrect speculation may not be restricted"
 msgstr ""
 
-#: c-family/c-common.cc:8510
+#: c-family/c-common.cc:8514
 #, gcc-internal-format
 msgid "index value is out of bound"
 msgstr "giá trị chỉ mục nằm ngoài phạm vi cho phép"
 
-#: c-family/c-common.cc:8552 c-family/c-common.cc:8601
-#: c-family/c-common.cc:8617
+#: c-family/c-common.cc:8556 c-family/c-common.cc:8605
+#: c-family/c-common.cc:8621
 #, gcc-internal-format
 msgid "conversion of scalar %qT to vector %qT involves truncation"
 msgstr ""
 
 #. Reject arguments that are built-in functions with
 #. no library fallback.
-#: c-family/c-common.cc:8705
+#: c-family/c-common.cc:8709
 #, gcc-internal-format
 msgid "built-in function %qE must be directly called"
 msgstr ""
 
-#: c-family/c-common.cc:8725
+#: c-family/c-common.cc:8729
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "size of array %qE is not a constant expression"
 msgstr "kích cỡ mảng không phải là biểu thức hằng số nguyên"
 
-#: c-family/c-common.cc:8728
+#: c-family/c-common.cc:8732
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "size of array is not a constant expression"
 msgstr "kích cỡ mảng không phải là biểu thức hằng số nguyên"
 
-#: c-family/c-common.cc:8732
+#: c-family/c-common.cc:8736
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qE is negative"
 msgid "size %qE of array %qE is negative"
 msgstr "kích cỡ mảng %qE bị âm"
 
-#: c-family/c-common.cc:8735
+#: c-family/c-common.cc:8739
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is negative"
 msgid "size %qE of array is negative"
 msgstr "kích cỡ mảng bị âm"
 
-#: c-family/c-common.cc:8740
+#: c-family/c-common.cc:8744
 #, gcc-internal-format
 msgid "size %qE of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8743
+#: c-family/c-common.cc:8747
 #, gcc-internal-format
 msgid "size %qE of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8748
+#: c-family/c-common.cc:8752
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qE is negative"
 msgid "size of array %qE exceeds maximum object size %qE"
 msgstr "kích cỡ mảng %qE bị âm"
 
-#: c-family/c-common.cc:8751
+#: c-family/c-common.cc:8755
 #, gcc-internal-format
 msgid "size of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8822
+#: c-family/c-common.cc:8826
 #, gcc-internal-format
 msgid "environment variable %qs must expand to a non-negative integer less than or equal to %wd"
 msgstr ""
@@ -34580,7 +34696,7 @@ msgstr ""
 msgid "traditional C rejects string constant concatenation"
 msgstr ""
 
-#: c-family/c-omp.cc:131 cp/pt.cc:19096
+#: c-family/c-omp.cc:131 cp/pt.cc:19141
 #, gcc-internal-format
 msgid "%<#pragma omp critical%> with %<hint%> clause requires a name, except when %<omp_sync_hint_none%> is used"
 msgstr ""
@@ -34601,148 +34717,148 @@ msgstr "thao tác không hợp lệ cho %<#pragma omp atomic%>"
 msgid "%<#pragma omp atomic compare capture%> with non-integral comparison result"
 msgstr "%<#pragma omp atomic capture%> sử dụng hai biểu thức khác nhau cho bộ nhớ"
 
-#: c-family/c-omp.cc:535
+#: c-family/c-omp.cc:540
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different variables for memory"
 msgstr ""
 
-#: c-family/c-omp.cc:538 c-family/c-omp.cc:576
+#: c-family/c-omp.cc:543 c-family/c-omp.cc:581
 #, gcc-internal-format
 msgid "%<#pragma omp atomic capture%> uses two different variables for memory"
 msgstr ""
 
-#: c-family/c-omp.cc:695
+#: c-family/c-omp.cc:700
 #, gcc-internal-format
 msgid "type of %<depobj%> expression is not %<omp_depend_t%>"
 msgstr ""
 
-#: c-family/c-omp.cc:701
+#: c-family/c-omp.cc:706
 #, gcc-internal-format
 msgid "%<const%> qualified %<depobj%> expression"
 msgstr ""
 
-#: c-family/c-omp.cc:717
+#: c-family/c-omp.cc:722
 #, gcc-internal-format
 msgid "more than one locator in %<depend%> clause on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:723
+#: c-family/c-omp.cc:728
 #, gcc-internal-format
 msgid "%<depobj%> dependence type specified in %<depend%> clause on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:745
+#: c-family/c-omp.cc:750
 #, gcc-internal-format
 msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:959 cp/semantics.cc:10456
+#: c-family/c-omp.cc:964 cp/semantics.cc:10447
 #, gcc-internal-format
 msgid "invalid type for iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:964
+#: c-family/c-omp.cc:969
 #, fuzzy, gcc-internal-format
 msgid "%<_Atomic%> iteration variable %qE"
 msgstr "biến iterator"
 
-#: c-family/c-omp.cc:980
+#: c-family/c-omp.cc:985
 #, gcc-internal-format
 msgid "%qE is not initialized"
 msgstr "%qE chưa được khởi tạo"
 
-#: c-family/c-omp.cc:1001 cp/semantics.cc:10345
+#: c-family/c-omp.cc:1006 cp/semantics.cc:10336
 #, gcc-internal-format
 msgid "missing controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1107 cp/semantics.cc:9961
+#: c-family/c-omp.cc:1112 cp/semantics.cc:9952
 #, gcc-internal-format
 msgid "invalid controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1114 cp/semantics.cc:10351
+#: c-family/c-omp.cc:1119 cp/semantics.cc:10342
 #, gcc-internal-format
 msgid "missing increment expression"
 msgstr "thiếu biểu thức gia số"
 
-#: c-family/c-omp.cc:1214 c-family/c-omp.cc:1232
+#: c-family/c-omp.cc:1219 c-family/c-omp.cc:1237
 #, gcc-internal-format
 msgid "increment is not constant 1 or -1 for %<!=%> condition"
 msgstr ""
 
-#: c-family/c-omp.cc:1245 cp/semantics.cc:10078
+#: c-family/c-omp.cc:1250 cp/semantics.cc:10069
 #, gcc-internal-format
 msgid "invalid increment expression"
 msgstr "biểu thức gia không hợp lệ"
 
-#: c-family/c-omp.cc:1342
+#: c-family/c-omp.cc:1347
 #, gcc-internal-format
 msgid "initializer expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1346
+#: c-family/c-omp.cc:1351
 #, gcc-internal-format
 msgid "condition expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1350
+#: c-family/c-omp.cc:1355
 #, gcc-internal-format
 msgid "increment expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1528
+#: c-family/c-omp.cc:1533
 #, gcc-internal-format
 msgid "outer iteration variable %qD used in initializer expression has type other than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1532
+#: c-family/c-omp.cc:1537
 #, gcc-internal-format
 msgid "outer iteration variable %qD used in condition expression has type other than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1539
+#: c-family/c-omp.cc:1544
 #, gcc-internal-format
 msgid "outer iteration variable %qD multiplier expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1545
+#: c-family/c-omp.cc:1550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "outer iteration variable %qD addend expression %qE is not integral"
 msgstr "biểu thức nguyên %qE không là hằng"
 
-#: c-family/c-omp.cc:1610 c-family/c-omp.cc:1695
+#: c-family/c-omp.cc:1615 c-family/c-omp.cc:1700
 #, gcc-internal-format
 msgid "the same loop iteration variables %qD used in multiple associated loops"
 msgstr ""
 
-#: c-family/c-omp.cc:1645
+#: c-family/c-omp.cc:1650
 #, gcc-internal-format
 msgid "two different outer iteration variables %qD and %qD used in a single loop"
 msgstr ""
 
-#: c-family/c-omp.cc:2242
+#: c-family/c-omp.cc:2247
 #, gcc-internal-format
 msgid "invalid %<task%> reduction modifier on construct combined with %<simd%> or %<loop%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2253
+#: c-family/c-omp.cc:2258
 #, gcc-internal-format
 msgid "invalid %<task%> reduction modifier on construct not combined with %<parallel%>, %<for%> or %<sections%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2266
+#: c-family/c-omp.cc:2271
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause on construct other than %<for%>, %<simd%>, %<for simd%>, %<parallel for%>, %<parallel for simd%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2739 c/c-typeck.cc:15672 cp/semantics.cc:9074
+#: c-family/c-omp.cc:2744 c/c-typeck.cc:15675 cp/semantics.cc:9065
 #, gcc-internal-format
 msgid "%qD specified in %<allocate%> clause but not in an explicit privatization clause"
 msgstr ""
 
-#: c-family/c-omp.cc:2831 c-family/c-omp.cc:2846
+#: c-family/c-omp.cc:2836 c-family/c-omp.cc:2851
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not an function argument"
 msgid "%qD is not a function argument"
@@ -34816,84 +34932,84 @@ msgstr "-Wformat-contains-nul bị lờ đi nếu không có -Wformat"
 msgid "%<-Wformat-security%> ignored without %<-Wformat%>"
 msgstr "-Wformat-security bị lờ đi nếu không có -Wformat"
 
-#: c-family/c-opts.cc:972
+#: c-family/c-opts.cc:974
 #, gcc-internal-format
 msgid "%<-fabi-compat-version=1%> is not supported, using =2"
 msgstr "%<-fabi-compat-version=1%> không được hỗ trợ, dùng =2"
 
-#: c-family/c-opts.cc:999
+#: c-family/c-opts.cc:1001
 #, gcc-internal-format
 msgid "%<-Wabi%> won%'t warn about anything"
 msgstr ""
 
-#: c-family/c-opts.cc:1001
+#: c-family/c-opts.cc:1003
 #, gcc-internal-format
 msgid "%<-Wabi%> warns about differences from the most up-to-date ABI, which is also used by default"
 msgstr ""
 
-#: c-family/c-opts.cc:1004
+#: c-family/c-opts.cc:1006
 #, gcc-internal-format
 msgid "use e.g. %<-Wabi=11%> to warn about changes from GCC 7"
 msgstr ""
 
-#: c-family/c-opts.cc:1074
+#: c-family/c-opts.cc:1076
 #, gcc-internal-format
 msgid "external TLS initialization functions not supported on this target"
 msgstr ""
 
-#: c-family/c-opts.cc:1098
+#: c-family/c-opts.cc:1100
 #, fuzzy, gcc-internal-format
 #| msgid "too many filenames given.  Type %s --help for usage"
 msgid "too many filenames given; type %<%s %s%> for usage"
 msgstr "chỉ ra quá nhiều tên tập tin. Gõ lệnh %s --help để biết cách dùng"
 
-#: c-family/c-opts.cc:1112
+#: c-family/c-opts.cc:1114
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr "mở tập tin kết xuất %s: %m"
 
-#: c-family/c-opts.cc:1130
+#: c-family/c-opts.cc:1132
 #, gcc-internal-format
 msgid "the %qs debug info cannot be used with pre-compiled headers"
 msgstr ""
 
-#: c-family/c-opts.cc:1296 d/d-lang.cc:1292
+#: c-family/c-opts.cc:1298 d/d-lang.cc:1291
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr "mở tập tin phụ thuộc %s: %m"
 
-#: c-family/c-opts.cc:1307 d/d-lang.cc:1305
+#: c-family/c-opts.cc:1309 d/d-lang.cc:1304
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr "đóng tập tin phụ thuộc %s: %m"
 
-#: c-family/c-opts.cc:1310
+#: c-family/c-opts.cc:1312
 #, gcc-internal-format
 msgid "when writing output to %s: %m"
 msgstr "khi ghi kết xuất ra %s: %m"
 
-#: c-family/c-opts.cc:1386
+#: c-family/c-opts.cc:1388
 #, gcc-internal-format
 msgid "to generate dependencies you must specify either %<-M%> or %<-MM%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1410
+#: c-family/c-opts.cc:1412
 #, fuzzy, gcc-internal-format
 #| msgid "-MG may only be used with -M or -MM"
 msgid "%<-MG%> may only be used with %<-M%> or %<-MM%>"
 msgstr "-MG chỉ nên dùng với -M hoặc -MM"
 
-#: c-family/c-opts.cc:1443
+#: c-family/c-opts.cc:1445
 #, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-Wunused-macros%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1446
+#: c-family/c-opts.cc:1448
 #, fuzzy, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-traditional%>"
 msgstr "-fsanitize=address xung khắc với -fsanitize=kernel-address"
 
-#: c-family/c-opts.cc:1644
+#: c-family/c-opts.cc:1646
 #, gcc-internal-format
 msgid "too late for # directive to set debug directory"
 msgstr ""
@@ -35273,42 +35389,42 @@ msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%> không được hỗ trợ trên
 msgid "ISO C does not support %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
 msgstr "ISO C không hỗ trợ %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
 
-#: c-family/c-pretty-print.cc:339
+#: c-family/c-pretty-print.cc:340
 #, gcc-internal-format
 msgid "<type-error>"
 msgstr "<loại sai>"
 
-#: c-family/c-pretty-print.cc:382
+#: c-family/c-pretty-print.cc:383
 #, gcc-internal-format
 msgid "<unnamed-unsigned:"
 msgstr "<không tên không ký:"
 
-#: c-family/c-pretty-print.cc:386
+#: c-family/c-pretty-print.cc:387
 #, gcc-internal-format
 msgid "<unnamed-float:"
 msgstr "<không tên nổi:"
 
-#: c-family/c-pretty-print.cc:389
+#: c-family/c-pretty-print.cc:390
 #, gcc-internal-format
 msgid "<unnamed-fixed:"
 msgstr "<không tên cố định:"
 
-#: c-family/c-pretty-print.cc:404
+#: c-family/c-pretty-print.cc:405
 #, gcc-internal-format
 msgid "<typedef-error>"
 msgstr "<lỗi xác định loại>"
 
-#: c-family/c-pretty-print.cc:419
+#: c-family/c-pretty-print.cc:420
 #, gcc-internal-format
 msgid "<tag-error>"
 msgstr "<lỗi thẻ>"
 
-#: c-family/c-pretty-print.cc:1309
+#: c-family/c-pretty-print.cc:1310
 #, gcc-internal-format
 msgid "<erroneous-expression>"
 msgstr "<biểu tượng bị lỗi>"
 
-#: c-family/c-pretty-print.cc:1313 cp/cxx-pretty-print.cc:133
+#: c-family/c-pretty-print.cc:1314 cp/cxx-pretty-print.cc:133
 #, gcc-internal-format
 msgid "<return-value>"
 msgstr "<giá trị trả lại>"
@@ -35319,7 +35435,7 @@ msgid "wrong type argument to %s"
 msgstr "sai kiểu đối số cho %s"
 
 #: c-family/c-warn.cc:58 c-family/c-warn.cc:71 cp/constexpr.cc:3113
-#: cp/constexpr.cc:6476
+#: cp/constexpr.cc:6554
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "tràn trong biểu thức hằng"
@@ -36284,7 +36400,7 @@ msgstr "quá nhiều tập tin nhập vào"
 msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?"
 msgstr ""
 
-#: common/config/aarch64/aarch64-common.cc:519 config/aarch64/aarch64.cc:16853
+#: common/config/aarch64/aarch64-common.cc:519 config/aarch64/aarch64.cc:17798
 #, fuzzy, gcc-internal-format
 #| msgid "unknown value %qs for -mcpu"
 msgid "unknown value %qs for %<-mcpu%>"
@@ -36318,15 +36434,15 @@ msgid "unrecognized option passed to %%:%<target_mode_check%>"
 msgstr ""
 
 #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442
-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:16785
-#: config/aarch64/aarch64.cc:16823
+#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:17730
+#: config/aarch64/aarch64.cc:17768
 #, gcc-internal-format
 msgid "valid arguments are: %s; did you mean %qs?"
 msgstr "đối số hợp lệ là: %s; có phải ý bạn là là: %qs?"
 
 #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445
-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:16788
-#: config/aarch64/aarch64.cc:16826
+#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:17733
+#: config/aarch64/aarch64.cc:17771
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "valid arguments to %qs are: %s"
 msgid "valid arguments are: %s"
@@ -36499,67 +36615,67 @@ msgstr "-mregparm=%d không nằm giữa 0 và %d"
 msgid "for the option %<-mcache-block-size=X%>, the valid X must be: 4, 8, 16, 32, 64, 128, 256, or 512"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:378
+#: common/config/riscv/riscv-common.cc:392
 #, gcc-internal-format
 msgid "%<-march=%s%>: extension %qs appear more than one time"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:626
+#: common/config/riscv/riscv-common.cc:640
 #, gcc-internal-format
 msgid "%<-march=%s%>: expect number after %<%dp%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:632
+#: common/config/riscv/riscv-common.cc:646
 #, gcc-internal-format
 msgid "%<-march=%s%>: for %<%s%dp%dp?%>, version number with more than 2 level is not supported"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:702
+#: common/config/riscv/riscv-common.cc:716
 #, gcc-internal-format
 msgid "%<-march=%s%>: rv%de is not a valid base ISA"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:714
+#: common/config/riscv/riscv-common.cc:728
 #, gcc-internal-format
 msgid "version of %<g%> will be omitted, please specify version for individual extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:733
+#: common/config/riscv/riscv-common.cc:747
 #, gcc-internal-format
 msgid "%<-march=%s%>: first ISA subset must be %<e%>, %<i%> or %<g%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:760
+#: common/config/riscv/riscv-common.cc:774
 #, gcc-internal-format
 msgid "%<-march=%s%>: unsupported ISA subset %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:764
+#: common/config/riscv/riscv-common.cc:778
 #, gcc-internal-format
 msgid "%<-march=%s%>: ISA string is not in canonical order. %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:907
+#: common/config/riscv/riscv-common.cc:965
 #, gcc-internal-format
 msgid "%<-march=%s%>: name of %s must be more than 1 letter"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:919
+#: common/config/riscv/riscv-common.cc:977
 #, gcc-internal-format
 msgid "%<-march=%s%>: %s must separate with %<_%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:948
+#: common/config/riscv/riscv-common.cc:1006
 #, gcc-internal-format
 msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:985
+#: common/config/riscv/riscv-common.cc:1043
 #, gcc-internal-format
 msgid "%<-march=%s%>: unexpected ISA string at end: %qs"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1161
+#: common/config/riscv/riscv-common.cc:1221
 #, fuzzy, gcc-internal-format
 #| msgid "%<%s%> is unknown"
 msgid "%<-mcpu=%s%>: unknown CPU"
@@ -36577,7 +36693,12 @@ msgstr "không hiểu tùy chọn -mdebug-%s"
 msgid "unknown switch %<-mlong-double-%s%>"
 msgstr "không hiểu tùy chọn -mlong-double-%s"
 
-#: common/config/rs6000/rs6000-common.cc:258
+#: common/config/rs6000/rs6000-common.cc:234
+#, gcc-internal-format
+msgid "option %<%s%> requires %<-mlong-double-128%>"
+msgstr ""
+
+#: common/config/rs6000/rs6000-common.cc:268
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later"
 msgstr "%<-fsplit-stack%> hiện nay chỉ được hỗ trợ trên GNU/Linux PowerPC64 với glibc-2.18 hay mới hơn"
@@ -36833,9 +36954,9 @@ msgstr "%s trong chuỗi văn CFString"
 
 #: config/host-darwin.cc:107
 #, fuzzy, gcc-internal-format
-#| msgid "function body not available"
-msgid "PCH memory not available %m"
-msgstr "thân hàm không sẵn sàng"
+#| msgid "%qD is not a variable"
+msgid "PCH memory is not available: %m"
+msgstr "%qD không phải là một biến"
 
 #: config/sol2-c.cc:91 config/sol2-c.cc:107
 #, gcc-internal-format
@@ -36904,13 +37025,13 @@ msgid "PIC is only supported for RTPs"
 msgstr ""
 
 #: config/aarch64/aarch64-builtins.cc:1870
-#: config/aarch64/aarch64-builtins.cc:2104 config/arm/arm-builtins.cc:3032
+#: config/aarch64/aarch64-builtins.cc:2104 config/arm/arm-builtins.cc:3086
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "last argument must be an immediate"
 msgid "argument %d must be a constant immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp"
 
-#: config/aarch64/aarch64-builtins.cc:1942 config/arm/arm-builtins.cc:3380
+#: config/aarch64/aarch64-builtins.cc:1942 config/arm/arm-builtins.cc:3441
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "lane index must be a constant immediate"
@@ -37324,386 +37445,400 @@ msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 msgid "capture by copy of SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2190
+#: config/aarch64/aarch64.cc:2735
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to functions"
 msgid "the %qE attribute cannot be applied to an SVE function type"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: config/aarch64/aarch64.cc:2265 config/aarch64/aarch64.cc:2279
+#: config/aarch64/aarch64.cc:2810 config/aarch64/aarch64.cc:2824
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<for%> after %qs"
 msgid "unexpected %<%s%> after %<%s%>"
 msgstr "cần %<for%> sau %qs"
 
-#: config/aarch64/aarch64.cc:2732
+#: config/aarch64/aarch64.cc:3277
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is incompatible with %s %s"
 msgid "%qs is incompatible with the use of floating-point types"
 msgstr "%qs không tương thích với %s %s"
 
-#: config/aarch64/aarch64.cc:2735
+#: config/aarch64/aarch64.cc:3280
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is incompatible with %s %s"
 msgid "%qs is incompatible with the use of vector types"
 msgstr "%qs không tương thích với %s %s"
 
-#: config/aarch64/aarch64.cc:2739
+#: config/aarch64/aarch64.cc:3284
 #, gcc-internal-format
 msgid "%qs feature modifier is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2742
+#: config/aarch64/aarch64.cc:3287
 #, gcc-internal-format
 msgid "%qs feature modifier is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2758
+#: config/aarch64/aarch64.cc:3303
 #, fuzzy, gcc-internal-format
 #| msgid "Do not use the SPE ABI extensions."
 msgid "this operation requires the SVE ISA extension"
 msgstr "Không dùng lệnh mở rộng SPE ABI."
 
-#: config/aarch64/aarch64.cc:2759
+#: config/aarch64/aarch64.cc:3304
 #, gcc-internal-format
 msgid "you can enable SVE using the command-line option %<-march%>, or by using the %<target%> attribute or pragma"
 msgstr ""
 
 #. We can't gracefully recover at this point, so make this a
 #. fatal error.
-#: config/aarch64/aarch64.cc:6381
+#: config/aarch64/aarch64.cc:7030
 #, gcc-internal-format
 msgid "arguments of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:6708
+#: config/aarch64/aarch64.cc:7357
 #, fuzzy, gcc-internal-format
 #| msgid "Vector argument passed to unprototyped function"
 msgid "SVE type %qT cannot be passed to an unprototyped function"
 msgstr "Đối số véc-tơ bị gửi cho hàm không nguyên mẫu"
 
-#: config/aarch64/aarch64.cc:6836 config/aarch64/aarch64.cc:6899
-#: config/aarch64/aarch64.cc:7022 config/aarch64/aarch64.cc:18720
-#: config/arm/arm.cc:7193 config/arm/arm.cc:7223 config/arm/arm.cc:28981
+#: config/aarch64/aarch64.cc:7485 config/aarch64/aarch64.cc:7548
+#: config/aarch64/aarch64.cc:7671 config/aarch64/aarch64.cc:19665
+#: config/arm/arm.cc:7234 config/arm/arm.cc:7264 config/arm/arm.cc:29057
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 9.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:6967
+#: config/aarch64/aarch64.cc:7616
 #, fuzzy, gcc-internal-format
 #| msgid "Use the SPE ABI extensions."
 msgid "%qE requires the SVE ISA extension"
 msgstr "Dùng lệnh mở rộng SPE ABI."
 
-#: config/aarch64/aarch64.cc:6970
+#: config/aarch64/aarch64.cc:7619
 #, gcc-internal-format
 msgid "calls to functions of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7147
+#: config/aarch64/aarch64.cc:7796
 #, gcc-internal-format
 msgid "stack probes for SVE frames"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16287
+#: config/aarch64/aarch64.cc:17228
 #, gcc-internal-format
 msgid "unknown flag passed in %<-moverride=%s%> (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16331
+#: config/aarch64/aarch64.cc:17272
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute ignored"
 msgid "%qs string ill-formed"
 msgstr "thuộc tính %qs bị bỏ qua"
 
-#: config/aarch64/aarch64.cc:16387
+#: config/aarch64/aarch64.cc:17328
 #, fuzzy, gcc-internal-format
 #| msgid "invalid format of %s"
 msgid "invalid format for %<sve_width%>"
 msgstr "định dạng của %s không hợp lệ"
 
-#: config/aarch64/aarch64.cc:16399
+#: config/aarch64/aarch64.cc:17340
 #, fuzzy, gcc-internal-format
 #| msgid "invalid %%J value"
 msgid "invalid %<sve_width%> value: %d"
 msgstr "giá trị %%J sai"
 
-#: config/aarch64/aarch64.cc:16419
+#: config/aarch64/aarch64.cc:17360
 #, gcc-internal-format, gfc-internal-format
 msgid "tuning string missing in option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16437
+#: config/aarch64/aarch64.cc:17378
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown tuning option (%s)"
 msgstr "không hiểu tùy chọn chỉnh (%s)"
 
-#: config/aarch64/aarch64.cc:16605 config/riscv/riscv.cc:5061
+#: config/aarch64/aarch64.cc:17546 config/arm/arm.cc:3188
+#: config/riscv/riscv.cc:5061
 #, gcc-internal-format
 msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16614 config/riscv/riscv.cc:5070
+#: config/aarch64/aarch64.cc:17555 config/riscv/riscv.cc:5070
 #, gcc-internal-format
 msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16622
+#: config/aarch64/aarch64.cc:17563
 #, gcc-internal-format
 msgid "specify a system register with a small string length"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16632 config/arm/arm.cc:3197
-#: config/riscv/riscv.cc:5099 config/rs6000/rs6000.cc:4600
+#: config/aarch64/aarch64.cc:17573 config/arm/arm.cc:3200
+#: config/riscv/riscv.cc:5099 config/rs6000/rs6000.cc:4569
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not valid for %qs"
 msgid "%qs is not a valid offset in %qs"
 msgstr "%qs không hợp lệ cho %qs"
 
-#: config/aarch64/aarch64.cc:16725
+#: config/aarch64/aarch64.cc:17580
+#, gcc-internal-format
+msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:17670
 #, gcc-internal-format
 msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size.  Given value %d (%llu KB) is out of range"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16741
+#: config/aarch64/aarch64.cc:17686
 #, gcc-internal-format
 msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16850
+#: config/aarch64/aarch64.cc:17795
 #, fuzzy, gcc-internal-format
 #| msgid "missing cpu name in -mcpu=%qs"
 msgid "missing cpu name in %<-mcpu=%s%>"
 msgstr "thiếu cpu trong -mcpu=%qs"
 
-#: config/aarch64/aarch64.cc:16857
+#: config/aarch64/aarch64.cc:17802
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16916
+#: config/aarch64/aarch64.cc:17861
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "invalid argument given to %<-mharden-sls=%>"
 msgstr "đối số không hợp lệ cho %<__builtin_frame_address%>"
 
-#: config/aarch64/aarch64.cc:16927
+#: config/aarch64/aarch64.cc:17872
 #, gcc-internal-format
 msgid "%qs must be by itself for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:16932
+#: config/aarch64/aarch64.cc:17877
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "invalid argument %<%s%> for %<-mharden-sls=%>"
 msgstr "đối số không hợp lệ cho %<__builtin_frame_address%>"
 
-#: config/aarch64/aarch64.cc:17038
+#: config/aarch64/aarch64.cc:17983
 #, gcc-internal-format
 msgid "invalid argument %<%s%> for %<-mbranch-protection=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17040
+#: config/aarch64/aarch64.cc:17985
 #, gcc-internal-format
 msgid "missing argument for %<-mbranch-protection=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17064
+#: config/aarch64/aarch64.cc:18009
 #, fuzzy, gcc-internal-format
 #| msgid "missing arch name in -march=%qs"
 msgid "missing arch name in %<-march=%s%>"
 msgstr "thiếu tên kiến trúc trong -march=%qs"
 
-#: config/aarch64/aarch64.cc:17067
+#: config/aarch64/aarch64.cc:18012
 #, fuzzy, gcc-internal-format
 #| msgid "unknown value %qs for -march"
 msgid "unknown value %qs for %<-march%>"
 msgstr "không hiểu giá trị %qs cho -march"
 
-#: config/aarch64/aarch64.cc:17071
+#: config/aarch64/aarch64.cc:18016
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-march=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17099
+#: config/aarch64/aarch64.cc:18044
 #, fuzzy, gcc-internal-format
 #| msgid "missing cpu name in -mtune=%qs"
 msgid "missing cpu name in %<-mtune=%s%>"
 msgstr "thiếu tên cpu trong -mcpu=%qs"
 
-#: config/aarch64/aarch64.cc:17102
+#: config/aarch64/aarch64.cc:18047
 #, fuzzy, gcc-internal-format
 #| msgid "unknown value %qs for -mtune"
 msgid "unknown value %qs for %<-mtune%>"
 msgstr "không hiểu giá trị %qs dành cho -mtune"
 
-#: config/aarch64/aarch64.cc:17236
+#: config/aarch64/aarch64.cc:18181
 #, fuzzy, gcc-internal-format
 #| msgid "-mcpu=%s conflicts with -march=%s"
 msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch"
 msgstr "-mcpu=%s xung đột với -march=%s"
 
-#: config/aarch64/aarch64.cc:17292
+#: config/aarch64/aarch64.cc:18237
 #, fuzzy, gcc-internal-format
 #| msgid "Assembler does not support -mabi=ilp32"
 msgid "assembler does not support %<-mabi=ilp32%>"
 msgstr "Assembler không hỗ trợ -mabi=ilp32"
 
-#: config/aarch64/aarch64.cc:17299
+#: config/aarch64/aarch64.cc:18244
 #, gcc-internal-format
 msgid "return address signing is only supported for %<-mabi=lp64%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17381
+#: config/aarch64/aarch64.cc:18326
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs with -f%s"
 msgid "code model %qs with %<-f%s%>"
 msgstr "mô hình mã %qs với -f%s"
 
-#: config/aarch64/aarch64.cc:17384
+#: config/aarch64/aarch64.cc:18329
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in x32 mode"
 msgid "code model %qs not supported in ilp32 mode"
 msgstr "mô hình mã %qs không được hỗ trợ trong chế độ x32"
 
-#: config/aarch64/aarch64.cc:17563
+#: config/aarch64/aarch64.cc:18508
 #, gcc-internal-format
 msgid "missing name in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17566
+#: config/aarch64/aarch64.cc:18511
 #, gcc-internal-format
-msgid "invalid name (%qs) in %<target(\"arch=\")%> pragma or attribute"
+msgid "invalid name %qs in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17570 config/aarch64/aarch64.cc:17612
-#: config/aarch64/aarch64.cc:17719
+#: config/aarch64/aarch64.cc:18515
 #, gcc-internal-format
-msgid "invalid feature modifier %s of value (%qs) in %<target()%> pragma or attribute"
+msgid "invalid feature modifier %s of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17605
+#: config/aarch64/aarch64.cc:18550
 #, gcc-internal-format
 msgid "missing name in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17608
+#: config/aarch64/aarch64.cc:18553
+#, gcc-internal-format
+msgid "invalid name %qs in %<target(\"cpu=\")%> pragma or attribute"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:18557 config/aarch64/aarch64.cc:18664
 #, gcc-internal-format
-msgid "invalid name (%qs) in %<target(\"cpu=\")%> pragma or attribute"
+msgid "invalid feature modifier %qs of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17635
+#: config/aarch64/aarch64.cc:18580
 #, gcc-internal-format
 msgid "missing argument to %<target(\"branch-protection=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17639
+#: config/aarch64/aarch64.cc:18584
 #, gcc-internal-format
-msgid "invalid protection type (%qs) in %<target(\"branch-protection=\")%> pragma or attribute"
+msgid "invalid protection type %qs in %<target(\"branch-protection=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17674
+#: config/aarch64/aarch64.cc:18619
 #, gcc-internal-format
-msgid "invalid name (%qs) in %<target(\"tune=\")%> pragma or attribute"
+msgid "invalid name %qs in %<target(\"tune=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17715
+#: config/aarch64/aarch64.cc:18660
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<=%> (after %<getter%> attribute)"
 msgid "missing value in %<target()%> pragma or attribute"
 msgstr "thiếu %<=%> (sau thuộc tính %<getter%>)"
 
-#: config/aarch64/aarch64.cc:17773 config/aarch64/aarch64.cc:17946
+#: config/aarch64/aarch64.cc:18718 config/aarch64/aarch64.cc:18891
 #, fuzzy, gcc-internal-format
 #| msgid "malformed %<#pragma init%>"
 msgid "malformed %<target()%> pragma or attribute"
 msgstr "%<#pragma init%> sai dạng"
 
-#: config/aarch64/aarch64.cc:17817
+#: config/aarch64/aarch64.cc:18762
 #, fuzzy, gcc-internal-format
 #| msgid "%<no-custom-%s%> does not accept arguments"
 msgid "pragma or attribute %<target(\"%s\")%> does not accept an argument"
 msgstr "%<no-custom-%s%> không chấp nhận đối số"
 
-#: config/aarch64/aarch64.cc:17825 config/i386/i386-options.cc:1234
+#: config/aarch64/aarch64.cc:18770 config/i386/i386-options.cc:1234
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not allow a negated form"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17879
+#: config/aarch64/aarch64.cc:18824
 #, fuzzy, gcc-internal-format
 #| msgid "attribute(target(\"%s\")) is unknown"
 msgid "pragma or attribute %<target(\"%s=%s\")%> is not valid"
 msgstr "thuộc tính(đích(\"%s\")) là không hiểu"
 
-#: config/aarch64/aarch64.cc:17936 config/arm/arm.cc:33128
-#: config/rs6000/rs6000.cc:24209 config/s390/s390.cc:15840
+#: config/aarch64/aarch64.cc:18881 config/arm/arm.cc:33166
+#: config/rs6000/rs6000.cc:24260 config/s390/s390.cc:15840
 #, gcc-internal-format
 msgid "attribute %<target%> argument not a string"
 msgstr "thuộc tính %<target%> không là một chuỗi"
 
-#: config/aarch64/aarch64.cc:17971
+#: config/aarch64/aarch64.cc:18916
 #, gcc-internal-format
 msgid "arch extension %<%s%> should be prefixed by %<+%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17974
+#: config/aarch64/aarch64.cc:18919
 #, fuzzy, gcc-internal-format
 #| msgid "attribute(target(\"%s\")) is unknown"
 msgid "pragma or attribute %<target(\"%s\")%> is not valid"
 msgstr "thuộc tính(đích(\"%s\")) là không hiểu"
 
-#: config/aarch64/aarch64.cc:17983
+#: config/aarch64/aarch64.cc:18928
 #, gcc-internal-format
 msgid "malformed %<target(\"%s\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19423 config/arm/arm.cc:6545
+#: config/aarch64/aarch64.cc:20393 config/arm/arm.cc:6582
 #: config/rs6000/rs6000-call.cc:374 config/s390/s390.cc:12227
 #: config/s390/s390.cc:12304
 msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19428 config/arm/arm.cc:6550
+#: config/aarch64/aarch64.cc:20398 config/arm/arm.cc:6587
 #: config/rs6000/rs6000-call.cc:369 config/s390/s390.cc:12222
 #: config/s390/s390.cc:12299
 msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20578 config/aarch64/aarch64.cc:20581
+#: config/aarch64/aarch64.cc:20403 config/arm/arm.cc:6592
+msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:21552 config/aarch64/aarch64.cc:21555
 #, gcc-internal-format
 msgid "lane %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:25689 config/i386/i386.cc:23312
-#: config/i386/i386.cc:23440
+#: config/aarch64/aarch64.cc:26663 config/i386/i386.cc:23315
+#: config/i386/i386.cc:23443
 #, fuzzy, gcc-internal-format
 #| msgid "unsupported simdlen %d"
 msgid "unsupported simdlen %wd"
 msgstr "simdlen không được hỗ trợ %d"
 
-#: config/aarch64/aarch64.cc:25699 config/aarch64/aarch64.cc:25726
+#: config/aarch64/aarch64.cc:26673 config/aarch64/aarch64.cc:26700
 #, gcc-internal-format
 msgid "GCC does not currently support mixed size types for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:25703
+#: config/aarch64/aarch64.cc:26677
 #, gcc-internal-format
 msgid "GCC does not currently support return type %qT for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:25707
+#: config/aarch64/aarch64.cc:26681
 #, fuzzy, gcc-internal-format
 #| msgid "function return type cannot be function"
 msgid "unsupported return type %qT for %<simd%> functions"
 msgstr "kiểu trả về hàm không thể là hàm"
 
-#: config/aarch64/aarch64.cc:25730
+#: config/aarch64/aarch64.cc:26704
 #, gcc-internal-format
 msgid "GCC does not currently support argument type %qT for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:25755
+#: config/aarch64/aarch64.cc:26729
 #, fuzzy, gcc-internal-format
 #| msgid "the -shared option is not currently supported for VAX ELF"
 msgid "GCC does not currently support simdlen %wd for type %qT"
@@ -37770,7 +37905,7 @@ msgid "bad value %qs for %<-mmemory-latency%>"
 msgstr "giá trị sai %qs cho -mmemory-latency"
 
 #: config/alpha/alpha.cc:6651 config/alpha/alpha.cc:6654
-#: config/arc/arc.cc:7071 config/arc/arc.cc:7345 config/s390/s390.cc:882
+#: config/arc/arc.cc:7078 config/arc/arc.cc:7352 config/s390/s390.cc:882
 #: config/tilegx/tilegx.cc:3537 config/tilepro/tilepro.cc:3100
 #, gcc-internal-format
 msgid "bad builtin fcode"
@@ -37899,18 +38034,18 @@ msgstr ""
 msgid "argument of %qE attribute is not \"ilink\" or \"firq\""
 msgstr "đối số của thuộc tính %qE không hợp lệ"
 
-#: config/arc/arc.cc:2129 config/arm/arm.cc:7334 config/arm/arm.cc:7352
-#: config/arm/arm.cc:7533 config/avr/avr.cc:9588 config/avr/avr.cc:9604
-#: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4784
+#: config/arc/arc.cc:2129 config/arm/arm.cc:7375 config/arm/arm.cc:7393
+#: config/arm/arm.cc:7574 config/avr/avr.cc:9588 config/avr/avr.cc:9604
+#: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785
 #: config/bpf/bpf.cc:99 config/csky/csky.cc:6454 config/csky/csky.cc:6482
 #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:342
 #: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3336
 #: config/i386/i386-options.cc:3513 config/i386/i386-options.cc:3569
 #: config/i386/i386-options.cc:3620 config/i386/i386-options.cc:3657
 #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3066
-#: config/nvptx/nvptx.cc:5420 config/riscv/riscv.cc:3273
+#: config/nvptx/nvptx.cc:5785 config/riscv/riscv.cc:3273
 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889
-#: config/rs6000/rs6000.cc:20150 config/rx/rx.cc:2727 config/rx/rx.cc:2753
+#: config/rs6000/rs6000.cc:20201 config/rx/rx.cc:2727 config/rx/rx.cc:2753
 #: config/s390/s390.cc:1097 config/s390/s390.cc:1184 config/sh/sh.cc:8428
 #: config/sh/sh.cc:8446 config/sh/sh.cc:8470 config/sh/sh.cc:8541
 #: config/sh/sh.cc:8564 config/stormy16/stormy16.cc:2229
@@ -37919,391 +38054,271 @@ msgstr "đối số của thuộc tính %qE không hợp lệ"
 msgid "%qE attribute only applies to functions"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: config/arc/arc.cc:6970
+#: config/arc/arc.cc:6977
 #, fuzzy, gcc-internal-format
 #| msgid "%<__builtin_next_arg%> called without an argument"
 msgid "%<__builtin_arc_aligned%> with non-constant alignment"
 msgstr "%<__builtin_next_arg%> được gọi mà không có đối số"
 
-#: config/arc/arc.cc:6978
+#: config/arc/arc.cc:6985
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "invalid alignment value for %<__builtin_arc_aligned%>"
 msgstr "đối số không hợp lệ cho %<__builtin_frame_address%>"
 
-#: config/arc/arc.cc:7141
+#: config/arc/arc.cc:7148
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7182 config/arc/arc.cc:7279
+#: config/arc/arc.cc:7189 config/arc/arc.cc:7286
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7215 config/arc/arc.cc:7247
+#: config/arc/arc.cc:7222 config/arc/arc.cc:7254
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7219 config/arc/arc.cc:7251
+#: config/arc/arc.cc:7226 config/arc/arc.cc:7258
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7283
+#: config/arc/arc.cc:7290
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7316
+#: config/arc/arc.cc:7323
 #, gcc-internal-format
 msgid "operand 4 should be an unsigned 8-bit value (0-255)"
 msgstr ""
 
-#: config/arc/arc.cc:7320
+#: config/arc/arc.cc:7327
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7327
+#: config/arc/arc.cc:7334
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)"
 msgstr ""
 
-#: config/arc/arc.cc:7330
+#: config/arc/arc.cc:7337
 #, gcc-internal-format
 msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)"
 msgstr ""
 
-#: config/arc/arc.cc:7377
+#: config/arc/arc.cc:7384
 #, gcc-internal-format, gfc-internal-format
 msgid "builtin requires an immediate for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7382
+#: config/arc/arc.cc:7389
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 6 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7386
+#: config/arc/arc.cc:7393
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 8 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7390
+#: config/arc/arc.cc:7397
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 3 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7393
+#: config/arc/arc.cc:7400
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown builtin immediate operand type for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7444
+#: config/arc/arc.cc:7451
 #, gcc-internal-format
 msgid "register number must be a compile-time constant.  Try giving higher optimization levels"
 msgstr ""
 
-#: config/arc/arc.cc:8434
+#: config/arc/arc.cc:8441
 #, gcc-internal-format
 msgid "insn addresses not set after shorten branches"
 msgstr ""
 
-#: config/arc/arc.cc:8649
+#: config/arc/arc.cc:8656
 #, gcc-internal-format
 msgid "insn addresses not freed"
 msgstr ""
 
-#: config/arc/arc.cc:11057
+#: config/arc/arc.cc:11064
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only available for 32-bit"
 msgid "%qE attribute only valid for ARCv2 architecture"
 msgstr "Thuộc tính %qE chỉ dùng được trên hệ thống 32-bit"
 
-#: config/arc/arc.cc:11065 config/arc/arc.cc:11104
+#: config/arc/arc.cc:11072 config/arc/arc.cc:11111
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument of %qE attribute"
 msgid "argument of %qE attribute is missing"
 msgstr "đối số của thuộc tính %qE không hợp lệ"
 
-#: config/arc/arc.cc:11076 config/arc/arc.cc:11115 config/arc/arc.cc:11241
+#: config/arc/arc.cc:11083 config/arc/arc.cc:11122 config/arc/arc.cc:11248
 #: config/avr/avr.cc:9660
 #, gcc-internal-format
 msgid "%qE attribute allows only an integer constant argument"
 msgstr ""
 
-#: config/arc/arc.cc:11096
+#: config/arc/arc.cc:11103
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only available for 32-bit"
 msgid "%qE attribute only valid for ARC EM architecture"
 msgstr "Thuộc tính %qE chỉ dùng được trên hệ thống 32-bit"
 
-#: config/arc/arc.cc:11151
+#: config/arc/arc.cc:11158
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to SH2A"
 msgid "%qE attribute only applies to types"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho SH2A"
 
-#: config/arc/arc.cc:11157
+#: config/arc/arc.cc:11164
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "argument of %qE attribute ignored"
 msgstr "thuộc tính %qE bị lờ đi"
 
-#: config/arc/arc.cc:11231 config/avr/avr.cc:9647 config/bfin/bfin.cc:4816
-#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5443
+#: config/arc/arc.cc:11238 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817
+#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5808
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: config/arm/aarch-common.cc:550 config/i386/i386.cc:22225
+#: config/arm/aarch-common.cc:550 config/i386/i386.cc:22179
 #, gcc-internal-format
 msgid "alternatives not allowed in %<asm%> flag output"
 msgstr ""
 
-#: config/arm/aarch-common.cc:611 config/i386/i386.cc:22289
+#: config/arm/aarch-common.cc:611 config/i386/i386.cc:22243
 #, fuzzy, gcc-internal-format
 #| msgid "unknown linker output %qs"
 msgid "unknown %<asm%> flag output %qs"
 msgstr "không hiểu xuất bộ liên kết %qs"
 
-#: config/arm/aarch-common.cc:621 config/i386/i386.cc:22318
+#: config/arm/aarch-common.cc:621 config/i386/i386.cc:22272
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of asm flag output"
 msgid "invalid type for %<asm%> flag output"
 msgstr "sử dụng kết xuất cờ asm sai"
 
-#: config/arm/arm-builtins.cc:3011
+#: config/arm/arm-builtins.cc:3065
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "coprocessor not enabled"
 msgid "coprocessor %d is not enabled with +cdecp%d"
 msgstr "đồng xử lý chưa được bật"
 
-#: config/arm/arm-builtins.cc:3015
+#: config/arm/arm-builtins.cc:3069
 #, gcc-internal-format
 msgid "coproc must be a constant immediate in range [0-%d] enabled with %<+cdecp<N>%>"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3024
+#: config/arm/arm-builtins.cc:3078
 #, fuzzy, gcc-internal-format
 msgid "argument %d to %qE must be a constant immediate in range [0-%d]"
 msgstr "đối số %d của %qE phải nằm trong vùng %d…%d"
 
-#: config/arm/arm-builtins.cc:3143
+#: config/arm/arm-builtins.cc:3197
 #, fuzzy, gcc-internal-format
 #| msgid "-fdata-sections not supported for this target"
 msgid "this builtin is not supported for this target"
 msgstr "-fdata-sections không được hỗ trợ cho đích này"
 
-#: config/arm/arm-builtins.cc:3251
+#: config/arm/arm-builtins.cc:3312
 #, fuzzy, gcc-internal-format
 msgid "saturation bit range must be in the range [%wd, %wd]"
 msgstr "đối số 3 phải nằm trong vùng 0…15"
 
-#: config/arm/arm-builtins.cc:3256
+#: config/arm/arm-builtins.cc:3317
 #, fuzzy, gcc-internal-format
 #| msgid "last argument must be an immediate"
 msgid "saturation bit range must be a constant immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp"
 
-#: config/arm/arm-builtins.cc:3279
+#: config/arm/arm-builtins.cc:3340
 #, gcc-internal-format
 msgid "You must enable MVE instructions to use these intrinsics"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3301
+#: config/arm/arm-builtins.cc:3362
 #, gcc-internal-format
 msgid "You must enable NEON instructions (e.g. %<-mfloat-abi=softfp%> %<-mfpu=neon%>) to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3323
+#: config/arm/arm-builtins.cc:3384
 #, gcc-internal-format
 msgid "You must enable VFP instructions to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3402
+#: config/arm/arm-builtins.cc:3463
 #, gcc-internal-format
 msgid "You must enable crypto instructions (e.g. include %<-mfloat-abi=softfp%> %<-mfpu=crypto-neon%>) to use these intrinsics."
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm-builtins.cc:3480 config/arm/arm-builtins.cc:3584
+#: config/arm/arm-builtins.cc:3541 config/arm/arm-builtins.cc:3645
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "bộ chọn phải là một giá trị trực tiếp"
 
-#: config/arm/arm-builtins.cc:3488 config/arm/arm-builtins.cc:3533
-#: config/arm/arm-builtins.cc:3591 config/arm/arm-builtins.cc:3600
+#: config/arm/arm-builtins.cc:3549 config/arm/arm-builtins.cc:3594
+#: config/arm/arm-builtins.cc:3652 config/arm/arm-builtins.cc:3661
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 7"
 msgstr "vùng bộ chọn phải nằm từ 0 đến 7"
 
-#: config/arm/arm-builtins.cc:3493 config/arm/arm-builtins.cc:3602
+#: config/arm/arm-builtins.cc:3554 config/arm/arm-builtins.cc:3663
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 3"
 msgstr "vùng bộ chọn phải nằm từ 0 đến 3"
 
-#: config/arm/arm-builtins.cc:3498 config/arm/arm-builtins.cc:3604
+#: config/arm/arm-builtins.cc:3559 config/arm/arm-builtins.cc:3665
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 1"
 msgstr "vùng bộ chọn phải nằm từ 0 đến 1"
 
-#: config/arm/arm-builtins.cc:3670
+#: config/arm/arm-builtins.cc:3731
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "mặt nạ phải là một giá trị trực tiếp"
 
-#: config/arm/arm-builtins.cc:3675
+#: config/arm/arm-builtins.cc:3736
 #, gcc-internal-format
 msgid "the range of mask should be in 0 to 255"
 msgstr "vùng mặt nạ phải nằm từ 0 đến 255"
 
-#: config/arm/arm-builtins.cc:3863
-#, fuzzy, gcc-internal-format
-#| msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_rori_pi16 in code."
-msgid "the range of count should be in 0 to 32; please check the intrinsic %<_mm_rori_pi16%> in code"
-msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_rori_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3865
-#, fuzzy, gcc-internal-format
-#| msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_rori_pi32 in code."
-msgid "the range of count should be in 0 to 32; please check the intrinsic %<_mm_rori_pi32%> in code"
-msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_rori_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3867
+#: config/arm/arm-builtins.cc:3924
 #, fuzzy, gcc-internal-format
 #| msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_ror_pi16 in code."
-msgid "the range of count should be in 0 to 32; please check the intrinsic %<_mm_ror_pi16%> in code"
+msgid "the range of count should be in 0 to 32; please check the intrinsic %qs in code"
 msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_ror_pi16 trong mã."
 
-#: config/arm/arm-builtins.cc:3869
-#, fuzzy, gcc-internal-format
-#| msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_ror_pi32 in code."
-msgid "the range of count should be in 0 to 32; please check the intrinsic %<_mm_ror_pi32%> in code"
-msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_ror_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3875
-#, fuzzy, gcc-internal-format
-#| msgid "the range of count should be in 0 to 64.  please check the intrinsic _mm_rori_si64 in code."
-msgid "the range of count should be in 0 to 64; please check the intrinsic %<_mm_rori_si64%> in code"
-msgstr "vùng của số lượng phải nằm trong vùn 0 đến 64.  hãy kiểm tra bên trong _mm_rori_si64 trong mã."
-
-#: config/arm/arm-builtins.cc:3877
+#: config/arm/arm-builtins.cc:3932
 #, fuzzy, gcc-internal-format
 #| msgid "the range of count should be in 0 to 64.  please check the intrinsic _mm_ror_si64 in code."
-msgid "the range of count should be in 0 to 64; please check the intrinsic %<_mm_ror_si64%> in code"
+msgid "the range of count should be in 0 to 16; please check the intrinsic %qs in code"
 msgstr "vùng của số lượng phải nằm trong vùn 0 đến 64.  hãy kiểm tra bên trong _mm_ror_si64 trong mã."
 
-#: config/arm/arm-builtins.cc:3882
+#: config/arm/arm-builtins.cc:3940
 #, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srli_pi16%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3884
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srli_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3886
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srli_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_si64 trong mã."
-
-#: config/arm/arm-builtins.cc:3888
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_slli_pi16%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3890
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_slli_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3892
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_slli_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_si64 trong mã."
-
-#: config/arm/arm-builtins.cc:3894
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srai_pi16%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3896
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srai_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3898
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srai_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_si64 trong mã."
+#| msgid "the range of count should be in 0 to 64.  please check the intrinsic _mm_ror_si64 in code."
+msgid "the range of count should be in 0 to 64; please check the intrinsic %qs in code"
+msgstr "vùng của số lượng phải nằm trong vùn 0 đến 64.  hãy kiểm tra bên trong _mm_ror_si64 trong mã."
 
-#: config/arm/arm-builtins.cc:3900
+#: config/arm/arm-builtins.cc:4003
 #, fuzzy, gcc-internal-format
 #| msgid "the count should be no less than 0.  please check the intrinsic _mm_srl_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srl_pi16%> in code"
+msgid "the count should be no less than 0; please check the intrinsic %qs in code"
 msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srl_pi16 trong mã."
 
-#: config/arm/arm-builtins.cc:3902
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srl_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srl_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srl_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3904
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_srl_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_srl_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srl_si64 trong mã."
-
-#: config/arm/arm-builtins.cc:3906
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sll_pi16%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3908
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sll_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3910
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sll_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_si64 trong mã."
-
-#: config/arm/arm-builtins.cc:3912
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_pi16 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sra_pi16%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_pi16 trong mã."
-
-#: config/arm/arm-builtins.cc:3914
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_pi32 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sra_pi32%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_pi32 trong mã."
-
-#: config/arm/arm-builtins.cc:3916
-#, fuzzy, gcc-internal-format
-#| msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_si64 in code."
-msgid "the count should be no less than 0; please check the intrinsic %<_mm_sra_si64%> in code"
-msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_si64 trong mã."
-
 #: config/arm/arm-c.cc:108
 #, gcc-internal-format
 msgid "argument %u to function %qE is of type %qT which is not known to be 128 bits wide"
@@ -38327,314 +38342,309 @@ msgstr "có rác ở cuối %<#pragma reset_options%>"
 msgid "this definition requires the MVE ISA extension"
 msgstr "Không dùng lệnh mở rộng SPE ABI."
 
-#: config/arm/arm.cc:2938
+#: config/arm/arm.cc:2941
 #, gcc-internal-format
 msgid "iWMMXt and NEON are incompatible"
 msgstr "iWMMXt và NEON là xung khác lẫn nhau"
 
-#: config/arm/arm.cc:2944
+#: config/arm/arm.cc:2947
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "CPU đích không hỗ trợ chế độ ARM"
 
-#: config/arm/arm.cc:2948
+#: config/arm/arm.cc:2951
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2951
+#: config/arm/arm.cc:2954
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2959
+#: config/arm/arm.cc:2962
 #, gcc-internal-format
 msgid "%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.cc:2964
+#: config/arm/arm.cc:2967
 #, gcc-internal-format
 msgid "iWMMXt unsupported under Thumb mode"
 msgstr "iWMMXt không được hỗ trợ dưới chế độ Thumb"
 
-#: config/arm/arm.cc:2967
+#: config/arm/arm.cc:2970
 #, fuzzy, gcc-internal-format
 #| msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgid "cannot use %<-mtp=cp15%> with 16-bit Thumb"
 msgstr "không thể sử dụng -mtp=cp15 với 16-bit Thumb"
 
-#: config/arm/arm.cc:2971
+#: config/arm/arm.cc:2974
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC không tương thích với Thumb"
 
-#: config/arm/arm.cc:2984
+#: config/arm/arm.cc:2987
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s only supports non-pic code on M-profile targets with the MOVT instruction"
 msgstr "-mslow-flash-data chỉ hỗ trợ mã không-pic trên đích armv7-m"
 
-#: config/arm/arm.cc:2989
+#: config/arm/arm.cc:2992
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s only supports non-pic code on M-profile targets"
 msgstr "-mslow-flash-data chỉ hỗ trợ mã không-pic trên đích armv7-m"
 
-#: config/arm/arm.cc:2994
+#: config/arm/arm.cc:2997
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is incompatible with %s %s"
 msgid "%s incompatible with %<-mword-relocations%>"
 msgstr "%qs không tương thích với %s %s"
 
-#: config/arm/arm.cc:3096
+#: config/arm/arm.cc:3099
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "CPU đích không hỗ trợ chỉ lệnh THUMB"
 
-#: config/arm/arm.cc:3146
+#: config/arm/arm.cc:3149
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "CPU đích không hỗ trợ truy cập chưa cân chỉnh"
 
-#: config/arm/arm.cc:3185
-#, gcc-internal-format
-msgid "incompatible options %'-mstack-protector-guard=global%' and%'-mstack-protector-guard-offset=%qs%'"
-msgstr ""
-
-#: config/arm/arm.cc:3284
+#: config/arm/arm.cc:3287
 #, fuzzy, gcc-internal-format
 #| msgid "-mcpu=%s conflicts with -march=%s"
 msgid "switch %<-mcpu=%s%> conflicts with switch %<-march=%s%>"
 msgstr "-mcpu=%s xung đột với -march=%s"
 
-#: config/arm/arm.cc:3539
+#: config/arm/arm.cc:3542
 #, fuzzy, gcc-internal-format
 #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgid "%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>"
 msgstr "-mapcs-stack-check không tương thích với -mno-apcs-frame"
 
-#: config/arm/arm.cc:3548
+#: config/arm/arm.cc:3551
 #, fuzzy, gcc-internal-format
 #| msgid "-fpic and -mapcs-reent are incompatible"
 msgid "%<-fpic%> and %<-mapcs-reent%> are incompatible"
 msgstr "-fpic và -mapcs-reent là xung khắc nhau"
 
-#: config/arm/arm.cc:3551
+#: config/arm/arm.cc:3554
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.cc:3574
+#: config/arm/arm.cc:3577
 #, gcc-internal-format
 msgid "option %<-mstructure-size-boundary%> is deprecated"
 msgstr ""
 
-#: config/arm/arm.cc:3582
+#: config/arm/arm.cc:3585
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.cc:3584
+#: config/arm/arm.cc:3587
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.cc:3609
+#: config/arm/arm.cc:3612
 #, fuzzy, gcc-internal-format
 #| msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgid "RTP PIC is incompatible with %<-msingle-pic-base%>"
 msgstr "RTP PIC không tương thích với -msingle-pic-base"
 
-#: config/arm/arm.cc:3621 config/arm/arm.cc:33142
+#: config/arm/arm.cc:3624 config/arm/arm.cc:33180
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in x32 mode"
 msgid "FDPIC mode is not supported in Thumb-1 mode"
 msgstr "mô hình mã %qs không được hỗ trợ trong chế độ x32"
 
-#: config/arm/arm.cc:3629
+#: config/arm/arm.cc:3632
 #, fuzzy, gcc-internal-format
 #| msgid "-mpic-register= is useless without -fpic"
 msgid "%<-mpic-register=%> is useless without %<-fpic%>"
 msgstr "-mpic-register= là vô ích nếu không có -fpic"
 
-#: config/arm/arm.cc:3638
+#: config/arm/arm.cc:3641
 #, fuzzy, gcc-internal-format
 #| msgid "unable to use '%s' for PIC register"
 msgid "unable to use %qs for PIC register"
 msgstr "không thể dùng “%s” cho thanh ghi PIC"
 
-#: config/arm/arm.cc:3678 config/pru/pru.cc:612
+#: config/arm/arm.cc:3681 config/pru/pru.cc:612
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgid "%<-freorder-blocks-and-partition%> not supported on this architecture"
 msgstr "-freorder-blocks-and-partition không được hỗ trợ trên kiến trúc này"
 
-#: config/arm/arm.cc:3845
+#: config/arm/arm.cc:3848
 #, fuzzy, gcc-internal-format
 msgid "selected fp16 options are incompatible"
 msgstr "-mrelocatable và -msdata=%s là không tương thích"
 
-#: config/arm/arm.cc:3880
+#: config/arm/arm.cc:3883
 #, gcc-internal-format
-msgid "%'-mstack-protector-guard=tls%' needs a hardware TLS register"
+msgid "%<-mstack-protector-guard=tls%> needs a hardware TLS register"
 msgstr ""
 
-#: config/arm/arm.cc:3900
+#: config/arm/arm.cc:3903
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.cc:3903
+#: config/arm/arm.cc:3906
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.cc:3911
+#: config/arm/arm.cc:3914
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "CPU đích không hỗ trợ làm việc tương tác"
 
-#: config/arm/arm.cc:3924
+#: config/arm/arm.cc:3927
 #, fuzzy, gcc-internal-format
 #| msgid "AAPCS does not support -mcaller-super-interworking"
 msgid "AAPCS does not support %<-mcaller-super-interworking%>"
 msgstr "AAPCS không hỗ trợ -mcaller-super-interworking"
 
-#: config/arm/arm.cc:3927
+#: config/arm/arm.cc:3930
 #, fuzzy, gcc-internal-format
 #| msgid "AAPCS does not support -mcallee-super-interworking"
 msgid "AAPCS does not support %<-mcallee-super-interworking%>"
 msgstr "AAPCS không hỗ trợ -mcallee-super-interworking"
 
-#: config/arm/arm.cc:3932
+#: config/arm/arm.cc:3935
 #, fuzzy, gcc-internal-format
 #| msgid "__fp16 and no ldrh"
 msgid "%<__fp16%> and no ldrh"
 msgstr "__fp16 và không ldrh"
 
-#: config/arm/arm.cc:3935
+#: config/arm/arm.cc:3938
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARMv8-M Security Extensions"
 msgstr "CPU đích không hỗ trợ chỉ lệnh THUMB"
 
-#: config/arm/arm.cc:3940
+#: config/arm/arm.cc:3943
 #, gcc-internal-format
 msgid "ARMv8-M Security Extensions incompatible with selected FPU"
 msgstr ""
 
-#: config/arm/arm.cc:3952
+#: config/arm/arm.cc:3955
 #, fuzzy, gcc-internal-format
 msgid "%<-mfloat-abi=hard%>: selected architecture lacks an FPU"
 msgstr "-mfloat-abi=hard và VFP"
 
-#: config/arm/arm.cc:3960
+#: config/arm/arm.cc:3963
 #, fuzzy, gcc-internal-format
 #| msgid "-mfloat-abi=hard and VFP"
 msgid "%<-mfloat-abi=hard%> and VFP"
 msgstr "-mfloat-abi=hard và VFP"
 
-#: config/arm/arm.cc:6219
+#: config/arm/arm.cc:6222
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr "non-AAPCS dẫn suất biến thể PCS"
 
-#: config/arm/arm.cc:6221
+#: config/arm/arm.cc:6224
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6241
+#: config/arm/arm.cc:6253
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "biến thể PCS"
 
-#: config/arm/arm.cc:6493
+#: config/arm/arm.cc:6528
 #, fuzzy, gcc-internal-format
 #| msgid "Thumb-1 hard-float VFP ABI"
 msgid "Thumb-1 %<hard-float%> VFP ABI"
 msgstr "Thumb-1 dấu-chấm-động-bằng-phần-cứng VFP ABI"
 
-#: config/arm/arm.cc:6582
+#: config/arm/arm.cc:6623
 #, gcc-internal-format
 msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:6966 config/arm/arm.cc:7187 config/arm/arm.cc:7220
-#: config/arm/arm.cc:28974
+#: config/arm/arm.cc:7007 config/arm/arm.cc:7228 config/arm/arm.cc:7261
+#: config/arm/arm.cc:29050
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 7.1"
 msgstr ""
 
-#: config/arm/arm.cc:7358
+#: config/arm/arm.cc:7399
 #, gcc-internal-format
 msgid "FP registers might be clobbered despite %qE attribute: compile with %<-mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7482
+#: config/arm/arm.cc:7523
 #, gcc-internal-format
 msgid "%qE attribute not available to functions with arguments passed on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7494
+#: config/arm/arm.cc:7535
 #, gcc-internal-format
 msgid "%qE attribute not available to functions with variable number of arguments"
 msgstr ""
 
-#: config/arm/arm.cc:7503
+#: config/arm/arm.cc:7544
 #, gcc-internal-format
 msgid "%qE attribute not available to functions that return value on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7525 config/arm/arm.cc:7577
+#: config/arm/arm.cc:7566 config/arm/arm.cc:7618
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored without %<-mcmse%> option"
 msgstr "Thuộc tính %qE bị lờ đi với các kiểu"
 
-#: config/arm/arm.cc:7544
+#: config/arm/arm.cc:7585
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect on functions with static linkage"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: config/arm/arm.cc:7593
+#: config/arm/arm.cc:7634
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to base type of a function pointer"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: config/arm/arm.cc:9573
+#: config/arm/arm.cc:9614
 #, gcc-internal-format
 msgid "accessing thread-local storage is not currently supported with %<-mpure-code%> or %<-mslow-flash-data%>"
 msgstr ""
 
-#: config/arm/arm.cc:13314 config/arm/arm.cc:13316
+#: config/arm/arm.cc:13383 config/arm/arm.cc:13385
 #, gcc-internal-format
 msgid "%s %wd out of range %wd - %wd"
 msgstr "%s %wd nằm ngoài vùng %wd - %wd"
 
-#: config/arm/arm.cc:25594
+#: config/arm/arm.cc:25670
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.cc:26257
+#: config/arm/arm.cc:26333
 #, gcc-internal-format
 msgid "Unexpected thumb1 far jump"
 msgstr ""
 
-#: config/arm/arm.cc:26516
+#: config/arm/arm.cc:26592
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.cc:26768
+#: config/arm/arm.cc:26844
 #, gcc-internal-format
 msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:27014
+#: config/arm/arm.cc:27090
 #, fuzzy, gcc-internal-format
 #| msgid "-fstack-check=specific for Thumb-1"
 msgid "%<-fstack-check=specific%> for Thumb-1"
 msgstr "-fstack-check=specific cho Thumb-1"
 
-#: config/arm/arm.cc:33157
+#: config/arm/arm.cc:33195
 #, fuzzy, gcc-internal-format
 #| msgid "invalid fpu for attribute(target(\"%s\"))"
 msgid "invalid fpu for target attribute or pragma %qs"
@@ -38643,23 +38653,23 @@ msgstr "thuộc tính(đích(\"%s\")) là không hiểu"
 #. This doesn't really make sense until we support
 #. general dynamic selection of the architecture and all
 #. sub-features.
-#: config/arm/arm.cc:33165
+#: config/arm/arm.cc:33203
 #, gcc-internal-format
 msgid "auto fpu selection not currently permitted here"
 msgstr ""
 
-#: config/arm/arm.cc:33178
+#: config/arm/arm.cc:33216
 #, gcc-internal-format
 msgid "invalid architecture for target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:33192
+#: config/arm/arm.cc:33230
 #, fuzzy, gcc-internal-format
 #| msgid "unknown property attribute"
 msgid "unknown target attribute or pragma %qs"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: config/arm/arm.cc:34154
+#: config/arm/arm.cc:34192
 #, fuzzy, gcc-internal-format
 msgid "%<asm%> flags not supported in thumb1 mode"
 msgstr "%<__int%d%> không được hỗ trợ cho đích này"
@@ -38984,7 +38994,7 @@ msgstr ""
 
 #: config/bfin/bfin.cc:4766
 #, gcc-internal-format
-msgid "cannott apply both longcall and shortcall attributes to the same function"
+msgid "cannot apply both %<longcall%> and %<shortcall%> attributes to the same function"
 msgstr ""
 
 #: config/bpf/bpf.cc:111
@@ -39045,7 +39055,8 @@ msgstr "Trong bộ hủy %qs"
 msgid "indirect call in function, which are not supported by eBPF"
 msgstr "__builtin_thread_pointer không được hỗ trợ trên đích này"
 
-#: config/bpf/bpf.cc:1019 config/mips/mips.cc:17049 config/nios2/nios2.cc:3596
+#: config/bpf/bpf.cc:1019 config/loongarch/loongarch-builtins.cc:313
+#: config/mips/mips.cc:17141 config/nios2/nios2.cc:3596
 #: config/riscv/riscv-builtins.cc:222
 #, gcc-internal-format
 msgid "invalid argument to built-in function"
@@ -39357,7 +39368,7 @@ msgstr ""
 msgid "using %<vector_length (64)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/gcn/gcn.cc:5064 config/nvptx/nvptx.cc:6094
+#: config/gcn/gcn.cc:5064 config/nvptx/nvptx.cc:6460
 #, gcc-internal-format
 msgid "using %<num_workers (%d)%>, ignoring %d"
 msgstr ""
@@ -39454,174 +39465,171 @@ msgstr "-mno-exr chỉ hợp lệ với -ms hay -msx                   - Tùy ch
 msgid "%<-mn%> is not supported for linux targets"
 msgstr "%<__int%d%> không được hỗ trợ cho đích này"
 
-#: config/i386/host-cygwin.cc:57
-#, gcc-internal-format
-msgid "can%'t get position in PCH file: %m"
-msgstr "can%'t lấy vị trí trong tập tin PCH: %m"
-
 #: config/i386/host-cygwin.cc:64
-#, gcc-internal-format
-msgid "can%'t extend PCH file: %m"
+#, fuzzy, gcc-internal-format
+#| msgid "can%'t extend PCH file: %m"
+msgid "cannot extend PCH file: %m"
 msgstr "không thể mở rộng tập tin PCH: %m"
 
 #: config/i386/host-cygwin.cc:75
-#, gcc-internal-format
-msgid "can%'t set position in PCH file: %m"
+#, fuzzy, gcc-internal-format
+#| msgid "can%'t set position in PCH file: %m"
+msgid "cannot set position in PCH file: %m"
 msgstr "Không thể đặt vị trí trong tập tin PCH: %m"
 
-#: config/i386/i386-builtins.cc:2053
+#: config/i386/i386-builtins.cc:2058
 #, gcc-internal-format
 msgid "no dispatcher found for the versioning attributes"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2103
+#: config/i386/i386-builtins.cc:2108
 #, gcc-internal-format
 msgid "ISA %qs is not supported in %<target%> attribute, use %<arch=%> syntax"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2114
+#: config/i386/i386-builtins.cc:2119
 #, gcc-internal-format, gfc-internal-format
 msgid "no dispatcher found for the versioning attributes: %s"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2224
+#: config/i386/i386-builtins.cc:2229
 #, fuzzy, gcc-internal-format
 msgid "parameter to builtin must be a string constant or literal"
 msgstr "đối số %d của %qE phải nằm trong vùng %d…%d"
 
-#: config/i386/i386-builtins.cc:2248 config/i386/i386-builtins.cc:2298
+#: config/i386/i386-builtins.cc:2253 config/i386/i386-builtins.cc:2303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "parameter %qD set but not used"
 msgid "parameter to builtin not valid: %s"
 msgstr "đối số %qD đặt nhưng chưa được dùng"
 
-#: config/i386/i386-expand.cc:9122
+#: config/i386/i386-expand.cc:9138
 #, gcc-internal-format
 msgid "interrupt service routine cannot be called directly"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9546 config/i386/i386-expand.cc:11042
+#: config/i386/i386-expand.cc:9562 config/i386/i386-expand.cc:11058
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 2-bít"
 
-#: config/i386/i386-expand.cc:9934
+#: config/i386/i386-expand.cc:9950
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "đối số thứ năm phải là giá trị trực tiếp 8-bit"
 
-#: config/i386/i386-expand.cc:10029
+#: config/i386/i386-expand.cc:10045
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "đối số thứ ba phải là giá trị trực tiếp 8-bit"
 
-#: config/i386/i386-expand.cc:10971
+#: config/i386/i386-expand.cc:10987
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 1-bít"
 
-#: config/i386/i386-expand.cc:10986
+#: config/i386/i386-expand.cc:11002
 #, gcc-internal-format
 msgid "the last argument must be a 3-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 3-bít"
 
-#: config/i386/i386-expand.cc:11021
+#: config/i386/i386-expand.cc:11037
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 4-bít"
 
-#: config/i386/i386-expand.cc:11061
+#: config/i386/i386-expand.cc:11077
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 1-bít"
 
-#: config/i386/i386-expand.cc:11077
+#: config/i386/i386-expand.cc:11093
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 5-bít"
 
-#: config/i386/i386-expand.cc:11087
+#: config/i386/i386-expand.cc:11103
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11092
+#: config/i386/i386-expand.cc:11108
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 8-bít"
 
-#: config/i386/i386-expand.cc:11229
+#: config/i386/i386-expand.cc:11245
 #, gcc-internal-format
 msgid "the third argument must be comparison constant"
 msgstr "đối số thứ năm phải là giá trị trực tiếp 8-bit"
 
-#: config/i386/i386-expand.cc:11234
+#: config/i386/i386-expand.cc:11250
 #, gcc-internal-format
 msgid "incorrect comparison mode"
 msgstr "chế độ so sánh không đúng"
 
-#: config/i386/i386-expand.cc:11240 config/i386/i386-expand.cc:11598
+#: config/i386/i386-expand.cc:11256 config/i386/i386-expand.cc:11614
 #, gcc-internal-format
 msgid "incorrect rounding operand"
 msgstr "lệnh không đúng:"
 
-#: config/i386/i386-expand.cc:11578
+#: config/i386/i386-expand.cc:11594
 #, gcc-internal-format
 msgid "the immediate argument must be a 4-bit immediate"
 msgstr "đối số trực tiếp phải là giá trị trực tiếp 4-bít"
 
-#: config/i386/i386-expand.cc:11586
+#: config/i386/i386-expand.cc:11602
 #, gcc-internal-format
 msgid "the immediate argument must be a 5-bit immediate"
 msgstr "đối số trực tiếp phải là giá trị trực tiếp 5-bít"
 
-#: config/i386/i386-expand.cc:11589
+#: config/i386/i386-expand.cc:11605
 #, gcc-internal-format
 msgid "the immediate argument must be an 8-bit immediate"
 msgstr "đối số trực tiếp phải là giá trị trực tiếp 8-bít"
 
-#: config/i386/i386-expand.cc:12107 config/rs6000/rs6000-builtin.cc:2387
+#: config/i386/i386-expand.cc:12123 config/rs6000/rs6000-builtin.cc:2393
 #, fuzzy, gcc-internal-format
 #| msgid "vectorlength must be an integer constant"
 msgid "selector must be an integer constant in the range [0, %wi]"
 msgstr "chiều dài véc-tơ phải là một hằng nguyên"
 
-#: config/i386/i386-expand.cc:12321
+#: config/i386/i386-expand.cc:12354
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12325
+#: config/i386/i386-expand.cc:12358
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE cần là tùy chọn %s"
 
-#: config/i386/i386-expand.cc:13269
+#: config/i386/i386-expand.cc:13302
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp 32-bít"
 
-#: config/i386/i386-expand.cc:13302
+#: config/i386/i386-expand.cc:13335
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "đối số cuối phải là giá trị trực tiếp"
 
-#: config/i386/i386-expand.cc:14063 config/i386/i386-expand.cc:14275
+#: config/i386/i386-expand.cc:14099 config/i386/i386-expand.cc:14311
 #, gcc-internal-format
 msgid "the last argument must be scale 1, 2, 4, 8"
 msgstr "đối số cuối phải là tỷ lệ 1, 2, 4, 8"
 
-#: config/i386/i386-expand.cc:14328
+#: config/i386/i386-expand.cc:14364
 #, gcc-internal-format
 msgid "the forth argument must be scale 1, 2, 4, 8"
 msgstr "đối số thứ tư phải là tỷ lệ 1, 2, 4, 8"
 
-#: config/i386/i386-expand.cc:14334
+#: config/i386/i386-expand.cc:14370
 #, gcc-internal-format
 msgid "incorrect hint operand"
 msgstr "lệnh không đúng:"
 
-#: config/i386/i386-expand.cc:14353
+#: config/i386/i386-expand.cc:14389
 #, fuzzy, gcc-internal-format
 #| msgid "the last argument must be an 8-bit immediate"
 msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
@@ -39638,7 +39646,7 @@ msgstr ""
 msgid "virtual function multiversioning not supported"
 msgstr "dwarf phiên bản %d không được hỗ trợ"
 
-#: config/i386/i386-features.cc:2822 config/rs6000/rs6000.cc:24921
+#: config/i386/i386-features.cc:2822 config/rs6000/rs6000.cc:24972
 #, fuzzy, gcc-internal-format
 #| msgid "the call requires ifunc, which is not supported by this target"
 msgid "multiversioning needs %<ifunc%> which is not supported on this target"
@@ -39819,14 +39827,15 @@ msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "CPU bạn chọn không hỗ trợ chỉ lệnh x86-64"
 
 #: config/i386/i386-options.cc:2215
-#, gcc-internal-format
-msgid "bad value (%qs) for %<-march=%> switch"
+#, fuzzy, gcc-internal-format
+#| msgid "bad value (%qs) for %<-march=%> switch"
+msgid "bad value %qs for %<-march=%> switch"
 msgstr "sai giá trị (%qs) cho tùy chọn %<-march=%>"
 
 #: config/i386/i386-options.cc:2216
 #, fuzzy, gcc-internal-format
 #| msgid "bad value (%qs) for %<-march=%> switch"
-msgid "bad value (%qs) for %<target(\"arch=\")%> attribute"
+msgid "bad value %qs for %<target(\"arch=\")%> attribute"
 msgstr "sai giá trị (%qs) cho tùy chọn %<-march=%>"
 
 #: config/i386/i386-options.cc:2238
@@ -39851,12 +39860,12 @@ msgstr "đối số hợp lệ cho cho %qs là: %s"
 
 #: config/i386/i386-options.cc:2295
 #, fuzzy, gcc-internal-format
-msgid "bad value (%qs) for %<-mtune=%> switch"
+msgid "bad value %qs for %<-mtune=%> switch"
 msgstr "sai giá trị (%s) cho chuyển -mtune"
 
 #: config/i386/i386-options.cc:2296
 #, fuzzy, gcc-internal-format
-msgid "bad value (%qs) for %<target(\"tune=\")%> attribute"
+msgid "bad value %qs for %<target(\"tune=\")%> attribute"
 msgstr "sai giá trị (%s) cho chuyển -mtune"
 
 #: config/i386/i386-options.cc:2317
@@ -40137,7 +40146,7 @@ msgstr "các thuộc tính cdecl và thiscall không tương thích với nhau"
 msgid "%qE attribute is used for non-class method"
 msgstr ""
 
-#: config/i386/i386-options.cc:3549 config/rs6000/rs6000.cc:20263
+#: config/i386/i386-options.cc:3549 config/rs6000/rs6000.cc:20314
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
@@ -40211,197 +40220,207 @@ msgstr "ISO C không hỗ trợ kiểu %<__int%d%>"
 msgid "%<ms_hook_prologue%> attribute is not compatible with nested function"
 msgstr "-mnop-mcount không tương thích với đích này"
 
-#: config/i386/i386.cc:1900
+#: config/i386/i386.cc:1904
 #, gcc-internal-format
 msgid "AVX512F vector argument without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1906
+#: config/i386/i386.cc:1910
 #, gcc-internal-format
 msgid "AVX512F vector return without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1920
+#: config/i386/i386.cc:1924
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1926
+#: config/i386/i386.cc:1930
 #, gcc-internal-format
 msgid "AVX vector return without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1942
+#: config/i386/i386.cc:1946
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1948
+#: config/i386/i386.cc:1952
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1964
+#: config/i386/i386.cc:1968
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1970
+#: config/i386/i386.cc:1974
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2168
+#: config/i386/i386.cc:2172
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2289
+#: config/i386/i386.cc:2293
 #, gcc-internal-format
 msgid "the ABI of passing union with %<long double%> has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2422
+#: config/i386/i386.cc:2426
 #, gcc-internal-format
 msgid "the ABI of passing structure with %<complex float%> member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2538
+#: config/i386/i386.cc:2542
 msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:2633
+#: config/i386/i386.cc:2637
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2639
+#: config/i386/i386.cc:2643
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2659
+#: config/i386/i386.cc:2663
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2982 config/i386/i386.cc:3223 config/i386/i386.cc:4029
+#: config/i386/i386.cc:2986 config/i386/i386.cc:3227 config/i386/i386.cc:4042
 #, gcc-internal-format
 msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:2984 config/i386/i386.cc:3225 config/i386/i386.cc:4031
+#: config/i386/i386.cc:2988 config/i386/i386.cc:3229 config/i386/i386.cc:4044
 #, gcc-internal-format
 msgid "this is a GCC bug that can be worked around by adding attribute used to function called"
 msgstr ""
 
-#: config/i386/i386.cc:3626
+#: config/i386/i386.cc:3630
 #, gcc-internal-format, gfc-internal-format
 msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.cc:6519
+#: config/i386/i386.cc:6532
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not compatible with %qD"
 msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s"
 msgstr "%qD không tương thích với %qD"
 
-#: config/i386/i386.cc:8423
+#: config/i386/i386.cc:8436
 #, gcc-internal-format
 msgid "%<ms_hook_prologue%> attribute is not compatible with %<-mfentry%> for 32-bit"
 msgstr ""
 
-#: config/i386/i386.cc:8513
+#: config/i386/i386.cc:8526
 #, gcc-internal-format
 msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine.  This may be worked around by avoiding functions with aggregate return."
 msgstr ""
 
-#: config/i386/i386.cc:9833
+#: config/i386/i386.cc:9458
+#, gcc-internal-format
+msgid "Stack realignment not supported with %<__builtin_eh_return%>"
+msgstr ""
+
+#: config/i386/i386.cc:9463
+#, gcc-internal-format
+msgid "regparm nested function not supported with %<__builtin_eh_return%>"
+msgstr ""
+
+#: config/i386/i386.cc:9849
 #, fuzzy, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support fastcall with nested function"
 msgstr "-mnop-mcount không tương thích với đích này"
 
-#: config/i386/i386.cc:9853
+#: config/i386/i386.cc:9869
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.cc:9864
+#: config/i386/i386.cc:9880
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.cc:12897
+#: config/i386/i386.cc:12913
 #, gcc-internal-format
 msgid "%<V%> modifier on non-integer register"
 msgstr ""
 
-#: config/i386/i386.cc:12908 config/i386/i386.cc:12922
+#: config/i386/i386.cc:12924 config/i386/i386.cc:12938
 #, gcc-internal-format
 msgid "unsupported size for integer register"
 msgstr ""
 
-#: config/i386/i386.cc:12954
+#: config/i386/i386.cc:12970
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.cc:12969
+#: config/i386/i386.cc:12985
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.cc:13163
+#: config/i386/i386.cc:13179
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand type used with operand code 'Z'"
 msgid "non-integer operand used with operand code %<z%>"
 msgstr "sử dụng loại toán hạng không hợp lệ với mã toán hạng “Z”"
 
-#: config/i386/i386.cc:17266
+#: config/i386/i386.cc:17210
 #, gcc-internal-format
 msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)"
 msgstr ""
 
-#: config/i386/i386.cc:21478
+#: config/i386/i386.cc:21432
 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:21574
+#: config/i386/i386.cc:21528
 #, gcc-internal-format
 msgid "profiling %<-mcmodel=large%> with PIC is not supported"
 msgstr ""
 
-#: config/i386/i386.cc:23273
+#: config/i386/i386.cc:23276
 #, fuzzy, gcc-internal-format
 #| msgid "unknown pointer size model %qs"
 msgid "unknown architecture specific memory model"
 msgstr "không hiểu mô hình kích thước con trỏ %qs"
 
-#: config/i386/i386.cc:23280
+#: config/i386/i386.cc:23283
 #, gcc-internal-format
 msgid "%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:23287
+#: config/i386/i386.cc:23290
 #, gcc-internal-format
 msgid "%<HLE_RELEASE%> not used with %<RELEASE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:23333
+#: config/i386/i386.cc:23336
 #, fuzzy, gcc-internal-format
 #| msgid "unsupported argument to %qD"
 msgid "unsupported return type %qT for simd"
 msgstr "đối số không được hỗ trợ cho %D"
 
-#: config/i386/i386.cc:23363
+#: config/i386/i386.cc:23366
 #, fuzzy, gcc-internal-format
 #| msgid "unsupported argument to %qD"
 msgid "unsupported argument type %qT for simd"
 msgstr "đối số không được hỗ trợ cho %D"
 
-#: config/i386/i386.cc:23923
+#: config/i386/i386.cc:23909
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>"
 msgstr ""
@@ -40491,6 +40510,89 @@ msgstr "PRINT_OPERAND: không hiểu dấu chấm “%c”"
 msgid "%<PRINT_OPERAND%> null pointer"
 msgstr "PRINT_OPERAND con trỏ null"
 
+#: config/loongarch/loongarch-cpu.cc:111
+#, gcc-internal-format
+msgid "unknown base architecture %<0x%x%>, %qs failed"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:138
+#, gcc-internal-format
+msgid "unknown FPU type %<0x%x%>, %qs failed"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:189
+#, gcc-internal-format
+msgid "unknown processor ID %<0x%x%>, some tuning parameters will fall back to default"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:196
+#, gcc-internal-format
+msgid "%<-m%s%> overrides %<-m%s=%s%>, adjusting ABI to %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:211
+#, gcc-internal-format
+msgid "ABI changed (%qs to %qs) while multilib is disabled"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:233
+#: config/loongarch/loongarch-opts.cc:238
+#, fuzzy, gcc-internal-format
+#| msgid "%qE does not have class type"
+msgid "%qs does not work on a cross compiler"
+msgstr "%qE không có kiểu lớp"
+
+#: config/loongarch/loongarch-opts.cc:278
+#, gcc-internal-format
+msgid "your native CPU architecture (%qs) does not support %qs ABI, falling back to %<-m%s=%s%>"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:283
+#, gcc-internal-format
+msgid "default CPU architecture (%qs) does not support %qs ABI, falling back to %<-m%s=%s%>"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:314
+#, gcc-internal-format
+msgid "unable to implement ABI %qs with instruction set %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:336
+#, gcc-internal-format
+msgid "ABI %qs cannot be implemented due to limited instruction set %qs, falling back to %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:347
+#, gcc-internal-format
+msgid "instruction set %qs cannot implement default ABI %qs, falling back to %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:352
+#, gcc-internal-format
+msgid "no multilib-enabled ABI (%qs) can be implemented with instruction set %qs, falling back to %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:368
+#, gcc-internal-format
+msgid "ABI %qs is not enabled at configure-time, the linker might report an error"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:371
+#, gcc-internal-format, gfc-internal-format
+msgid "ABI with startfiles: %s"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:3458
+#, gcc-internal-format
+msgid "Normal symbol loading not implemented in extreme mode."
+msgstr ""
+
+#: config/loongarch/loongarch.cc:5507
+#, fuzzy, gcc-internal-format
+#| msgid "code model %s does not support PIC mode"
+msgid "code model %qs and %qs not support %s mode"
+msgstr "mô hình mã %s không hỗ trợ chế độ PIC"
+
 #: config/m32c/m32c-pragma.cc:54
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of %<#pragma %s%>"
@@ -40687,128 +40789,136 @@ msgstr ""
 msgid "argument to %qE attribute is not intstack"
 msgstr ""
 
-#: config/mips/mips.cc:7751
+#: config/mips/mips.cc:6089
+msgid "the ABI for passing a value containing zero-width fields before an adjacent 64-bit floating-point field was changed in GCC %{12.1%}"
+msgstr ""
+
+#: config/mips/mips.cc:6490
+msgid "the ABI for returning a value containing zero-width bit-fields but otherwise an aggregate with only one or two floating-point fields was changed in GCC %{12.1%}"
+msgstr ""
+
+#: config/mips/mips.cc:7831
 #, gcc-internal-format
 msgid "cannot handle inconsistent calls to %qs"
 msgstr ""
 
-#: config/mips/mips.cc:10995
+#: config/mips/mips.cc:11075
 #, gcc-internal-format
 msgid "the %<interrupt%> attribute requires a MIPS32r2 processor or greater"
 msgstr "thuộc tính %<interrupt%> cần bộ xử lý MIPS32r2 hay mới hơn"
 
-#: config/mips/mips.cc:10997
+#: config/mips/mips.cc:11077
 #, gcc-internal-format
 msgid "interrupt handlers cannot be MIPS16 functions"
 msgstr ""
 
-#: config/mips/mips.cc:11987
+#: config/mips/mips.cc:12067
 #, fuzzy, gcc-internal-format
 #| msgid "-fstack-check=specific for Thumb-1"
 msgid "%<-fstack-check=specific%> not implemented for MIPS16"
 msgstr "-fstack-check=specific cho Thumb-1"
 
-#: config/mips/mips.cc:17043
+#: config/mips/mips.cc:17135
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "argument %d to the built-in must be a constant in range %d to %d"
 msgstr "đối số %d của %qE phải nằm trong vùng %d…%d"
 
-#: config/mips/mips.cc:17163
+#: config/mips/mips.cc:17255
 #, fuzzy, gcc-internal-format
 msgid "failed to expand built-in function"
 msgstr "Chấp nhận các hàm dựng sẵn."
 
-#: config/mips/mips.cc:17294
+#: config/mips/mips.cc:17386
 #, gcc-internal-format
 msgid "built-in function %qE not supported for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:17902
+#: config/mips/mips.cc:17994
 #, gcc-internal-format
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs không hỗ trợ mã MIPS16"
 
-#: config/mips/mips.cc:19709
+#: config/mips/mips.cc:19801
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC cho ABIs khác hơn o32 và o64"
 
-#: config/mips/mips.cc:19712
+#: config/mips/mips.cc:19804
 #, fuzzy, gcc-internal-format
 #| msgid "MIPS16 -mxgot code"
 msgid "MIPS16 %<-mxgot%> code"
 msgstr "MIPS16 -mxgot mã"
 
-#: config/mips/mips.cc:19715
+#: config/mips/mips.cc:19807
 #, fuzzy, gcc-internal-format
 #| msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgid "%<hard-float%> MIPS16 code for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC cho ABIs khác hơn o32 và o64"
 
-#: config/mips/mips.cc:19718
+#: config/mips/mips.cc:19810
 #, fuzzy, gcc-internal-format
 msgid "MSA MIPS16 code"
 msgstr "Tạo ra mã MIPS16."
 
-#: config/mips/mips.cc:19896 config/mips/mips.cc:19901
-#: config/mips/mips.cc:19983 config/mips/mips.cc:19985
-#: config/mips/mips.cc:20015 config/mips/mips.cc:20025
-#: config/mips/mips.cc:20131 config/mips/mips.cc:20161
+#: config/mips/mips.cc:19988 config/mips/mips.cc:19993
+#: config/mips/mips.cc:20082 config/mips/mips.cc:20084
+#: config/mips/mips.cc:20114 config/mips/mips.cc:20124
+#: config/mips/mips.cc:20230 config/mips/mips.cc:20260
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "Hóa hợp không được hỗ trợ: %s"
 
-#: config/mips/mips.cc:19935
+#: config/mips/mips.cc:20027
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.cc:19945
+#: config/mips/mips.cc:20037
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "%<-march=%s%> không tương thích với ABI đã chọn"
 
-#: config/mips/mips.cc:19960
+#: config/mips/mips.cc:20052
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%> được dùng với bộ xử lý 32-bit"
 
-#: config/mips/mips.cc:19962
+#: config/mips/mips.cc:20054
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> dùng với 64-bit ABI"
 
-#: config/mips/mips.cc:19964
+#: config/mips/mips.cc:20056
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%> được dùng với 32-bit ABI"
 
-#: config/mips/mips.cc:19980
+#: config/mips/mips.cc:20079
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-mfp32%>"
 msgstr "đích này không hỗ trợ %qs"
 
-#: config/mips/mips.cc:19989
+#: config/mips/mips.cc:20088
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
 msgstr ""
 
-#: config/mips/mips.cc:19992
+#: config/mips/mips.cc:20091
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr "%<-mgp32%> và %<-mfp64%> chỉ có thể được tổ hợp cùng nhau khi sử dụng o32 ABI"
 
-#: config/mips/mips.cc:20013
+#: config/mips/mips.cc:20112
 #, gcc-internal-format
 msgid "%<-mfpxx%> can only be used with the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20017
+#: config/mips/mips.cc:20116
 #, gcc-internal-format
 msgid "%<-march=%s%> requires %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20019
+#: config/mips/mips.cc:20118
 #, gcc-internal-format
 msgid "%<-mfpxx%> requires %<-mlra%>"
 msgstr ""
@@ -40818,117 +40928,117 @@ msgstr ""
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.cc:20044
+#: config/mips/mips.cc:20143
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20097
+#: config/mips/mips.cc:20196
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20112
+#: config/mips/mips.cc:20211
 #, gcc-internal-format
 msgid "the %qs architecture does not support madd or msub instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20126
+#: config/mips/mips.cc:20225
 #, gcc-internal-format
 msgid "the %qs architecture does not support odd single-precision registers"
 msgstr ""
 
-#: config/mips/mips.cc:20139 config/mips/mips.cc:20145
+#: config/mips/mips.cc:20238 config/mips/mips.cc:20244
 #, gcc-internal-format
 msgid "unsupported combination: %qs%s %s"
 msgstr ""
 
-#: config/mips/mips.cc:20154
+#: config/mips/mips.cc:20253
 #, gcc-internal-format
 msgid "unsupported combination: %qs %s"
 msgstr ""
 
-#: config/mips/mips.cc:20169
+#: config/mips/mips.cc:20268
 #, gcc-internal-format
 msgid "cannot generate position-independent code for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20172
+#: config/mips/mips.cc:20271
 #, gcc-internal-format
 msgid "position-independent code requires %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20205
+#: config/mips/mips.cc:20304
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> cần %<-mexplicit-relocs%>"
 
-#: config/mips/mips.cc:20213 config/mips/mips.cc:20216
+#: config/mips/mips.cc:20312 config/mips/mips.cc:20315
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20231
+#: config/mips/mips.cc:20330
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=legacy%>"
 msgstr ""
 
-#: config/mips/mips.cc:20238
+#: config/mips/mips.cc:20337
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=2008%>"
 msgstr ""
 
-#: config/mips/mips.cc:20256
+#: config/mips/mips.cc:20355
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> cần %<-mpaired-single%>"
 
-#: config/mips/mips.cc:20266
+#: config/mips/mips.cc:20365
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs phải được sử dụng cùng với %qs"
 
-#: config/mips/mips.cc:20276
+#: config/mips/mips.cc:20375
 #, gcc-internal-format
 msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20283
+#: config/mips/mips.cc:20382
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20292
+#: config/mips/mips.cc:20391
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.cc:20303
+#: config/mips/mips.cc:20402
 #, gcc-internal-format
 msgid "the %qs architecture does not support DSP instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20313
+#: config/mips/mips.cc:20412
 #, gcc-internal-format
 msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20323
+#: config/mips/mips.cc:20422
 #, gcc-internal-format
 msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>"
 msgstr ""
 
-#: config/mips/mips.cc:20429
+#: config/mips/mips.cc:20528
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20433
+#: config/mips/mips.cc:20532
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.cc:21269
+#: config/mips/mips.cc:21368
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -41227,10 +41337,11 @@ msgstr "thuộc tính %s của %qs xung đột với thuộc tính %s tại %L"
 msgid "argument to interrupt attribute is unsupported for weak functions"
 msgstr ""
 
-#: config/msp430/msp430.cc:2747
-#, gcc-internal-format
-msgid "%<__delay_cycles()%> only takes constant arguments"
-msgstr ""
+#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2936
+#, fuzzy, gcc-internal-format
+#| msgid "%qs expects a constant argument"
+msgid "%<__delay_cycles%> only takes constant arguments"
+msgstr "%qs cần một đối số hằng"
 
 #: config/msp430/msp430.cc:2757 config/pru/pru.cc:2945
 #, gcc-internal-format
@@ -41606,66 +41717,78 @@ msgstr ""
 msgid "cannot open intermediate ptx file"
 msgstr "Không thể mở tập tin xuất trung gian ptx"
 
-#: config/nvptx/nvptx.cc:206
+#: config/nvptx/nvptx.cc:207
 #, gcc-internal-format
 msgid "option %s is not supported together with %<-fopenacc%>"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:307
-#, gcc-internal-format, gfc-internal-format
-msgid "PTX version (-mptx) needs to be at least %s to support selected -misa (sm_%s)"
+#: config/nvptx/nvptx.cc:326
+#, gcc-internal-format
+msgid "PTX version (%<-mptx%>) needs to be at least %s to support selected %<-misa%> (sm_%s)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:340
+#: config/nvptx/nvptx.cc:359
 #, gcc-internal-format
 msgid "not generating patch area, nops not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:439
+#: config/nvptx/nvptx.cc:458
 #, gcc-internal-format
 msgid "static initialization of variable %q+D in %<.shared%> memory is not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2279
+#: config/nvptx/nvptx.cc:2330
 #, gcc-internal-format
 msgid "cannot emit unaligned pointers in ptx assembly"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2504
+#: config/nvptx/nvptx.cc:2555
 #, gcc-internal-format
 msgid "PTX does not support weak declarations (only weak definitions)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5425
+#: config/nvptx/nvptx.cc:5790
 #, gcc-internal-format
 msgid "%qE attribute requires a void return type"
 msgstr "Thuộc tính %qE cần kiểu trả về là void"
 
-#: config/nvptx/nvptx.cc:5448
+#: config/nvptx/nvptx.cc:5813
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute not allowed with auto storage class"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: config/nvptx/nvptx.cc:6067
+#: config/nvptx/nvptx.cc:6433
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%> due to call to vector-partitionable routine, ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6075
+#: config/nvptx/nvptx.cc:6441
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6089
+#: config/nvptx/nvptx.cc:6455
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6975
+#: config/nvptx/nvptx.cc:7341
 #, gcc-internal-format
 msgid "variable %qD adjusted for OpenACC privatization level: %qs"
 msgstr ""
 
+#: config/nvptx/nvptx.cc:7455
+#, fuzzy, gcc-internal-format
+#| msgid "weakref is not supported in this configuration"
+msgid "weak alias definitions not supported in this configuration"
+msgstr "weakref không được hỗ trợ trong cấu hình này"
+
+#: config/nvptx/nvptx.cc:7468
+#, fuzzy, gcc-internal-format
+#| msgid "-fvtable-verify=preinit is not supported in this configuration"
+msgid "non-function alias definitions not supported in this configuration"
+msgstr "-fvtable-verify=preinit không được hỗ trợ trong cấu hình này"
+
 #: config/or1k/or1k.cc:1311
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unexpected operand"
@@ -41773,12 +41896,6 @@ msgstr ""
 msgid "pointers to %<__regio_symbol%> address space are prohibited"
 msgstr ""
 
-#: config/pru/pru.cc:2936
-#, fuzzy, gcc-internal-format
-#| msgid "%qs expects a constant argument"
-msgid "%<__delay_cycles%> only takes constant arguments"
-msgstr "%qs cần một đối số hằng"
-
 #: config/riscv/riscv.cc:391
 #, fuzzy, gcc-internal-format
 #| msgid "unknown value %qs for -mtune"
@@ -41827,13 +41944,13 @@ msgstr "-mpreferred-stack-boundary=%d không nằm giữa %d và %d"
 msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]"
 msgstr ""
 
-#: config/riscv/riscv.cc:5081 config/rs6000/rs6000.cc:4612
+#: config/riscv/riscv.cc:5081 config/rs6000/rs6000.cc:4581
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not a valid class name"
 msgid "%qs is not a valid base register in %qs"
 msgstr "“%qs” không phải là một tên lớp đúng"
 
-#: config/riscv/riscv.cc:5095 config/rs6000/rs6000.cc:4595
+#: config/riscv/riscv.cc:5095 config/rs6000/rs6000.cc:4564
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not valid for %qs"
 msgid "%qs is not a valid number in %qs"
@@ -41963,93 +42080,98 @@ msgstr ""
 msgid "%qs requires quad-precision floating-point arithmetic"
 msgstr "Đơn vị dấu chấm động chính xác đơn."
 
-#: config/rs6000/rs6000-builtin.cc:2273
+#: config/rs6000/rs6000-builtin.cc:2279
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qd is not a constant"
 msgid "argument 1 of %qs must be a constant"
 msgstr "đối số %qd không phải hằng số"
 
-#: config/rs6000/rs6000-builtin.cc:2331
+#: config/rs6000/rs6000-builtin.cc:2337
 #, fuzzy, gcc-internal-format
 #| msgid "argument to %qs is too large (max. %d)"
 msgid "argument 1 of %qs is out of range"
 msgstr "đối số cho %qs quá lớn (tối đa là %d)"
 
-#: config/rs6000/rs6000-builtin.cc:2603
+#: config/rs6000/rs6000-builtin.cc:2609
 #, fuzzy, gcc-internal-format
 #| msgid "builtin %s only accepts a string argument"
 msgid "builtin %qs only accepts a string argument"
 msgstr "%s chỉ chấp nhận một tham số"
 
 #. Invalid CPU argument.
-#: config/rs6000/rs6000-builtin.cc:2622
+#: config/rs6000/rs6000-builtin.cc:2628
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %qD"
 msgid "cpu %qs is an invalid argument to builtin %qs"
 msgstr "đối số không hợp lệ cho %qD"
 
 #. Invalid HWCAP argument.
-#: config/rs6000/rs6000-builtin.cc:2650
+#: config/rs6000/rs6000-builtin.cc:2656
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %qD"
 msgid "%s %qs is an invalid argument to builtin %qs"
 msgstr "đối số không hợp lệ cho %qD"
 
-#: config/rs6000/rs6000-builtin.cc:2679
+#: config/rs6000/rs6000-builtin.cc:2685
 #, gcc-internal-format
 msgid "builtin %qs needs GLIBC (2.23 and newer) that exports hardware capability bits"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3026 config/rs6000/rs6000-builtin.cc:3180
+#: config/rs6000/rs6000-builtin.cc:3032 config/rs6000/rs6000-builtin.cc:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be an unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3028 config/rs6000/rs6000-builtin.cc:3182
+#: config/rs6000/rs6000-builtin.cc:3034 config/rs6000/rs6000-builtin.cc:3188
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d is an unsigned literal that is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3133
+#: config/rs6000/rs6000-builtin.cc:3139
 #, gcc-internal-format
 msgid "builtin %qs is only valid in 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3403
+#: config/rs6000/rs6000-builtin.cc:3409
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "%qs not supported with %<-msoft-float%>"
 msgstr "-m%s không được hỗ trợ trong cấu hình này"
 
-#: config/rs6000/rs6000-builtin.cc:3410
+#: config/rs6000/rs6000-builtin.cc:3416
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in x32 mode"
 msgid "%qs is not supported in 32-bit mode"
 msgstr "mô hình mã %qs không được hỗ trợ trong chế độ x32"
 
-#: config/rs6000/rs6000-builtin.cc:3416
+#: config/rs6000/rs6000-builtin.cc:3422
 #, gcc-internal-format
 msgid "%qs requires %<long double%> to be IBM 128-bit format"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3556
+#: config/rs6000/rs6000-builtin.cc:3429
+#, gcc-internal-format
+msgid "%qs requires %<__ibm128%> type support"
+msgstr ""
+
+#: config/rs6000/rs6000-builtin.cc:3584
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument must be a field reference"
 msgid "argument %d must be a literal between 0 and %d, inclusive"
 msgstr "đối số phải là một tham chiếu trường"
 
-#: config/rs6000/rs6000-builtin.cc:3572
+#: config/rs6000/rs6000-builtin.cc:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument must be a field reference"
 msgid "argument %d must be a literal between %d and %d, inclusive"
 msgstr "đối số phải là một tham chiếu trường"
 
-#: config/rs6000/rs6000-builtin.cc:3589
+#: config/rs6000/rs6000-builtin.cc:3617
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a variable or a literal between %d and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3605
+#: config/rs6000/rs6000-builtin.cc:3633
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument %d must be either a literal %d or a literal %d"
@@ -42087,50 +42209,50 @@ msgstr "số phải là 0 hay 1"
 msgid "junk at end of %<#pragma longcall%>"
 msgstr "có rác ở cuối %<#pragma align%>"
 
-#: config/rs6000/rs6000-c.cc:1241 config/rs6000/rs6000-c.cc:1642
+#: config/rs6000/rs6000-c.cc:1249 config/rs6000/rs6000-c.cc:1650
 #, fuzzy, gcc-internal-format
 #| msgid "builtin %s only accepts a string argument"
 msgid "builtin %qs only accepts 1 argument"
 msgstr "%s chỉ chấp nhận một tham số"
 
-#: config/rs6000/rs6000-c.cc:1248 config/rs6000/rs6000-c.cc:1334
+#: config/rs6000/rs6000-c.cc:1256 config/rs6000/rs6000-c.cc:1342
 #, fuzzy, gcc-internal-format
 #| msgid "builtin %s only accepts a string argument"
 msgid "builtin %qs only accepts 2 arguments"
 msgstr "%s chỉ chấp nhận một tham số"
 
-#: config/rs6000/rs6000-c.cc:1512
+#: config/rs6000/rs6000-c.cc:1520
 #, fuzzy, gcc-internal-format
 #| msgid "builtin %s only accepts a string argument"
 msgid "builtin %qs only accepts 3 arguments"
 msgstr "%s chỉ chấp nhận một tham số"
 
-#: config/rs6000/rs6000-c.cc:1723
+#: config/rs6000/rs6000-c.cc:1735
 #, gcc-internal-format
 msgid "%<vec_lvsl%> is deprecated for little endian; use assignment for unaligned loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1727
+#: config/rs6000/rs6000-c.cc:1739
 #, gcc-internal-format
 msgid "%<vec_lvsr%> is deprecated for little endian; use assignment for unaligned loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1783
-#, fuzzy, gcc-internal-format
-msgid "passing argument %d of %qE discards const qualifier from pointer target type"
-msgstr "đối số %d của %qE phải là một địa chỉ"
+#: config/rs6000/rs6000-c.cc:1795
+#, gcc-internal-format
+msgid "passing argument %d of %qE discards %qs qualifier from pointer target type"
+msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1868 config/rs6000/rs6000-c.cc:2024
+#: config/rs6000/rs6000-c.cc:1881 config/rs6000/rs6000-c.cc:2037
 #, gcc-internal-format
 msgid "invalid parameter combination for AltiVec intrinsic %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2013
+#: config/rs6000/rs6000-c.cc:2026
 #, gcc-internal-format
 msgid "overloaded builtin %qs is implemented by builtin %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2017
+#: config/rs6000/rs6000-c.cc:2030
 #, fuzzy, gcc-internal-format
 #| msgid "%s is not supported by this configuration"
 msgid "%qs is not supported in this compiler configuration"
@@ -42213,12 +42335,6 @@ msgstr "-m64 yêu cầu kiến trúc PowerPC64, đang bật"
 msgid "%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"
 msgstr "-mcall-aixdesc xung khắc với -mabi=elfv2"
 
-#: config/rs6000/rs6000.cc:3515
-#, fuzzy, gcc-internal-format
-#| msgid "-mcmodel incompatible with other toc options"
-msgid "%<-mcmodel incompatible with other toc options%>"
-msgstr "-mcmodel không tương thích với các tùy chọn toc khác"
-
 #: config/rs6000/rs6000.cc:3536
 #, fuzzy, gcc-internal-format
 #| msgid "unsupported mode %s\n"
@@ -42260,11 +42376,10 @@ msgstr "%qs không tương thích với %s %s"
 #: config/rs6000/rs6000.cc:3979 config/rs6000/rs6000.cc:3998
 #: config/rs6000/rs6000.cc:4060 config/rs6000/rs6000.cc:4087
 #: config/rs6000/rs6000.cc:4114 config/rs6000/rs6000.cc:4129
-#: config/rs6000/rs6000.cc:4137 config/rs6000/rs6000.cc:4184
-#: config/rs6000/rs6000.cc:4186 config/rs6000/rs6000.cc:4276
-#: config/rs6000/rs6000.cc:4289 config/rs6000/rs6000.cc:4298
-#: config/rs6000/rs6000.cc:4436 config/rs6000/rs6000.cc:4477
-#: config/rs6000/rs6000.cc:4488
+#: config/rs6000/rs6000.cc:4137 config/rs6000/rs6000.cc:4269
+#: config/rs6000/rs6000.cc:4282 config/rs6000/rs6000.cc:4291
+#: config/rs6000/rs6000.cc:4429 config/rs6000/rs6000.cc:4446
+#: config/rs6000/rs6000.cc:4457
 #, fuzzy, gcc-internal-format
 #| msgid "%qT referred to as %qs"
 msgid "%qs requires %qs"
@@ -42275,166 +42390,166 @@ msgstr "%qT được coi là %qs"
 msgid "target attribute or pragma changes %<long double%> size"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4201
+#: config/rs6000/rs6000.cc:4194
 #, fuzzy, gcc-internal-format
 #| msgid "-mfloat128-hardware requires full ISA 3.0 support"
 msgid "%qs requires full ISA 2.06 support"
 msgstr "-mfloat128-hardware cần được ISA 3.0 hỗ trợ"
 
-#: config/rs6000/rs6000.cc:4214
+#: config/rs6000/rs6000.cc:4207
 #, fuzzy, gcc-internal-format
 #| msgid "using IEEE extended precision long double"
 msgid "Using IEEE extended precision %<long double%>"
 msgstr "dùng phần mở rộng số nguyên chính đôi IEEE"
 
-#: config/rs6000/rs6000.cc:4217
+#: config/rs6000/rs6000.cc:4210
 #, fuzzy, gcc-internal-format
 #| msgid "using IBM extended precision long double"
 msgid "Using IBM extended precision %<long double%>"
 msgstr "dùng phần mở rộng số nguyên chính đôi IBM"
 
-#: config/rs6000/rs6000.cc:4236
+#: config/rs6000/rs6000.cc:4229
 #, fuzzy, gcc-internal-format
 #| msgid "-mfloat128 requires VSX support"
 msgid "%qs requires VSX support"
 msgstr "-mfloat128 cần hỗ trợ VSX"
 
-#: config/rs6000/rs6000.cc:4245
+#: config/rs6000/rs6000.cc:4238
 #, gcc-internal-format
 msgid "The %<-mfloat128%> option may not be fully supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4268
+#: config/rs6000/rs6000.cc:4261
 #, fuzzy, gcc-internal-format
 #| msgid "-mfloat128-hardware requires full ISA 3.0 support"
 msgid "%qs requires full ISA 3.0 support"
 msgstr "-mfloat128-hardware cần được ISA 3.0 hỗ trợ"
 
-#: config/rs6000/rs6000.cc:4355
+#: config/rs6000/rs6000.cc:4348
 #, fuzzy, gcc-internal-format
 #| msgid "Known vectorization library ABIs (for use with the -mveclibabi= option):"
-msgid "unknown vectorization library ABI type (%qs) for %qs switch"
+msgid "unknown vectorization library ABI type in %<-mveclibabi=%s%>"
 msgstr "Chưa biết thư viện véc-tơ-hóa ABIs (để dùng với tùy chọn -mveclibabi=):"
 
-#: config/rs6000/rs6000.cc:4368 config/rs6000/rs6000.cc:4383
+#: config/rs6000/rs6000.cc:4361 config/rs6000/rs6000.cc:4376
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4396
+#: config/rs6000/rs6000.cc:4389
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4620
+#: config/rs6000/rs6000.cc:4589
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not a valid class name"
 msgid "%qs needs a valid base register"
 msgstr "“%qs” không phải là một tên lớp đúng"
 
-#: config/rs6000/rs6000.cc:4917
+#: config/rs6000/rs6000.cc:4886
 #, fuzzy, gcc-internal-format
 #| msgid "unknown option for -mrecip=%s"
 msgid "unknown option for %<%s=%s%>"
 msgstr "không hiểu tùy chọn cho -mrecip=%s"
 
-#: config/rs6000/rs6000.cc:4954
+#: config/rs6000/rs6000.cc:4923
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated and has no effect"
 msgid "%qs is deprecated and not recommended in any circumstances"
 msgstr "%qs đã lỗi thời và không có tác động gì"
 
-#: config/rs6000/rs6000.cc:10753
+#: config/rs6000/rs6000.cc:10793
 #, gcc-internal-format
 msgid "%qs is an opaque type, and you cannot set it to other values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:17531
+#: config/rs6000/rs6000.cc:17583
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:19928
+#: config/rs6000/rs6000.cc:19979
 #, gcc-internal-format
 msgid "you cannot take the address of a nested function if you use the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20010
+#: config/rs6000/rs6000.cc:20061
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20012
+#: config/rs6000/rs6000.cc:20063
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20014
+#: config/rs6000/rs6000.cc:20065
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20016
+#: config/rs6000/rs6000.cc:20067
 #, fuzzy, gcc-internal-format
 #| msgid "Use decimal floating point instructions."
 msgid "use of decimal floating-point types in AltiVec types is invalid"
 msgstr "Sử dụng câu lệnh dấu chấm động thập phân bằng phần cứng."
 
-#: config/rs6000/rs6000.cc:20022
+#: config/rs6000/rs6000.cc:20073
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20025
+#: config/rs6000/rs6000.cc:20076
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20030
+#: config/rs6000/rs6000.cc:20081
 #, fuzzy, gcc-internal-format
 #| msgid "%<long long%> invalid for %qs"
 msgid "use of %<long long%> in AltiVec types is invalid without %qs"
 msgstr "%<long long%> không hợp lệ với %qs"
 
-#: config/rs6000/rs6000.cc:20033
+#: config/rs6000/rs6000.cc:20084
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24181
+#: config/rs6000/rs6000.cc:24232
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgid "invalid cpu %qs for %s%qs%s"
 msgstr "sai cpu \"%s\" cho %s\"%s\"%s"
 
-#: config/rs6000/rs6000.cc:24184
+#: config/rs6000/rs6000.cc:24235
 #, fuzzy, gcc-internal-format
 #| msgid "%s\"%s\"%s is not allowed"
 msgid "%s%qs%s is not allowed"
 msgstr "%s\"%s\"%s là không được phép"
 
-#: config/rs6000/rs6000.cc:24186
+#: config/rs6000/rs6000.cc:24237
 #, fuzzy, gcc-internal-format
 #| msgid "%s\"%s\"%s is invalid"
 msgid "%s%qs%s is invalid"
 msgstr "%s\"%s\"%s không hợp lệ"
 
-#: config/rs6000/rs6000.cc:24730
+#: config/rs6000/rs6000.cc:24781
 #, gcc-internal-format
 msgid "%<-mno-%s%> turns off %<-m%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24889
+#: config/rs6000/rs6000.cc:24940
 #, gcc-internal-format
 msgid "%<target_clones%> attribute needs GLIBC (2.23 and newer) that exports hardware capability bits"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25177
+#: config/rs6000/rs6000.cc:25228
 #, gcc-internal-format
 msgid "Virtual function multiversioning not supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28260
+#: config/rs6000/rs6000.cc:28310
 #, gcc-internal-format
 msgid "the result for the xxspltidp instruction is undefined for subnormal input values"
 msgstr ""
@@ -42451,8 +42566,8 @@ msgid "multiple fast interrupt routines seen: %qE and %qE"
 msgstr ""
 
 #: config/rx/rx.cc:2480
-#, gcc-internal-format, gfc-internal-format
-msgid "invalid control register for mvtc: %d - using 'psw'"
+#, gcc-internal-format
+msgid "invalid control register %d for mvtc; using %<psw%>"
 msgstr ""
 
 #: config/rx/rx.cc:2602
@@ -42873,7 +42988,7 @@ msgstr ""
 
 #: config/v850/v850-c.cc:67
 #, gcc-internal-format
-msgid "%<#pragma%> GHS endXXXX found without previous startXXX"
+msgid "%<#pragma%> GHS endXXX found without previous startXXX"
 msgstr ""
 
 #: config/v850/v850-c.cc:70
@@ -43203,8 +43318,8 @@ msgstr ""
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: c/c-convert.cc:104 c/c-typeck.cc:2258 c/c-typeck.cc:12921 cp/typeck.cc:2335
-#: cp/typeck.cc:8980 cp/typeck.cc:9782 d/d-convert.cc:262
+#: c/c-convert.cc:104 c/c-typeck.cc:2258 c/c-typeck.cc:12924 cp/typeck.cc:2344
+#: cp/typeck.cc:8994 cp/typeck.cc:9796 d/d-convert.cc:262
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
@@ -43495,7 +43610,7 @@ msgstr ""
 msgid "declaration of %qD shadows a parameter"
 msgstr "khai báo của %qD như là đối số"
 
-#: c/c-decl.cc:3062 cp/name-lookup.cc:3332
+#: c/c-decl.cc:3062 cp/name-lookup.cc:3335
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr ""
@@ -43505,7 +43620,7 @@ msgstr ""
 msgid "declaration of %qD shadows a previous local"
 msgstr ""
 
-#: c/c-decl.cc:3094 cp/name-lookup.cc:3100
+#: c/c-decl.cc:3094 cp/name-lookup.cc:3103
 #, gcc-internal-format
 msgid "shadowed declaration is here"
 msgstr ""
@@ -43571,7 +43686,7 @@ msgstr ""
 msgid "each undeclared identifier is reported only once for each function it appears in"
 msgstr ""
 
-#: c/c-decl.cc:3852 cp/decl.cc:3289
+#: c/c-decl.cc:3852 cp/decl.cc:3345
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr ""
@@ -43601,7 +43716,7 @@ msgstr ""
 msgid "duplicate label declaration %qE"
 msgstr ""
 
-#: c/c-decl.cc:4068 cp/decl.cc:3703
+#: c/c-decl.cc:4068 cp/decl.cc:3759
 #, gcc-internal-format
 msgid "duplicate label %qD"
 msgstr "trùng nhãn %qD"
@@ -43822,7 +43937,7 @@ msgstr ""
 msgid "uninitialized %<const %D%> is invalid in C++"
 msgstr "bộ khởi tạo cho %q#D không hợp lệ"
 
-#: c/c-decl.cc:5684 cp/decl.cc:8434
+#: c/c-decl.cc:5684 cp/decl.cc:8561
 #, gcc-internal-format
 msgid "%q+D in declare target directive does not have mappable type"
 msgstr ""
@@ -43993,7 +44108,7 @@ msgstr ""
 msgid "storage class specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:6536 cp/decl.cc:12450
+#: c/c-decl.cc:6536 cp/decl.cc:12577
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr ""
@@ -44162,7 +44277,7 @@ msgstr ""
 msgid "function definition has qualified void return type"
 msgstr "định nghĩa hàm có kiểu trả về là void"
 
-#: c/c-decl.cc:7109 cp/decl.cc:12750
+#: c/c-decl.cc:7109 cp/decl.cc:12877
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr ""
@@ -44289,7 +44404,7 @@ msgstr ""
 msgid "a member of a structure or union cannot have a variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:7445 cp/decl.cc:11343
+#: c/c-decl.cc:7445 cp/decl.cc:11470
 #, gcc-internal-format
 msgid "variable or field %qE declared void"
 msgstr ""
@@ -44469,7 +44584,7 @@ msgstr "định nghĩa lại bị lồng của %<struct %E%>"
 msgid "defining type in %qs expression is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:8402 cp/decl.cc:5255
+#: c/c-decl.cc:8402 cp/decl.cc:5321
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr ""
@@ -44519,7 +44634,7 @@ msgstr "cấu có không thành viên đã đặt tên"
 msgid "struct has no members"
 msgstr "struct không có thành viên nào"
 
-#: c/c-decl.cc:8806 cp/decl.cc:13715
+#: c/c-decl.cc:8806 cp/decl.cc:13842
 #, gcc-internal-format
 msgid "flexible array member in union"
 msgstr ""
@@ -44561,7 +44676,7 @@ msgstr ""
 msgid "redeclaration of %<enum %E%>"
 msgstr "khai báo lại của %<enum %E%>"
 
-#: c/c-decl.cc:9196 cp/decl.cc:16262
+#: c/c-decl.cc:9196 cp/decl.cc:16393
 #, gcc-internal-format
 msgid "specified mode too small for enumerated values"
 msgstr ""
@@ -44591,7 +44706,7 @@ msgstr "tràn giá trị liệt kê"
 msgid "ISO C restricts enumerator values to range of %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:9522 cp/decl.cc:5566 cp/decl.cc:16839
+#: c/c-decl.cc:9522 cp/decl.cc:5634 cp/decl.cc:16972
 #, fuzzy, gcc-internal-format
 #| msgid "inline function %q+D declared weak"
 msgid "inline function %qD given attribute %qs"
@@ -44622,7 +44737,7 @@ msgstr "chưa có khai báo nguyên mẫu trước đây cho %qD"
 msgid "%qD was used with no prototype before its definition"
 msgstr ""
 
-#: c/c-decl.cc:9654 cp/decl.cc:16974
+#: c/c-decl.cc:9654 cp/decl.cc:17107
 #, gcc-internal-format
 msgid "no previous declaration for %qD"
 msgstr "chưa có khai báo trước đây cho %qD"
@@ -44737,12 +44852,12 @@ msgstr ""
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10307 cp/decl.cc:17800
+#: c/c-decl.cc:10307 cp/decl.cc:17933
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "%<return%> (trả lại) không có giá trị, trong hàm trả lại non-void (không rỗng)"
 
-#: c/c-decl.cc:10326 cp/decl.cc:17884
+#: c/c-decl.cc:10326 cp/decl.cc:18017
 #, gcc-internal-format
 msgid "parameter %qD set but not used"
 msgstr "đối số %qD đặt nhưng chưa được dùng"
@@ -44811,7 +44926,7 @@ msgstr "cần các định danh khai báo"
 msgid "two or more data types in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:10892 cp/parser.cc:32692
+#: c/c-decl.cc:10892 cp/parser.cc:32698
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr "%<long long long%> là quá dài đối với GCC"
@@ -44962,47 +45077,47 @@ msgstr ""
 msgid "ISO C does not support complex integer types"
 msgstr ""
 
-#: c/c-decl.cc:12448 cp/semantics.cc:5991
+#: c/c-decl.cc:12448 cp/semantics.cc:5982
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not %<omp_out%> nor %<omp_in%>"
 msgstr ""
 
-#: c/c-decl.cc:12452 cp/semantics.cc:5995
+#: c/c-decl.cc:12452 cp/semantics.cc:5986
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not %<omp_priv%> nor %<omp_orig%>"
 msgstr ""
 
-#: c/c-fold.cc:387 c/c-typeck.cc:12224 cp/typeck.cc:5388
+#: c/c-fold.cc:388 c/c-typeck.cc:12227 cp/typeck.cc:5398
 #, gcc-internal-format
 msgid "left shift of negative value"
 msgstr "dịch trái của một giá trị âm"
 
-#: c/c-fold.cc:397 c/c-typeck.cc:12233 cp/typeck.cc:5396
+#: c/c-fold.cc:398 c/c-typeck.cc:12236 cp/typeck.cc:5406
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "số lượng dịch trái là số âm"
 
-#: c/c-fold.cc:398 c/c-typeck.cc:12162 cp/typeck.cc:5336
+#: c/c-fold.cc:399 c/c-typeck.cc:12164 cp/typeck.cc:5345
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "số lượng dịch trái là số âm"
 
-#: c/c-fold.cc:406 c/c-typeck.cc:12252 cp/typeck.cc:5404
+#: c/c-fold.cc:407 c/c-typeck.cc:12255 cp/typeck.cc:5414
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "số lượng dịch trái  >= độ rộng của kiểu"
 
-#: c/c-fold.cc:407 c/c-typeck.cc:12186 cp/typeck.cc:5347
+#: c/c-fold.cc:408 c/c-typeck.cc:12188 cp/typeck.cc:5356
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "số lượng dịch phải  >= độ rộng của kiểu"
 
-#: c/c-fold.cc:414 c/c-typeck.cc:12244
+#: c/c-fold.cc:415 c/c-typeck.cc:12247
 #, fuzzy, gcc-internal-format
 msgid "left shift count >= width of vector element"
 msgstr "số lượng dịch trái  >= độ rộng của kiểu"
 
-#: c/c-fold.cc:415 c/c-typeck.cc:12173
+#: c/c-fold.cc:416 c/c-typeck.cc:12175
 #, fuzzy, gcc-internal-format
 msgid "right shift count >= width of vector element"
 msgstr "số lượng dịch phải  >= độ rộng của kiểu"
@@ -45023,7 +45138,7 @@ msgstr ""
 msgid "to match this %qs"
 msgstr "không khớp cho"
 
-#: c/c-parser.cc:1324 cp/parser.cc:32926
+#: c/c-parser.cc:1324 cp/parser.cc:32932
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "cần kết thúc dòng"
@@ -45033,7 +45148,7 @@ msgstr "cần kết thúc dòng"
 msgid "ISO C forbids an empty translation unit"
 msgstr ""
 
-#: c/c-parser.cc:1667 cp/semantics.cc:3323
+#: c/c-parser.cc:1667 cp/semantics.cc:3328
 #, gcc-internal-format
 msgid "%<#pragma omp declare target%> without corresponding %<#pragma omp end declare target%>"
 msgstr ""
@@ -45068,9 +45183,9 @@ msgstr "không hiểu kiểu tên %qE; ý bạn là %qs?"
 msgid "unknown type name %qE"
 msgstr "không hiểu tên kiểu %qE"
 
-#: c/c-parser.cc:2006 c/c-parser.cc:12610 c/c-parser.cc:19957
-#: c/c-parser.cc:20544 c/c-parser.cc:21066 cp/parser.cc:43736
-#: cp/parser.cc:47996
+#: c/c-parser.cc:2006 c/c-parser.cc:12610 c/c-parser.cc:19966
+#: c/c-parser.cc:20553 c/c-parser.cc:21075 cp/parser.cc:43742
+#: cp/parser.cc:48002
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "cần các định danh khai báo"
@@ -45090,7 +45205,7 @@ msgstr ""
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "cần %<;%>, định danh hoặc %<(%>"
 
-#: c/c-parser.cc:2071 cp/parser.cc:35156 cp/parser.cc:35228
+#: c/c-parser.cc:2071 cp/parser.cc:35162 cp/parser.cc:35234
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
@@ -45105,7 +45220,7 @@ msgstr ""
 msgid "unexpected attribute"
 msgstr "cần thuộc tính"
 
-#: c/c-parser.cc:2137 c/c-parser.cc:6233 cp/parser.cc:12523 cp/parser.cc:12730
+#: c/c-parser.cc:2137 c/c-parser.cc:6233 cp/parser.cc:12517 cp/parser.cc:12724
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute not followed by %<;%>"
 msgstr ""
@@ -45143,7 +45258,7 @@ msgstr "%<__auto_type%> cần một khai báo khởi tạo dữ liệu"
 msgid "%<__auto_type%> may only be used with a single declarator"
 msgstr "%<__auto_type%> có lẽ chỉ được dùng với khai báo đơn"
 
-#: c/c-parser.cc:2420 cp/parser.cc:15393
+#: c/c-parser.cc:2420 cp/parser.cc:15387
 #, gcc-internal-format
 msgid "expected %<,%> or %<;%>"
 msgstr "cần %<,%> hoặc %<;%>"
@@ -45202,7 +45317,7 @@ msgstr ""
 msgid "static assertion failed: %E"
 msgstr ""
 
-#: c/c-parser.cc:2688 cp/semantics.cc:11177
+#: c/c-parser.cc:2688 cp/semantics.cc:11168
 #, gcc-internal-format
 msgid "static assertion failed"
 msgstr "thẩm tra tĩnh gặp lỗi"
@@ -45246,17 +45361,17 @@ msgstr ""
 #: c/c-parser.cc:11138 c/c-parser.cc:11167 c/c-parser.cc:11180
 #: c/c-parser.cc:11486 c/c-parser.cc:11610 c/c-parser.cc:12194
 #: c/c-parser.cc:12247 c/c-parser.cc:12263 c/c-parser.cc:12309
-#: c/c-parser.cc:13118 c/c-parser.cc:13152 c/c-parser.cc:15788
-#: c/c-parser.cc:15900 c/c-parser.cc:16551 c/c-parser.cc:18933
-#: c/c-parser.cc:21594 c/c-parser.cc:21785 c/gimple-parser.cc:1789
-#: c/gimple-parser.cc:1835 cp/parser.cc:9170 cp/parser.cc:32929
-#: cp/parser.cc:36133 cp/parser.cc:38927 cp/parser.cc:39096 cp/parser.cc:45287
-#: cp/parser.cc:47291
+#: c/c-parser.cc:13118 c/c-parser.cc:13161 c/c-parser.cc:15797
+#: c/c-parser.cc:15909 c/c-parser.cc:16560 c/c-parser.cc:18942
+#: c/c-parser.cc:21603 c/c-parser.cc:21794 c/gimple-parser.cc:1793
+#: c/gimple-parser.cc:1839 cp/parser.cc:9164 cp/parser.cc:32935
+#: cp/parser.cc:36139 cp/parser.cc:38933 cp/parser.cc:39102 cp/parser.cc:45293
+#: cp/parser.cc:47297
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "cần định danh"
 
-#: c/c-parser.cc:3243 cp/parser.cc:21095
+#: c/c-parser.cc:3243 cp/parser.cc:21093
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr "dấu phẩy ở cuối của danh dánh liệt kê"
@@ -45341,7 +45456,7 @@ msgstr "cần các định danh khai báo hay %<…%>"
 msgid "parentheses must be omitted if attribute argument list is empty"
 msgstr ""
 
-#: c/c-parser.cc:4942 cp/parser.cc:29036
+#: c/c-parser.cc:4942 cp/parser.cc:29034
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires a string argument"
 msgid "%qE attribute does not take any arguments"
@@ -45384,7 +45499,7 @@ msgid "ISO C forbids label declarations"
 msgstr ""
 
 #: c/c-parser.cc:5672 c/c-parser.cc:5761 c/c-parser.cc:5775
-#: c/gimple-parser.cc:405
+#: c/gimple-parser.cc:409
 #, gcc-internal-format
 msgid "expected declaration or statement"
 msgstr "cần khai báo hay câu lệnh"
@@ -45404,7 +45519,7 @@ msgstr ""
 msgid "expected %<}%> before %<else%>"
 msgstr "cần %<}%> trước %<else%>"
 
-#: c/c-parser.cc:5788 cp/parser.cc:12851
+#: c/c-parser.cc:5788 cp/parser.cc:12845
 #, gcc-internal-format
 msgid "%<else%> without a previous %<if%>"
 msgstr "%<else%> mà không có %<if%> ở trước"
@@ -45419,7 +45534,7 @@ msgstr ""
 #. delimiter without consuming it, but here we need to consume
 #. it to proceed further.
 #: c/c-parser.cc:5827 c/c-parser.cc:5840 c/c-parser.cc:6254
-#: c/gimple-parser.cc:2306 cp/parser.cc:12432
+#: c/gimple-parser.cc:2328 cp/parser.cc:12426
 #, gcc-internal-format
 msgid "expected statement"
 msgstr "cần biểu thức"
@@ -45444,17 +45559,17 @@ msgstr "cần một định danh hoặc %<*%>"
 msgid "only attribute %<fallthrough%> can be applied to a null statement"
 msgstr ""
 
-#: c/c-parser.cc:6362 cp/parser.cc:14415
+#: c/c-parser.cc:6362 cp/parser.cc:14409
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<if%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6404 cp/parser.cc:14418
+#: c/c-parser.cc:6404 cp/parser.cc:14412
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<else%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6535 cp/parser.cc:13220
+#: c/c-parser.cc:6535 cp/parser.cc:13214
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
@@ -45474,12 +45589,12 @@ msgstr ""
 msgid "invalid iterating variable in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:6886 cp/parser.cc:13507
+#: c/c-parser.cc:6886 cp/parser.cc:13501
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:6892 cp/parser.cc:13513
+#: c/c-parser.cc:6892 cp/parser.cc:13507
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC unroll%> pragma"
 msgstr ""
@@ -45495,8 +45610,8 @@ msgstr ""
 msgid "duplicate %<asm%> qualifier %qE"
 msgstr "trùng cv-qualifier"
 
-#: c/c-parser.cc:7051 c/c-parser.cc:7062 c/c-parser.cc:7073 cp/parser.cc:21967
-#: cp/parser.cc:21984 cp/parser.cc:21998
+#: c/c-parser.cc:7051 c/c-parser.cc:7062 c/c-parser.cc:7073 cp/parser.cc:21965
+#: cp/parser.cc:21982 cp/parser.cc:21996
 #, gcc-internal-format
 msgid "first seen here"
 msgstr ""
@@ -45513,7 +45628,7 @@ msgstr "“%qs” không phải là một tên lớp đúng"
 msgid "expected %<:%> or %<)%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:7431 cp/parser.cc:4487
+#: c/c-parser.cc:7431 cp/parser.cc:4485
 #, gcc-internal-format
 msgid "a wide string is invalid in this context"
 msgstr "một chuỗi lớn là không hợp lệ trong ngữ cảnh này"
@@ -45525,12 +45640,12 @@ msgstr ""
 
 #. Location of the binary operator.
 #. Quiet warning.
-#: c/c-parser.cc:7844 cp/typeck.cc:5164
+#: c/c-parser.cc:7844 cp/typeck.cc:5173
 #, gcc-internal-format
 msgid "division %<sizeof (%T) / sizeof (%T)%> does not compute the number of array elements"
 msgstr ""
 
-#: c/c-parser.cc:7850 cp/typeck.cc:5169
+#: c/c-parser.cc:7850 cp/typeck.cc:5178
 #, fuzzy, gcc-internal-format
 #| msgid "type of field declared here"
 msgid "first %<sizeof%> operand was declared here"
@@ -45668,8 +45783,8 @@ msgid "ISO C90 does not support %<__func__%> predefined identifier"
 msgstr "ISO C90 không hỗ trợ từ hạn định %<_Atomic%>"
 
 #: c/c-parser.cc:9082 c/c-parser.cc:10206 c/c-parser.cc:10228
-#: c/c-parser.cc:18349 c/gimple-parser.cc:1707 c/gimple-parser.cc:2323
-#: cp/parser.cc:40852
+#: c/c-parser.cc:18358 c/gimple-parser.cc:1711 c/gimple-parser.cc:2345
+#: cp/parser.cc:40858
 #, gcc-internal-format
 msgid "expected expression"
 msgstr "cần biểu thức"
@@ -45813,7 +45928,7 @@ msgstr ""
 msgid "%<__builtin_complex%> operands of different types"
 msgstr "%<__builtin_complex%> toán hạng không đúng kiểu"
 
-#: c/c-parser.cc:10037 c/c-parser.cc:10066 cp/parser.cc:7482
+#: c/c-parser.cc:10037 c/c-parser.cc:10066 cp/parser.cc:7480
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shuffle%>"
 msgstr "sai số tham số cho %<__builtin_shuffle%>"
@@ -45933,13 +46048,13 @@ msgstr ""
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c/c-parser.cc:12048 cp/parser.cc:35990
+#: c/c-parser.cc:12048 cp/parser.cc:35996
 #, fuzzy, gcc-internal-format
 #| msgid "unknown property attribute"
 msgid "empty property attribute list"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: c/c-parser.cc:12062 cp/parser.cc:36003
+#: c/c-parser.cc:12062 cp/parser.cc:36009
 #, fuzzy, gcc-internal-format
 #| msgid "missing Code attribute"
 msgid "missing property attribute"
@@ -45951,56 +46066,56 @@ msgstr "Thiếu thuộc tính Code (mã)"
 msgid "unknown property attribute %<%s%s%>"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: c/c-parser.cc:12104 cp/parser.cc:36040
+#: c/c-parser.cc:12104 cp/parser.cc:36046
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: c/c-parser.cc:12113 cp/parser.cc:36049
+#: c/c-parser.cc:12113 cp/parser.cc:36055
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<for%> after %qs"
 msgid "expected %<=%> after Objective-C %qE"
 msgstr "cần %<for%> sau %qs"
 
-#: c/c-parser.cc:12124 cp/parser.cc:36063
+#: c/c-parser.cc:12124 cp/parser.cc:36069
 #, fuzzy, gcc-internal-format
 #| msgid "expected selection-statement"
 msgid "expected %qE selector name"
 msgstr "cần selection-statement"
 
-#: c/c-parser.cc:12140 cp/parser.cc:36082
+#: c/c-parser.cc:12140 cp/parser.cc:36088
 #, gcc-internal-format
 msgid "setter method names must terminate with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:12354 cp/parser.cc:47622
+#: c/c-parser.cc:12354 cp/parser.cc:47628
 #, gcc-internal-format
 msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u"
 msgstr ""
 
-#: c/c-parser.cc:12398 c/c-parser.cc:20541 c/c-parser.cc:20838
-#: c/c-parser.cc:20897 c/c-parser.cc:20983 cp/parser.cc:43733
-#: cp/parser.cc:44069 cp/parser.cc:44160 cp/parser.cc:44234 cp/parser.cc:47669
-#: cp/parser.cc:47685 cp/parser.cc:47701 cp/parser.cc:47718 cp/parser.cc:47735
-#: cp/parser.cc:47752 cp/parser.cc:47779 cp/parser.cc:47793 cp/parser.cc:47818
-#: cp/parser.cc:47832
+#: c/c-parser.cc:12398 c/c-parser.cc:20550 c/c-parser.cc:20847
+#: c/c-parser.cc:20906 c/c-parser.cc:20992 cp/parser.cc:43739
+#: cp/parser.cc:44075 cp/parser.cc:44166 cp/parser.cc:44240 cp/parser.cc:47675
+#: cp/parser.cc:47691 cp/parser.cc:47707 cp/parser.cc:47724 cp/parser.cc:47741
+#: cp/parser.cc:47758 cp/parser.cc:47785 cp/parser.cc:47799 cp/parser.cc:47824
+#: cp/parser.cc:47838
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgid "%<#pragma %s%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c/c-parser.cc:12421 cp/parser.cc:47807
+#: c/c-parser.cc:12421 cp/parser.cc:47813
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma acc routine%> must be at file scope"
 msgstr "%<#pragma acc routine%> phải được áp dụng trước %s"
 
-#: c/c-parser.cc:12507 cp/parser.cc:47915
+#: c/c-parser.cc:12507 cp/parser.cc:47921
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgid "%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> %<reduction%> clause"
 msgstr "%<#pragma omp section%> chỉ có thể sử dụng trong cấu trúc %<#pragma omp sections%>"
 
-#: c/c-parser.cc:12514 cp/parser.cc:47921
+#: c/c-parser.cc:12514 cp/parser.cc:47927
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%> chỉ có thể sử dụng trong cấu trúc %<#pragma omp sections%>"
@@ -46011,23 +46126,23 @@ msgstr "%<#pragma omp section%> chỉ có thể sử dụng trong cấu trúc %<
 msgid "%<#pragma omp requires%> may only be used at file scope"
 msgstr "%<#pragma omp barrier%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c/c-parser.cc:12555 c/c-parser.cc:12579 cp/parser.cc:47950
-#: cp/parser.cc:47983
+#: c/c-parser.cc:12555 c/c-parser.cc:12579 cp/parser.cc:47956
+#: cp/parser.cc:47989
 #, gcc-internal-format
 msgid "for, while or do statement expected"
 msgstr "cần câu lệnh for, while hoặc do"
 
-#: c/c-parser.cc:12592 cp/parser.cc:47659
+#: c/c-parser.cc:12592 cp/parser.cc:47665
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> phải là đầu tiên"
 
-#: c/c-parser.cc:12939 c/c-parser.cc:16396 c/c-parser.cc:18109
-#: c/c-parser.cc:18167 c/c-parser.cc:18174 c/c-parser.cc:18181
-#: c/c-parser.cc:22613 c/c-parser.cc:22621 c/c-parser.cc:22895
-#: c/c-parser.cc:22905 cp/parser.cc:36505 cp/parser.cc:39601
-#: cp/parser.cc:40626 cp/parser.cc:40689 cp/parser.cc:40696 cp/parser.cc:40703
-#: cp/parser.cc:46550 cp/parser.cc:46558 cp/parser.cc:46715 cp/parser.cc:46725
+#: c/c-parser.cc:12939 c/c-parser.cc:16405 c/c-parser.cc:18118
+#: c/c-parser.cc:18176 c/c-parser.cc:18183 c/c-parser.cc:18190
+#: c/c-parser.cc:22622 c/c-parser.cc:22630 c/c-parser.cc:22904
+#: c/c-parser.cc:22914 cp/parser.cc:36511 cp/parser.cc:39607
+#: cp/parser.cc:40632 cp/parser.cc:40695 cp/parser.cc:40702 cp/parser.cc:40709
+#: cp/parser.cc:46556 cp/parser.cc:46564 cp/parser.cc:46721 cp/parser.cc:46731
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "quá nhiều mệnh đề %qs"
@@ -46037,1012 +46152,1012 @@ msgstr "quá nhiều mệnh đề %qs"
 msgid "expression must be integral"
 msgstr "chỉ số phải là số nguyên"
 
-#: c/c-parser.cc:13256 c/c-parser.cc:13268
+#: c/c-parser.cc:13265 c/c-parser.cc:13277
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<)%>"
 msgid "expected %<)%> or %<,%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:13419 c/c-parser.cc:23098
+#: c/c-parser.cc:13428 c/c-parser.cc:23107
 #, gcc-internal-format
 msgid "%qD is not a variable"
 msgstr "%qD không phải là một biến"
 
-#: c/c-parser.cc:13423 cp/semantics.cc:8184
+#: c/c-parser.cc:13432 cp/semantics.cc:8175
 #, gcc-internal-format
 msgid "%qD is not a pointer variable"
 msgstr "%qD không phải là một biến trỏ"
 
-#: c/c-parser.cc:13465 cp/parser.cc:37237
+#: c/c-parser.cc:13474 cp/parser.cc:37243
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:13560 cp/parser.cc:37315
+#: c/c-parser.cc:13569 cp/parser.cc:37321
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%> or %<shared%>"
 msgid "expected %<none%> or %<present%>"
 msgstr "cần %<none%> hoặc %<shared%>"
 
-#: c/c-parser.cc:13562 cp/parser.cc:37317
+#: c/c-parser.cc:13571 cp/parser.cc:37323
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgid "expected %<none%>, %<shared%>, %<private%> or %<firstprivate%>"
 msgstr "cần %<=%>, %<,%>, %<;%>, %<asm%> hay %<__attribute__%>"
 
-#: c/c-parser.cc:13683 cp/parser.cc:37429
+#: c/c-parser.cc:13692 cp/parser.cc:37435
 #, gcc-internal-format
 msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
 msgstr ""
 
-#: c/c-parser.cc:13703 c/c-parser.cc:20890 c/c-parser.cc:20976
-#: cp/parser.cc:37447 cp/parser.cc:44061 cp/parser.cc:44152
+#: c/c-parser.cc:13712 c/c-parser.cc:20899 c/c-parser.cc:20985
+#: cp/parser.cc:37453 cp/parser.cc:44067 cp/parser.cc:44158
 #, gcc-internal-format
 msgid "expected %<data%>"
 msgstr "cần %<data%>"
 
-#: c/c-parser.cc:13756 cp/parser.cc:37502
+#: c/c-parser.cc:13765 cp/parser.cc:37508
 #, gcc-internal-format
 msgid "too many %<if%> clauses with %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:13763 cp/parser.cc:37509
+#: c/c-parser.cc:13772 cp/parser.cc:37515
 #, gcc-internal-format
 msgid "too many %<if%> clauses"
 msgstr "quá nhiều mệnh đề %<if%>"
 
-#: c/c-parser.cc:13765 cp/parser.cc:37511
+#: c/c-parser.cc:13774 cp/parser.cc:37517
 #, gcc-internal-format
 msgid "too many %<if%> clauses without modifier"
 msgstr ""
 
-#: c/c-parser.cc:13771 cp/parser.cc:37517
+#: c/c-parser.cc:13780 cp/parser.cc:37523
 #, gcc-internal-format
 msgid "if any %<if%> clause has modifier, then all %<if%> clauses have to use modifier"
 msgstr ""
 
-#: c/c-parser.cc:13876 c/c-parser.cc:13936 c/c-parser.cc:13997
-#: c/c-parser.cc:14044 c/c-parser.cc:14123 c/c-parser.cc:14502
-#: c/c-parser.cc:14584 c/c-parser.cc:15151 c/c-parser.cc:15296
-#: c/c-parser.cc:15361 c/c-parser.cc:16333
+#: c/c-parser.cc:13885 c/c-parser.cc:13945 c/c-parser.cc:14006
+#: c/c-parser.cc:14053 c/c-parser.cc:14132 c/c-parser.cc:14511
+#: c/c-parser.cc:14593 c/c-parser.cc:15160 c/c-parser.cc:15305
+#: c/c-parser.cc:15370 c/c-parser.cc:16342
 #, gcc-internal-format
 msgid "expected integer expression"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:13887
+#: c/c-parser.cc:13896
 #, gcc-internal-format
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%> giá trị phải dương"
 
-#: c/c-parser.cc:13947
+#: c/c-parser.cc:13956
 #, gcc-internal-format
 msgid "%<num_tasks%> value must be positive"
 msgstr "%<num_tasks%> giá trị phải dương"
 
-#: c/c-parser.cc:14008 cp/semantics.cc:8404
+#: c/c-parser.cc:14017 cp/semantics.cc:8395
 #, gcc-internal-format
 msgid "%<grainsize%> value must be positive"
 msgstr "%<grainsize%> giá trị phải dương"
 
-#: c/c-parser.cc:14056 cp/semantics.cc:8434
+#: c/c-parser.cc:14065 cp/semantics.cc:8425
 #, gcc-internal-format
 msgid "%<priority%> value must be non-negative"
 msgstr "%<priority%> giá trị phải dương"
 
-#: c/c-parser.cc:14090 cp/parser.cc:37743
+#: c/c-parser.cc:14099 cp/parser.cc:37749
 #, fuzzy, gcc-internal-format
 #| msgid "expected integer expression"
 msgid "expected constant integer expression with valid sync-hint value"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:14162 cp/parser.cc:37813
+#: c/c-parser.cc:14171 cp/parser.cc:37819
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgid "expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> or %<default%>"
 msgstr "cần %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> hoặc %<max%>"
 
-#: c/c-parser.cc:14223 cp/parser.cc:37878
+#: c/c-parser.cc:14232 cp/parser.cc:37884
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<scalar%>, %<aggregate%> or %<pointer%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:14289 cp/parser.cc:37947
+#: c/c-parser.cc:14298 cp/parser.cc:37953
 #, fuzzy, gcc-internal-format
 #| msgid "too many %<if%> clauses"
 msgid "too many %<defaultmap%> clauses with %qs category"
 msgstr "quá nhiều mệnh đề %<if%>"
 
-#: c/c-parser.cc:14292 cp/parser.cc:37950
+#: c/c-parser.cc:14301 cp/parser.cc:37956
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with unspecified category"
 msgstr ""
 
-#: c/c-parser.cc:14376 cp/semantics.cc:7265 cp/semantics.cc:7318
+#: c/c-parser.cc:14385 cp/semantics.cc:7256 cp/semantics.cc:7309
 #, gcc-internal-format
 msgid "%qs expression must be integral"
 msgstr "biểu thức %qs phải là số nguyên"
 
-#: c/c-parser.cc:14388 c/c-parser.cc:14511 cp/semantics.cc:7297
-#: cp/semantics.cc:7332
+#: c/c-parser.cc:14397 c/c-parser.cc:14520 cp/semantics.cc:7288
+#: cp/semantics.cc:7323
 #, gcc-internal-format
 msgid "%qs value must be positive"
 msgstr "%qs giá trị phải dương"
 
-#: c/c-parser.cc:14450 cp/parser.cc:37009
+#: c/c-parser.cc:14459 cp/parser.cc:37015
 #, gcc-internal-format
 msgid "too many %<static%> arguments"
 msgstr "quá nhiều đối số %<static%>"
 
-#: c/c-parser.cc:14484 cp/parser.cc:37042
+#: c/c-parser.cc:14493 cp/parser.cc:37048
 #, gcc-internal-format
 msgid "unexpected argument"
 msgstr "gặp tham số thừa"
 
-#: c/c-parser.cc:14651 cp/semantics.cc:8614
+#: c/c-parser.cc:14660 cp/semantics.cc:8605
 #, fuzzy, gcc-internal-format
 #| msgid "ordered argument needs positive constant integer expression"
 msgid "%<tile%> argument needs positive integral constant"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:14726 cp/parser.cc:38000
+#: c/c-parser.cc:14735 cp/parser.cc:38006
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%> or %<shared%>"
 msgid "expected %<reproducible%> or %<unconstrained%>"
 msgstr "cần %<none%> hoặc %<shared%>"
 
-#: c/c-parser.cc:14735 c/c-parser.cc:14741 cp/parser.cc:38009
-#: cp/parser.cc:38019
+#: c/c-parser.cc:14744 c/c-parser.cc:14750 cp/parser.cc:38015
+#: cp/parser.cc:38025
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%>"
 msgid "expected %<concurrent%>"
 msgstr "cần %<none%>"
 
-#: c/c-parser.cc:14777 cp/parser.cc:38059
+#: c/c-parser.cc:14786 cp/parser.cc:38065
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<teams%>, %<parallel%> or %<thread%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:14830 cp/parser.cc:38127
+#: c/c-parser.cc:14839 cp/parser.cc:38133
 #, gcc-internal-format
 msgid "ordered argument needs positive constant integer expression"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:14955 c/c-parser.cc:22167 cp/parser.cc:46189
+#: c/c-parser.cc:14964 c/c-parser.cc:22176 cp/parser.cc:46195
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier"
 msgstr "cần %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> hoặc định danh"
 
-#: c/c-parser.cc:15075 cp/parser.cc:38385
+#: c/c-parser.cc:15084 cp/parser.cc:38391
 #, gcc-internal-format
 msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
 msgstr ""
 
-#: c/c-parser.cc:15129 cp/parser.cc:38401
+#: c/c-parser.cc:15138 cp/parser.cc:38407
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15133 cp/parser.cc:38404
+#: c/c-parser.cc:15142 cp/parser.cc:38410
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15145 cp/semantics.cc:7379
+#: c/c-parser.cc:15154 cp/semantics.cc:7370
 #, fuzzy, gcc-internal-format
 msgid "chunk size value must be positive"
 msgstr "%qs giá trị phải dương"
 
-#: c/c-parser.cc:15168 cp/parser.cc:38424
+#: c/c-parser.cc:15177 cp/parser.cc:38430
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "kiểu lịch biểu không hợp lệ"
 
-#: c/c-parser.cc:15306 c/c-parser.cc:15316
+#: c/c-parser.cc:15315 c/c-parser.cc:15325
 #, gcc-internal-format
 msgid "%<num_teams%> value must be positive"
 msgstr "%<num_teams%> giá trị phải dương"
 
-#: c/c-parser.cc:15323 cp/semantics.cc:7346
+#: c/c-parser.cc:15332 cp/semantics.cc:7337
 #, gcc-internal-format
 msgid "%<num_teams%> lower bound %qE bigger than upper bound %qE"
 msgstr ""
 
-#: c/c-parser.cc:15371 cp/semantics.cc:7475
+#: c/c-parser.cc:15380 cp/semantics.cc:7466
 #, gcc-internal-format
 msgid "%<thread_limit%> value must be positive"
 msgstr "%<thread_limit%> giá trị phải dương"
 
-#: c/c-parser.cc:15416 cp/semantics.cc:7603
+#: c/c-parser.cc:15425 cp/semantics.cc:7594
 #, gcc-internal-format
 msgid "%<aligned%> clause alignment expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15526
+#: c/c-parser.cc:15535
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<)%>"
 msgid "expected %<allocator%> or %<align%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:15533
+#: c/c-parser.cc:15542
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate %qs"
 msgid "duplicate %qs modifier"
 msgstr "trùng %qs"
 
-#: c/c-parser.cc:15581 cp/semantics.cc:7738
+#: c/c-parser.cc:15590 cp/semantics.cc:7729
 #, gcc-internal-format
 msgid "%<allocate%> clause allocator expression has type %qT rather than %<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:15592 cp/semantics.cc:7693 cp/semantics.cc:7709
+#: c/c-parser.cc:15601 cp/semantics.cc:7684 cp/semantics.cc:7700
 #, fuzzy, gcc-internal-format
 #| msgid "ordered argument needs positive constant integer expression"
 msgid "%<allocate%> clause %<align%> modifier argument needs to be positive constant power of two integer expression"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:15668
+#: c/c-parser.cc:15677
 #, gcc-internal-format
 msgid "%<linear%> clause step expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:15718
+#: c/c-parser.cc:15727
 #, gcc-internal-format
 msgid "%<safelen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15757
+#: c/c-parser.cc:15766
 #, gcc-internal-format
 msgid "%<simdlen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16088 cp/parser.cc:39286
+#: c/c-parser.cc:16097 cp/parser.cc:39292
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is incompatible with %qs"
 msgid "%<iterator%> modifier incompatible with %qs"
 msgstr "%qs không tương thích với %qs"
 
-#: c/c-parser.cc:16135 cp/parser.cc:39340 cp/parser.cc:39662
-#: cp/parser.cc:39712
+#: c/c-parser.cc:16144 cp/parser.cc:39346 cp/parser.cc:39668
+#: cp/parser.cc:39718
 #, gcc-internal-format
 msgid "invalid depend kind"
 msgstr "kiểu phụ thuộc không hợp lệ"
 
-#: c/c-parser.cc:16205 cp/parser.cc:39410
+#: c/c-parser.cc:16214 cp/parser.cc:39416
 #, fuzzy, gcc-internal-format
 #| msgid "too many %<static%> arguments"
 msgid "too many %<always%> modifiers"
 msgstr "quá nhiều đối số %<static%>"
 
-#: c/c-parser.cc:16215 cp/parser.cc:39423
+#: c/c-parser.cc:16224 cp/parser.cc:39429
 #, fuzzy, gcc-internal-format
 #| msgid "too many %<static%> arguments"
 msgid "too many %<close%> modifiers"
 msgstr "quá nhiều đối số %<static%>"
 
-#: c/c-parser.cc:16223 cp/parser.cc:39434
+#: c/c-parser.cc:16232 cp/parser.cc:39440
 #, fuzzy, gcc-internal-format
-msgid "%<#pragma omp target%> with modifier other than %<always%> or %<close%>on %<map%> clause"
+msgid "%<#pragma omp target%> with modifier other than %<always%> or %<close%> on %<map%> clause"
 msgstr "%<#pragma acc update%> phải chứa ít nhất là một mệnh đề %<device%> hay %<host%> hay %<self%>"
 
-#: c/c-parser.cc:16251 cp/parser.cc:39465
+#: c/c-parser.cc:16260 cp/parser.cc:39471
 #, gcc-internal-format
 msgid "invalid map kind"
 msgstr "kiểu ánh xạ không hợp lệ"
 
-#: c/c-parser.cc:16303 cp/parser.cc:39524
+#: c/c-parser.cc:16312 cp/parser.cc:39530
 #, gcc-internal-format
 msgid "%<ancestor%> device modifier not preceded by %<requires%> directive with %<reverse_offload%> clause"
 msgstr ""
 
-#: c/c-parser.cc:16315 cp/parser.cc:39535
+#: c/c-parser.cc:16324 cp/parser.cc:39541
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%> or %<typename%>"
 msgid "expected %<ancestor%> or %<device_num%>"
 msgstr "cần %<class%>, hoặc %<typename%>"
 
-#: c/c-parser.cc:16338 cp/semantics.cc:7500
+#: c/c-parser.cc:16347 cp/semantics.cc:7491
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%>"
 msgstr ""
 
-#: c/c-parser.cc:16371 cp/parser.cc:39606
+#: c/c-parser.cc:16380 cp/parser.cc:39612
 #, gcc-internal-format
 msgid "invalid dist_schedule kind"
 msgstr "kiểu dist_schedule không hợp lệ"
 
-#: c/c-parser.cc:16450
+#: c/c-parser.cc:16459
 #, gcc-internal-format
 msgid "invalid proc_bind kind"
 msgstr "kiểu proc_bind không hợp lệ"
 
-#: c/c-parser.cc:16494
+#: c/c-parser.cc:16503
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<;%>, %<,%> or %<)%>"
 msgid "expected %<host%>, %<nohost%> or %<any%>"
 msgstr "cần %<;%>, %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:16571 cp/semantics.cc:7900
+#: c/c-parser.cc:16580 cp/semantics.cc:7891
 #, gcc-internal-format
 msgid "%<detach%> clause event handle has type %qT rather than %<omp_event_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:16773 cp/parser.cc:39951
+#: c/c-parser.cc:16782 cp/parser.cc:39957
 #, gcc-internal-format
 msgid "expected %<#pragma acc%> clause"
 msgstr "cần mệnh đề %<#pragma acc%>"
 
-#: c/c-parser.cc:16784 c/c-parser.cc:17128 cp/parser.cc:39962
-#: cp/parser.cc:40354
+#: c/c-parser.cc:16793 c/c-parser.cc:17137 cp/parser.cc:39968
+#: cp/parser.cc:40360
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs không hợp lệ cho %qs"
 
-#: c/c-parser.cc:16828 cp/parser.cc:40014
+#: c/c-parser.cc:16837 cp/parser.cc:40020
 #, gcc-internal-format
 msgid "clauses in %<simd%> trait should be separated by %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:16977 cp/parser.cc:40202
+#: c/c-parser.cc:16986 cp/parser.cc:40208
 #, gcc-internal-format
 msgid "%qs must be the first clause of %qs"
 msgstr "%qs phải là mệnh đề đầu tiên của %qs"
 
-#: c/c-parser.cc:17117 cp/parser.cc:40343
+#: c/c-parser.cc:17126 cp/parser.cc:40349
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "cần mệnh đề %<#pragma omp%>"
 
-#: c/c-parser.cc:17250 cp/parser.cc:44561
+#: c/c-parser.cc:17259 cp/parser.cc:44567
 #, gcc-internal-format
 msgid "no valid clauses specified in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17260 cp/parser.cc:44571
+#: c/c-parser.cc:17269 cp/parser.cc:44577
 #, gcc-internal-format
 msgid "array section in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17280 cp/parser.cc:44591
+#: c/c-parser.cc:17289 cp/parser.cc:44597
 #, gcc-internal-format
 msgid "%qD must be a global variable in %<#pragma acc declare link%>"
 msgstr ""
 
-#: c/c-parser.cc:17291 cp/parser.cc:44602
+#: c/c-parser.cc:17300 cp/parser.cc:44608
 #, gcc-internal-format
 msgid "invalid OpenACC clause at file scope"
 msgstr ""
 
-#: c/c-parser.cc:17298 cp/parser.cc:44609
+#: c/c-parser.cc:17307 cp/parser.cc:44615
 #, gcc-internal-format
 msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17306 cp/parser.cc:44617
+#: c/c-parser.cc:17315 cp/parser.cc:44623
 #, gcc-internal-format
 msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17317 cp/parser.cc:44639
+#: c/c-parser.cc:17326 cp/parser.cc:44645
 #, gcc-internal-format
 msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17327 cp/parser.cc:44649
+#: c/c-parser.cc:17336 cp/parser.cc:44655
 #, gcc-internal-format
 msgid "variable %qD used more than once with %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17420 cp/parser.cc:44747
+#: c/c-parser.cc:17429 cp/parser.cc:44753
 #, fuzzy, gcc-internal-format
 msgid "expected %<data%> after %<#pragma acc %s%>"
 msgstr "cần %<class%>, hoặc %<typename%>"
 
-#: c/c-parser.cc:17436 cp/parser.cc:44764
+#: c/c-parser.cc:17445 cp/parser.cc:44770
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma acc %s data%> has no data movement clause"
 msgstr "%<#pragma omp cancel%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c/c-parser.cc:17686 cp/parser.cc:3163
+#: c/c-parser.cc:17695 cp/parser.cc:3163
 #, gcc-internal-format
 msgid "%qE has not been declared"
 msgstr "%qE chưa được khai báo"
 
-#: c/c-parser.cc:17690
+#: c/c-parser.cc:17699
 #, gcc-internal-format
 msgid "expected function name"
 msgstr "cần tên hàm"
 
-#: c/c-parser.cc:17708 cp/parser.cc:46982
+#: c/c-parser.cc:17717 cp/parser.cc:46988
 #, fuzzy, gcc-internal-format
 msgid "%qD does not refer to a function"
 msgstr "%qD không phải là hàm thành viên mẫu"
 
-#: c/c-parser.cc:17731 c/c-parser.cc:17779 cp/parser.cc:1499
+#: c/c-parser.cc:17740 c/c-parser.cc:17788 cp/parser.cc:1499
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:17771 cp/parser.cc:47033 cp/parser.cc:47080
+#: c/c-parser.cc:17780 cp/parser.cc:47039 cp/parser.cc:47086
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:17802 cp/parser.cc:47108
+#: c/c-parser.cc:17811 cp/parser.cc:47114
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma acc routine%> must be applied before %s"
 msgid "%<#pragma acc routine%> must be applied before use"
 msgstr "%<#pragma acc routine%> phải được áp dụng trước %s"
 
-#: c/c-parser.cc:17803 cp/parser.cc:47110
+#: c/c-parser.cc:17812 cp/parser.cc:47116
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma acc routine%> must be applied before %s"
 msgid "%<#pragma acc routine%> must be applied before definition"
 msgstr "%<#pragma acc routine%> phải được áp dụng trước %s"
 
-#: c/c-parser.cc:17847 cp/parser.cc:44965
+#: c/c-parser.cc:17856 cp/parser.cc:44971
 #, gcc-internal-format
 msgid "%<#pragma acc update%> must contain at least one %<device%> or %<host%> or %<self%> clause"
 msgstr "%<#pragma acc update%> phải chứa ít nhất là một mệnh đề %<device%> hay %<host%> hay %<self%>"
 
-#: c/c-parser.cc:17902 cp/parser.cc:40440
+#: c/c-parser.cc:17911 cp/parser.cc:40446
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<operator%>"
 msgid "expected %<allocator%>"
 msgstr "cần %<operator%>"
 
-#: c/c-parser.cc:17918
+#: c/c-parser.cc:17927
 #, gcc-internal-format
 msgid "%<allocator%> clause allocator expression has type %qT rather than %<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:17933 cp/parser.cc:40455
+#: c/c-parser.cc:17942 cp/parser.cc:40461
 #, fuzzy, gcc-internal-format
 #| msgid "#pragma vtable no longer supported"
 msgid "%<#pragma omp allocate%> not yet supported"
 msgstr "#pragma vtable không còn được hỗ trợ nữa"
 
-#: c/c-parser.cc:18075 cp/parser.cc:40592
+#: c/c-parser.cc:18084 cp/parser.cc:40598
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:18114 cp/parser.cc:40631
+#: c/c-parser.cc:18123 cp/parser.cc:40637
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<seq_cst%>, %<acquire%> or %<relaxed%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:18138 cp/parser.cc:40660
+#: c/c-parser.cc:18147 cp/parser.cc:40666
 #, gcc-internal-format
 msgid "expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, %<weak%>, %<fail%>, %<seq_cst%>, %<acq_rel%>, %<release%>, %<relaxed%> or %<hint%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18153 cp/parser.cc:40675
+#: c/c-parser.cc:18162 cp/parser.cc:40681
 #, fuzzy, gcc-internal-format
 #| msgid "too many %qs clauses"
 msgid "too many atomic clauses"
 msgstr "quá nhiều mệnh đề %qs"
 
-#: c/c-parser.cc:18160 cp/parser.cc:40682
+#: c/c-parser.cc:18169 cp/parser.cc:40688
 #, fuzzy, gcc-internal-format
 #| msgid "too many %qs clauses"
 msgid "too many memory order clauses"
 msgstr "quá nhiều mệnh đề %qs"
 
-#: c/c-parser.cc:18198 c/c-parser.cc:18205 cp/parser.cc:40720
-#: cp/parser.cc:40727
+#: c/c-parser.cc:18207 c/c-parser.cc:18214 cp/parser.cc:40726
+#: cp/parser.cc:40733
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is incompatible with %s %s"
 msgid "%qs clause is incompatible with %<read%> or %<write%> clauses"
 msgstr "%qs không tương thích với %s %s"
 
-#: c/c-parser.cc:18211 c/c-parser.cc:18216 cp/parser.cc:40733
-#: cp/parser.cc:40738
+#: c/c-parser.cc:18220 c/c-parser.cc:18225 cp/parser.cc:40739
+#: cp/parser.cc:40744
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in %qs clause"
 msgid "%qs clause requires %qs clause"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: c/c-parser.cc:18260 cp/parser.cc:40782
+#: c/c-parser.cc:18269 cp/parser.cc:40788
 #, gcc-internal-format
 msgid "%<#pragma omp atomic read%> incompatible with %<release%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18270 cp/parser.cc:40792
+#: c/c-parser.cc:18279 cp/parser.cc:40798
 #, gcc-internal-format
 msgid "%<#pragma omp atomic write%> incompatible with %<acquire%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18393 cp/parser.cc:40892
+#: c/c-parser.cc:18402 cp/parser.cc:40898
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<;%> after union definition"
 msgid "expected %<==%> comparison in %<if%> condition"
 msgstr "cần %<;%> sau định nghĩa kiểu hỗn hợp"
 
-#: c/c-parser.cc:18400 cp/parser.cc:40899
+#: c/c-parser.cc:18409 cp/parser.cc:40905
 #, gcc-internal-format
 msgid "expected %<==%>, %<<%> or %<>%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:18473 cp/parser.cc:40964 cp/parser.cc:41245
-#: cp/parser.cc:41339 cp/parser.cc:41357
+#: c/c-parser.cc:18482 cp/parser.cc:40970 cp/parser.cc:41251
+#: cp/parser.cc:41345 cp/parser.cc:41363
 #, fuzzy, gcc-internal-format
 #| msgid "invalid form of %<#pragma omp atomic%>"
 msgid "invalid form of %<#pragma omp atomic compare%>"
 msgstr "sai dạng thức của %<#pragma omp atomic%>"
 
-#: c/c-parser.cc:18484 cp/parser.cc:40975
+#: c/c-parser.cc:18493 cp/parser.cc:40981
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<delete%>"
 msgid "unexpected %<else%>"
 msgstr "cần %<delete%>"
 
-#: c/c-parser.cc:18544 cp/parser.cc:41412
+#: c/c-parser.cc:18553 cp/parser.cc:41418
 #, fuzzy, gcc-internal-format
 #| msgid "invalid form of %<#pragma omp atomic%>"
 msgid "invalid form of %<pragma omp atomic compare%>"
 msgstr "sai dạng thức của %<#pragma omp atomic%>"
 
-#: c/c-parser.cc:18816 cp/parser.cc:41266 cp/parser.cc:41292
+#: c/c-parser.cc:18825 cp/parser.cc:41272 cp/parser.cc:41298
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "sai dạng thức của %<#pragma omp atomic%>"
 
-#: c/c-parser.cc:18820 cp/parser.cc:41332 cp/parser.cc:41366
+#: c/c-parser.cc:18829 cp/parser.cc:41338 cp/parser.cc:41372
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "thao tác không hợp lệ cho %<#pragma omp atomic%>"
 
-#: c/c-parser.cc:18871 cp/parser.cc:41401
+#: c/c-parser.cc:18880 cp/parser.cc:41407
 #, gcc-internal-format
 msgid "%<weak%> clause requires atomic equality comparison"
 msgstr ""
 
-#: c/c-parser.cc:18877 cp/semantics.cc:10754 cp/semantics.cc:10764
+#: c/c-parser.cc:18886 cp/semantics.cc:10745 cp/semantics.cc:10755
 #, gcc-internal-format
 msgid "%<#pragma omp atomic capture%> uses two different expressions for memory"
 msgstr "%<#pragma omp atomic capture%> sử dụng hai biểu thức khác nhau cho bộ nhớ"
 
-#: c/c-parser.cc:18977 cp/semantics.cc:10841
+#: c/c-parser.cc:18986 cp/semantics.cc:10832
 #, fuzzy, gcc-internal-format
 msgid "%<depobj%> expression is not lvalue expression"
 msgstr "biểu thức %qE không phải là biểu thức hằng"
 
-#: c/c-parser.cc:19034 cp/parser.cc:41567
+#: c/c-parser.cc:19043 cp/parser.cc:41573
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
 msgid "expected %<in%>, %<out%>, %<inout%> or %<mutexinoutset%>"
 msgstr "cần %<:%>, %<,%>, %<;%>, %<}%> hoặc %<__attribute__%>"
 
-#: c/c-parser.cc:19046 cp/parser.cc:41583
+#: c/c-parser.cc:19055 cp/parser.cc:41589
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<;%>, %<,%> or %<)%>"
 msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
 msgstr "cần %<;%>, %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:19084 cp/parser.cc:41623
+#: c/c-parser.cc:19093 cp/parser.cc:41629
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgid "expected %<seq_cst%>, %<acq_rel%>, %<release%> or %<acquire%>"
 msgstr "cần %<=%>, %<,%>, %<;%>, %<asm%> hay %<__attribute__%>"
 
-#: c/c-parser.cc:19092 cp/parser.cc:41631
+#: c/c-parser.cc:19101 cp/parser.cc:41637
 #, gcc-internal-format
 msgid "%<flush%> list specified together with memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:19097
+#: c/c-parser.cc:19106
 #, gcc-internal-format
 msgid "expected %<(%> or end of line"
 msgstr "cần %<(%> hoặc xuống dòng"
 
-#: c/c-parser.cc:19176 cp/parser.cc:42350
+#: c/c-parser.cc:19185 cp/parser.cc:42356
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<}%> before %<else%>"
 msgid "expected %<inclusive%> or %<exclusive%> clause"
 msgstr "cần %<}%> trước %<else%>"
 
-#: c/c-parser.cc:19181 cp/parser.cc:42356
+#: c/c-parser.cc:19190 cp/parser.cc:42362
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<#pragma omp%> clause"
 msgid "expected %<#pragma omp scan%>"
 msgstr "cần mệnh đề %<#pragma omp%>"
 
-#: c/c-parser.cc:19237 cp/parser.cc:42407
+#: c/c-parser.cc:19246 cp/parser.cc:42413
 #, gcc-internal-format
 msgid "%<ordered%> clause parameter is less than %<collapse%>"
 msgstr ""
 
-#: c/c-parser.cc:19248 cp/parser.cc:42418
+#: c/c-parser.cc:19257 cp/parser.cc:42424
 #, gcc-internal-format
 msgid "%<linear%> clause may not be specified together with %<ordered%> clause with a parameter"
 msgstr ""
 
-#: c/c-parser.cc:19266 cp/parser.cc:42446
+#: c/c-parser.cc:19275 cp/parser.cc:42452
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "cần câu lệnh for"
 
-#: c/c-parser.cc:19344 cp/semantics.cc:10332 cp/semantics.cc:10423
+#: c/c-parser.cc:19353 cp/semantics.cc:10323 cp/semantics.cc:10414
 #, gcc-internal-format
 msgid "expected iteration declaration or initialization"
 msgstr "cần khai báo nhắc lại hay sự khởi tạo"
 
-#: c/c-parser.cc:19430
+#: c/c-parser.cc:19439
 #, gcc-internal-format
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c/c-parser.cc:19478 cp/parser.cc:42760
+#: c/c-parser.cc:19487 cp/parser.cc:42766
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c/c-parser.cc:19561 cp/parser.cc:42556 cp/parser.cc:42598 cp/pt.cc:18130
+#: c/c-parser.cc:19570 cp/parser.cc:42562 cp/parser.cc:42604 cp/pt.cc:18175
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
 
-#: c/c-parser.cc:19697 cp/parser.cc:42881
+#: c/c-parser.cc:19706 cp/parser.cc:42887
 #, gcc-internal-format
 msgid "%<ordered%> clause with parameter may not be specified on %qs construct"
 msgstr ""
 
-#: c/c-parser.cc:19976 cp/parser.cc:43174
+#: c/c-parser.cc:19985 cp/parser.cc:43180
 #, gcc-internal-format
 msgid "%<#pragma omp ordered%> with %<depend%> clause may only be used in compound statements"
 msgstr "%<#pragma omp ordered%> với mệnh đề %<depend%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c/c-parser.cc:20190 cp/parser.cc:43380
+#: c/c-parser.cc:20199 cp/parser.cc:43386
 #, gcc-internal-format
 msgid "expected %<for%> after %qs"
 msgstr "cần %<for%> sau %qs"
 
-#: c/c-parser.cc:20532 cp/parser.cc:43724
+#: c/c-parser.cc:20541 cp/parser.cc:43730
 #, gcc-internal-format
 msgid "expected %<point%>"
 msgstr "cần %<point%>"
 
-#: c/c-parser.cc:20787 cp/parser.cc:43999
+#: c/c-parser.cc:20796 cp/parser.cc:44005
 #, gcc-internal-format
 msgid "%<#pragma omp target data%> with map-type other than %<to%>, %<from%>, %<tofrom%> or %<alloc%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20803 cp/parser.cc:44015
+#: c/c-parser.cc:20812 cp/parser.cc:44021
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma acc update%> must contain at least one %<device%> or %<host%> or %<self%> clause"
 msgid "%<#pragma omp target data%> must contain at least one %<map%>, %<use_device_ptr%> or %<use_device_addr%> clause"
 msgstr "%<#pragma acc update%> phải chứa ít nhất là một mệnh đề %<device%> hay %<host%> hay %<self%>"
 
-#: c/c-parser.cc:20851 cp/parser.cc:44247
+#: c/c-parser.cc:20860 cp/parser.cc:44253
 #, gcc-internal-format
 msgid "%<#pragma omp target update%> must contain at least one %<from%> or %<to%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:20925 cp/parser.cc:44098
+#: c/c-parser.cc:20934 cp/parser.cc:44104
 #, gcc-internal-format
 msgid "%<#pragma omp target enter data%> with map-type other than %<to%> or %<alloc%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20937 cp/parser.cc:44110
+#: c/c-parser.cc:20946 cp/parser.cc:44116
 #, gcc-internal-format
 msgid "%<#pragma omp target enter data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21012 cp/parser.cc:44190
+#: c/c-parser.cc:21021 cp/parser.cc:44196
 #, gcc-internal-format
 msgid "%<#pragma omp target exit data%> with map-type other than %<from%>, %<release%> or %<delete%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21025 cp/parser.cc:44203
+#: c/c-parser.cc:21034 cp/parser.cc:44209
 #, gcc-internal-format
 msgid "%<#pragma omp target exit data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21261 cp/semantics.cc:9863
+#: c/c-parser.cc:21270 cp/semantics.cc:9854
 #, gcc-internal-format
 msgid "%<#pragma omp target%> with map-type other than %<to%>, %<from%>, %<tofrom%> or %<alloc%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21318
+#: c/c-parser.cc:21327
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>"
 msgstr ""
 
-#: c/c-parser.cc:21369 c/c-parser.cc:21397
+#: c/c-parser.cc:21378 c/c-parser.cc:21406
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma align%> must appear before the declaration of %D, ignoring"
 msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition"
 msgstr "%<#pragma align%> phải xuất hiện trước khai báo của %D, đang lờ đi"
 
-#: c/c-parser.cc:21436 cp/parser.cc:45115
+#: c/c-parser.cc:21445 cp/parser.cc:45121
 #, fuzzy, gcc-internal-format
 #| msgid "expected selection-statement"
 msgid "expected trait selector name"
 msgstr "cần selection-statement"
 
-#: c/c-parser.cc:21489 cp/parser.cc:45167
+#: c/c-parser.cc:21498 cp/parser.cc:45173
 #, gcc-internal-format
 msgid "selector %qs not allowed for context selector set %qs"
 msgstr ""
 
-#: c/c-parser.cc:21514 cp/parser.cc:45191
+#: c/c-parser.cc:21523 cp/parser.cc:45197
 #, fuzzy, gcc-internal-format
 #| msgid "%<no-custom-%s%> does not accept arguments"
 msgid "selector %qs does not accept any properties"
 msgstr "%<no-custom-%s%> không chấp nhận đối số"
 
-#: c/c-parser.cc:21541 cp/parser.cc:45230 cp/pt.cc:11610
+#: c/c-parser.cc:21550 cp/parser.cc:45236 cp/pt.cc:11631
 #, fuzzy, gcc-internal-format
 #| msgid "ordered argument needs positive constant integer expression"
 msgid "score argument must be constant integer expression"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:21544 cp/parser.cc:45233 cp/pt.cc:11627
+#: c/c-parser.cc:21553 cp/parser.cc:45239 cp/pt.cc:11648
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L must be nonnegative"
 msgid "score argument must be non-negative"
 msgstr "%s tại %L phải là số nguyên"
 
-#: c/c-parser.cc:21568 cp/parser.cc:45261 cp/pt.cc:11613
+#: c/c-parser.cc:21577 cp/parser.cc:45267 cp/pt.cc:11634
 #, gcc-internal-format
 msgid "property must be constant integer expression or string literal"
 msgstr ""
 
-#: c/c-parser.cc:21613 cp/parser.cc:45305
+#: c/c-parser.cc:21622 cp/parser.cc:45311
 #, fuzzy, gcc-internal-format
 #| msgid "expected string literal"
 msgid "expected identifier or string literal"
 msgstr "cần chuỗi văn chương"
 
-#: c/c-parser.cc:21635 cp/parser.cc:45327 cp/pt.cc:11617
+#: c/c-parser.cc:21644 cp/parser.cc:45333 cp/pt.cc:11638
 #, fuzzy, gcc-internal-format
 #| msgid "ordered argument needs positive constant integer expression"
 msgid "property must be constant integer expression"
 msgstr "cần biểu thức nguyên"
 
-#: c/c-parser.cc:21646 cp/parser.cc:45338
+#: c/c-parser.cc:21655 cp/parser.cc:45344
 #, gcc-internal-format
 msgid "properties for %<simd%> selector may not be specified in %<metadirective%>"
 msgstr ""
 
-#: c/c-parser.cc:21733 cp/parser.cc:45424
+#: c/c-parser.cc:21742 cp/parser.cc:45430
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<construct%>, %<device%>, %<implementation%> or %<user%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:21808 cp/parser.cc:45538
+#: c/c-parser.cc:21817 cp/parser.cc:45544
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<catch%>"
 msgid "expected %<match%>"
 msgstr "cần %<catch%>"
 
-#: c/c-parser.cc:21828
+#: c/c-parser.cc:21837
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L is not a function"
 msgid "variant %qD is not a function"
 msgstr "“%qs” tại %L không phải là một hàm"
 
-#: c/c-parser.cc:21834 cp/decl.cc:7778
+#: c/c-parser.cc:21843 cp/decl.cc:7902
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD has incomplete type"
 msgid "variant %qD and base %qD have incompatible types"
 msgstr "đối số %qD có kiểu chưa đầy đủ"
 
-#: c/c-parser.cc:21846 cp/decl.cc:7787
+#: c/c-parser.cc:21855 cp/decl.cc:7911
 #, gcc-internal-format
 msgid "variant %qD is a built-in"
 msgstr ""
 
-#: c/c-parser.cc:21891
+#: c/c-parser.cc:21900
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:21899 cp/parser.cc:45583
+#: c/c-parser.cc:21908 cp/parser.cc:45589
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:22008 cp/parser.cc:45791
+#: c/c-parser.cc:22017 cp/parser.cc:45797
 #, gcc-internal-format
 msgid "%qD specified both in declare target %<link%> and %<to%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:22057 cp/parser.cc:45903
+#: c/c-parser.cc:22066 cp/parser.cc:45909
 #, gcc-internal-format
 msgid "directive with only %<device_type%> clauses ignored"
 msgstr ""
 
-#: c/c-parser.cc:22076 cp/parser.cc:45929
+#: c/c-parser.cc:22085 cp/parser.cc:45935
 #, gcc-internal-format
 msgid "expected %<target%>"
 msgstr "cần %<target%>"
 
-#: c/c-parser.cc:22083 cp/parser.cc:45936
+#: c/c-parser.cc:22092 cp/parser.cc:45942
 #, gcc-internal-format
 msgid "expected %<declare%>"
 msgstr "cần %<declare%>"
 
-#: c/c-parser.cc:22089 cp/parser.cc:45943
+#: c/c-parser.cc:22098 cp/parser.cc:45949
 #, gcc-internal-format
 msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>"
 msgstr ""
 
-#: c/c-parser.cc:22117
+#: c/c-parser.cc:22126
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> not at file or block scope"
 msgstr ""
 
-#: c/c-parser.cc:22194
+#: c/c-parser.cc:22203
 #, gcc-internal-format
 msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22198
+#: c/c-parser.cc:22207
 #, gcc-internal-format
 msgid "function or array type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22201
+#: c/c-parser.cc:22210
 #, fuzzy, gcc-internal-format
 msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>"
 msgstr "%<#pragma omp declare reduction%> trước"
 
-#: c/c-parser.cc:22204
+#: c/c-parser.cc:22213
 #, gcc-internal-format
 msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22212
+#: c/c-parser.cc:22221
 #, gcc-internal-format
 msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
 msgstr ""
 
-#: c/c-parser.cc:22221
+#: c/c-parser.cc:22230
 #, gcc-internal-format
 msgid "previous %<#pragma omp declare reduction%>"
 msgstr "%<#pragma omp declare reduction%> trước"
 
-#: c/c-parser.cc:22338
+#: c/c-parser.cc:22347
 #, gcc-internal-format
 msgid "expected %<omp_priv%> or function-name"
 msgstr "cần %<omp_priv%> hoặc tên-hàm"
 
-#: c/c-parser.cc:22349
+#: c/c-parser.cc:22358
 #, gcc-internal-format
 msgid "expected function-name %<(%>"
 msgstr "cần tên-hàm %<(%>"
 
-#: c/c-parser.cc:22368
+#: c/c-parser.cc:22377
 #, gcc-internal-format
 msgid "one of the initializer call arguments should be %<&omp_priv%>"
 msgstr ""
 
-#: c/c-parser.cc:22499 cp/parser.cc:46431
+#: c/c-parser.cc:22508 cp/parser.cc:46437
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
 msgstr "cần %<=%>, %<,%>, %<;%>, %<asm%> hay %<__attribute__%>"
 
-#: c/c-parser.cc:22566 cp/parser.cc:46497
+#: c/c-parser.cc:22575 cp/parser.cc:46503
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgid "expected %<seq_cst%>, %<relaxed%> or %<acq_rel%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: c/c-parser.cc:22595 cp/parser.cc:46532
+#: c/c-parser.cc:22604 cp/parser.cc:46538
 #, gcc-internal-format
 msgid "expected %<unified_address%>, %<unified_shared_memory%>, %<dynamic_allocators%>, %<reverse_offload%> or %<atomic_default_mem_order%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22604 cp/parser.cc:46541
+#: c/c-parser.cc:22613 cp/parser.cc:46547
 #, fuzzy, gcc-internal-format
 #| msgid "clause not supported yet"
 msgid "%qs clause on %<requires%> directive not supported yet"
 msgstr "mệnh đề vẫn chưa được hỗ trợ"
 
-#: c/c-parser.cc:22616 cp/parser.cc:46553
+#: c/c-parser.cc:22625 cp/parser.cc:46559
 #, gcc-internal-format
 msgid "%qs clause used lexically after first target construct or offloading API"
 msgstr ""
 
-#: c/c-parser.cc:22628 cp/parser.cc:46565
+#: c/c-parser.cc:22637 cp/parser.cc:46571
 #, gcc-internal-format
 msgid "more than one %<atomic_default_mem_order%> clause in a single compilation unit"
 msgstr ""
 
-#: c/c-parser.cc:22637 cp/parser.cc:46574
+#: c/c-parser.cc:22646 cp/parser.cc:46580
 #, gcc-internal-format
 msgid "%<atomic_default_mem_order%> clause used lexically after first %<atomic%> construct without memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:22651 cp/parser.cc:46588
+#: c/c-parser.cc:22660 cp/parser.cc:46594
 #, gcc-internal-format
 msgid "%<pragma omp requires%> requires at least one clause"
 msgstr ""
 
-#: c/c-parser.cc:22670
+#: c/c-parser.cc:22679
 #, fuzzy, gcc-internal-format
 #| msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgid "zero sized type %qT in %<reduction%> clause"
 msgstr "%<_Atomic%> %qE trong mệnh đề %<reduction%>"
 
-#: c/c-parser.cc:22676
+#: c/c-parser.cc:22685
 #, fuzzy, gcc-internal-format
 #| msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgid "variable sized type %qT in %<reduction%> clause"
 msgstr "%<_Atomic%> %qE trong mệnh đề %<reduction%>"
 
-#: c/c-parser.cc:22837 cp/parser.cc:46650
+#: c/c-parser.cc:22846 cp/parser.cc:46656
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<;%>, %<,%> or %<)%>"
 msgid "expected %<at%>, %<severity%> or %<message%> clause"
 msgstr "cần %<;%>, %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:22870 cp/parser.cc:46685
+#: c/c-parser.cc:22879 cp/parser.cc:46691
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<)%>"
 msgid "expected %qs or %qs"
 msgstr "cần %<,%> hoặc %<)%>"
 
-#: c/c-parser.cc:22927 cp/parser.cc:46747
+#: c/c-parser.cc:22936 cp/parser.cc:46753
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp ordered%> with %<depend%> clause may only be used in compound statements"
 msgid "%<#pragma omp error%> with %<at(execution)%> clause may only be used in compound statements"
 msgstr "%<#pragma omp ordered%> với mệnh đề %<depend%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c/c-parser.cc:22950 cp/parser.cc:46774
+#: c/c-parser.cc:22959 cp/parser.cc:46780
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered: %s"
 msgstr ""
 
-#: c/c-parser.cc:22953 cp/parser.cc:46777
+#: c/c-parser.cc:22962 cp/parser.cc:46783
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered"
 msgstr ""
 
-#: c/c-parser.cc:23100 cp/semantics.cc:9238
+#: c/c-parser.cc:23109 cp/semantics.cc:9229
 #, gcc-internal-format
 msgid "%qE declared %<threadprivate%> after first use"
 msgstr ""
 
-#: c/c-parser.cc:23102 cp/semantics.cc:9240
+#: c/c-parser.cc:23111 cp/semantics.cc:9231
 #, gcc-internal-format
 msgid "automatic variable %qE cannot be %<threadprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:23106 cp/semantics.cc:9242
+#: c/c-parser.cc:23115 cp/semantics.cc:9233
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:23285 cp/parser.cc:47513
+#: c/c-parser.cc:23294 cp/parser.cc:47519
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c/c-parser.cc:23291 cp/parser.cc:47519
+#: c/c-parser.cc:23300 cp/parser.cc:47525
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr "%<__transaction_cancel%> nằm trong một %<__transaction_relaxed%>"
 
-#: c/c-parser.cc:23300
+#: c/c-parser.cc:23309
 #, fuzzy, gcc-internal-format
 #| msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a %<transaction_may_cancel_outer%> function"
 msgstr "vòng ngoài hơn %<__transaction_cancel%> không nằm trong vòng ngoài hơn %<__transaction_atomic%>"
 
-#: c/c-parser.cc:23308 cp/parser.cc:47537
+#: c/c-parser.cc:23317 cp/parser.cc:47543
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr "%<__transaction_cancel%> không nằm trong %<__transaction_atomic%>"
 
-#: c/c-parser.cc:23392
+#: c/c-parser.cc:23401
 #, fuzzy, gcc-internal-format
 msgid "no closing brace"
 msgstr "tác vụ bao quanh"
@@ -47052,7 +47167,7 @@ msgstr "tác vụ bao quanh"
 msgid "%qD has an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:242 c/c-typeck.cc:10732 c/c-typeck.cc:10774 cp/call.cc:4659
+#: c/c-typeck.cc:242 c/c-typeck.cc:10734 c/c-typeck.cc:10776 cp/call.cc:4659
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr "sử dụng sai biểu thức void"
@@ -47133,12 +47248,12 @@ msgstr ""
 msgid "converting an array compound literal to a pointer is ill-formed in C++"
 msgstr ""
 
-#: c/c-typeck.cc:2505 c/c-typeck.cc:9287
+#: c/c-typeck.cc:2505 c/c-typeck.cc:9289
 #, gcc-internal-format
 msgid "%qT has no member named %qE; did you mean %qE?"
 msgstr "%qT không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: c/c-typeck.cc:2509 c/c-typeck.cc:9291
+#: c/c-typeck.cc:2509 c/c-typeck.cc:9293
 #, gcc-internal-format
 msgid "%qT has no member named %qE"
 msgstr "%qT không có thành viên nào mang tên %qE"
@@ -47173,7 +47288,7 @@ msgstr ""
 msgid "subscripted value is neither array nor pointer nor vector"
 msgstr ""
 
-#: c/c-typeck.cc:2702 cp/typeck.cc:3829 cp/typeck.cc:3922
+#: c/c-typeck.cc:2702 cp/typeck.cc:3838 cp/typeck.cc:3931
 #, gcc-internal-format
 msgid "array subscript is not an integer"
 msgstr "chỉ số mảng không phải là số nguyên"
@@ -47198,7 +47313,7 @@ msgstr ""
 msgid "enum constant defined here"
 msgstr ""
 
-#: c/c-typeck.cc:2988 cp/typeck.cc:1982
+#: c/c-typeck.cc:2988 cp/typeck.cc:1989
 #, gcc-internal-format
 msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
 msgstr ""
@@ -47313,18 +47428,18 @@ msgstr ""
 msgid "too few arguments to built-in function %qE expecting %u"
 msgstr "quá ít đối số cho hàm %qE"
 
-#: c/c-typeck.cc:3916 c/c-typeck.cc:3944 cp/typeck.cc:5434 cp/typeck.cc:5710
+#: c/c-typeck.cc:3916 c/c-typeck.cc:3944 cp/typeck.cc:5444 cp/typeck.cc:5720
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behavior"
 msgstr ""
 
-#: c/c-typeck.cc:3924 c/c-typeck.cc:3935 cp/typeck.cc:5466 cp/typeck.cc:5490
+#: c/c-typeck.cc:3924 c/c-typeck.cc:3935 cp/typeck.cc:5476 cp/typeck.cc:5500
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about use of multi-character character constants."
 msgid "comparison between pointer and zero character constant"
 msgstr "Cảnh báo về sử dụng hằng số ký tự đa ký tự."
 
-#: c/c-typeck.cc:3927 c/c-typeck.cc:3938 cp/typeck.cc:5469 cp/typeck.cc:5493
+#: c/c-typeck.cc:3927 c/c-typeck.cc:3938 cp/typeck.cc:5479 cp/typeck.cc:5503
 #, fuzzy, gcc-internal-format
 #| msgid "did you mean to use logical not?"
 msgid "did you mean to dereference the pointer?"
@@ -47350,7 +47465,7 @@ msgstr "con trỏ đến hàm được dùng trong phép trừ"
 msgid "arithmetic on pointer to an incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:4062 cp/typeck.cc:6449
+#: c/c-typeck.cc:4062 cp/typeck.cc:6459
 #, gcc-internal-format
 msgid "arithmetic on pointer to an empty aggregate"
 msgstr ""
@@ -47557,7 +47672,7 @@ msgstr "%qD được khai báo ở đây"
 msgid "left-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5730 c/c-typeck.cc:11307
+#: c/c-typeck.cc:5730 c/c-typeck.cc:11309
 #, gcc-internal-format
 msgid "right-hand operand of comma expression has no effect"
 msgstr ""
@@ -47630,7 +47745,7 @@ msgstr ""
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6077 cp/typeck.cc:8815
+#: c/c-typeck.cc:6077 cp/typeck.cc:8829
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr ""
@@ -47803,7 +47918,7 @@ msgstr ""
 msgid "initialization left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7317 cp/typeck.cc:9935
+#: c/c-typeck.cc:7317 cp/typeck.cc:9949
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr ""
@@ -47978,7 +48093,7 @@ msgstr ""
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr ""
 
-#: c/c-typeck.cc:8027 c/c-typeck.cc:8924 cp/typeck2.cc:1189
+#: c/c-typeck.cc:8027 c/c-typeck.cc:8926 cp/typeck2.cc:1189
 #, gcc-internal-format
 msgid "initialization of a flexible array member"
 msgstr "đã khởi tạo một bộ phận mảng dẻo"
@@ -47993,13 +48108,13 @@ msgstr ""
 msgid "array of inappropriate type initialized from string constant"
 msgstr "mảng loại không thích hợp bị khởi tạo từ hằng số chuỗi"
 
-#: c/c-typeck.cc:8151 cp/typeck.cc:2371
+#: c/c-typeck.cc:8151 cp/typeck.cc:2380
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr "sai sử dụng mảng không phải lvalue"
 
 #: c/c-typeck.cc:8170 c/c-typeck.cc:8194 c/c-typeck.cc:8197 c/c-typeck.cc:8205
-#: c/c-typeck.cc:8248 c/c-typeck.cc:9777 c/c-typeck.cc:9827
+#: c/c-typeck.cc:8248 c/c-typeck.cc:9779 c/c-typeck.cc:9829
 #, gcc-internal-format
 msgid "initializer element is not constant"
 msgstr "yếu tố khởi tạo không phải hằng số"
@@ -48009,12 +48124,12 @@ msgstr "yếu tố khởi tạo không phải hằng số"
 msgid "array initialized from non-constant array expression"
 msgstr "mảng bị khởi tạo từ biểu tượng mảng không phải hằng số"
 
-#: c/c-typeck.cc:8210 c/c-typeck.cc:8261 c/c-typeck.cc:9837
+#: c/c-typeck.cc:8210 c/c-typeck.cc:8261 c/c-typeck.cc:9839
 #, gcc-internal-format
 msgid "initializer element is not a constant expression"
 msgstr "yếu tố khởi tạo không phải là một biểu tượng hằng số"
 
-#: c/c-typeck.cc:8255 c/c-typeck.cc:9832
+#: c/c-typeck.cc:8255 c/c-typeck.cc:9834
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr "yếu tố khởi tạo không tính được vào lúc nạp"
@@ -48024,871 +48139,871 @@ msgstr "yếu tố khởi tạo không tính được vào lúc nạp"
 msgid "invalid initializer"
 msgstr "bộ khởi tạo sai"
 
-#: c/c-typeck.cc:8552 cp/decl.cc:7171
+#: c/c-typeck.cc:8555 cp/decl.cc:7291
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
 msgstr ""
 
-#: c/c-typeck.cc:8772
+#: c/c-typeck.cc:8774
 #, gcc-internal-format
 msgid "extra brace group at end of initializer"
 msgstr "gặp nhóm ngoặc móc thừa tại kết thúc của bộ khởi tạo"
 
-#: c/c-typeck.cc:8855
+#: c/c-typeck.cc:8857
 #, gcc-internal-format
 msgid "braces around scalar initializer"
 msgstr "ngoặc chung quanh bộ khởi tạo vô hướng"
 
-#: c/c-typeck.cc:8921 c/c-typeck.cc:10360 cp/typeck2.cc:1216
-#: cp/typeck2.cc:1476
+#: c/c-typeck.cc:8923 c/c-typeck.cc:10362 cp/typeck2.cc:1216
+#: cp/typeck2.cc:1481
 #, gcc-internal-format
 msgid "initialization of flexible array member in a nested context"
 msgstr "bộ phận mảng dẻo bị khởi tạo trong một ngữ cảnh lồng nhau"
 
-#: c/c-typeck.cc:8958
+#: c/c-typeck.cc:8960
 #, gcc-internal-format
 msgid "missing braces around initializer"
 msgstr "thiếu ngoặc móc chung quanh bộ khởi tạo"
 
-#: c/c-typeck.cc:8981
+#: c/c-typeck.cc:8983
 #, gcc-internal-format
 msgid "missing initializer for field %qD of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:9005
+#: c/c-typeck.cc:9007
 #, gcc-internal-format
 msgid "empty scalar initializer"
 msgstr "bộ khởi tạo vô hướng vẫn trống"
 
-#: c/c-typeck.cc:9010
+#: c/c-typeck.cc:9012
 #, gcc-internal-format
 msgid "extra elements in scalar initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo vô hướng"
 
-#: c/c-typeck.cc:9129 c/c-typeck.cc:9211
+#: c/c-typeck.cc:9131 c/c-typeck.cc:9213
 #, gcc-internal-format
 msgid "array index in non-array initializer"
 msgstr "gặp chỉ mục mảng trong bộ khởi tạo không phải mảng"
 
-#: c/c-typeck.cc:9134 c/c-typeck.cc:9273
+#: c/c-typeck.cc:9136 c/c-typeck.cc:9275
 #, gcc-internal-format
 msgid "field name not in record or union initializer"
 msgstr "không có tên trường trong bộ khởi tạo hợp hoặc mục ghi"
 
-#: c/c-typeck.cc:9184
+#: c/c-typeck.cc:9186
 #, gcc-internal-format
 msgid "array index in initializer not of integer type"
 msgstr "bộ khởi tạo chứa một chỉ mục mảng không có loại số nguyên"
 
-#: c/c-typeck.cc:9193 c/c-typeck.cc:9202
+#: c/c-typeck.cc:9195 c/c-typeck.cc:9204
 #, gcc-internal-format
 msgid "array index in initializer is not an integer constant expression"
 msgstr "bộ khởi tạo chứa một chỉ mục mảng không phải là một biểu tượng hằng số nguyên"
 
-#: c/c-typeck.cc:9207 c/c-typeck.cc:9209
+#: c/c-typeck.cc:9209 c/c-typeck.cc:9211
 #, gcc-internal-format
 msgid "nonconstant array index in initializer"
 msgstr "bộ khởi tạo chứa một chỉ mục mảng không phải hằng số"
 
-#: c/c-typeck.cc:9213 c/c-typeck.cc:9216
+#: c/c-typeck.cc:9215 c/c-typeck.cc:9218
 #, gcc-internal-format
 msgid "array index in initializer exceeds array bounds"
 msgstr "bộ khởi tạo chứa một chỉ mục mảng vượt quá giới hạn mảng"
 
-#: c/c-typeck.cc:9235
+#: c/c-typeck.cc:9237
 #, gcc-internal-format
 msgid "empty index range in initializer"
 msgstr "bộ khởi tạo chứa phạm vi chỉ mục vẫn trống"
 
-#: c/c-typeck.cc:9244
+#: c/c-typeck.cc:9246
 #, gcc-internal-format
 msgid "array index range in initializer exceeds array bounds"
 msgstr "bộ khởi tạo chứa một phạm vi chỉ mục mảng vượt quá giới hạn mảng"
 
-#: c/c-typeck.cc:9346 c/c-typeck.cc:9376 c/c-typeck.cc:9920
+#: c/c-typeck.cc:9348 c/c-typeck.cc:9378 c/c-typeck.cc:9922
 #, gcc-internal-format
 msgid "initialized field with side-effects overwritten"
 msgstr "trường đã khởi tạo với hiệu ứng khác bị ghi đè"
 
-#: c/c-typeck.cc:9350 c/c-typeck.cc:9380 c/c-typeck.cc:9923
+#: c/c-typeck.cc:9352 c/c-typeck.cc:9382 c/c-typeck.cc:9925
 #, gcc-internal-format
 msgid "initialized field overwritten"
 msgstr "trường đã khởi tạo bị ghi đè"
 
-#: c/c-typeck.cc:9854
+#: c/c-typeck.cc:9856
 #, gcc-internal-format
 msgid "enum conversion in initialization is invalid in C++"
 msgstr "chuyển đổi enum trong bộ khởi tạo thì không hợp lệ trong C++"
 
-#: c/c-typeck.cc:10235
+#: c/c-typeck.cc:10237
 #, fuzzy, gcc-internal-format
 #| msgid "excess elements in char array initializer"
 msgid "excess elements in %<char%> array initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo mảng ký tự"
 
-#: c/c-typeck.cc:10242 c/c-typeck.cc:10319
+#: c/c-typeck.cc:10244 c/c-typeck.cc:10321
 #, gcc-internal-format
 msgid "excess elements in struct initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo cấu trúc"
 
-#: c/c-typeck.cc:10263
+#: c/c-typeck.cc:10265
 #, gcc-internal-format
 msgid "positional initialization of field in %<struct%> declared with %<designated_init%> attribute"
 msgstr ""
 
-#: c/c-typeck.cc:10334 cp/typeck2.cc:1193
+#: c/c-typeck.cc:10336 cp/typeck2.cc:1193
 #, gcc-internal-format
 msgid "non-static initialization of a flexible array member"
 msgstr "một bộ phận mảng dẻo bị khởi tạo một cách không phải tĩnh"
 
-#: c/c-typeck.cc:10429
+#: c/c-typeck.cc:10431
 #, gcc-internal-format
 msgid "excess elements in union initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo hợp"
 
-#: c/c-typeck.cc:10451
+#: c/c-typeck.cc:10453
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr ""
 
-#: c/c-typeck.cc:10513
+#: c/c-typeck.cc:10515
 #, gcc-internal-format
 msgid "excess elements in array initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo mảng"
 
-#: c/c-typeck.cc:10547
+#: c/c-typeck.cc:10549
 #, gcc-internal-format
 msgid "excess elements in vector initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo véc-tơ"
 
-#: c/c-typeck.cc:10579
+#: c/c-typeck.cc:10581
 #, gcc-internal-format
 msgid "excess elements in scalar initializer"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo vô hướng"
 
-#: c/c-typeck.cc:10822
+#: c/c-typeck.cc:10824
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr "ISO C cấm %<goto *expr;%>"
 
-#: c/c-typeck.cc:10828
+#: c/c-typeck.cc:10830
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert to a pointer type"
 msgid "computed goto must be pointer type"
 msgstr "không thể chuyển đổi thành kiểu con trỏ"
 
-#: c/c-typeck.cc:10857 c/gimple-parser.cc:2434 cp/typeck.cc:10427
+#: c/c-typeck.cc:10859 c/gimple-parser.cc:2456 cp/typeck.cc:10441
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr "hàm đã khai báo %<noreturn%> có một câu lệnh %<return%>"
 
-#: c/c-typeck.cc:10885 c/c-typeck.cc:10889
+#: c/c-typeck.cc:10887 c/c-typeck.cc:10891
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr "%<return%> (trả lại) không có giá trị, trong hàm trả lại non-void (không rỗng)"
 
-#: c/c-typeck.cc:10903 c/gimple-parser.cc:2444
+#: c/c-typeck.cc:10905 c/gimple-parser.cc:2466
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr "%<return%> với một giá trị, trong hàm trả lại void (rỗng)"
 
-#: c/c-typeck.cc:10906
+#: c/c-typeck.cc:10908
 #, gcc-internal-format
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:10983
+#: c/c-typeck.cc:10985
 #, gcc-internal-format
 msgid "function returns address of label"
 msgstr "hàm trả về địa chỉ của biến cục bộ"
 
-#: c/c-typeck.cc:11074 cp/semantics.cc:1495
+#: c/c-typeck.cc:11076 cp/semantics.cc:1495
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:11099
+#: c/c-typeck.cc:11101
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:11137 c/c-typeck.cc:11145
+#: c/c-typeck.cc:11139 c/c-typeck.cc:11147
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:11151 cp/parser.cc:12644
+#: c/c-typeck.cc:11153 cp/parser.cc:12638
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11153
+#: c/c-typeck.cc:11155
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11229 cp/parser.cc:14249
+#: c/c-typeck.cc:11231 cp/parser.cc:14243
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c/c-typeck.cc:11232 c/c-typeck.cc:11252 cp/decl.cc:3675 cp/parser.cc:14259
-#: cp/parser.cc:14280
+#: c/c-typeck.cc:11234 c/c-typeck.cc:11254 cp/decl.cc:3731 cp/parser.cc:14253
+#: cp/parser.cc:14274
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: c/c-typeck.cc:11235 cp/parser.cc:14262
+#: c/c-typeck.cc:11237 cp/parser.cc:14256
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c/c-typeck.cc:11249 cp/parser.cc:14272
+#: c/c-typeck.cc:11251 cp/parser.cc:14266
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "câu lệnh “continue” nằm ở ngoài một vòng lặp"
 
-#: c/c-typeck.cc:11289 cp/cp-gimplify.cc:228
+#: c/c-typeck.cc:11291 cp/cp-gimplify.cc:229
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "câu lệnh không có tác dụng"
 
-#: c/c-typeck.cc:11333
+#: c/c-typeck.cc:11335
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:11624
+#: c/c-typeck.cc:11626
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the pointer operand in %qE must not be NULL"
 msgstr ""
 
-#: c/c-typeck.cc:11629
+#: c/c-typeck.cc:11631
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the pointer operand in %qE must not be NULL"
 msgstr ""
 
-#: c/c-typeck.cc:11647 c/c-typeck.cc:11684
+#: c/c-typeck.cc:11649 c/c-typeck.cc:11686
 #, fuzzy, gcc-internal-format
 #| msgid "the compiler can assume that the address of %qD will never be NULL"
 msgid "the comparison will always evaluate as %<false%> for the address of %qE will never be NULL"
 msgstr "trình biên dịch sẽ coi rằng địa chỉ của %qD sẽ không bao giờ là NULL"
 
-#: c/c-typeck.cc:11652 c/c-typeck.cc:11689
+#: c/c-typeck.cc:11654 c/c-typeck.cc:11691
 #, fuzzy, gcc-internal-format
 #| msgid "the compiler can assume that the address of %qD will never be NULL"
 msgid "the comparison will always evaluate as %<true%> for the address of %qE will never be NULL"
 msgstr "trình biên dịch sẽ coi rằng địa chỉ của %qD sẽ không bao giờ là NULL"
 
-#: c/c-typeck.cc:12274 c/c-typeck.cc:12410 cp/typeck.cc:5732
+#: c/c-typeck.cc:12277 c/c-typeck.cc:12413 cp/typeck.cc:5742
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c/c-typeck.cc:12282 c/c-typeck.cc:12418 cp/typeck.cc:5745
+#: c/c-typeck.cc:12285 c/c-typeck.cc:12421 cp/typeck.cc:5755
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c/c-typeck.cc:12297 c/c-typeck.cc:12433 cp/typeck.cc:5763
+#: c/c-typeck.cc:12300 c/c-typeck.cc:12436 cp/typeck.cc:5773
 #, gcc-internal-format
 msgid "comparison between types %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12307 c/c-typeck.cc:12443 cp/typeck.cc:5780
+#: c/c-typeck.cc:12310 c/c-typeck.cc:12446 cp/typeck.cc:5790
 #, gcc-internal-format
 msgid "could not find an integer type of the same size as %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12321 cp/typeck.cc:5423
+#: c/c-typeck.cc:12324 cp/typeck.cc:5433
 #, gcc-internal-format
 msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
 msgstr ""
 
-#: c/c-typeck.cc:12355 c/c-typeck.cc:12484
+#: c/c-typeck.cc:12358 c/c-typeck.cc:12487
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:12362 c/c-typeck.cc:12368
+#: c/c-typeck.cc:12365 c/c-typeck.cc:12371
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C cấm chỉ việc so sánh của %<void *%> với con trỏ hàm"
 
-#: c/c-typeck.cc:12375 c/c-typeck.cc:12494
+#: c/c-typeck.cc:12378 c/c-typeck.cc:12497
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c/c-typeck.cc:12387 c/c-typeck.cc:12392 c/c-typeck.cc:12520
-#: c/c-typeck.cc:12525
+#: c/c-typeck.cc:12390 c/c-typeck.cc:12395 c/c-typeck.cc:12523
+#: c/c-typeck.cc:12528
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c/c-typeck.cc:12472
+#: c/c-typeck.cc:12475
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c/c-typeck.cc:12474
+#: c/c-typeck.cc:12477
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c/c-typeck.cc:12479
+#: c/c-typeck.cc:12482
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12502 c/c-typeck.cc:12505 c/c-typeck.cc:12512
-#: c/c-typeck.cc:12515
+#: c/c-typeck.cc:12505 c/c-typeck.cc:12508 c/c-typeck.cc:12515
+#: c/c-typeck.cc:12518
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c/c-typeck.cc:12591
+#: c/c-typeck.cc:12594
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c/c-typeck.cc:12909
+#: c/c-typeck.cc:12912
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12913
+#: c/c-typeck.cc:12916
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12917
+#: c/c-typeck.cc:12920
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12933
+#: c/c-typeck.cc:12936
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13123 cp/semantics.cc:10914
+#: c/c-typeck.cc:13126 cp/semantics.cc:10905
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, %<sections%> or %<taskgroup%> clauses"
 msgstr "%<#pragma acc update%> phải chứa ít nhất là một mệnh đề %<device%> hay %<host%> hay %<self%>"
 
-#: c/c-typeck.cc:13134 c/c-typeck.cc:13144 cp/semantics.cc:10925
-#: cp/semantics.cc:10935
+#: c/c-typeck.cc:13137 c/c-typeck.cc:13147 cp/semantics.cc:10916
+#: cp/semantics.cc:10926
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<#pragma simd%> clause"
 msgid "expected %<cancel%> %<if%> clause modifier"
 msgstr "cần mệnh đề %<#pragma simd%>"
 
-#: c/c-typeck.cc:13179 cp/semantics.cc:10970
+#: c/c-typeck.cc:13182 cp/semantics.cc:10961
 #, gcc-internal-format
 msgid "%<#pragma omp cancellation point%> must specify one of %<parallel%>, %<for%>, %<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13224 c/c-typeck.cc:14920 c/c-typeck.cc:15056
-#: c/c-typeck.cc:15139
+#: c/c-typeck.cc:13227 c/c-typeck.cc:14923 c/c-typeck.cc:15059
+#: c/c-typeck.cc:15142
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %qs clause"
 msgstr "%<_Atomic%> %qE trong mệnh đề %qs"
 
-#: c/c-typeck.cc:13248 c/c-typeck.cc:14846 c/c-typeck.cc:15042
-#: cp/semantics.cc:5085 cp/semantics.cc:7823 cp/semantics.cc:8066
+#: c/c-typeck.cc:13251 c/c-typeck.cc:14849 c/c-typeck.cc:15045
+#: cp/semantics.cc:5076 cp/semantics.cc:7814 cp/semantics.cc:8057
 #, gcc-internal-format
 msgid "bit-field %qE in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13257 c/c-typeck.cc:15066 cp/semantics.cc:5095
-#: cp/semantics.cc:8085
+#: c/c-typeck.cc:13260 c/c-typeck.cc:15069 cp/semantics.cc:5086
+#: cp/semantics.cc:8076
 #, gcc-internal-format
 msgid "%qE is a member of a union"
 msgstr "%qE không phải là thành viên của union"
 
-#: c/c-typeck.cc:13274 c/c-typeck.cc:15075 cp/semantics.cc:8094
+#: c/c-typeck.cc:13277 c/c-typeck.cc:15078 cp/semantics.cc:8085
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot dereference %qE in %qs clause"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: c/c-typeck.cc:13285 cp/semantics.cc:5120 cp/semantics.cc:8139
+#: c/c-typeck.cc:13288 cp/semantics.cc:5111 cp/semantics.cc:8130
 #, gcc-internal-format
 msgid "%qD is not a variable in %qs clause"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: c/c-typeck.cc:13289 c/c-typeck.cc:15103 cp/semantics.cc:5124
-#: cp/semantics.cc:8143
+#: c/c-typeck.cc:13292 c/c-typeck.cc:15106 cp/semantics.cc:5115
+#: cp/semantics.cc:8134
 #, gcc-internal-format
 msgid "%qE is not a variable in %qs clause"
 msgstr "%qE không phải một biến trong mệnh đề %qs"
 
-#: c/c-typeck.cc:13297
+#: c/c-typeck.cc:13300
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %qs clause"
 msgstr "%<_Atomic%> %qD trong mệnh đề %qs"
 
-#: c/c-typeck.cc:13307 c/c-typeck.cc:15110 c/c-typeck.cc:15237
-#: cp/semantics.cc:5133 cp/semantics.cc:8150 cp/semantics.cc:8339
+#: c/c-typeck.cc:13310 c/c-typeck.cc:15113 c/c-typeck.cc:15240
+#: cp/semantics.cc:5124 cp/semantics.cc:8141 cp/semantics.cc:8330
 #, gcc-internal-format
 msgid "%qD is threadprivate variable in %qs clause"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: c/c-typeck.cc:13344 cp/semantics.cc:5167
+#: c/c-typeck.cc:13347 cp/semantics.cc:5158
 #, gcc-internal-format
 msgid "low bound %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13351 cp/semantics.cc:5174
+#: c/c-typeck.cc:13354 cp/semantics.cc:5165
 #, gcc-internal-format
 msgid "length %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13374 cp/semantics.cc:5207
+#: c/c-typeck.cc:13377 cp/semantics.cc:5198
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of file in %qs"
 msgid "expected single pointer in %qs clause"
 msgstr "Gặp kết thúc tập tin bất thường tại %qs"
 
-#: c/c-typeck.cc:13392 c/c-typeck.cc:13459 c/c-typeck.cc:13751
-#: cp/semantics.cc:5225 cp/semantics.cc:5292
+#: c/c-typeck.cc:13395 c/c-typeck.cc:13462 c/c-typeck.cc:13754
+#: cp/semantics.cc:5216 cp/semantics.cc:5283
 #, gcc-internal-format
 msgid "zero length array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13411 cp/semantics.cc:5244
+#: c/c-typeck.cc:13414 cp/semantics.cc:5235
 #, gcc-internal-format
 msgid "for unknown bound array type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13419 cp/semantics.cc:5252
+#: c/c-typeck.cc:13422 cp/semantics.cc:5243
 #, gcc-internal-format
 msgid "negative low bound in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13428 c/c-typeck.cc:13552 cp/semantics.cc:5261
-#: cp/semantics.cc:5385
+#: c/c-typeck.cc:13431 c/c-typeck.cc:13555 cp/semantics.cc:5252
+#: cp/semantics.cc:5376
 #, gcc-internal-format
 msgid "negative length in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13445 cp/semantics.cc:5278
+#: c/c-typeck.cc:13448 cp/semantics.cc:5269
 #, gcc-internal-format
 msgid "low bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13488 cp/semantics.cc:5321
+#: c/c-typeck.cc:13491 cp/semantics.cc:5312
 #, gcc-internal-format
 msgid "length %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13503 cp/semantics.cc:5336
+#: c/c-typeck.cc:13506 cp/semantics.cc:5327
 #, gcc-internal-format
 msgid "high bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13540 cp/semantics.cc:5373
+#: c/c-typeck.cc:13543 cp/semantics.cc:5364
 #, fuzzy, gcc-internal-format
 #| msgid "%<vector%> length expression must be integral"
 msgid "for array function parameter length expression must be specified"
 msgstr "chiều dài %<vector%> phải là số nguyên"
 
-#: c/c-typeck.cc:13544 cp/semantics.cc:5377
+#: c/c-typeck.cc:13547 cp/semantics.cc:5368
 #, gcc-internal-format
 msgid "for pointer type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13571 c/c-typeck.cc:13690 cp/semantics.cc:5404
-#: cp/semantics.cc:5538
+#: c/c-typeck.cc:13574 c/c-typeck.cc:13693 cp/semantics.cc:5395
+#: cp/semantics.cc:5529
 #, gcc-internal-format
 msgid "array section is not contiguous in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13581 cp/semantics.cc:5414
+#: c/c-typeck.cc:13584 cp/semantics.cc:5405
 #, gcc-internal-format
 msgid "%qE does not have pointer or array type"
 msgstr "%qE không có con trỏ hay kiểu mảng"
 
-#: c/c-typeck.cc:13968 cp/semantics.cc:6512
+#: c/c-typeck.cc:13971 cp/semantics.cc:6503
 #, gcc-internal-format
 msgid "iterator %qD has neither integral nor pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:13975
+#: c/c-typeck.cc:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%<_Atomic%> applied to a qualified type"
 msgid "iterator %qD has %<_Atomic%> qualified type"
 msgstr "%<_Atomic%> áp dụng cho kiểu hạn định"
 
-#: c/c-typeck.cc:13981 cp/semantics.cc:6519
+#: c/c-typeck.cc:13984 cp/semantics.cc:6510
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD has incomplete type"
 msgid "iterator %qD has const qualified type"
 msgstr "đối số %qD có kiểu chưa đầy đủ"
 
-#: c/c-typeck.cc:13994 cp/semantics.cc:6535
+#: c/c-typeck.cc:13997 cp/semantics.cc:6526
 #, gcc-internal-format
 msgid "iterator step with non-integral type"
 msgstr ""
 
-#: c/c-typeck.cc:14014 cp/semantics.cc:6571
+#: c/c-typeck.cc:14017 cp/semantics.cc:6562
 #, gcc-internal-format
 msgid "iterator %qD has zero step"
 msgstr ""
 
-#: c/c-typeck.cc:14041
+#: c/c-typeck.cc:14044
 #, gcc-internal-format
 msgid "type of iterator %qD refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14048 cp/semantics.cc:6605
+#: c/c-typeck.cc:14051 cp/semantics.cc:6596
 #, gcc-internal-format
 msgid "begin expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14054 cp/semantics.cc:6611
+#: c/c-typeck.cc:14057 cp/semantics.cc:6602
 #, fuzzy, gcc-internal-format
 #| msgid "invalid expression for output modifier '%c'"
 msgid "end expression refers to outer iterator %qD"
 msgstr "biểu thức không hợp lệ cho bộ sửa đầu ra “%c”"
 
-#: c/c-typeck.cc:14060 cp/semantics.cc:6617
+#: c/c-typeck.cc:14063 cp/semantics.cc:6608
 #, fuzzy, gcc-internal-format
 #| msgid "linear step expression must be integral"
 msgid "step expression refers to outer iterator %qD"
 msgstr "biểu thức bước thẳng phải là số nguyên"
 
-#: c/c-typeck.cc:14097 cp/semantics.cc:6665
+#: c/c-typeck.cc:14100 cp/semantics.cc:6656
 #, fuzzy, gcc-internal-format
 #| msgid "expected pointer"
 msgid "expected pointer in %qs clause"
 msgstr "cần con trỏ"
 
-#: c/c-typeck.cc:14185 cp/semantics.cc:6746
+#: c/c-typeck.cc:14188 cp/semantics.cc:6737
 #, gcc-internal-format
 msgid "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
 msgstr ""
 
-#: c/c-typeck.cc:14207 cp/semantics.cc:6766
+#: c/c-typeck.cc:14210 cp/semantics.cc:6757
 #, fuzzy, gcc-internal-format
 #| msgid "%qD in %<reduction%> clause is a zero size array"
 msgid "%<inscan%> %<reduction%> clause with array section"
 msgstr "%qD trong mệnh đề %<reduction%> là một mạng cỡ không"
 
-#: c/c-typeck.cc:14233 c/c-typeck.cc:14243
+#: c/c-typeck.cc:14236 c/c-typeck.cc:14246
 #, gcc-internal-format
 msgid "%qD in %<reduction%> clause is a zero size array"
 msgstr "%qD trong mệnh đề %<reduction%> là một mạng cỡ không"
 
-#: c/c-typeck.cc:14263
+#: c/c-typeck.cc:14266
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgstr "%<_Atomic%> %qE trong mệnh đề %<reduction%>"
 
-#: c/c-typeck.cc:14275
+#: c/c-typeck.cc:14278
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "zero sized type %qT in %qs clause"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: c/c-typeck.cc:14283
+#: c/c-typeck.cc:14286
 #, fuzzy, gcc-internal-format
 #| msgid "variable length array %qD is used"
 msgid "variable sized type %qT in %qs clause"
 msgstr "mảng có độ dài biến đổi %qD được dùng"
 
-#: c/c-typeck.cc:14327
+#: c/c-typeck.cc:14330
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE có kiểu không hợp lệ cho %<reduction(%s)%>"
 
-#: c/c-typeck.cc:14336 cp/semantics.cc:6404
+#: c/c-typeck.cc:14339 cp/semantics.cc:6395
 #, gcc-internal-format
 msgid "user defined reduction not found for %qE"
 msgstr ""
 
-#: c/c-typeck.cc:14424
+#: c/c-typeck.cc:14427
 #, gcc-internal-format
 msgid "variable length element type in array %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14442 c/c-typeck.cc:15331 cp/semantics.cc:8855
+#: c/c-typeck.cc:14445 c/c-typeck.cc:15334 cp/semantics.cc:8846
 #, gcc-internal-format
 msgid "%<nowait%> clause must not be used together with %<copyprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14454 cp/semantics.cc:8923
+#: c/c-typeck.cc:14457 cp/semantics.cc:8914
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE phải là %<threadprivate%> với %<copyin%>"
 
-#: c/c-typeck.cc:14468 cp/semantics.cc:6807
+#: c/c-typeck.cc:14471 cp/semantics.cc:6798
 #, gcc-internal-format
 msgid "modifier should not be specified in %<linear%> clause on %<simd%> or %<for%> constructs"
 msgstr ""
 
-#: c/c-typeck.cc:14476
+#: c/c-typeck.cc:14479
 #, gcc-internal-format
 msgid "linear clause applied to non-integral non-pointer variable with type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:14484
+#: c/c-typeck.cc:14487
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<linear%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14503 cp/semantics.cc:6881
+#: c/c-typeck.cc:14506 cp/semantics.cc:6872
 #, gcc-internal-format
 msgid "%<linear%> clause step %qE is neither constant nor a parameter"
 msgstr ""
 
-#: c/c-typeck.cc:14533 c/c-typeck.cc:15230 c/c-typeck.cc:15476
-#: cp/semantics.cc:6968 cp/semantics.cc:8332 cp/semantics.cc:8675
+#: c/c-typeck.cc:14536 c/c-typeck.cc:15233 c/c-typeck.cc:15479
+#: cp/semantics.cc:6959 cp/semantics.cc:8323 cp/semantics.cc:8666
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:14551 cp/semantics.cc:6986
+#: c/c-typeck.cc:14554 cp/semantics.cc:6977
 #, gcc-internal-format
 msgid "%qD appears more than once in data-sharing clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14562 cp/semantics.cc:6997
+#: c/c-typeck.cc:14565 cp/semantics.cc:6988
 #, gcc-internal-format
 msgid "%qD appears more than once in reduction clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14576 c/c-typeck.cc:14646 c/c-typeck.cc:14680
+#: c/c-typeck.cc:14579 c/c-typeck.cc:14649 c/c-typeck.cc:14683
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14586 c/c-typeck.cc:14653 c/c-typeck.cc:14964
-#: c/c-typeck.cc:15157 c/c-typeck.cc:15165 c/c-typeck.cc:15182
-#: c/c-typeck.cc:15192 c/c-typeck.cc:15200 cp/semantics.cc:7011
-#: cp/semantics.cc:7021 cp/semantics.cc:7114 cp/semantics.cc:7121
-#: cp/semantics.cc:7168 cp/semantics.cc:7979 cp/semantics.cc:8202
-#: cp/semantics.cc:8210 cp/semantics.cc:8227 cp/semantics.cc:8237
-#: cp/semantics.cc:8245
+#: c/c-typeck.cc:14589 c/c-typeck.cc:14656 c/c-typeck.cc:14967
+#: c/c-typeck.cc:15160 c/c-typeck.cc:15168 c/c-typeck.cc:15185
+#: c/c-typeck.cc:15195 c/c-typeck.cc:15203 cp/semantics.cc:7002
+#: cp/semantics.cc:7012 cp/semantics.cc:7105 cp/semantics.cc:7112
+#: cp/semantics.cc:7159 cp/semantics.cc:7970 cp/semantics.cc:8193
+#: cp/semantics.cc:8201 cp/semantics.cc:8218 cp/semantics.cc:8228
+#: cp/semantics.cc:8236
 #, gcc-internal-format
 msgid "%qD appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14589 c/c-typeck.cc:14659 c/c-typeck.cc:15168
-#: c/c-typeck.cc:15203 cp/semantics.cc:7024 cp/semantics.cc:7127
-#: cp/semantics.cc:8213 cp/semantics.cc:8248
+#: c/c-typeck.cc:14592 c/c-typeck.cc:14662 c/c-typeck.cc:15171
+#: c/c-typeck.cc:15206 cp/semantics.cc:7015 cp/semantics.cc:7118
+#: cp/semantics.cc:8204 cp/semantics.cc:8239
 #, gcc-internal-format
 msgid "%qD appears both in data and map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14634 cp/semantics.cc:7101
+#: c/c-typeck.cc:14637 cp/semantics.cc:7092
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14673 cp/semantics.cc:7160
+#: c/c-typeck.cc:14676 cp/semantics.cc:7151
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14692 cp/semantics.cc:7555
+#: c/c-typeck.cc:14695 cp/semantics.cc:7546
 #, gcc-internal-format
 msgid "%qE is not a variable in %<aligned%> clause"
 msgstr "%qE không phải một biến trong mệnh đề %<aligned%>"
 
-#: c/c-typeck.cc:14699
+#: c/c-typeck.cc:14702
 #, gcc-internal-format
 msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:14706
+#: c/c-typeck.cc:14709
 #, fuzzy, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<aligned%> clause"
 msgstr "%qD không phải một biến trong mệnh đề  %<aligned%>"
 
-#: c/c-typeck.cc:14713
+#: c/c-typeck.cc:14716
 #, gcc-internal-format
 msgid "%qE appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14726 cp/semantics.cc:7626
+#: c/c-typeck.cc:14729 cp/semantics.cc:7617
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a variable in %<depend%> clause"
 msgid "%qE is not a variable in %<nontemporal%> clause"
 msgstr "%qE không phải một biến trong mệnh đề %<depend%>"
 
-#: c/c-typeck.cc:14732
+#: c/c-typeck.cc:14735
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not an argument in %<uniform%> clause"
 msgid "%qE appears more than once in %<nontemporal%> clauses"
 msgstr "%qE không phải một đối số trong mệnh đề %<uniform%>"
 
-#: c/c-typeck.cc:14745 cp/semantics.cc:7665
+#: c/c-typeck.cc:14748 cp/semantics.cc:7656
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a variable in %<aligned%> clause"
 msgid "%qE is not a variable in %<allocate%> clause"
 msgstr "%qE không phải một biến trong mệnh đề %<aligned%>"
 
-#: c/c-typeck.cc:14751
+#: c/c-typeck.cc:14754
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a variable in %<aligned%> clause"
 msgid "%qE appears more than once in %<allocate%> clauses"
 msgstr "%qE không phải một biến trong mệnh đề %<aligned%>"
 
-#: c/c-typeck.cc:14824 cp/semantics.cc:7794
+#: c/c-typeck.cc:14827 cp/semantics.cc:7785
 #, gcc-internal-format
 msgid "%<depend%> clause with %<depobj%> dependence type on array section"
 msgstr ""
 
-#: c/c-typeck.cc:14835 cp/semantics.cc:7813
+#: c/c-typeck.cc:14838 cp/semantics.cc:7804
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a variable in %qs clause"
 msgid "%qE is not lvalue expression nor array section in %qs clause"
 msgstr "%qE không phải một biến trong mệnh đề %qs"
 
-#: c/c-typeck.cc:14856 cp/semantics.cc:7835
+#: c/c-typeck.cc:14859 cp/semantics.cc:7826
 #, gcc-internal-format
 msgid "%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> dependence type"
 msgstr ""
 
-#: c/c-typeck.cc:14866 cp/semantics.cc:7847
+#: c/c-typeck.cc:14869 cp/semantics.cc:7838
 #, gcc-internal-format
 msgid "%qE should not have %<omp_depend_t%> type in %<depend%> clause with dependence type other than %<depobj%>"
 msgstr ""
 
-#: c/c-typeck.cc:14912 cp/semantics.cc:7931
+#: c/c-typeck.cc:14915 cp/semantics.cc:7922
 #, gcc-internal-format
 msgid "array section does not have mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14960 c/c-typeck.cc:15179 cp/semantics.cc:7975
-#: cp/semantics.cc:8224
+#: c/c-typeck.cc:14963 c/c-typeck.cc:15182 cp/semantics.cc:7966
+#: cp/semantics.cc:8215
 #, gcc-internal-format
 msgid "%qD appears more than once in motion clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14968 c/c-typeck.cc:15185 cp/semantics.cc:7983
-#: cp/semantics.cc:8230
+#: c/c-typeck.cc:14971 c/c-typeck.cc:15188 cp/semantics.cc:7974
+#: cp/semantics.cc:8221
 #, gcc-internal-format
 msgid "%qD appears more than once in map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15049 cp/semantics.cc:8073
+#: c/c-typeck.cc:15052 cp/semantics.cc:8064
 #, gcc-internal-format
 msgid "%qE does not have a mappable type in %qs clause"
 msgstr "%qE không phải một kiểu ánh xạ được trong mệnh đề %qs"
 
-#: c/c-typeck.cc:15130 c/c-typeck.cc:15244 cp/semantics.cc:8173
-#: cp/semantics.cc:8346
+#: c/c-typeck.cc:15133 c/c-typeck.cc:15247 cp/semantics.cc:8164
+#: cp/semantics.cc:8337
 #, gcc-internal-format
 msgid "%qD does not have a mappable type in %qs clause"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: c/c-typeck.cc:15225 cp/semantics.cc:8326
+#: c/c-typeck.cc:15228 cp/semantics.cc:8317
 #, gcc-internal-format
 msgid "%qE is neither a variable nor a function name in clause %qs"
 msgstr "%qE không phải một biến cũng không phải tên hàm trong mệnh đề %qs"
 
-#: c/c-typeck.cc:15253 cp/semantics.cc:8356
+#: c/c-typeck.cc:15256 cp/semantics.cc:8347
 #, gcc-internal-format
 msgid "%qE appears more than once on the same %<declare target%> directive"
 msgstr ""
 
-#: c/c-typeck.cc:15267 cp/semantics.cc:8372
+#: c/c-typeck.cc:15270 cp/semantics.cc:8363
 #, gcc-internal-format
 msgid "%qD is not an argument in %<uniform%> clause"
 msgstr "%qD không phải một đối số trong mệnh đề %<uniform%>"
 
-#: c/c-typeck.cc:15270 cp/semantics.cc:8375
+#: c/c-typeck.cc:15273 cp/semantics.cc:8366
 #, gcc-internal-format
 msgid "%qE is not an argument in %<uniform%> clause"
 msgstr "%qE không phải một đối số trong mệnh đề %<uniform%>"
 
-#: c/c-typeck.cc:15289
+#: c/c-typeck.cc:15292
 #, fuzzy, gcc-internal-format
 #| msgid "source is not a pointer"
 msgid "%qs variable is not a pointer"
 msgstr "nguồn không phải là một hàm trỏ"
 
-#: c/c-typeck.cc:15296
+#: c/c-typeck.cc:15299
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15344 c/c-typeck.cc:15437 cp/semantics.cc:8817
+#: c/c-typeck.cc:15347 c/c-typeck.cc:15440 cp/semantics.cc:8808
 #, gcc-internal-format
 msgid "%<order%> clause must not be used together with %<ordered%>"
 msgstr ""
 
-#: c/c-typeck.cc:15364 cp/semantics.cc:7879
+#: c/c-typeck.cc:15367 cp/semantics.cc:7870
 #, fuzzy, gcc-internal-format
 #| msgid "too many %qs clauses"
 msgid "too many %qs clauses on a task construct"
 msgstr "quá nhiều mệnh đề %qs"
 
-#: c/c-typeck.cc:15459 cp/semantics.cc:8643
+#: c/c-typeck.cc:15462 cp/semantics.cc:8634
 #, gcc-internal-format
 msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
 msgstr ""
 
-#: c/c-typeck.cc:15526 cp/semantics.cc:8994
+#: c/c-typeck.cc:15529 cp/semantics.cc:8985
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15536
+#: c/c-typeck.cc:15539
 #, gcc-internal-format
 msgid "%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15555 cp/semantics.cc:8769
+#: c/c-typeck.cc:15558 cp/semantics.cc:8760
 #, gcc-internal-format
 msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
 msgstr ""
 
-#: c/c-typeck.cc:15567 cp/semantics.cc:8782
+#: c/c-typeck.cc:15570 cp/semantics.cc:8773
 #, gcc-internal-format
 msgid "%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15578 c/c-typeck.cc:15586 cp/semantics.cc:8791
-#: cp/semantics.cc:8809
+#: c/c-typeck.cc:15581 c/c-typeck.cc:15589 cp/semantics.cc:8782
+#: cp/semantics.cc:8800
 #, gcc-internal-format
 msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15634 cp/semantics.cc:8749
+#: c/c-typeck.cc:15637 cp/semantics.cc:8740
 #, gcc-internal-format
 msgid "%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15685 cp/semantics.cc:8799
+#: c/c-typeck.cc:15688 cp/semantics.cc:8790
 #, gcc-internal-format
 msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15695 cp/semantics.cc:8828
+#: c/c-typeck.cc:15698 cp/semantics.cc:8819
 #, gcc-internal-format
 msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15713 cp/semantics.cc:9019
+#: c/c-typeck.cc:15716 cp/semantics.cc:9010
 #, gcc-internal-format
 msgid "the event handle of a %<detach%> clause should not be in a data-sharing clause"
 msgstr ""
 
-#: c/c-typeck.cc:15887
+#: c/c-typeck.cc:15890
 #, gcc-internal-format
 msgid "cannot use %<va_arg%> with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:15892
+#: c/c-typeck.cc:15895
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is of incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:15898
+#: c/c-typeck.cc:15901
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -48915,199 +49030,204 @@ msgstr "cần tên hàm"
 msgid "edge not found"
 msgstr "không tìm thấy trường %qs"
 
-#: c/gimple-parser.cc:478 c/gimple-parser.cc:484
+#: c/gimple-parser.cc:342
+#, gcc-internal-format
+msgid "SSA name %qE with version %d has no definition"
+msgstr ""
+
+#: c/gimple-parser.cc:482 c/gimple-parser.cc:488
 #, fuzzy, gcc-internal-format
 #| msgid "expected pointer"
 msgid "expected block index"
 msgstr "cần con trỏ"
 
-#: c/gimple-parser.cc:492
+#: c/gimple-parser.cc:496
 #, fuzzy, gcc-internal-format
 #| msgid "invalid map kind"
 msgid "invalid block index"
 msgstr "kiểu ánh xạ không hợp lệ"
 
-#: c/gimple-parser.cc:503
+#: c/gimple-parser.cc:507
 #, fuzzy, gcc-internal-format
 #| msgid "expected type specifier"
 msgid "expected block specifier"
 msgstr "cần bộ chỉ định kiểu"
 
-#: c/gimple-parser.cc:521
+#: c/gimple-parser.cc:525
 #, fuzzy, gcc-internal-format
 #| msgid "expected pass name"
 msgid "expected loop number"
 msgstr "cần tên chuyển qua"
 
-#: c/gimple-parser.cc:539
+#: c/gimple-parser.cc:543
 #, fuzzy, gcc-internal-format
 #| msgid "unknown relocation unspec"
 msgid "unknown block specifier"
 msgstr "không rõ bỏ ghi rõ bố trí lại"
 
-#: c/gimple-parser.cc:552 c/gimple-parser.cc:1964
+#: c/gimple-parser.cc:556 c/gimple-parser.cc:1968
 #, fuzzy, gcc-internal-format
 #| msgid "expected pointer"
 msgid "expected count value"
 msgstr "cần con trỏ"
 
-#: c/gimple-parser.cc:575 c/gimple-parser.cc:662
+#: c/gimple-parser.cc:579 c/gimple-parser.cc:666
 #, gcc-internal-format
 msgid "stmts without block"
 msgstr ""
 
-#: c/gimple-parser.cc:612
+#: c/gimple-parser.cc:616
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate label %qD"
 msgid "duplicate loop header"
 msgstr "trùng nhãn %qD"
 
-#: c/gimple-parser.cc:819
+#: c/gimple-parser.cc:823
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid source block specification"
 msgstr "đặc tả lớp-cơ-sở không hợp lệ"
 
-#: c/gimple-parser.cc:886
+#: c/gimple-parser.cc:890
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected argument"
 msgid "unexpected RHS for assignment"
 msgstr "gặp tham số thừa"
 
-#: c/gimple-parser.cc:990
+#: c/gimple-parser.cc:994
 #, gcc-internal-format
 msgid "%<&&%> not valid in GIMPLE"
 msgstr "%<&&%> không hợp lệ trong GIMPLE"
 
-#: c/gimple-parser.cc:993
+#: c/gimple-parser.cc:997
 #, gcc-internal-format
 msgid "%<||%> not valid in GIMPLE"
 msgstr "%<||%> không hợp lệ trong GIMPLE"
 
-#: c/gimple-parser.cc:1107
+#: c/gimple-parser.cc:1111
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier or %<*%>"
 msgid "expected pointer as argument of unary %<*%>"
 msgstr "cần một định danh hoặc %<*%>"
 
-#: c/gimple-parser.cc:1133
+#: c/gimple-parser.cc:1137
 #, gcc-internal-format
 msgid "%<!%> not valid in GIMPLE"
 msgstr "%<!%> không hợp lệ trong GIMPLE"
 
-#: c/gimple-parser.cc:1192 c/gimple-parser.cc:1529
+#: c/gimple-parser.cc:1196 c/gimple-parser.cc:1533
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected offset"
 msgid "expected constant offset"
 msgstr "không cần offset"
 
-#: c/gimple-parser.cc:1253
+#: c/gimple-parser.cc:1257
 #, fuzzy, gcc-internal-format
 #| msgid "SSA name not declared"
 msgid "SSA name undeclared"
 msgstr "tên SSA chưa được khai báo"
 
-#: c/gimple-parser.cc:1275
+#: c/gimple-parser.cc:1279
 #, fuzzy, gcc-internal-format
 msgid "base variable or SSA name undeclared"
 msgstr "biến hay trường được khai báo là void"
 
-#: c/gimple-parser.cc:1282
+#: c/gimple-parser.cc:1286
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type %<void%> for new"
 msgid "invalid base %qE for SSA name"
 msgstr "kiểu không hợp lệ %<void%> cho new"
 
-#: c/gimple-parser.cc:1310
+#: c/gimple-parser.cc:1314
 #, fuzzy, gcc-internal-format
 #| msgid "expected function name"
 msgid "expecting internal function name"
 msgstr "cần tên hàm"
 
-#: c/gimple-parser.cc:1323
+#: c/gimple-parser.cc:1327
 #, fuzzy, gcc-internal-format
 msgid "unknown internal function %qE"
 msgstr "gọi hàm nội bộ"
 
-#: c/gimple-parser.cc:1461
+#: c/gimple-parser.cc:1465
 #, fuzzy, gcc-internal-format
 #| msgid "invalid %%P operand"
 msgid "invalid type of %<__MEM%> operand"
 msgstr "gặp toán hạng %%P sai"
 
-#: c/gimple-parser.cc:1523
+#: c/gimple-parser.cc:1527
 #, fuzzy, gcc-internal-format
 #| msgid "expected initializer"
 msgid "expected constant size"
 msgstr "cần bộ khởi tạo"
 
-#: c/gimple-parser.cc:1561 c/gimple-parser.cc:1591 c/gimple-parser.cc:1631
-#: c/gimple-parser.cc:1639 c/gimple-parser.cc:1648
+#: c/gimple-parser.cc:1565 c/gimple-parser.cc:1595 c/gimple-parser.cc:1635
+#: c/gimple-parser.cc:1643 c/gimple-parser.cc:1652
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand"
 msgid "invalid _Literal"
 msgstr "toán hạng không hợp lệ"
 
-#: c/gimple-parser.cc:1570
+#: c/gimple-parser.cc:1574
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type for property"
 msgid "invalid type for _Literal with constructor"
 msgstr "kiểu không hợp lệ cho thuộc tính"
 
-#: c/gimple-parser.cc:1683
+#: c/gimple-parser.cc:1687
 #, gcc-internal-format
 msgid "anonymous SSA name cannot have default definition"
 msgstr ""
 
-#: c/gimple-parser.cc:1766
+#: c/gimple-parser.cc:1770
 #, fuzzy, gcc-internal-format
 msgid "invalid call to non-function"
 msgstr "không thể tắt hàm dựng sẵn %qs"
 
-#: c/gimple-parser.cc:1820
+#: c/gimple-parser.cc:1824
 #, fuzzy, gcc-internal-format
 msgid "dereference of non-pointer"
 msgstr "con trỏ rỗng"
 
-#: c/gimple-parser.cc:1945
+#: c/gimple-parser.cc:1949
 #, gcc-internal-format
 msgid "expected pass name"
 msgstr "cần tên chuyển qua"
 
-#: c/gimple-parser.cc:1984
+#: c/gimple-parser.cc:1988
 #, gcc-internal-format
 msgid "invalid operation"
 msgstr "toán hạng không hợp lệ"
 
-#: c/gimple-parser.cc:2130
+#: c/gimple-parser.cc:2152
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always %d"
 msgid "comparison required"
 msgstr "so sánh luôn là %d"
 
-#: c/gimple-parser.cc:2182
+#: c/gimple-parser.cc:2204
 #, fuzzy, gcc-internal-format
 #| msgid "-fpic is not supported"
 msgid "%<catch%> is not supported"
 msgstr "-fpic không được hỗ trợ"
 
-#: c/gimple-parser.cc:2184
+#: c/gimple-parser.cc:2206
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<)%>"
 msgid "expected %<finally%> or %<catch%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
-#: c/gimple-parser.cc:2228 c/gimple-parser.cc:2265
+#: c/gimple-parser.cc:2250 c/gimple-parser.cc:2287
 #, gcc-internal-format
 msgid "expected goto expression"
 msgstr "cần điều lệnh goto"
 
-#: c/gimple-parser.cc:2236
+#: c/gimple-parser.cc:2258
 #, gcc-internal-format
 msgid "expected else statement"
 msgstr "cần điều lệnh else"
 
-#: c/gimple-parser.cc:2379
+#: c/gimple-parser.cc:2401
 #, fuzzy, gcc-internal-format
 msgid "expected case label"
 msgstr "cần kênh"
@@ -49142,13 +49262,13 @@ msgstr "  cho chuyển đổi từ %qT thành %qT"
 msgid "  no known conversion for argument %d from %qH to %qI"
 msgstr "  không hiểu chuyển đổi cho đối số %d từ %qT thành %qT"
 
-#: cp/call.cc:3823 cp/pt.cc:6951
+#: cp/call.cc:3823 cp/pt.cc:6945
 #, gcc-internal-format, gfc-internal-format
 msgid "  candidate expects at least %d argument, %d provided"
 msgid_plural "  candidate expects at least %d arguments, %d provided"
 msgstr[0] "  ứng cử cần ít nhất %d đối số, nhưng cung cấp %d"
 
-#: cp/call.cc:3828 cp/pt.cc:6956
+#: cp/call.cc:3828 cp/pt.cc:6950
 #, gcc-internal-format, gfc-internal-format
 msgid "  candidate expects %d argument, %d provided"
 msgid_plural "  candidate expects %d arguments, %d provided"
@@ -49449,535 +49569,540 @@ msgstr ""
 msgid "enumerated and non-enumerated type in conditional expression"
 msgstr "kiểu không khớp trong biểu thức điều kiện"
 
-#: cp/call.cc:6610
+#: cp/call.cc:6621
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr ""
 
-#: cp/call.cc:6612
+#: cp/call.cc:6623
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs"
 msgstr ""
 
-#: cp/call.cc:6692
+#: cp/call.cc:6703
 #, gcc-internal-format
 msgid "in C++20 this comparison calls the current function recursively with reversed arguments"
 msgstr ""
 
-#: cp/call.cc:6743
+#: cp/call.cc:6754
 #, fuzzy, gcc-internal-format
 #| msgid "return type %q#T is incomplete"
 msgid "return type of %qD is not %qs"
 msgstr "kiểu trả về %q#T là một kiểu không hoàn toàn"
 
-#: cp/call.cc:6745
+#: cp/call.cc:6756
 #, gcc-internal-format
 msgid "used as rewritten candidate for comparison of %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:6816
+#: cp/call.cc:6827
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr "so sánh giữa %q#T và %q#T"
 
-#: cp/call.cc:7009
+#: cp/call.cc:7020
 #, fuzzy, gcc-internal-format
 #| msgid "no match for call to %<(%T) (%A)%>"
 msgid "no match for call to %<%T::operator[] (%A)%>"
 msgstr "cú gọi không khớp tới %<(%T) (%A)%>"
 
-#: cp/call.cc:7023
+#: cp/call.cc:7034
 #, fuzzy, gcc-internal-format
 #| msgid "call of %<(%T) (%A)%> is ambiguous"
 msgid "call of %<%T::operator[] (%A)%> is ambiguous"
 msgstr "cú gọi của %<(%T) (%A)%> chưa rõ ràng"
 
-#: cp/call.cc:7298
+#: cp/call.cc:7309
 #, gcc-internal-format
 msgid "exception cleanup for this placement new selects non-placement %<operator delete%>"
 msgstr ""
 
-#: cp/call.cc:7301
+#: cp/call.cc:7312
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is a usual (non-placement) deallocation function"
 msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)"
 msgstr "%qD thường không phải là hàm non-static"
 
-#: cp/call.cc:7338
+#: cp/call.cc:7349
 #, gcc-internal-format
 msgid "%qD is a usual (non-placement) deallocation function"
 msgstr "%qD thường không phải là hàm non-static"
 
-#: cp/call.cc:7532
+#: cp/call.cc:7543
 #, gcc-internal-format
 msgid "no corresponding deallocation function for %qD"
 msgstr ""
 
-#: cp/call.cc:7535
+#: cp/call.cc:7546
 #, gcc-internal-format
 msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet"
 msgstr ""
 
-#: cp/call.cc:7544
+#: cp/call.cc:7555
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr ""
 
-#: cp/call.cc:7580
+#: cp/call.cc:7591
 #, gcc-internal-format
 msgid "%q#D is private within this context"
 msgstr ""
 
-#: cp/call.cc:7581 cp/decl.cc:8502
+#: cp/call.cc:7592 cp/decl.cc:8629
 #, gcc-internal-format
 msgid "declared private here"
 msgstr "đã được khai báo ở đây"
 
-#: cp/call.cc:7586
+#: cp/call.cc:7597
 #, gcc-internal-format
 msgid "%q#D is protected within this context"
 msgstr ""
 
-#: cp/call.cc:7587 cp/decl.cc:8503
+#: cp/call.cc:7598 cp/decl.cc:8630
 #, gcc-internal-format
 msgid "declared protected here"
 msgstr "được khai báo bảo vệ ở đây"
 
-#: cp/call.cc:7594
+#: cp/call.cc:7605
 #, gcc-internal-format
 msgid "%q#D is inaccessible within this context"
 msgstr "%q#D là không thể truy cập trong ngữ cảnh này"
 
-#: cp/call.cc:7675
+#: cp/call.cc:7686
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:7678 cp/call.cc:7697 cp/decl.cc:10181 cp/decl.cc:10189
-#: cp/typeck.cc:4429
+#: cp/call.cc:7689 cp/call.cc:7708 cp/decl.cc:10308 cp/decl.cc:10316
+#: cp/typeck.cc:4438
 #, gcc-internal-format
 msgid "  declared here"
 msgstr "  đã được khai báo ở đây"
 
-#: cp/call.cc:7682
+#: cp/call.cc:7693
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr ""
 
-#: cp/call.cc:7694
+#: cp/call.cc:7705
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type for argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:7701
+#: cp/call.cc:7712
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type %qT"
 msgstr ""
 
-#: cp/call.cc:7768
+#: cp/call.cc:7779
 #, gcc-internal-format
 msgid "  initializing argument %P of %qD"
 msgstr "  đang khởi tạo đối số %P của %qD"
 
-#: cp/call.cc:7789
+#: cp/call.cc:7800
 #, fuzzy, gcc-internal-format
 msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "inline namespaces chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/call.cc:7839
+#: cp/call.cc:7850
 #, gcc-internal-format
 msgid "too many braces around initializer for %qT"
 msgstr ""
 
-#: cp/call.cc:7850
+#: cp/call.cc:7861
 msgid "converting to %qH from %qI requires direct-initialization"
 msgstr ""
 
-#: cp/call.cc:7859
+#: cp/call.cc:7870
 #, fuzzy
 #| msgid "invalid conversion from %qT to %qT"
 msgid "invalid user-defined conversion from %qH to %qI"
 msgstr "chuyển đổi từ %qT thành %qT không hợp lệ"
 
-#: cp/call.cc:7896 cp/cvt.cc:227
+#: cp/call.cc:7907 cp/cvt.cc:227
 #, fuzzy
 #| msgid "invalid conversion from %qT to %qT"
 msgid "invalid conversion from %qH to %qI"
 msgstr "chuyển đổi từ %qT thành %qT không hợp lệ"
 
-#: cp/call.cc:7938 cp/call.cc:7945
+#: cp/call.cc:7949 cp/call.cc:7956
 #, gcc-internal-format
 msgid "converting to %qT from initializer list would use explicit constructor %qD"
 msgstr ""
 
-#: cp/call.cc:7941
+#: cp/call.cc:7952
 #, gcc-internal-format
 msgid "in C++11 and above a default constructor can be explicit"
 msgstr ""
 
-#: cp/call.cc:8211
+#: cp/call.cc:8222
 #, fuzzy
 #| msgid "cannot convert type %qT to type %qT"
 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
-#: cp/call.cc:8220
+#: cp/call.cc:8231
 msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI"
 msgstr ""
 
-#: cp/call.cc:8225
+#: cp/call.cc:8236
 msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
 #. extype is volatile
-#: cp/call.cc:8228
+#: cp/call.cc:8239
 #, fuzzy
 #| msgid "cannot convert type %qT to type %qT"
 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
-#: cp/call.cc:8241
+#: cp/call.cc:8252
 msgid "cannot bind reference of type %qH to %qI due to different array bounds"
 msgstr ""
 
-#: cp/call.cc:8244
+#: cp/call.cc:8255
 msgid "binding reference of type %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:8283
+#: cp/call.cc:8294
 #, fuzzy, gcc-internal-format
 #| msgid "cannot bind %qT lvalue to %qT"
 msgid "cannot bind bit-field %qE to %qT"
 msgstr "không thể buộc %qT lvalue thành %qT"
 
-#: cp/call.cc:8286 cp/call.cc:8304
+#: cp/call.cc:8297 cp/call.cc:8315
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8289
+#: cp/call.cc:8300
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8484
+#: cp/call.cc:8495
 msgid "implicit conversion from %qH to %qI when passing argument to function"
 msgstr ""
 
-#: cp/call.cc:8511 cp/cvt.cc:1985
+#: cp/call.cc:8522 cp/cvt.cc:1988
 #, gcc-internal-format
 msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after"
 msgstr ""
 
-#: cp/call.cc:8555
+#: cp/call.cc:8566
 #, gcc-internal-format
 msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported"
 msgstr ""
 
-#: cp/call.cc:8591
+#: cp/call.cc:8602
 #, gcc-internal-format
 msgid "cannot receive reference type %qT through %<...%>"
 msgstr ""
 
-#: cp/call.cc:8601
+#: cp/call.cc:8612
 #, gcc-internal-format
 msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported"
 msgstr ""
 
-#: cp/call.cc:8669
+#: cp/call.cc:8680
 #, gcc-internal-format
 msgid "recursive evaluation of default argument for %q#D"
 msgstr ""
 
-#: cp/call.cc:8678
+#: cp/call.cc:8689
 #, gcc-internal-format
 msgid "call to %qD uses the default argument for parameter %P, which is not yet defined"
 msgstr ""
 
-#: cp/call.cc:8778
+#: cp/call.cc:8789
 #, gcc-internal-format
 msgid "argument of function call might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/call.cc:8840
+#: cp/call.cc:8851
 #, gcc-internal-format
 msgid "use of multiversioned function without a default"
 msgstr ""
 
-#: cp/call.cc:9442
+#: cp/call.cc:9454
 #, gcc-internal-format
 msgid "passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:9445 cp/call.cc:12115
+#: cp/call.cc:9457 cp/call.cc:12148
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  trong gọi đến %qD"
 
-#: cp/call.cc:9470
+#: cp/call.cc:9482
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr ""
 
-#: cp/call.cc:9667
+#: cp/call.cc:9679
 #, gcc-internal-format
 msgid "passing arguments to ellipsis of inherited constructor %qD"
 msgstr ""
 
-#: cp/call.cc:9802
+#: cp/call.cc:9814
 #, gcc-internal-format
 msgid "assignment from temporary %<initializer_list%> does not extend the lifetime of the underlying array"
 msgstr ""
 
-#: cp/call.cc:10198
+#: cp/call.cc:10210
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment"
 msgstr ""
 
-#: cp/call.cc:10201
+#: cp/call.cc:10213
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10206
+#: cp/call.cc:10218
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with %qs member %qD"
 msgstr ""
 
-#: cp/call.cc:10211
+#: cp/call.cc:10223
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT containing a pointer to data member%s"
 msgstr ""
 
-#: cp/call.cc:10226
+#: cp/call.cc:10238
 #, gcc-internal-format
 msgid "; use assignment or value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10228
+#: cp/call.cc:10240
 #, fuzzy, gcc-internal-format
 #| msgid "use #include instead"
 msgid "; use assignment instead"
 msgstr "sử dụng #include để thay thế"
 
-#: cp/call.cc:10230
+#: cp/call.cc:10242
 #, gcc-internal-format
 msgid "; use value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10233
+#: cp/call.cc:10245
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10236
+#: cp/call.cc:10248
 #, gcc-internal-format
 msgid "%qD clearing an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10238
+#: cp/call.cc:10250
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s"
 msgstr ""
 
-#: cp/call.cc:10259
+#: cp/call.cc:10271
 #, gcc-internal-format
 msgid "; use copy-assignment or copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10261
+#: cp/call.cc:10273
 #, fuzzy, gcc-internal-format
 #| msgid "use #include instead"
 msgid "; use copy-assignment instead"
 msgstr "sử dụng #include để thay thế"
 
-#: cp/call.cc:10263
+#: cp/call.cc:10275
 #, fuzzy, gcc-internal-format
 #| msgid "re-initialization of %qs at %L"
 msgid "; use copy-initialization instead"
 msgstr "khởi tạo lại của %qs tại %L"
 
-#: cp/call.cc:10266
+#: cp/call.cc:10278
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10269
+#: cp/call.cc:10281
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivially copyable type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10272
+#: cp/call.cc:10284
 #, gcc-internal-format
 msgid "%qD writing to an object with a deleted copy constructor"
 msgstr ""
 
-#: cp/call.cc:10283
+#: cp/call.cc:10295
 #, gcc-internal-format
 msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT"
 msgstr ""
 
-#: cp/call.cc:10295
+#: cp/call.cc:10307
 #, gcc-internal-format
 msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10312
+#: cp/call.cc:10324
 #, gcc-internal-format
 msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged"
 msgstr ""
 
-#: cp/call.cc:10315
+#: cp/call.cc:10327
 #, gcc-internal-format
 msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged"
 msgstr ""
 
-#: cp/call.cc:10325
+#: cp/call.cc:10337
 #, gcc-internal-format
 msgid "%qD moving an object of non-trivially copyable type %#qT; use %<new%> and %<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10328
+#: cp/call.cc:10340
 #, gcc-internal-format
 msgid "%qD moving an object of type %#qT with deleted copy constructor; use %<new%> and %<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10331
+#: cp/call.cc:10343
 #, gcc-internal-format
 msgid "%qD moving an object of type %#qT with deleted destructor"
 msgstr ""
 
-#: cp/call.cc:10340
+#: cp/call.cc:10352
 #, gcc-internal-format
 msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E"
 msgstr ""
 
-#: cp/call.cc:10362
+#: cp/call.cc:10374
 #, fuzzy, gcc-internal-format
 #| msgid "%qT declared here"
 msgid "%#qT declared here"
 msgstr "%qT được khai báo ở đây"
 
-#: cp/call.cc:10462
+#: cp/call.cc:10428
+#, fuzzy, gcc-internal-format
+msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)"
+msgstr "Cảnh báo khi xóa một con trỏ tới kiểu không hoàn toàn."
+
+#: cp/call.cc:10495
 #, gcc-internal-format
 msgid "constructor delegates to itself"
 msgstr ""
 
-#: cp/call.cc:10737 cp/typeck.cc:9870
+#: cp/call.cc:10770 cp/typeck.cc:9884
 #, fuzzy
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qH to %qI"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/call.cc:10759
+#: cp/call.cc:10792
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::operator %T(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:10791
+#: cp/call.cc:10824
 #, fuzzy, gcc-internal-format
 #| msgid "no match for call to %<(%T) (%A)%>"
 msgid "no matching function for call to %<%T::%s%E(%A)%#V%>"
 msgstr "cú gọi không khớp tới %<(%T) (%A)%>"
 
-#: cp/call.cc:10840
+#: cp/call.cc:10873
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr ""
 
-#: cp/call.cc:10878 cp/pt.cc:16471 cp/typeck.cc:3330
+#: cp/call.cc:10911 cp/pt.cc:16500 cp/typeck.cc:3339
 #, gcc-internal-format
 msgid "cannot call constructor %<%T::%D%> directly"
 msgstr "không thể gọi cấu tử %<%T::%D%> một cách trực tiếp"
 
-#: cp/call.cc:10880
+#: cp/call.cc:10913
 #, gcc-internal-format
 msgid "for a function-style cast, remove the redundant %<::%D%>"
 msgstr ""
 
-#: cp/call.cc:11072
+#: cp/call.cc:11105
 #, gcc-internal-format
 msgid "no matching function for call to %<%s(%A)%>"
 msgstr ""
 
-#: cp/call.cc:11075
+#: cp/call.cc:11108
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr "gọi hàm quá tải %<%s(%A)%> chưa rõ ràng"
 
-#: cp/call.cc:11098
+#: cp/call.cc:11131
 #, gcc-internal-format
 msgid "pure virtual %q#D called from non-static data member initializer"
 msgstr ""
 
-#: cp/call.cc:11103
+#: cp/call.cc:11136
 #, fuzzy, gcc-internal-format
 #| msgid "returning a value from a constructor"
 msgid "pure virtual %q#D called from constructor"
 msgstr "trả về một giá trị từ cấu tử"
 
-#: cp/call.cc:11104
+#: cp/call.cc:11137
 #, fuzzy, gcc-internal-format
 #| msgid "returning a value from a destructor"
 msgid "pure virtual %q#D called from destructor"
 msgstr "trả về một giá trị từ hủy tử"
 
-#: cp/call.cc:11127
+#: cp/call.cc:11160
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr ""
 
-#: cp/call.cc:12113
+#: cp/call.cc:12146
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.cc:12182
+#: cp/call.cc:12215
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr "đóng %qD thông qua %qD"
 
-#: cp/call.cc:12183
+#: cp/call.cc:12216
 #, fuzzy
 #| msgid "  for conversion from %qT to %qT"
 msgid "  for conversion from %qH to %qI"
 msgstr "  cho chuyển đổi từ %qT thành %qT"
 
-#: cp/call.cc:12186
+#: cp/call.cc:12219
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
 msgstr ""
 
-#: cp/call.cc:12436
+#: cp/call.cc:12469
 #, gcc-internal-format
 msgid "default argument mismatch in overload resolution"
 msgstr ""
 
-#: cp/call.cc:12440
+#: cp/call.cc:12473
 #, gcc-internal-format
 msgid " candidate 1: %q#F"
 msgstr " ứng cử 1: %q#F"
 
-#: cp/call.cc:12442
+#: cp/call.cc:12475
 #, gcc-internal-format
 msgid " candidate 2: %q#F"
 msgstr " ứng cử 2: %q#F"
 
-#: cp/call.cc:12488
+#: cp/call.cc:12521
 #, 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 ""
 
-#: cp/call.cc:12889
+#: cp/call.cc:12922
 #, gcc-internal-format
 msgid "a temporary bound to %qD only persists until the constructor exits"
 msgstr ""
 
-#: cp/call.cc:13044
+#: cp/call.cc:13077
 msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:13048
+#: cp/call.cc:13081
 msgid "invalid initialization of reference of type %qH from expression of type %qI"
 msgstr ""
 
@@ -50006,536 +50131,536 @@ msgstr ""
 msgid "cannot convert from %qT to base class %qT because %qT is incomplete"
 msgstr ""
 
-#: cp/class.cc:1204
+#: cp/class.cc:1209
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D inherited from %qT"
 msgid "%q#D conflicts with version inherited from %qT"
 msgstr "%q#D kế thừa từ %qT"
 
-#: cp/class.cc:1207
+#: cp/class.cc:1212
 #, fuzzy, gcc-internal-format
 #| msgid "routine %qD declared here"
 msgid "version inherited from %qT declared here"
 msgstr "%qD được khai báo ở đây"
 
-#: cp/class.cc:1225
+#: cp/class.cc:1231
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D cannot be overloaded"
 msgid "%q#D cannot be overloaded with %q#D"
 msgstr "%q+#D không thể được quá tải"
 
-#: cp/class.cc:1227 cp/decl.cc:1761 cp/decl.cc:1773 cp/decl.cc:1798
-#: cp/decl.cc:1821 cp/name-lookup.cc:2735 cp/name-lookup.cc:3049
+#: cp/class.cc:1233 cp/decl.cc:1798 cp/decl.cc:1810 cp/decl.cc:1835
+#: cp/decl.cc:1858 cp/name-lookup.cc:2738 cp/name-lookup.cc:3052
 #, gcc-internal-format
 msgid "previous declaration %q#D"
 msgstr "khai báo trước đây %q#D"
 
-#: cp/class.cc:1269
+#: cp/class.cc:1275
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.cc:1272
+#: cp/class.cc:1278
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.cc:1341
+#: cp/class.cc:1381
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local method %q+#D with same name"
 msgid "%qD invalid in %q#T because of local method %q#D with same name"
 msgstr "  bởi vì phương thức nội bộ %q+#D có cùng tên"
 
-#: cp/class.cc:1345
+#: cp/class.cc:1385
 #, fuzzy, gcc-internal-format
 msgid "local method %q#D declared here"
 msgstr "%qD được khai báo ở đây"
 
-#: cp/class.cc:1351
+#: cp/class.cc:1390
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local member %q+#D with same name"
 msgid "%qD invalid in %q#T because of local member %q#D with same name"
 msgstr "  bởi vì thành viên nội bộ %q+#D có cùng tên"
 
-#: cp/class.cc:1355
+#: cp/class.cc:1394
 #, fuzzy, gcc-internal-format
 #| msgid "array member %q#D declared here"
 msgid "local member %q#D declared here"
 msgstr "thành viên mảng %q#D đã khai báo ở đây"
 
-#: cp/class.cc:1432
+#: cp/class.cc:1465
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its return type) has"
 msgstr ""
 
-#: cp/class.cc:1435 cp/class.cc:1442 cp/class.cc:1449 cp/class.cc:1461
+#: cp/class.cc:1468 cp/class.cc:1475 cp/class.cc:1482 cp/class.cc:1494
 #: cp/cvt.cc:1098
 #, gcc-internal-format
 msgid "%qT declared here"
 msgstr "%qT được khai báo ở đây"
 
-#: cp/class.cc:1440
+#: cp/class.cc:1473
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its type) has"
 msgstr ""
 
-#: cp/class.cc:1447
+#: cp/class.cc:1480
 #, gcc-internal-format
 msgid "%qT does not have the %E ABI tag that base %qT has"
 msgstr ""
 
-#: cp/class.cc:1455
+#: cp/class.cc:1488
 #, gcc-internal-format
 msgid "%qT does not have the %E ABI tag that %qT (used in the type of %qD) has"
 msgstr ""
 
-#: cp/class.cc:1766
+#: cp/class.cc:1799
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.cc:2240
+#: cp/class.cc:2273
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.cc:2252
+#: cp/class.cc:2285
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.cc:2295
+#: cp/class.cc:2328
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.cc:2299
+#: cp/class.cc:2332
 #, gcc-internal-format
 msgid "%q#D is public, but requires an existing %q#T object"
 msgstr ""
 
-#: cp/class.cc:2589
+#: cp/class.cc:2622
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.cc:2949
+#: cp/class.cc:2982
 #, gcc-internal-format
 msgid "%qD can be marked override"
 msgstr "%q#D không thể được tạo đè"
 
-#: cp/class.cc:2952
+#: cp/class.cc:2985
 #, gcc-internal-format
 msgid "%q+#D marked %<override%>, but does not override"
 msgstr ""
 
-#: cp/class.cc:2967
+#: cp/class.cc:3000
 #, gcc-internal-format
 msgid "%q+#D marked %<final%>, but is not virtual"
 msgstr ""
 
-#: cp/class.cc:3029
+#: cp/class.cc:3062
 #, gcc-internal-format
 msgid "%qD was hidden"
 msgstr "%q+D bị ẩn"
 
-#: cp/class.cc:3030
+#: cp/class.cc:3063
 #, gcc-internal-format
 msgid "  by %qD"
 msgstr "  bởi %q+D"
 
-#: cp/class.cc:3242
+#: cp/class.cc:3275
 #, gcc-internal-format
 msgid "the ellipsis in %qD is not inherited"
 msgstr ""
 
-#: cp/class.cc:3434
+#: cp/class.cc:3467
 #, gcc-internal-format
 msgid "bit-field %q#D with non-integral type %qT"
 msgstr ""
 
-#: cp/class.cc:3450
+#: cp/class.cc:3483
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.cc:3455
+#: cp/class.cc:3488
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "độ rộng bị âm trong trường bít %q+D"
 
-#: cp/class.cc:3460
+#: cp/class.cc:3493
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "trường bít %q+D có độ rộng là không"
 
-#: cp/class.cc:3470
+#: cp/class.cc:3503
 #, gcc-internal-format
 msgid "width of %qD exceeds its type"
 msgstr ""
 
-#: cp/class.cc:3476
+#: cp/class.cc:3509
 #, gcc-internal-format
 msgid "%qD is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.cc:3537
+#: cp/class.cc:3570
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3540
+#: cp/class.cc:3573
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3542
+#: cp/class.cc:3575
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3546
+#: cp/class.cc:3579
 #, fuzzy, gcc-internal-format
 #| msgid "ref-qualifiers only available with -std=c++11 or -std=gnu++11"
 msgid "unrestricted unions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr "ref-qualifiers chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/class.cc:3662
+#: cp/class.cc:3695
 #, gcc-internal-format
 msgid "in C++98 %q+D may not be static because it is a member of a union"
 msgstr ""
 
-#: cp/class.cc:3675
+#: cp/class.cc:3708
 #, fuzzy, gcc-internal-format
 #| msgid "  non-static data member %qD has non-literal type"
 msgid "non-static data member %q+D in a union may not have reference type %qT"
 msgstr "  thành viên dữ liệu không-tĩnh %qD có kiểu không-văn-chương"
 
-#: cp/class.cc:3688
+#: cp/class.cc:3721
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD declared with void type"
 msgid "data member %q+D invalidly declared function type"
 msgstr "đối số %qD được khai báo với kiểu void"
 
-#: cp/class.cc:3694
+#: cp/class.cc:3727
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD declared with void type"
 msgid "data member %q+D invalidly declared method type"
 msgstr "đối số %qD được khai báo với kiểu void"
 
-#: cp/class.cc:3765
+#: cp/class.cc:3798
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q#D"
 msgstr ""
 
-#: cp/class.cc:3817
+#: cp/class.cc:3850
 #, gcc-internal-format
 msgid "member %q+D cannot be declared as a %<mutable%> reference"
 msgstr ""
 
-#: cp/class.cc:3820
+#: cp/class.cc:3853
 #, gcc-internal-format
 msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
 msgstr ""
 
-#: cp/class.cc:3851
+#: cp/class.cc:3884
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.cc:3853
+#: cp/class.cc:3886
 #, fuzzy, gcc-internal-format
 #| msgid "next member %q#D declared here"
 msgid "initialized member %q+D declared here"
 msgstr "thành viên kế %q#D đã khai báo ở đây"
 
-#: cp/class.cc:3901
+#: cp/class.cc:3934
 #, gcc-internal-format
 msgid "field %q#D with same name as class"
 msgstr "trường %q#D với cùng tên với lớp"
 
-#: cp/class.cc:3929
+#: cp/class.cc:3962
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T có thành viên dữ liệu con trỏ"
 
-#: cp/class.cc:3934
+#: cp/class.cc:3967
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override %<%T(const %T&)%>"
 msgid "  but does not declare %<%T(const %T&)%>"
 msgstr "  nhưng không đè %<%T(const %T&)%>"
 
-#: cp/class.cc:3936
+#: cp/class.cc:3969
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  hoặc %<operator=(const %T&)%>"
 
-#: cp/class.cc:3940
+#: cp/class.cc:3973
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override %<operator=(const %T&)%>"
 msgid "  but does not declare %<operator=(const %T&)%>"
 msgstr "  nhưng không được ghi đè %<operator=(const %T&)%>"
 
-#: cp/class.cc:3942
+#: cp/class.cc:3975
 #, fuzzy, gcc-internal-format
 #| msgid "next member %q#D declared here"
 msgid "pointer member %q+D declared here"
 msgstr "thành viên kế %q#D đã khai báo ở đây"
 
-#: cp/class.cc:4399
+#: cp/class.cc:4432
 #, gcc-internal-format
 msgid "alignment of %qD increased in %<-fabi-version=9%> (GCC 5.2)"
 msgstr ""
 
-#: cp/class.cc:4402
+#: cp/class.cc:4435
 #, gcc-internal-format
 msgid "alignment of %qD will increase in %<-fabi-version=9%>"
 msgstr ""
 
-#: cp/class.cc:4730
+#: cp/class.cc:4763
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.cc:4763
+#: cp/class.cc:4796
 #, fuzzy, gcc-internal-format
 #| msgid "conversion from %qT to %qT is ambiguous"
 msgid "destructor for %qT is ambiguous"
 msgstr "chuyển đổi từ %qT sang %qT là chưa rõ ràng"
 
-#: cp/class.cc:5216
+#: cp/class.cc:5249
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.cc:5237
+#: cp/class.cc:5270
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.cc:5861 cp/constexpr.cc:261
+#: cp/class.cc:5894 cp/constexpr.cc:261
 #, gcc-internal-format
 msgid "enclosing class of %<constexpr%> non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.cc:5887
+#: cp/class.cc:5920
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%q+T không là kiểu văn chương vì:"
 
-#: cp/class.cc:5890
+#: cp/class.cc:5923
 #, gcc-internal-format
 msgid "  %qT is a closure type, which is only literal in C++17 and later"
 msgstr ""
 
-#: cp/class.cc:5893
+#: cp/class.cc:5926
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/class.cc:5896
+#: cp/class.cc:5929
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  %q+T does not have %<constexpr%> destructor"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/class.cc:5904
+#: cp/class.cc:5937
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no %<constexpr%> constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.cc:5937
+#: cp/class.cc:5970
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "  lớp cơ sở %qT của %q+T là non-literal"
 
-#: cp/class.cc:5952
+#: cp/class.cc:5985
 #, gcc-internal-format
 msgid "  non-static data member %qD has non-literal type"
 msgstr "  thành viên dữ liệu không-tĩnh %qD có kiểu không-văn-chương"
 
-#: cp/class.cc:5959
+#: cp/class.cc:5992
 #, gcc-internal-format
 msgid "  non-static data member %qD has volatile type"
 msgstr "  thành viên dữ liệu không-tĩnh %qD có kiểu hay thay đổi"
 
-#: cp/class.cc:6090
+#: cp/class.cc:6123
 #, gcc-internal-format
 msgid "base class %q#T has accessible non-virtual destructor"
 msgstr "lớp cơ sở %q+T có một hủy tử non-trivial truy cập được"
 
-#: cp/class.cc:6119
+#: cp/class.cc:6152
 #, gcc-internal-format
 msgid "non-static reference %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6125
+#: cp/class.cc:6158
 #, gcc-internal-format
 msgid "non-static const member %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6457
+#: cp/class.cc:6490
 #, gcc-internal-format
 msgid "offset of %qT base class for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC 12)"
 msgstr ""
 
-#: cp/class.cc:6461
+#: cp/class.cc:6494
 #, gcc-internal-format
 msgid "offset of %qD for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC 12)"
 msgstr ""
 
-#: cp/class.cc:6501
+#: cp/class.cc:6534
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6513
+#: cp/class.cc:6546
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6755
+#: cp/class.cc:6788
 #, gcc-internal-format
 msgid "offset of %qD is not ABI-compliant and may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.cc:6950
+#: cp/class.cc:6983
 #, gcc-internal-format
 msgid "size of type %qT is too large (%qE bytes)"
 msgstr ""
 
-#: cp/class.cc:7236
+#: cp/class.cc:7269
 #, gcc-internal-format
 msgid "invalid use of %q#T with a zero-size array in %q#D"
 msgstr ""
 
-#: cp/class.cc:7238
+#: cp/class.cc:7271
 #, gcc-internal-format
 msgid "invalid use of %q#T with a flexible array member in %q#T"
 msgstr ""
 
-#: cp/class.cc:7243
+#: cp/class.cc:7276
 #, gcc-internal-format
 msgid "array member %q#D declared here"
 msgstr "thành viên mảng %q#D đã khai báo ở đây"
 
-#: cp/class.cc:7271
+#: cp/class.cc:7304
 #, gcc-internal-format
 msgid "zero-size array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7273
+#: cp/class.cc:7306
 #, gcc-internal-format
 msgid "zero-size array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7282 cp/class.cc:7313
+#: cp/class.cc:7315 cp/class.cc:7346
 #, gcc-internal-format
 msgid "in the definition of %q#T"
 msgstr "trong định nghĩa của %q#T"
 
-#: cp/class.cc:7290
+#: cp/class.cc:7323
 #, gcc-internal-format
 msgid "flexible array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7292
+#: cp/class.cc:7325
 #, gcc-internal-format
 msgid "flexible array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7311
+#: cp/class.cc:7344
 #, gcc-internal-format
 msgid "next member %q#D declared here"
 msgstr "thành viên kế %q#D đã khai báo ở đây"
 
-#: cp/class.cc:7425 cp/decl.cc:16682 cp/parser.cc:26624
+#: cp/class.cc:7458 cp/decl.cc:16815 cp/parser.cc:26622
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "định nghĩa lại của %q#T"
 
-#: cp/class.cc:7569
+#: cp/class.cc:7602
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:7597
+#: cp/class.cc:7630
 #, gcc-internal-format
 msgid "type transparent %q#T does not have any fields"
 msgstr ""
 
-#: cp/class.cc:7603
+#: cp/class.cc:7636
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.cc:7607
+#: cp/class.cc:7640
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.cc:7613
+#: cp/class.cc:7646
 #, gcc-internal-format
 msgid "type transparent %q#T cannot be made transparent because the type of the first field has a different ABI from the class overall"
 msgstr ""
 
-#: cp/class.cc:7772
+#: cp/class.cc:7798
 #, gcc-internal-format
 msgid "definition of %qD does not match %<#include <initializer_list>%>"
 msgstr ""
 
-#: cp/class.cc:7783
+#: cp/class.cc:7809
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.cc:8290
+#: cp/class.cc:8316
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.cc:8380
+#: cp/class.cc:8406
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.cc:8538
+#: cp/class.cc:8564
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.cc:8565
+#: cp/class.cc:8591
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.cc:8592
+#: cp/class.cc:8618
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.cc:8595
+#: cp/class.cc:8621
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.cc:8671 cp/class.cc:8713
+#: cp/class.cc:8697 cp/class.cc:8739
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "không đủ thông tin kiểu"
 
-#: cp/class.cc:8691
+#: cp/class.cc:8717
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
 
-#: cp/class.cc:8965
+#: cp/class.cc:8991
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %qD as member of %qT"
 msgid "declaration of %q#D changes meaning of %qD"
 msgstr "sự khai báo của %qD như là thành viên của %qT"
 
-#: cp/class.cc:8968
+#: cp/class.cc:8994
 #, fuzzy, gcc-internal-format
 #| msgid "redeclared here as %q#D"
 msgid "%qD declared here as %q#D"
@@ -50573,7 +50698,7 @@ msgstr ""
 msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
 msgstr ""
 
-#: cp/constexpr.cc:232 cp/decl.cc:13817
+#: cp/constexpr.cc:232 cp/decl.cc:13944
 #, fuzzy, gcc-internal-format
 msgid "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
@@ -50626,7 +50751,7 @@ msgstr "%<constexpr%> không thể dùng cho khai báo kiểu"
 msgid "%q+E is not a constant expression"
 msgstr "%q+E không phải biểu thức hằng"
 
-#: cp/constexpr.cc:1851 cp/constexpr.cc:8494
+#: cp/constexpr.cc:1851 cp/constexpr.cc:8594
 #, fuzzy, gcc-internal-format
 msgid "call to internal function %qE"
 msgstr "gọi hàm nội bộ"
@@ -50675,7 +50800,7 @@ msgstr "  %qT là lớp cơ sở chưa rõ ràng của %qT"
 msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2315 cp/constexpr.cc:2590 cp/constexpr.cc:8526
+#: cp/constexpr.cc:2315 cp/constexpr.cc:2590 cp/constexpr.cc:8626
 #, fuzzy, gcc-internal-format
 msgid "call to non-%<constexpr%> function %qD"
 msgstr "gọi hàm nội bộ"
@@ -50800,8 +50925,8 @@ msgstr ""
 msgid "dereferencing a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4077 cp/constexpr.cc:4176 cp/constexpr.cc:6528
-#: cp/constexpr.cc:6627 cp/constexpr.cc:8446
+#: cp/constexpr.cc:4077 cp/constexpr.cc:4176 cp/constexpr.cc:6606
+#: cp/constexpr.cc:6705 cp/constexpr.cc:8546
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE không phải là biểu thức hằng"
@@ -50904,7 +51029,7 @@ msgstr ""
 msgid "%qs cannot be constant evaluated because the argument cannot be interpreted"
 msgstr ""
 
-#: cp/constexpr.cc:5341 cp/constexpr.cc:7223
+#: cp/constexpr.cc:5341 cp/constexpr.cc:7302
 #, fuzzy, gcc-internal-format
 msgid "dereferencing a null pointer"
 msgstr "con trỏ rỗng"
@@ -50983,7 +51108,7 @@ msgstr "Đổi giá trị trong chuyển đổi từ %qs sang %qs tại %L"
 msgid "change of the active member of a union from %qD to %qD during initialization"
 msgstr ""
 
-#: cp/constexpr.cc:6185 cp/constexpr.cc:7489
+#: cp/constexpr.cc:6185 cp/constexpr.cc:7581
 #, fuzzy, gcc-internal-format
 msgid "statement is not a constant expression"
 msgstr "lệnh không phải biểu thức hằng"
@@ -51030,193 +51155,196 @@ msgstr ""
 msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>"
 msgstr ""
 
-#: cp/constexpr.cc:6490
+#: cp/constexpr.cc:6568
 #, fuzzy, gcc-internal-format
 msgid "value %qE of type %qT is not a constant expression"
 msgstr "%qE không phải là biểu thức hằng"
 
-#: cp/constexpr.cc:6503
+#: cp/constexpr.cc:6581
 #, gcc-internal-format
 msgid "%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:6655
+#: cp/constexpr.cc:6734
 #, gcc-internal-format
-msgid "control passes through declaration of %qD with thread storage duration"
+msgid "control passes through definition of %qD with thread storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:6658
-#, fuzzy, gcc-internal-format
-#| msgid "previous declaration of %qD with attribute noinline"
-msgid "control passes through declaration of %qD with static storage duration"
-msgstr "khai báo trước đây của %qD với không chung dòng thuộc tính"
+#: cp/constexpr.cc:6737
+#, gcc-internal-format
+msgid "control passes through definition of %qD with static storage duration"
+msgstr ""
 
-#: cp/constexpr.cc:6706 cp/constexpr.cc:9119
+#: cp/constexpr.cc:6785 cp/constexpr.cc:9226
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7142 cp/constexpr.cc:8651
+#: cp/constexpr.cc:7221 cp/constexpr.cc:8751
 #, fuzzy, gcc-internal-format
 msgid "%<reinterpret_cast%> is not a constant expression"
 msgstr "lệnh không phải biểu thức hằng"
 
-#: cp/constexpr.cc:7170
+#: cp/constexpr.cc:7249
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7198
+#: cp/constexpr.cc:7277
 #, fuzzy, gcc-internal-format
 #| msgid "%s\"%s\"%s is not allowed"
 msgid "cast from %qT is not allowed"
 msgstr "%s\"%s\"%s là không được phép"
 
-#: cp/constexpr.cc:7234
+#: cp/constexpr.cc:7313
 #, fuzzy, gcc-internal-format
 msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/constexpr.cc:7339 cp/constexpr.cc:8945 cp/constexpr.cc:9335
+#: cp/constexpr.cc:7431 cp/constexpr.cc:9045 cp/constexpr.cc:9446
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant expression"
 msgstr "biểu thức %qE không phải là biểu thức hằng"
 
-#: cp/constexpr.cc:7386 cp/constexpr.cc:9373
+#: cp/constexpr.cc:7478 cp/constexpr.cc:9485
 #, fuzzy, gcc-internal-format
 msgid "%<goto%> is not a constant expression"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/constexpr.cc:7442
+#: cp/constexpr.cc:7534
 #, fuzzy, gcc-internal-format
 #| msgid "expected template-id"
 msgid "unexpected template-id %qE"
 msgstr "cần template-id"
 
-#: cp/constexpr.cc:7448 cp/constraint.cc:178 cp/constraint.cc:714
+#: cp/constexpr.cc:7540 cp/constraint.cc:178 cp/constraint.cc:714
 #, gcc-internal-format
 msgid "function concept must be called"
 msgstr ""
 
-#: cp/constexpr.cc:7473
+#: cp/constexpr.cc:7565
 #, fuzzy, gcc-internal-format
 msgid "address of a call to %qs is not a constant expression"
 msgstr "biểu thức %qE không phải là biểu thức hằng"
 
-#: cp/constexpr.cc:7492
+#: cp/constexpr.cc:7584
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/constexpr.cc:7727
+#: cp/constexpr.cc:7842
 #, gcc-internal-format
 msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT"
 msgstr ""
 
-#: cp/constexpr.cc:7735
+#: cp/constexpr.cc:7850
 #, gcc-internal-format
 msgid "%qE is not a constant expression because it refers to an incompletely initialized variable"
 msgstr ""
 
-#: cp/constexpr.cc:7750
+#: cp/constexpr.cc:7865
 #, gcc-internal-format
 msgid "%qE is not a constant expression because it refers to a result of %<operator new%>"
 msgstr ""
 
-#: cp/constexpr.cc:7761
+#: cp/constexpr.cc:7876
 #, gcc-internal-format
 msgid "%qE is not a constant expression because allocated storage has not been deallocated"
 msgstr ""
 
-#: cp/constexpr.cc:7779
+#: cp/constexpr.cc:7894
 #, gcc-internal-format
 msgid "immediate evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:8386
+#: cp/constexpr.cc:8486
 #, gcc-internal-format
 msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:8616
+#: cp/constexpr.cc:8716
 #, fuzzy, gcc-internal-format
 msgid "lambda capture of %qE is not a constant expression"
 msgstr "bổ từ %qE không phải là biểu thức hằng"
 
-#: cp/constexpr.cc:8619
+#: cp/constexpr.cc:8719
 #, gcc-internal-format
 msgid "because it is used as a glvalue"
 msgstr ""
 
-#: cp/constexpr.cc:8671
+#: cp/constexpr.cc:8771
 #, fuzzy, gcc-internal-format
 msgid "%<reinterpret_cast%> from integer to pointer"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/constexpr.cc:8704
+#: cp/constexpr.cc:8804
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8743
+#: cp/constexpr.cc:8843
 #, gcc-internal-format
 msgid "use of %<this%> in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8891
+#: cp/constexpr.cc:8991
 #, fuzzy, gcc-internal-format
 #| msgid "lambda-expression in a constant expression"
 msgid "lambda-expression is not a constant expression before C++17"
 msgstr "Gặp biểu thức lambda trong biểu thức bất biến"
 
-#: cp/constexpr.cc:8959
+#: cp/constexpr.cc:9059
 #, fuzzy, gcc-internal-format
 #| msgid "a destructor cannot be %<constexpr%>"
 msgid "virtual functions cannot be %<constexpr%> before C++20"
 msgstr "hủy tử không thể là %<constexpr%>"
 
-#: cp/constexpr.cc:8974
+#: cp/constexpr.cc:9074
 #, fuzzy, gcc-internal-format
 msgid "%<typeid%> is not a constant expression because %qE is of polymorphic type"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/constexpr.cc:9038
+#: cp/constexpr.cc:9138
 #, gcc-internal-format
 msgid "cast to non-integral type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9088
-#, fuzzy, gcc-internal-format
-#| msgid "%qD declared %<constexpr%> outside its class"
-msgid "%qD declared %<thread_local%> in %<constexpr%> context"
-msgstr "%qD được khai báo %<constexpr%> ngoài lớp của nó"
+#: cp/constexpr.cc:9195
+#, gcc-internal-format
+msgid "%qD defined %<thread_local%> in %<constexpr%> context"
+msgstr ""
 
-#: cp/constexpr.cc:9095
-#, fuzzy, gcc-internal-format
-msgid "%qD declared %<static%> in %<constexpr%> context"
-msgstr "%q+F được dùng mà chưa từng được định nghĩa"
+#: cp/constexpr.cc:9202
+#, gcc-internal-format
+msgid "%qD defined %<static%> in %<constexpr%> context"
+msgstr ""
 
-#: cp/constexpr.cc:9168
+#: cp/constexpr.cc:9275
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant expression"
 msgstr "bổ từ %qE không phải là biểu thức hằng"
 
-#: cp/constexpr.cc:9269
+#: cp/constexpr.cc:9376
 #, fuzzy, gcc-internal-format
 msgid "%<delete[]%> is not a constant expression"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/constexpr.cc:9343
+#: cp/constexpr.cc:9444
+#, fuzzy, gcc-internal-format
+msgid "neither branch of %<if%> is a constant expression"
+msgstr "bổ từ %qE không phải là biểu thức hằng"
+
+#: cp/constexpr.cc:9455
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr ""
 
-#: cp/constexpr.cc:9382
+#: cp/constexpr.cc:9494
 #, fuzzy, gcc-internal-format
 msgid "label definition in %<constexpr%> function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/constexpr.cc:9412
+#: cp/constexpr.cc:9524
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "cần AST thuộc kiểu %s"
@@ -51253,306 +51381,365 @@ msgstr "không có đối số nào"
 msgid "argument %qE"
 msgstr "Đối số âm N tại %L"
 
-#: cp/constraint.cc:1141
+#: cp/constraint.cc:1150
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not at beginning of declaration"
 msgid "%qT does not match original declaration"
 msgstr "%qE không ở đầu của khai báo"
 
-#: cp/constraint.cc:1144
+#: cp/constraint.cc:1153
 #, fuzzy, gcc-internal-format
 #| msgid "for template declaration %q+D"
 msgid "original template declaration here"
 msgstr "cho khai báo hàm mẫu %q+D"
 
-#: cp/constraint.cc:1348
+#: cp/constraint.cc:1352
 #, fuzzy, gcc-internal-format
 #| msgid "no match for "
 msgid "no matching concepts for %qE"
 msgstr "không khớp cho"
 
-#: cp/constraint.cc:1649
+#: cp/constraint.cc:1653
 #, gcc-internal-format
 msgid "%qE cannot be introduced with an ellipsis %<...%>"
 msgstr ""
 
-#: cp/constraint.cc:1650
+#: cp/constraint.cc:1654
 #, fuzzy, gcc-internal-format
 #| msgid "previously declared here"
 msgid "prototype declared here"
 msgstr "đã khai báo trước ở đây"
 
-#: cp/constraint.cc:1737
+#: cp/constraint.cc:1741
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "all template parameters of %qD must be introduced"
 msgstr "các đối số tạm không thể là bạn"
 
-#: cp/constraint.cc:1765
+#: cp/constraint.cc:1769
 #, fuzzy, gcc-internal-format
 #| msgid "got %d template parameters for %q#D"
 msgid "cannot deduce template parameters from introduction list"
 msgstr "nhận được %d đối số mẫu cho %q#D"
 
-#: cp/constraint.cc:1929
+#: cp/constraint.cc:1933
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "the required expression %qE is invalid, because"
 msgstr "biểu thức nguyên %qE không là hằng"
 
-#: cp/constraint.cc:1936
+#: cp/constraint.cc:1940
 #, fuzzy, gcc-internal-format
 #| msgid "multilib exclusion %qs is invalid"
 msgid "the required expression %qE is invalid"
 msgstr "sự loại từ đa thư viện %qs không hợp lệ"
 
 #. Replay the substitution error.
-#: cp/constraint.cc:1975
+#: cp/constraint.cc:1979
 #, fuzzy, gcc-internal-format
 #| msgid "return type %q#T is incomplete"
 msgid "the required type %qT is invalid, because"
 msgstr "kiểu trả về %q#T là một kiểu không hoàn toàn"
 
-#: cp/constraint.cc:1979
+#: cp/constraint.cc:1983
 #, fuzzy, gcc-internal-format
 #| msgid "return type %q#T is incomplete"
 msgid "the required type %qT is invalid"
 msgstr "kiểu trả về %q#T là một kiểu không hoàn toàn"
 
-#: cp/constraint.cc:2032 cp/constraint.cc:2105
+#: cp/constraint.cc:2036 cp/constraint.cc:2109
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qE to %qT"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/constraint.cc:2058
+#: cp/constraint.cc:2062
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a template"
 msgid "%qE is not %<noexcept%>"
 msgstr "%qE không phải là một mẫu"
 
-#: cp/constraint.cc:2082
+#: cp/constraint.cc:2086
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement, because"
 msgstr ""
 
-#: cp/constraint.cc:2089
+#: cp/constraint.cc:2093
 #, fuzzy, gcc-internal-format
 #| msgid "insn does not satisfy its constraints:"
 msgid "%qE does not satisfy return-type-requirement"
 msgstr "lệnh không thỏa những ràng buộc của nó:"
 
-#: cp/constraint.cc:2100
+#: cp/constraint.cc:2104
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qE to %qT because"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2132
+#: cp/constraint.cc:2136
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied, because"
 msgstr ""
 
-#: cp/constraint.cc:2136
+#: cp/constraint.cc:2140
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2623
+#: cp/constraint.cc:2627
 #, gcc-internal-format
 msgid "satisfaction of atomic constraint %qE depends on itself"
 msgstr ""
 
-#: cp/constraint.cc:2669
+#: cp/constraint.cc:2673
 #, gcc-internal-format
 msgid "satisfaction value of atomic constraint %qE changed from %qE to %qE"
 msgstr ""
 
-#: cp/constraint.cc:2672
+#: cp/constraint.cc:2676
 #, gcc-internal-format
 msgid "satisfaction value first evaluated to %qE from here"
 msgstr ""
 
-#: cp/constraint.cc:2789
+#: cp/constraint.cc:2793
 #, gcc-internal-format
 msgid "no operand of the disjunction is satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2802
+#: cp/constraint.cc:2806
 #, gcc-internal-format
 msgid "the operand %qE is unsatisfied because"
 msgstr ""
 
-#: cp/constraint.cc:3422
+#: cp/constraint.cc:3439
 #, fuzzy, gcc-internal-format
 #| msgid "in definition of macro %qs"
 msgid "definition of concept %qD is empty"
 msgstr "trong phần định nghĩa macro %qs"
 
-#: cp/constraint.cc:3425
+#: cp/constraint.cc:3442
 #, gcc-internal-format
 msgid "definition of concept %qD has multiple statements"
 msgstr ""
 
-#: cp/constraint.cc:3571
+#: cp/constraint.cc:3588
 #, gcc-internal-format
 msgid "  %qT is not %<nothrow%> copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3574
+#: cp/constraint.cc:3591 cp/constraint.cc:3686
 #, gcc-internal-format
 msgid "  %qT is not %<nothrow%> default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3577
+#: cp/constraint.cc:3594
 #, gcc-internal-format
 msgid "  %qT is not %<nothrow%> copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3580
+#: cp/constraint.cc:3597
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not a valid class name"
 msgid "  %qT is not trivially copy assignable"
 msgstr "“%qs” không phải là một tên lớp đúng"
 
-#: cp/constraint.cc:3583
+#: cp/constraint.cc:3600 cp/constraint.cc:3680
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  %qT is not trivially default constructible"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/constraint.cc:3586
+#: cp/constraint.cc:3603
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  %qT is not trivially copy constructible"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/constraint.cc:3589
+#: cp/constraint.cc:3606
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  %qT is not trivially destructible"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/constraint.cc:3592
+#: cp/constraint.cc:3609
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  %qT does not have a virtual destructor"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/constraint.cc:3595
+#: cp/constraint.cc:3612
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "  %qT is not an abstract class"
 msgstr "%q#T không phải là một lớp"
 
-#: cp/constraint.cc:3598
+#: cp/constraint.cc:3615
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a base of %qT"
 msgid "  %qT is not a base of %qT"
 msgstr "%qT không là cơ sở của %qT"
 
-#: cp/constraint.cc:3601
+#: cp/constraint.cc:3618
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "  %qT is not a class"
 msgstr "%q#T không phải là một lớp"
 
-#: cp/constraint.cc:3604
+#: cp/constraint.cc:3621
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "  %qT is not an empty class"
 msgstr "%q#T không phải là một lớp"
 
-#: cp/constraint.cc:3607
+#: cp/constraint.cc:3624
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a template"
 msgid "  %qT is not an enum"
 msgstr "%qT không phải một mẫu"
 
-#: cp/constraint.cc:3610
+#: cp/constraint.cc:3627
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "  %qT is not a final class"
 msgstr "%q#T không phải là một lớp"
 
-#: cp/constraint.cc:3613
+#: cp/constraint.cc:3630
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not compatible with %qD"
 msgid "  %qT is not layout compatible with %qT"
 msgstr "%qD không tương thích với %qD"
 
-#: cp/constraint.cc:3616
+#: cp/constraint.cc:3633
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class type"
 msgid "  %qT is not a literal type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/constraint.cc:3619
+#: cp/constraint.cc:3636
 #, fuzzy, gcc-internal-format
 #| msgid "type %qT is not a direct base of %qT"
 msgid "  %qT is not pointer-interconvertible base of %qT"
 msgstr "kiểu %qT không là cơ sở trực tiếp của %qT"
 
-#: cp/constraint.cc:3623
+#: cp/constraint.cc:3640
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a type"
 msgid "  %qT is not a POD type"
 msgstr "%qD không phải là một kiểu"
 
-#: cp/constraint.cc:3626
+#: cp/constraint.cc:3643
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class type"
 msgid "  %qT is not a polymorphic type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/constraint.cc:3629
+#: cp/constraint.cc:3646
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a base of %qT"
 msgid "  %qT is not the same as %qT"
 msgstr "%qT không là cơ sở của %qT"
 
-#: cp/constraint.cc:3632
+#: cp/constraint.cc:3649
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a template type"
 msgid "  %qT is not an standard layout type"
 msgstr "%qT không phải là một kiểu mẫu"
 
-#: cp/constraint.cc:3635
+#: cp/constraint.cc:3652
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class type"
 msgid "  %qT is not a trivial type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/constraint.cc:3638
+#: cp/constraint.cc:3655
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L is not a function"
 msgid "  %qT is not a union"
 msgstr "“%qs” tại %L không phải là một hàm"
 
-#: cp/constraint.cc:3660
+#: cp/constraint.cc:3658
+#, fuzzy, gcc-internal-format
+#| msgid "%qT is not a template"
+msgid "  %qT is not an aggregate"
+msgstr "%qT không phải một mẫu"
+
+#: cp/constraint.cc:3661
+#, fuzzy, gcc-internal-format
+#| msgid "%q+T is not literal because:"
+msgid "  %qT is not trivially copyable"
+msgstr "%q+T không là kiểu văn chương vì:"
+
+#: cp/constraint.cc:3664
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not assignable from %qT"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3667
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not trivially assignable from %qT"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3670
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not %<nothrow%> assignable from %qT"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3674
+#, fuzzy, gcc-internal-format
+#| msgid "and %qT has no template constructors"
+msgid "  %qT is not default constructible"
+msgstr "và %qT không có các cấu tử mẫu"
+
+#: cp/constraint.cc:3676
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not constructible from %qE"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3682
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not trivially constructible from %qE"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3688
+#, fuzzy, gcc-internal-format
+#| msgid "  %qT is not derived from %qT"
+msgid "  %qT is not %<nothrow%> constructible from %qE"
+msgstr "  %qT không được dẫn xuất từ %qT"
+
+#: cp/constraint.cc:3691
+#, gcc-internal-format
+msgid "  %qT does not have unique object representations"
+msgstr ""
+
+#: cp/constraint.cc:3717
 #, fuzzy, gcc-internal-format
 #| msgid "invalid constant"
 msgid "invalid constraints"
 msgstr "hằng không hợp lệ"
 
-#: cp/constraint.cc:3686
+#: cp/constraint.cc:3742
 #, gcc-internal-format
 msgid "constraint %qE has type %qT, not %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:3689
+#: cp/constraint.cc:3745
 #, gcc-internal-format
 msgid "the expression %qE evaluated to %<false%>"
 msgstr ""
 
-#: cp/constraint.cc:3740
+#: cp/constraint.cc:3796
 #, fuzzy, gcc-internal-format
 #| msgid "constant refers to itself"
 msgid "constraints not satisfied"
 msgstr "hằng tham chiếu đến chính nó"
 
-#: cp/constraint.cc:3755
+#: cp/constraint.cc:3811
 #, gcc-internal-format
 msgid "set %qs to at least %d for more detail"
 msgstr ""
@@ -51752,68 +51939,68 @@ msgstr ""
 msgid "cannot initialize a return object of type %qT with an rvalue of type %<void%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:154
+#: cp/cp-gimplify.cc:155
 #, gcc-internal-format
 msgid "both branches of %<if%> statement marked as %qs"
 msgstr ""
 
-#: cp/cp-gimplify.cc:980 cp/cp-gimplify.cc:992
+#: cp/cp-gimplify.cc:981 cp/cp-gimplify.cc:993
 #, fuzzy, gcc-internal-format
 #| msgid "taking address of destructor %qE"
 msgid "taking address of an immediate function %qD"
 msgstr "lấy địa chỉ của hủy tử %qE"
 
-#: cp/cp-gimplify.cc:1552
+#: cp/cp-gimplify.cc:1553
 #, gcc-internal-format
 msgid "%<throw%> will always call %<terminate%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1555
+#: cp/cp-gimplify.cc:1556
 #, fuzzy, gcc-internal-format
 #| msgid "a destructor cannot be %<concept%>"
 msgid "in C++11 destructors default to %<noexcept%>"
 msgstr "hủy tử không thể là %<concept%>"
 
-#: cp/cp-gimplify.cc:1567
+#: cp/cp-gimplify.cc:1568
 #, gcc-internal-format
 msgid "in C++11 this %<throw%> will call %<terminate%> because destructors default to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3028
+#: cp/cp-gimplify.cc:3064
 #, fuzzy, gcc-internal-format
 msgid "ignoring attribute %qE after earlier %qE"
 msgstr "dùng %<auto%> không hợp lệ trong đối số mẫu"
 
-#: cp/cp-gimplify.cc:3050 cp/cp-gimplify.cc:3062 cp/decl.cc:4070
+#: cp/cp-gimplify.cc:3086 cp/cp-gimplify.cc:3098 cp/decl.cc:4126
 #: cp/method.cc:978
 #, gcc-internal-format
 msgid "%qD is not a type"
 msgstr "%qD không phải là một kiểu"
 
-#: cp/cp-gimplify.cc:3068
+#: cp/cp-gimplify.cc:3104
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class type"
 msgid "%qD is not a class type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/cp-gimplify.cc:3085
+#: cp/cp-gimplify.cc:3121
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not have pointer or array type"
 msgid "%qD does not have %<const char *%> type"
 msgstr "%qE không có con trỏ hay kiểu mảng"
 
-#: cp/cp-gimplify.cc:3096
+#: cp/cp-gimplify.cc:3132
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not have pointer or array type"
 msgid "%qD does not have integral type"
 msgstr "%qE không có con trỏ hay kiểu mảng"
 
-#: cp/cp-gimplify.cc:3108
+#: cp/cp-gimplify.cc:3144
 #, gcc-internal-format
 msgid "%<std::source_location::__impl%> does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3212
+#: cp/cp-gimplify.cc:3248
 #, fuzzy, gcc-internal-format
 #| msgid "Creating '%s'\n"
 msgid "evaluating %qs"
@@ -51863,7 +52050,7 @@ msgstr ""
 msgid "conversion from %qH to %qI discards qualifiers"
 msgstr "chuyển đổi từ %qT sang %qT là chưa rõ ràng"
 
-#: cp/cvt.cc:498 cp/typeck.cc:8346
+#: cp/cvt.cc:498 cp/typeck.cc:8360
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr ""
@@ -52076,118 +52263,118 @@ msgstr ""
 msgid "variable %qE of incomplete type %qT will not be accessed in for increment expression"
 msgstr ""
 
-#: cp/cvt.cc:1498
+#: cp/cvt.cc:1501
 #, gcc-internal-format
 msgid "conversion to void cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1502
+#: cp/cvt.cc:1505
 #, gcc-internal-format
 msgid "second operand of conditional expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1506
+#: cp/cvt.cc:1509
 #, gcc-internal-format
 msgid "third operand of conditional expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1510
+#: cp/cvt.cc:1513
 #, gcc-internal-format
 msgid "right operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1514
+#: cp/cvt.cc:1517
 #, gcc-internal-format
 msgid "left operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1518
+#: cp/cvt.cc:1521
 #, gcc-internal-format
 msgid "statement cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1522
+#: cp/cvt.cc:1525
 #, gcc-internal-format
 msgid "for increment expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1538
+#: cp/cvt.cc:1541
 #, gcc-internal-format
 msgid "second operand of conditional expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1543
+#: cp/cvt.cc:1546
 #, gcc-internal-format
 msgid "third operand of conditional expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1548
+#: cp/cvt.cc:1551
 #, gcc-internal-format
 msgid "right operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1553
+#: cp/cvt.cc:1556
 #, gcc-internal-format
 msgid "left operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1558
+#: cp/cvt.cc:1561
 #, gcc-internal-format
 msgid "statement is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1563
+#: cp/cvt.cc:1566
 #, gcc-internal-format
 msgid "for increment expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1592
+#: cp/cvt.cc:1595
 #, gcc-internal-format
 msgid "second operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1597
+#: cp/cvt.cc:1600
 #, gcc-internal-format
 msgid "third operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1602
+#: cp/cvt.cc:1605
 #, gcc-internal-format
 msgid "right operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1606
+#: cp/cvt.cc:1609
 #, gcc-internal-format
 msgid "left operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1610
+#: cp/cvt.cc:1613
 #, gcc-internal-format
 msgid "statement has no effect"
 msgstr "câu lệnh không có tác động gì"
 
-#: cp/cvt.cc:1614
+#: cp/cvt.cc:1617
 #, gcc-internal-format
 msgid "for increment expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1767
+#: cp/cvt.cc:1770
 #, gcc-internal-format
 msgid "converting NULL to non-pointer type"
 msgstr ""
 
-#: cp/cvt.cc:1885
+#: cp/cvt.cc:1888
 #, fuzzy, gcc-internal-format
 #| msgid "redefinition of default argument for %q#D"
 msgid "default type conversion cannot deduce template argument for %qD"
 msgstr "định nghĩa lại của đối số mặc định của %q#D"
 
-#: cp/cvt.cc:1900
+#: cp/cvt.cc:1903
 #, gcc-internal-format
 msgid "ambiguous default type conversion from %qT"
 msgstr ""
 
-#: cp/cvt.cc:1903
+#: cp/cvt.cc:1906
 #, gcc-internal-format
 msgid "  candidate conversions include %qD and %qD"
 msgstr ""
@@ -52254,7 +52441,7 @@ msgstr "từ khai báo trước đây %q+F"
 msgid "redeclaration %qD differs in %qs from previous declaration"
 msgstr "sự khai báo lại %q+D khác trong %<constexpr%>"
 
-#: cp/decl.cc:1321 cp/decl.cc:15690
+#: cp/decl.cc:1321 cp/decl.cc:15821
 #, fuzzy, gcc-internal-format
 msgid "previous declaration %qD"
 msgstr "khai báo trước đây %q#D"
@@ -52285,203 +52472,214 @@ msgstr "khai báo trước đây của %qD"
 msgid "ambiguating new declaration %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1455 cp/decl.cc:1837
+#: cp/decl.cc:1455 cp/decl.cc:1874
 #, gcc-internal-format
 msgid "old declaration %q#D"
 msgstr "khai báo cũ %q#D"
 
-#: cp/decl.cc:1524
+#: cp/decl.cc:1493
+#, fuzzy, gcc-internal-format
+#| msgid "redefinition of default argument for %q#D"
+msgid "redefinition of default argument for %q+#D"
+msgstr "định nghĩa lại của đối số mặc định của %q#D"
+
+#: cp/decl.cc:1495
+#, gcc-internal-format
+msgid "original definition appeared here"
+msgstr "định nghĩa nguyên bản xuất hiện ở đây"
+
+#: cp/decl.cc:1561
 #, fuzzy, gcc-internal-format
 #| msgid "function %qD redeclared as inline"
 msgid "built-in function %qD declared as non-function"
 msgstr "hàm %qD được khai báo lại là không chung dòng (inline)"
 
-#: cp/decl.cc:1537 cp/decl.cc:1663
+#: cp/decl.cc:1574 cp/decl.cc:1700
 #, gcc-internal-format
 msgid "shadowing built-in function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1538 cp/decl.cc:1664
+#: cp/decl.cc:1575 cp/decl.cc:1701
 #, gcc-internal-format
 msgid "shadowing library function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1546
+#: cp/decl.cc:1583
 #, gcc-internal-format
 msgid "library function %q#D redeclared as non-function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1550 cp/decl.cc:1611
+#: cp/decl.cc:1587 cp/decl.cc:1648
 #, fuzzy, gcc-internal-format
 #| msgid "conflicts with previous declaration %q#D"
 msgid "declaration of %q#D conflicts with built-in declaration %q#D"
 msgstr "xung đột với khai báo trước %q#D"
 
-#: cp/decl.cc:1638
+#: cp/decl.cc:1675
 #, gcc-internal-format
 msgid "definition of %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1644 cp/decl.cc:1658
+#: cp/decl.cc:1681 cp/decl.cc:1695
 #, gcc-internal-format
 msgid "new declaration %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1648
+#: cp/decl.cc:1685
 #, fuzzy, gcc-internal-format
 #| msgid "derived type declaration"
 msgid "ignoring the %q#D declaration"
 msgstr "lời khai báo loại có hướng"
 
-#: cp/decl.cc:1752
+#: cp/decl.cc:1789
 #, gcc-internal-format
 msgid "literal operator %q#D conflicts with raw literal operator"
 msgstr ""
 
-#: cp/decl.cc:1756
+#: cp/decl.cc:1793
 #, gcc-internal-format
 msgid "raw literal operator %q#D conflicts with literal operator template"
 msgstr ""
 
-#: cp/decl.cc:1772
+#: cp/decl.cc:1809
 #, fuzzy, gcc-internal-format
 #| msgid "%qD declared as reference but not initialized"
 msgid "%q#D redeclared as different kind of entity"
 msgstr "%qD được khai báo như là một tham chiếu nhưng lại chưa được khởi tạo"
 
-#: cp/decl.cc:1796
+#: cp/decl.cc:1833
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting declaration %q+#D"
 msgid "conflicting declaration of template %q#D"
 msgstr "khai báo xung đột %q+#D"
 
-#: cp/decl.cc:1818
+#: cp/decl.cc:1855
 #, fuzzy, gcc-internal-format
 #| msgid "implicit declaration of function %qE"
 msgid "conflicting declaration of C function %q#D"
 msgstr "khai báo ngầm của hàm %qE"
 
-#: cp/decl.cc:1835
+#: cp/decl.cc:1872
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %q#D"
 msgid "ambiguating new declaration of %q#D"
 msgstr "cho khai báo hàm mẫu %q+D"
 
-#: cp/decl.cc:1845
+#: cp/decl.cc:1882
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting declaration %q+#D"
 msgid "conflicting declaration %q#D"
 msgstr "khai báo xung đột %q+#D"
 
-#: cp/decl.cc:1847
+#: cp/decl.cc:1884
 #, gcc-internal-format
 msgid "previous declaration as %q#D"
 msgstr "khai báo trước đây là %q#D"
 
-#: cp/decl.cc:1857
+#: cp/decl.cc:1894
 #, gcc-internal-format
 msgid "redeclaration of %<pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/decl.cc:1859
+#: cp/decl.cc:1896
 #, gcc-internal-format
 msgid "previous %<pragma omp declare reduction%> declaration"
 msgstr ""
 
-#: cp/decl.cc:1917
+#: cp/decl.cc:1954
 #, gcc-internal-format
 msgid "%q#D previously defined here"
 msgstr "%q#D trước được định nghĩa ở đây"
 
-#: cp/decl.cc:1918 cp/name-lookup.cc:3175 cp/name-lookup.cc:3204
-#: cp/name-lookup.cc:3228
+#: cp/decl.cc:1955 cp/name-lookup.cc:3178 cp/name-lookup.cc:3207
+#: cp/name-lookup.cc:3231
 #, gcc-internal-format
 msgid "%q#D previously declared here"
 msgstr "%q#D trước định nghĩa ở đây"
 
-#: cp/decl.cc:1929
+#: cp/decl.cc:1966
 #, gcc-internal-format
 msgid "prototype specified for %q#D"
 msgstr ""
 
-#: cp/decl.cc:1931
+#: cp/decl.cc:1968
 #, gcc-internal-format
 msgid "previous non-prototype definition here"
 msgstr ""
 
-#: cp/decl.cc:1971
+#: cp/decl.cc:2008
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting declaration %q+#D"
 msgid "conflicting declaration of %q#D with %qL linkage"
 msgstr "khai báo xung đột %q+#D"
 
-#: cp/decl.cc:1974
+#: cp/decl.cc:2011
 #, gcc-internal-format
 msgid "previous declaration with %qL linkage"
 msgstr "khai báo trước đây của %qL là linkage"
 
-#: cp/decl.cc:2009 cp/decl.cc:2019
+#: cp/decl.cc:2060 cp/decl.cc:2070
 #, gcc-internal-format
 msgid "default argument given for parameter %d of %q#D"
 msgstr ""
 
-#: cp/decl.cc:2012 cp/decl.cc:2022
+#: cp/decl.cc:2063 cp/decl.cc:2073
 #, gcc-internal-format
 msgid "previous specification in %q#D here"
 msgstr "sau đặc tả trước đây trong %q#D"
 
-#: cp/decl.cc:2062
+#: cp/decl.cc:2113
 #, fuzzy, gcc-internal-format
 #| msgid "section type conflict with %D"
 msgid "declaration %qD conflicts with builtin"
 msgstr "kiểu phần xung đột với %D"
 
-#: cp/decl.cc:2070
+#: cp/decl.cc:2121
 #, fuzzy, gcc-internal-format
 #| msgid "section type conflict with %D"
 msgid "declaration %qD conflicts with import"
 msgstr "kiểu phần xung đột với %D"
 
-#: cp/decl.cc:2071
+#: cp/decl.cc:2122
 #, fuzzy, gcc-internal-format
 #| msgid "  declared here"
 msgid "import declared %q#D here"
 msgstr "  đã được khai báo ở đây"
 
-#: cp/decl.cc:2079
+#: cp/decl.cc:2130
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting declaration %q+#D"
 msgid "conflicting exporting declaration %qD"
 msgstr "khai báo xung đột %q+#D"
 
-#: cp/decl.cc:2080
+#: cp/decl.cc:2131
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration %q#D"
 msgid "previous declaration %q#D here"
 msgstr "khai báo trước đây %q#D"
 
-#: cp/decl.cc:2105
+#: cp/decl.cc:2156
 #, fuzzy, gcc-internal-format
 msgid "previous definition of %qD here"
 msgstr "định nghĩa trước đây của %q+D là đây"
 
-#: cp/decl.cc:2106
+#: cp/decl.cc:2157
 #, fuzzy, gcc-internal-format
 msgid "previous declaration of %qD here"
 msgstr "khai báo trước đây của %q+D ở đây"
 
-#: cp/decl.cc:2119
+#: cp/decl.cc:2170
 #, fuzzy, gcc-internal-format
 #| msgid "function %qD declared %<virtual%> inside a union"
 msgid "function %qD declared %<[[noreturn]]%> but its first declaration was not"
 msgstr "hàm %qD được khai báo %<virtual%> trong một union"
 
-#: cp/decl.cc:2164
+#: cp/decl.cc:2215
 #, gcc-internal-format
 msgid "redundant redeclaration of %qD in same scope"
 msgstr ""
 
-#: cp/decl.cc:2180
+#: cp/decl.cc:2231
 #, gcc-internal-format
 msgid "deleted definition of %qD is not first declaration"
 msgstr ""
@@ -52494,50 +52692,50 @@ msgstr ""
 #. that specialization that would cause an implicit
 #. instantiation to take place, in every translation unit in
 #. which such a use occurs.
-#: cp/decl.cc:2655
+#: cp/decl.cc:2711
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr ""
 
-#: cp/decl.cc:2794
+#: cp/decl.cc:2850
 #, gcc-internal-format
 msgid "%qD: visibility attribute ignored because it conflicts with previous declaration"
 msgstr ""
 
 #. Reject two definitions.
-#: cp/decl.cc:3058 cp/decl.cc:3087 cp/decl.cc:3129 cp/decl.cc:3146
-#: cp/decl.cc:3249
+#: cp/decl.cc:3114 cp/decl.cc:3143 cp/decl.cc:3185 cp/decl.cc:3202
+#: cp/decl.cc:3305
 #, gcc-internal-format
 msgid "redefinition of %q#D"
 msgstr "định nghĩa lại của %q#D"
 
-#: cp/decl.cc:3074
+#: cp/decl.cc:3130
 #, gcc-internal-format
 msgid "%qD conflicts with used function"
 msgstr ""
 
-#: cp/decl.cc:3084
+#: cp/decl.cc:3140
 #, gcc-internal-format
 msgid "%q#D not declared in class"
 msgstr "%q#D chưa được khai báo trong lớp"
 
-#: cp/decl.cc:3098 cp/decl.cc:3156
+#: cp/decl.cc:3154 cp/decl.cc:3212
 #, gcc-internal-format
 msgid "%q+D redeclared inline with %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3101 cp/decl.cc:3159
+#: cp/decl.cc:3157 cp/decl.cc:3215
 #, gcc-internal-format
 msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3108 cp/decl.cc:3166
+#: cp/decl.cc:3164 cp/decl.cc:3222
 #, fuzzy, gcc-internal-format
 #| msgid "function %qD redeclared as inline"
 msgid "deduction guide %q+D redeclared"
 msgstr "hàm %qD được khai báo lại là không chung dòng (inline)"
 
-#: cp/decl.cc:3115
+#: cp/decl.cc:3171
 #, gcc-internal-format
 msgid "comparison operator %q+D defaulted after its first declaration"
 msgstr ""
@@ -52545,2428 +52743,2428 @@ msgstr ""
 #. is_primary=
 #. is_partial=
 #. is_friend_decl=
-#: cp/decl.cc:3180
+#: cp/decl.cc:3236
 #, gcc-internal-format
 msgid "redeclaration of friend %q#D may not have default template arguments"
 msgstr ""
 
-#: cp/decl.cc:3195
+#: cp/decl.cc:3251
 #, gcc-internal-format
 msgid "thread-local declaration of %q#D follows non-thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3198
+#: cp/decl.cc:3254
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q#D follows thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3213 cp/decl.cc:3257 cp/name-lookup.cc:2730
-#: cp/name-lookup.cc:3202 cp/name-lookup.cc:3226
+#: cp/decl.cc:3269 cp/decl.cc:3313 cp/name-lookup.cc:2733
+#: cp/name-lookup.cc:3205 cp/name-lookup.cc:3229
 #, gcc-internal-format
 msgid "redeclaration of %q#D"
 msgstr "khai báo lại của %q#D"
 
-#: cp/decl.cc:3240
+#: cp/decl.cc:3296
 #, fuzzy, gcc-internal-format
 msgid "redundant redeclaration of %<constexpr%> static data member %qD"
 msgstr "tái khai báo không hợp lệ cho %q+D"
 
-#: cp/decl.cc:3308
+#: cp/decl.cc:3364
 #, gcc-internal-format
 msgid "local label %qE conflicts with existing label"
 msgstr ""
 
-#: cp/decl.cc:3309
+#: cp/decl.cc:3365
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration"
 msgid "previous label"
 msgstr "khai báo trước"
 
-#: cp/decl.cc:3399
+#: cp/decl.cc:3455
 #, gcc-internal-format
 msgid "  from here"
 msgstr "  từ đây"
 
-#: cp/decl.cc:3423 cp/decl.cc:3660
+#: cp/decl.cc:3479 cp/decl.cc:3716
 #, gcc-internal-format
 msgid "  exits OpenMP structured block"
 msgstr "  thoát khỏi khối được cấu trúc OpenMP"
 
-#: cp/decl.cc:3451
+#: cp/decl.cc:3507
 #, gcc-internal-format
 msgid "  crosses initialization of %q#D"
 msgstr "  sự khởi tạo chéo của %q+#D"
 
-#: cp/decl.cc:3454
+#: cp/decl.cc:3510
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+T has a non-trivial destructor"
 msgid "  enters scope of %q#D, which has non-trivial destructor"
 msgstr "  %q+T có một cấu tử non-trivial"
 
-#: cp/decl.cc:3468 cp/decl.cc:3629
+#: cp/decl.cc:3524 cp/decl.cc:3685
 #, fuzzy, gcc-internal-format
 #| msgid "  enters try block"
 msgid "  enters %<try%> block"
 msgstr "  vào khối try"
 
-#: cp/decl.cc:3474 cp/decl.cc:3611 cp/decl.cc:3631
+#: cp/decl.cc:3530 cp/decl.cc:3667 cp/decl.cc:3687
 #, fuzzy, gcc-internal-format
 #| msgid "  enters catch block"
 msgid "  enters %<catch%> block"
 msgstr "  vào khối catch"
 
-#: cp/decl.cc:3480 cp/decl.cc:3643
+#: cp/decl.cc:3536 cp/decl.cc:3699
 #, gcc-internal-format
 msgid "  enters OpenMP structured block"
 msgstr "  vào khối được cấu trúc OpenMP"
 
-#: cp/decl.cc:3486 cp/decl.cc:3633
+#: cp/decl.cc:3542 cp/decl.cc:3689
 #, gcc-internal-format
 msgid "  enters synchronized or atomic statement"
 msgstr ""
 
-#: cp/decl.cc:3493 cp/decl.cc:3635
+#: cp/decl.cc:3549 cp/decl.cc:3691
 #, fuzzy, gcc-internal-format
 msgid "  enters %<constexpr if%> statement"
 msgstr "cần biểu thức"
 
-#: cp/decl.cc:3499 cp/decl.cc:3637
+#: cp/decl.cc:3555 cp/decl.cc:3693
 #, fuzzy, gcc-internal-format
 msgid "  enters %<consteval if%> statement"
 msgstr "cần biểu thức"
 
-#: cp/decl.cc:3618
+#: cp/decl.cc:3674
 #, gcc-internal-format
 msgid "  skips initialization of %q#D"
 msgstr "  bỏ qua sự khởi tạo của %q#D"
 
-#: cp/decl.cc:3621
+#: cp/decl.cc:3677
 #, gcc-internal-format
 msgid "  enters scope of %q#D which has non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:4077 cp/parser.cc:6923
+#: cp/decl.cc:4133 cp/parser.cc:6921
 #, fuzzy, gcc-internal-format
 #| msgid "non-class template %qT used without template arguments"
 msgid "%qD used without template arguments"
 msgstr "mẫu không phải lớp %qT được dùng mà không có đỗi số mẫu"
 
-#: cp/decl.cc:4083
+#: cp/decl.cc:4139
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a function template"
 msgid "%qD is a function, not a type"
 msgstr "%qD không phải là một mẫu hàm"
 
-#: cp/decl.cc:4094
+#: cp/decl.cc:4150
 #, gcc-internal-format
 msgid "%q#T is not a class"
 msgstr "%q#T không phải là một lớp"
 
-#: cp/decl.cc:4122 cp/decl.cc:4213
+#: cp/decl.cc:4178 cp/decl.cc:4279
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4123
+#: cp/decl.cc:4179
 #, gcc-internal-format
 msgid "no type named %q#T in %q#T"
 msgstr "không có kiểu có tên %q#T trong %q#T"
 
-#: cp/decl.cc:4136
+#: cp/decl.cc:4192
 #, gcc-internal-format
 msgid "lookup of %qT in %qT is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:4145
+#: cp/decl.cc:4201
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a class template"
 msgstr ""
 
-#: cp/decl.cc:4152
+#: cp/decl.cc:4214
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a type"
 msgstr ""
 
-#: cp/decl.cc:4222
+#: cp/decl.cc:4288
 #, gcc-internal-format
 msgid "template parameters do not match template %qD"
 msgstr ""
 
-#: cp/decl.cc:4575
+#: cp/decl.cc:4641
 #, fuzzy, gcc-internal-format
 msgid "%<-faligned-new=%d%> is not a power of two"
 msgstr "-falign-labels=%d không được hỗ trợ"
 
-#: cp/decl.cc:4755
+#: cp/decl.cc:4821
 #, gcc-internal-format
 msgid "%<--param destructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4759
+#: cp/decl.cc:4825
 #, gcc-internal-format
 msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:4772
+#: cp/decl.cc:4838
 #, gcc-internal-format
 msgid "%<--param constructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4777
+#: cp/decl.cc:4843
 #, gcc-internal-format
 msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:5103
+#: cp/decl.cc:5169
 #, gcc-internal-format
 msgid "%q#D invalid; an anonymous union may only have public non-static data members"
 msgstr ""
 
-#: cp/decl.cc:5113 cp/parser.cc:22791
+#: cp/decl.cc:5179 cp/parser.cc:22789
 #, gcc-internal-format
 msgid "this flexibility is deprecated and will be removed"
 msgstr ""
 
-#: cp/decl.cc:5142
+#: cp/decl.cc:5208
 #, gcc-internal-format
 msgid "anonymous struct with base classes"
 msgstr ""
 
-#: cp/decl.cc:5154
+#: cp/decl.cc:5220
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5157
+#: cp/decl.cc:5223
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5160
+#: cp/decl.cc:5226
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5179
+#: cp/decl.cc:5245
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5182
+#: cp/decl.cc:5248
 #, gcc-internal-format
 msgid "attribute for %q#T must follow the %qs keyword"
 msgstr ""
 
-#: cp/decl.cc:5224
+#: cp/decl.cc:5290
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr ""
 
-#: cp/decl.cc:5229
+#: cp/decl.cc:5295
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr ""
 
-#: cp/decl.cc:5246
+#: cp/decl.cc:5312
 #, gcc-internal-format
 msgid "%<auto%> can only be specified for variables or function declarations"
 msgstr ""
 
-#: cp/decl.cc:5279
+#: cp/decl.cc:5345
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr ""
 
-#: cp/decl.cc:5287
+#: cp/decl.cc:5353
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr ""
 
-#: cp/decl.cc:5294
+#: cp/decl.cc:5360
 #, gcc-internal-format
 msgid "%<inline%> can only be specified for functions"
 msgstr "%<inline%> chỉ có thể được chỉ định cho hàm"
 
-#: cp/decl.cc:5297
+#: cp/decl.cc:5363
 #, gcc-internal-format
 msgid "%<virtual%> can only be specified for functions"
 msgstr "%<virtual%> chỉ có thể được chỉ định cho hàm"
 
-#: cp/decl.cc:5302
+#: cp/decl.cc:5368
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr "%<friend%> chỉ có thể được chỉ định trong một lớp"
 
-#: cp/decl.cc:5305
+#: cp/decl.cc:5371
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr "%<explicit%> chỉ có thể được chỉ định cho cấu tử"
 
-#: cp/decl.cc:5308
+#: cp/decl.cc:5374
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5312
+#: cp/decl.cc:5378
 #, gcc-internal-format
 msgid "%<const%> can only be specified for objects and functions"
 msgstr "%<const%> chỉ có thể được chỉ định cho lớp và hàm"
 
-#: cp/decl.cc:5316
+#: cp/decl.cc:5382
 #, gcc-internal-format
 msgid "%<volatile%> can only be specified for objects and functions"
 msgstr "%<volatile%> chỉ có thể được chỉ định cho đối tượng và hàm"
 
-#: cp/decl.cc:5320
+#: cp/decl.cc:5386
 #, gcc-internal-format
 msgid "%<__restrict%> can only be specified for objects and functions"
 msgstr "%<__restrict%> chỉ có thể được chỉ định cho đối tượng và hàm"
 
-#: cp/decl.cc:5324
+#: cp/decl.cc:5390
 #, gcc-internal-format
 msgid "%<__thread%> can only be specified for objects and functions"
 msgstr "%<__thread%> chỉ có thể được chỉ định cho đối tượng và hàm"
 
-#: cp/decl.cc:5328
+#: cp/decl.cc:5394
 #, gcc-internal-format
 msgid "%<typedef%> was ignored in this declaration"
 msgstr "%<typedef%> bị bỏ qua trong khai báo này"
 
-#: cp/decl.cc:5331 cp/decl.cc:5334 cp/decl.cc:5337
+#: cp/decl.cc:5397 cp/decl.cc:5400 cp/decl.cc:5403
 #, fuzzy, gcc-internal-format
 #| msgid "%<constexpr%> cannot be used for type declarations"
 msgid "%qs cannot be used for type declarations"
 msgstr "%<constexpr%> không thể dùng cho khai báo kiểu"
 
-#: cp/decl.cc:5359
+#: cp/decl.cc:5425
 #, gcc-internal-format
 msgid "attribute ignored in explicit instantiation %q#T"
 msgstr ""
 
-#: cp/decl.cc:5362
+#: cp/decl.cc:5428
 #, gcc-internal-format
 msgid "no attribute can be applied to an explicit instantiation"
 msgstr ""
 
-#: cp/decl.cc:5434
+#: cp/decl.cc:5500
 #, gcc-internal-format
 msgid "ignoring attributes applied to class type %qT outside of definition"
 msgstr ""
 
 #. A template type parameter or other dependent type.
-#: cp/decl.cc:5438
+#: cp/decl.cc:5504
 #, gcc-internal-format
 msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
 msgstr ""
 
-#: cp/decl.cc:5502 cp/decl2.cc:951
+#: cp/decl.cc:5570 cp/decl2.cc:951
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is initialized with itself"
 msgid "typedef %qD is initialized (use %qs instead)"
 msgstr "%qD được khởi tạo bằng chính nó"
 
-#: cp/decl.cc:5515
+#: cp/decl.cc:5583
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr ""
 
-#: cp/decl.cc:5553
+#: cp/decl.cc:5621
 #, gcc-internal-format
 msgid "definition of %q#D is marked %<dllimport%>"
 msgstr ""
 
-#: cp/decl.cc:5577
+#: cp/decl.cc:5645
 #, gcc-internal-format
 msgid "%q+#D is not a static data member of %q#T"
 msgstr "%q+#D không phải là thành viên tĩnh của %q#T"
 
-#: cp/decl.cc:5585
+#: cp/decl.cc:5653
 #, gcc-internal-format
 msgid "non-member-template declaration of %qD"
 msgstr ""
 
-#: cp/decl.cc:5586
+#: cp/decl.cc:5654
 #, gcc-internal-format
 msgid "does not match member template declaration here"
 msgstr ""
 
-#: cp/decl.cc:5598
+#: cp/decl.cc:5666
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
 msgstr "ISO C++ không cho phép %<%T::%D%> được định nghĩa như là %<%T::%D%>"
 
-#: cp/decl.cc:5610
+#: cp/decl.cc:5678
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr "khởi tạo lặp lại cho %qD"
 
-#: cp/decl.cc:5658
+#: cp/decl.cc:5726
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr ""
 
-#: cp/decl.cc:5675
+#: cp/decl.cc:5743
 #, gcc-internal-format
 msgid "block-scope extern declaration %q#D not permitted in module purview"
 msgstr ""
 
-#: cp/decl.cc:5711
+#: cp/decl.cc:5779
 #, fuzzy, gcc-internal-format
 #| msgid "C++11 %<thread_local%> only available with -std=c++11 or -std=gnu++11"
-msgid "%qD declared %<thread_local%> in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "%qD defined %<thread_local%> in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "C++11 %<thread_local%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/decl.cc:5717
+#: cp/decl.cc:5785
 #, fuzzy, gcc-internal-format
-msgid "%qD declared %<static%> in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
-msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
+#| msgid "use of %<auto%> in parameter declaration only available with -std=c++14 or -std=gnu++14"
+msgid "%qD defined %<static%> in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+msgstr "việc dùng %<auto%> trong khai báo tham số chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/decl.cc:5782
+#: cp/decl.cc:5850
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr ""
 
-#: cp/decl.cc:5788 cp/decl.cc:7029
+#: cp/decl.cc:5856 cp/decl.cc:7149
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:5798
+#: cp/decl.cc:5866
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr ""
 
-#: cp/decl.cc:5865
+#: cp/decl.cc:5933
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr "%qD được khai báo như là một tham chiếu nhưng lại chưa được khởi tạo"
 
-#: cp/decl.cc:5948
+#: cp/decl.cc:6016
 #, gcc-internal-format
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:5954
+#: cp/decl.cc:6022
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:5973
+#: cp/decl.cc:6041
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
 
-#: cp/decl.cc:5977
+#: cp/decl.cc:6045
 #, gcc-internal-format
 msgid "C99 designator %qE is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:6038
+#: cp/decl.cc:6106
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr ""
 
-#: cp/decl.cc:6045
+#: cp/decl.cc:6113
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr "thiếu kích thước mảng trong %qD"
 
-#: cp/decl.cc:6057
+#: cp/decl.cc:6125
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr "mảng có kích thước bằng không %qD"
 
-#: cp/decl.cc:6097
+#: cp/decl.cc:6165
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t known"
 msgstr ""
 
-#: cp/decl.cc:6122
+#: cp/decl.cc:6190
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t constant"
 msgstr ""
 
-#: cp/decl.cc:6205
+#: cp/decl.cc:6273
 #, gcc-internal-format
 msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)"
 msgstr ""
 
-#: cp/decl.cc:6209
+#: cp/decl.cc:6277
 #, gcc-internal-format
 msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)"
 msgstr ""
 
-#: cp/decl.cc:6215
+#: cp/decl.cc:6283
 #, gcc-internal-format
 msgid "you can work around this by removing the initializer"
 msgstr ""
 
-#: cp/decl.cc:6257
+#: cp/decl.cc:6325
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate %<const%>"
 msgid "uninitialized %<const %D%>"
 msgstr "lặp lại %<const%>"
 
-#: cp/decl.cc:6264
+#: cp/decl.cc:6332
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> function"
 msgstr ""
 
-#: cp/decl.cc:6273
+#: cp/decl.cc:6341
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> context"
 msgstr ""
 
-#: cp/decl.cc:6281
+#: cp/decl.cc:6349
 #, gcc-internal-format
 msgid "%q#T has no user-provided default constructor"
 msgstr ""
 
-#: cp/decl.cc:6285
+#: cp/decl.cc:6353
 #, gcc-internal-format
 msgid "constructor is not user-provided because it is explicitly defaulted in the class body"
 msgstr ""
 
-#: cp/decl.cc:6288
+#: cp/decl.cc:6356
 #, gcc-internal-format
 msgid "and the implicitly-defined constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/decl.cc:6462
+#: cp/decl.cc:6530
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
 msgstr ""
 
-#: cp/decl.cc:6519
+#: cp/decl.cc:6602
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
 msgstr ""
 
-#: cp/decl.cc:6556
+#: cp/decl.cc:6643
 #, gcc-internal-format
 msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
 msgstr ""
 
-#: cp/decl.cc:6564
+#: cp/decl.cc:6656
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr ""
 
-#: cp/decl.cc:6588
+#: cp/decl.cc:6680
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a member of %qT"
 msgid "%qD is not a direct member of %qT"
 msgstr "%qD không phải là thành viên của %qT"
 
-#: cp/decl.cc:6624
+#: cp/decl.cc:6735
 #, gcc-internal-format
 msgid "invalid initializer for %q#D"
 msgstr "bộ khởi tạo cho %q#D không hợp lệ"
 
-#: cp/decl.cc:6674
+#: cp/decl.cc:6785
 #, gcc-internal-format
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.cc:6713 cp/decl.cc:6988 cp/typeck2.cc:1489 cp/typeck2.cc:1786
-#: cp/typeck2.cc:1834 cp/typeck2.cc:1881
+#: cp/decl.cc:6824 cp/decl.cc:7108 cp/typeck2.cc:1494 cp/typeck2.cc:1791
+#: cp/typeck2.cc:1839 cp/typeck2.cc:1886
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "quá nhiều bộ khởi tạo cho %qT"
 
-#: cp/decl.cc:6755
+#: cp/decl.cc:6866
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:6765
+#: cp/decl.cc:6876
 #, fuzzy, gcc-internal-format
 #| msgid "braces around scalar initializer"
 msgid "too many braces around scalar initializer for type %qT"
 msgstr "ngoặc chung quanh bộ khởi tạo vô hướng"
 
-#: cp/decl.cc:6889
+#: cp/decl.cc:7009
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr ""
 
-#: cp/decl.cc:7017
+#: cp/decl.cc:7137
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "structured binding has incomplete type %qT"
 msgstr "kiểu trả về là một kiểu không hoàn toàn"
 
-#: cp/decl.cc:7031
+#: cp/decl.cc:7151
 #, gcc-internal-format
 msgid "elements of array %q#T have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7044
+#: cp/decl.cc:7164
 #, gcc-internal-format
 msgid "variable-sized compound literal"
 msgstr ""
 
-#: cp/decl.cc:7099
+#: cp/decl.cc:7219
 #, gcc-internal-format
 msgid "%q#D has incomplete type"
 msgstr "đối số %q#D có kiểu chưa đầy đủ"
 
-#: cp/decl.cc:7120
+#: cp/decl.cc:7240
 #, gcc-internal-format
 msgid "scalar object %qD requires one element in initializer"
 msgstr ""
 
-#: cp/decl.cc:7165
+#: cp/decl.cc:7285
 #, gcc-internal-format
 msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
 msgstr ""
 
-#: cp/decl.cc:7297
+#: cp/decl.cc:7421
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr ""
 
-#: cp/decl.cc:7332
+#: cp/decl.cc:7456
 #, gcc-internal-format
 msgid "initializer invalid for static member with constructor"
 msgstr ""
 
-#: cp/decl.cc:7334
+#: cp/decl.cc:7458
 #, gcc-internal-format
 msgid "non-constant in-class initialization invalid for static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7337
+#: cp/decl.cc:7461
 #, fuzzy, gcc-internal-format
 msgid "non-constant in-class initialization invalid for non-inline static member %qD"
 msgstr "một bộ phận mảng dẻo bị khởi tạo một cách không phải tĩnh"
 
-#: cp/decl.cc:7342
+#: cp/decl.cc:7466
 #, gcc-internal-format
 msgid "(an out of class initialization is required)"
 msgstr ""
 
-#: cp/decl.cc:7544
+#: cp/decl.cc:7668
 #, gcc-internal-format
 msgid "reference %qD is initialized with itself"
 msgstr "tham chiếu %qD được khởi tạo bằng chính nó"
 
-#: cp/decl.cc:7801
+#: cp/decl.cc:7925
 #, fuzzy, gcc-internal-format
 #| msgid "%<[*]%> not in a declaration"
 msgid "could not find variant declaration"
 msgstr "%<[*]%> không trong khai báo"
 
-#: cp/decl.cc:7825
+#: cp/decl.cc:7949
 #, fuzzy, gcc-internal-format
 #| msgid "too few arguments to constructor %q#D"
 msgid "%<declare variant%> on constructor %qD"
 msgstr "quá ít đối số cho hủy tử %q#D"
 
-#: cp/decl.cc:7830
+#: cp/decl.cc:7954
 #, gcc-internal-format
 msgid "%<declare variant%> on destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:7835
+#: cp/decl.cc:7959
 #, gcc-internal-format
 msgid "%<declare variant%> on defaulted %qD"
 msgstr ""
 
-#: cp/decl.cc:7840
+#: cp/decl.cc:7964
 #, gcc-internal-format
 msgid "%<declare variant%> on deleted %qD"
 msgstr ""
 
-#: cp/decl.cc:7845
+#: cp/decl.cc:7969
 #, gcc-internal-format
 msgid "%<declare variant%> on virtual %qD"
 msgstr ""
 
-#: cp/decl.cc:7895
+#: cp/decl.cc:8019
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr ""
 
-#: cp/decl.cc:7913 cp/decl.cc:14364
+#: cp/decl.cc:8040 cp/decl.cc:14491
 #, fuzzy, gcc-internal-format
 msgid "ISO C++17 does not allow %<register%> storage class specifier"
 msgstr "ISO C++ không cho phép %<alignof%> với một non-type"
 
-#: cp/decl.cc:7917 cp/decl.cc:14368
+#: cp/decl.cc:8044 cp/decl.cc:14495
 #, gcc-internal-format
 msgid "%<register%> storage class specifier used"
 msgstr ""
 
-#: cp/decl.cc:7983
+#: cp/decl.cc:8110
 #, gcc-internal-format
 msgid "initializer for %<decltype(auto) %D%> has function type; did you forget the %<()%>?"
 msgstr ""
 
-#: cp/decl.cc:8099
+#: cp/decl.cc:8226
 #, gcc-internal-format
 msgid "variable concept has no initializer"
 msgstr ""
 
-#: cp/decl.cc:8158
+#: cp/decl.cc:8285
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:8201
+#: cp/decl.cc:8328
 #, fuzzy, gcc-internal-format
 msgid "%<constinit%> can only be applied to a variable with static or thread storage duration"
 msgstr "Thuộc tính %qE chỉ được áp dụng cho các biến"
 
-#: cp/decl.cc:8379
+#: cp/decl.cc:8506
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr ""
 
-#: cp/decl.cc:8488
+#: cp/decl.cc:8615
 #, gcc-internal-format
 msgid "cannot decompose class type %qT because it has an anonymous struct member"
 msgstr ""
 
-#: cp/decl.cc:8491
+#: cp/decl.cc:8618
 #, gcc-internal-format
 msgid "cannot decompose class type %qT because it has an anonymous union member"
 msgstr ""
 
-#: cp/decl.cc:8498
+#: cp/decl.cc:8625
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose inaccessible member %qD of %qT"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/decl.cc:8524
+#: cp/decl.cc:8651
 #, gcc-internal-format
 msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members"
 msgstr ""
 
-#: cp/decl.cc:8533
+#: cp/decl.cc:8660
 #, gcc-internal-format
 msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members"
 msgstr ""
 
-#: cp/decl.cc:8743
+#: cp/decl.cc:8870
 #, fuzzy, gcc-internal-format
 #| msgid "source is a pointer to incomplete type"
 msgid "structured binding refers to incomplete type %qT"
 msgstr "nguồn là một hàm trỏ tới loại không hoàn toàn"
 
-#: cp/decl.cc:8759
+#: cp/decl.cc:8886
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose variable length array %qT"
 msgstr "ISO C90 cấm mảng có kích thước biến đổi %qE"
 
-#: cp/decl.cc:8768 cp/decl.cc:8853
+#: cp/decl.cc:8895 cp/decl.cc:8980
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "initializer provided for function"
 msgid "%u name provided for structured binding"
 msgid_plural "%u names provided for structured binding"
 msgstr[0] "bộ khởi tạo được cung cấp cho hàm"
 
-#: cp/decl.cc:8772
+#: cp/decl.cc:8899
 #, gcc-internal-format, gfc-internal-format
 msgid "only %u name provided for structured binding"
 msgid_plural "only %u names provided for structured binding"
 msgstr[0] ""
 
-#: cp/decl.cc:8775
+#: cp/decl.cc:8902
 #, gcc-internal-format
 msgid "while %qT decomposes into %wu element"
 msgid_plural "while %qT decomposes into %wu elements"
 msgstr[0] ""
 
-#: cp/decl.cc:8820
+#: cp/decl.cc:8947
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose variable length vector %qT"
 msgstr "ISO C90 cấm mảng có kích thước biến đổi %qE"
 
-#: cp/decl.cc:8846
+#: cp/decl.cc:8973
 #, fuzzy, gcc-internal-format
 msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
 msgstr "kích cỡ mảng không phải là biểu thức hằng số nguyên"
 
-#: cp/decl.cc:8855
+#: cp/decl.cc:8982
 #, gcc-internal-format
 msgid "while %qT decomposes into %E elements"
 msgstr ""
 
-#: cp/decl.cc:8876
+#: cp/decl.cc:9003
 #, gcc-internal-format
 msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
 msgstr ""
 
-#: cp/decl.cc:8882
+#: cp/decl.cc:9009
 #, fuzzy, gcc-internal-format
 msgid "in initialization of structured binding variable %qD"
 msgstr "(gần chỗ khởi tạo cho %qs)"
 
-#: cp/decl.cc:8911
+#: cp/decl.cc:9038
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose union type %qT"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
-#: cp/decl.cc:8916
+#: cp/decl.cc:9043
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose non-array non-class type %qT"
 msgstr "không thể giải mã địa chỉ"
 
-#: cp/decl.cc:8921
+#: cp/decl.cc:9048
 #, fuzzy, gcc-internal-format
 msgid "cannot decompose lambda closure type %qT"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
-#: cp/decl.cc:8927
+#: cp/decl.cc:9054
 #, fuzzy, gcc-internal-format
 #| msgid "source is of incomplete class type"
 msgid "structured binding refers to incomplete class type %qT"
 msgstr "nguồn có loại lớp không hoàn toàn"
 
-#: cp/decl.cc:8936
+#: cp/decl.cc:9063
 #, gcc-internal-format
 msgid "cannot decompose class type %qT without non-static data members"
 msgstr ""
 
-#: cp/decl.cc:9403
+#: cp/decl.cc:9530
 #, gcc-internal-format
 msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization"
 msgstr ""
 
-#: cp/decl.cc:9406
+#: cp/decl.cc:9533
 #, gcc-internal-format
 msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:9411
+#: cp/decl.cc:9538
 #, gcc-internal-format
 msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
 msgstr ""
 
-#: cp/decl.cc:9630
+#: cp/decl.cc:9757
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qT"
 msgstr ""
 
-#: cp/decl.cc:9634
+#: cp/decl.cc:9761
 #, gcc-internal-format
 msgid "array size missing in %qT"
 msgstr "thiếu kích thước mảng trong %qT"
 
-#: cp/decl.cc:9637
+#: cp/decl.cc:9764
 #, gcc-internal-format
 msgid "zero-size array %qT"
 msgstr "mảng có kích thước không %qT"
 
-#: cp/decl.cc:9653
+#: cp/decl.cc:9780
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:9655
+#: cp/decl.cc:9782
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:9681
+#: cp/decl.cc:9808
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> variable"
 msgstr "%qD được khai báo là một biến %<virtual%>"
 
-#: cp/decl.cc:9683
+#: cp/decl.cc:9810
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in variable declaration"
 msgstr ""
 
-#: cp/decl.cc:9689
+#: cp/decl.cc:9816
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> parameter"
 msgstr "%qD được khai báo như là đối số %<virtual%>"
 
-#: cp/decl.cc:9692
+#: cp/decl.cc:9819
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> parameter"
 msgstr "%qD được khai báo là một đối số %<inline%>"
 
-#: cp/decl.cc:9694
+#: cp/decl.cc:9821
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:9700
+#: cp/decl.cc:9827
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> type"
 msgstr "%qD được khai báo như là kiểu %<virtual%>"
 
-#: cp/decl.cc:9703
+#: cp/decl.cc:9830
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> type"
 msgstr "%qD được khai báo là một kiểu %<inline%>"
 
-#: cp/decl.cc:9705
+#: cp/decl.cc:9832
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in type declaration"
 msgstr ""
 
-#: cp/decl.cc:9711
+#: cp/decl.cc:9838
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> field"
 msgstr "%qD được khai báo như là trường %<virtual%>"
 
-#: cp/decl.cc:9714
+#: cp/decl.cc:9841
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> field"
 msgstr "%qD được khai báo là một trường %<inline%>"
 
-#: cp/decl.cc:9716
+#: cp/decl.cc:9843
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in field declaration"
 msgstr ""
 
-#: cp/decl.cc:9723
+#: cp/decl.cc:9850
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr "%q+D được khai báo là friend"
 
-#: cp/decl.cc:9730
+#: cp/decl.cc:9857
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr ""
 
-#: cp/decl.cc:9762
+#: cp/decl.cc:9889
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr ""
 
-#: cp/decl.cc:9802
+#: cp/decl.cc:9929
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr ""
 
-#: cp/decl.cc:9813
+#: cp/decl.cc:9940
 #, gcc-internal-format
 msgid "concept %q#D declared with function parameters"
 msgstr ""
 
-#: cp/decl.cc:9820
+#: cp/decl.cc:9947
 #, gcc-internal-format
 msgid "concept %q#D declared with a deduced return type"
 msgstr ""
 
-#: cp/decl.cc:9823
+#: cp/decl.cc:9950
 #, gcc-internal-format
 msgid "concept %q#D with non-%<bool%> return type %qT"
 msgstr ""
 
-#: cp/decl.cc:9899
+#: cp/decl.cc:10026
 #, gcc-internal-format
 msgid "concept %qD has no definition"
 msgstr ""
 
-#: cp/decl.cc:9928
+#: cp/decl.cc:10055
 #, fuzzy, gcc-internal-format
 #| msgid "function return type cannot be function"
 msgid "a function concept cannot be constrained"
 msgstr "kiểu trả về hàm không thể là hàm"
 
-#: cp/decl.cc:9938
+#: cp/decl.cc:10065
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a template function"
 msgid "constraints on a non-templated function"
 msgstr "%qD không phải là một hàm mẫu"
 
-#: cp/decl.cc:9983
+#: cp/decl.cc:10110
 #, gcc-internal-format
 msgid "defining explicit specialization %qD in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:9994
+#: cp/decl.cc:10121
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr ""
 
-#: cp/decl.cc:10013
+#: cp/decl.cc:10140
 #, gcc-internal-format
 msgid "default arguments are not allowed in declaration of friend template specialization %qD"
 msgstr ""
 
-#: cp/decl.cc:10022
+#: cp/decl.cc:10149
 #, gcc-internal-format
 msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
 msgstr ""
 
-#: cp/decl.cc:10039
+#: cp/decl.cc:10166
 #, gcc-internal-format
 msgid "friend declaration of %qD specifies default arguments and isn%'t a definition"
 msgstr ""
 
-#: cp/decl.cc:10084
+#: cp/decl.cc:10211
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr ""
 
-#: cp/decl.cc:10087
+#: cp/decl.cc:10214
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr ""
 
-#: cp/decl.cc:10090 cp/decl.cc:10093
+#: cp/decl.cc:10217 cp/decl.cc:10220
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare pointer to %q#T"
 msgid "cannot declare %<::main%> to be %qs"
 msgstr "không thể khai báo con trỏ đến %q#T"
 
-#: cp/decl.cc:10095
+#: cp/decl.cc:10222
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr ""
 
-#: cp/decl.cc:10157
+#: cp/decl.cc:10284
 #, gcc-internal-format
 msgid "static member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10158
+#: cp/decl.cc:10285
 #, gcc-internal-format
 msgid "non-member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10166
+#: cp/decl.cc:10293
 #, gcc-internal-format
 msgid "static member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10167
+#: cp/decl.cc:10294
 #, gcc-internal-format
 msgid "non-member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10179
+#: cp/decl.cc:10306
 #, gcc-internal-format
 msgid "deduction guide %qD must be declared in the same scope as %qT"
 msgstr ""
 
-#: cp/decl.cc:10187
+#: cp/decl.cc:10314
 #, gcc-internal-format
 msgid "deduction guide %qD must have the same access as %qT"
 msgstr ""
 
-#: cp/decl.cc:10193
+#: cp/decl.cc:10320
 #, gcc-internal-format
 msgid "deduction guide %qD must not have a function body"
 msgstr ""
 
-#: cp/decl.cc:10206
+#: cp/decl.cc:10333
 #, gcc-internal-format
 msgid "literal operator with C linkage"
 msgstr ""
 
-#: cp/decl.cc:10216
+#: cp/decl.cc:10343
 #, gcc-internal-format
 msgid "%qD has invalid argument list"
 msgstr ""
 
-#: cp/decl.cc:10224
+#: cp/decl.cc:10351
 #, gcc-internal-format
 msgid "integer suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10230
+#: cp/decl.cc:10357
 #, gcc-internal-format
 msgid "floating-point suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10237
+#: cp/decl.cc:10364
 #, gcc-internal-format
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/decl.cc:10242
+#: cp/decl.cc:10369
 #, gcc-internal-format
 msgid "%qD must be a non-member function"
 msgstr "%qD phải là một hàm không-thành-viên"
 
-#: cp/decl.cc:10325
+#: cp/decl.cc:10452
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr "%<::main%> phải trả về %<int%>"
 
-#: cp/decl.cc:10365
+#: cp/decl.cc:10492
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr ""
 
-#: cp/decl.cc:10370
+#: cp/decl.cc:10497
 #, gcc-internal-format
 msgid "definition of explicitly-defaulted %q+D"
 msgstr ""
 
-#: cp/decl.cc:10372
+#: cp/decl.cc:10499
 #, gcc-internal-format
 msgid "%q#D explicitly defaulted here"
 msgstr "%q#D đã là mặc định rõ ràng ở đây"
 
-#: cp/decl.cc:10389
+#: cp/decl.cc:10516
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr ""
 
-#: cp/decl.cc:10582
+#: cp/decl.cc:10709
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a global variable"
 msgstr ""
 
-#: cp/decl.cc:10591
+#: cp/decl.cc:10718
 #, gcc-internal-format
 msgid "a non-template variable cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:10597
+#: cp/decl.cc:10724
 #, gcc-internal-format
 msgid "concept must be defined at namespace scope"
 msgstr ""
 
-#: cp/decl.cc:10604
+#: cp/decl.cc:10731
 #, gcc-internal-format
 msgid "concept must have type %<bool%>"
 msgstr ""
 
-#: cp/decl.cc:10607
+#: cp/decl.cc:10734
 #, fuzzy, gcc-internal-format
 #| msgid "Loop variable at %C cannot be a coarray"
 msgid "a variable concept cannot be constrained"
 msgstr "Biến vòng lặp tại %C không thể là một coarray"
 
-#: cp/decl.cc:10731
+#: cp/decl.cc:10858
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of incomplete type"
 msgstr ""
 
-#: cp/decl.cc:10735
+#: cp/decl.cc:10862
 #, gcc-internal-format
 msgid "%<constexpr%> needed for in-class initialization of static data member %q#D of non-integral type"
 msgstr ""
 
-#: cp/decl.cc:10739
+#: cp/decl.cc:10866
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of non-literal type"
 msgstr ""
 
-#: cp/decl.cc:10750
+#: cp/decl.cc:10877
 #, gcc-internal-format
 msgid "invalid in-class initialization of static data member of non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:10755
+#: cp/decl.cc:10882
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr ""
 
-#: cp/decl.cc:10760
+#: cp/decl.cc:10887
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:10871
+#: cp/decl.cc:10998
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:10874
+#: cp/decl.cc:11001
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:10905 cp/decl.cc:10977
+#: cp/decl.cc:11032 cp/decl.cc:11104
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:10909 cp/decl.cc:10980
+#: cp/decl.cc:11036 cp/decl.cc:11107
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr "kích cỡ mảng không phải là biểu thức hằng số nguyên"
 
-#: cp/decl.cc:10960
+#: cp/decl.cc:11087
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr "ISO C++ cấm mảng có kích thước bằng không %qD"
 
-#: cp/decl.cc:10963
+#: cp/decl.cc:11090
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr "ISO C++ cấm mảng có kích thước bằng không"
 
-#: cp/decl.cc:10987
+#: cp/decl.cc:11114
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array %qD"
 msgstr "ISO C++ cấm biến có kích thước biến đổi %qD"
 
-#: cp/decl.cc:10990
+#: cp/decl.cc:11117
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array"
 msgstr "ISO C++ cấm biến có kích thước biến đổi"
 
-#: cp/decl.cc:10996
+#: cp/decl.cc:11123
 #, gcc-internal-format
 msgid "variable length array %qD is used"
 msgstr "mảng có độ dài biến đổi %qD được dùng"
 
-#: cp/decl.cc:10999
+#: cp/decl.cc:11126
 #, gcc-internal-format
 msgid "variable length array is used"
 msgstr "mảng có độ dài biến đổi được dùng"
 
-#: cp/decl.cc:11051
+#: cp/decl.cc:11178
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr "tràn kích thước mảng"
 
-#: cp/decl.cc:11111
+#: cp/decl.cc:11238
 #, fuzzy, gcc-internal-format
 #| msgid "%qD declared as array of %qT"
 msgid "%qD declared as array of template placeholder type %qT"
 msgstr "%qD được khai báo là mảng của %qT"
 
-#: cp/decl.cc:11114
+#: cp/decl.cc:11241
 #, fuzzy, gcc-internal-format
 #| msgid "Creating array temporary at %L"
 msgid "creating array of template placeholder type %qT"
 msgstr "Đang tạo mảng tạm tại %L"
 
-#: cp/decl.cc:11124
+#: cp/decl.cc:11251
 #, gcc-internal-format
 msgid "declaration of %qD as array of void"
 msgstr "sự khai báo của %qD như là mảng void"
 
-#: cp/decl.cc:11126
+#: cp/decl.cc:11253
 #, gcc-internal-format
 msgid "creating array of void"
 msgstr "tạo mảng void"
 
-#: cp/decl.cc:11131
+#: cp/decl.cc:11258
 #, gcc-internal-format
 msgid "declaration of %qD as array of functions"
 msgstr "sự khai báo của %qD như là mảng của các hàm"
 
-#: cp/decl.cc:11133
+#: cp/decl.cc:11260
 #, gcc-internal-format
 msgid "creating array of functions"
 msgstr "tạo mảng hàm"
 
-#: cp/decl.cc:11138
+#: cp/decl.cc:11265
 #, gcc-internal-format
 msgid "declaration of %qD as array of references"
 msgstr "sự khai báo của %qD như là mảng của các tham chiếu"
 
-#: cp/decl.cc:11140
+#: cp/decl.cc:11267
 #, gcc-internal-format
 msgid "creating array of references"
 msgstr "tạo mảng tham chiếu"
 
-#: cp/decl.cc:11145
+#: cp/decl.cc:11272
 #, gcc-internal-format
 msgid "declaration of %qD as array of function members"
 msgstr "sự khai báo của %qD như là mảng của các thành viên hàm"
 
-#: cp/decl.cc:11148
+#: cp/decl.cc:11275
 #, gcc-internal-format
 msgid "creating array of function members"
 msgstr "tạo mảng của thành viên hàm"
 
-#: cp/decl.cc:11166
+#: cp/decl.cc:11293
 #, gcc-internal-format
 msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11170
+#: cp/decl.cc:11297
 #, gcc-internal-format
 msgid "multidimensional array must have bounds for all dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11184
+#: cp/decl.cc:11311
 #, fuzzy, gcc-internal-format
 #| msgid "variable length array is used"
 msgid "variable-length array of %<auto%>"
 msgstr "mảng có độ dài biến đổi được dùng"
 
-#: cp/decl.cc:11260
+#: cp/decl.cc:11387
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11263
+#: cp/decl.cc:11390
 #, gcc-internal-format
 msgid "qualifiers are not allowed on constructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11274
+#: cp/decl.cc:11401
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11277
+#: cp/decl.cc:11404
 #, gcc-internal-format
 msgid "qualifiers are not allowed on destructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11290
+#: cp/decl.cc:11417
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11293
+#: cp/decl.cc:11420
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11302
+#: cp/decl.cc:11429
 #, fuzzy, gcc-internal-format
 #| msgid "no processor type specified for linking"
 msgid "return type specified for deduction guide"
 msgstr "chưa ghi rõ loại bộ xử lý cần liên kết"
 
-#: cp/decl.cc:11305
+#: cp/decl.cc:11432
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11309
+#: cp/decl.cc:11436
 #, gcc-internal-format
 msgid "template template parameter %qT in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11318
+#: cp/decl.cc:11445
 #, gcc-internal-format
 msgid "%<decl-specifier%> in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11339
+#: cp/decl.cc:11466
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:11347
+#: cp/decl.cc:11474
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr "biến hay trường được khai báo là void"
 
-#: cp/decl.cc:11362
+#: cp/decl.cc:11489
 #, fuzzy, gcc-internal-format
 msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
 msgstr "%<inline%> được chỉ định cho khai báo lớp bạn"
 
-#: cp/decl.cc:11367
+#: cp/decl.cc:11494
 #, fuzzy, gcc-internal-format
 msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "inline namespaces chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/decl.cc:11423
+#: cp/decl.cc:11550
 #, gcc-internal-format
 msgid "%qT as type rather than plain %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:11429
+#: cp/decl.cc:11556
 #, fuzzy, gcc-internal-format
 #| msgid "@catch parameter can not be protocol-qualified"
 msgid "%<decltype(auto)%> cannot be cv-qualified"
 msgstr "đối số @catch không thể là từ hạn định giao thức"
 
-#: cp/decl.cc:11645
+#: cp/decl.cc:11772
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<::%D%>"
 msgstr "cách dùng không đúng tên từ hạn định %<::%D%>"
 
-#: cp/decl.cc:11648 cp/decl.cc:11670
+#: cp/decl.cc:11775 cp/decl.cc:11797
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%T::%D%>"
 msgstr "cách dùng không đúng tên từ hạn định %<%T::%D%>"
 
-#: cp/decl.cc:11651
+#: cp/decl.cc:11778
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%D::%D%>"
 msgstr "cách dùng không đúng tên từ hạn định %<%D::%D%>"
 
-#: cp/decl.cc:11661
+#: cp/decl.cc:11788
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class or namespace"
 msgid "%q#T is not a class or namespace"
 msgstr "%qT không phải là một lớp hay namespace"
 
-#: cp/decl.cc:11685
+#: cp/decl.cc:11812
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %qD as non-function"
 msgid "declaration of %qE as non-function"
 msgstr "sự khai báo của %qD như là non-function"
 
-#: cp/decl.cc:11692
+#: cp/decl.cc:11819
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %qD as non-member"
 msgid "declaration of %qE as non-member"
 msgstr "sự khai báo của %qD như là non-member"
 
-#: cp/decl.cc:11720
+#: cp/decl.cc:11847
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr ""
 
-#: cp/decl.cc:11771
+#: cp/decl.cc:11898
 #, gcc-internal-format
 msgid "function definition does not declare parameters"
 msgstr "định nghĩa hàm không khai báo đối số"
 
-#: cp/decl.cc:11779 cp/decl.cc:11788 cp/decl.cc:13597
+#: cp/decl.cc:11906 cp/decl.cc:11915 cp/decl.cc:13724
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "sự khai báo của %qD như là non-function"
 
-#: cp/decl.cc:11796
+#: cp/decl.cc:11923
 #, gcc-internal-format
 msgid "declaration of %qD as %<typedef%>"
 msgstr "sự khai báo của %qD như là %<typedef%>"
 
-#: cp/decl.cc:11801
+#: cp/decl.cc:11928
 #, gcc-internal-format
 msgid "declaration of %qD as parameter"
 msgstr "khai báo của %qD như là đối số"
 
-#: cp/decl.cc:11836
+#: cp/decl.cc:11963
 #, gcc-internal-format
 msgid "both %qs and %qs specified"
 msgstr ""
 
-#: cp/decl.cc:11843 cp/decl.cc:11850 cp/decl.cc:11857 cp/decl.cc:11864
+#: cp/decl.cc:11970 cp/decl.cc:11977 cp/decl.cc:11984 cp/decl.cc:11991
 #, fuzzy, gcc-internal-format
 #| msgid "%qs cannot appear in a constant-expression"
 msgid "%qs cannot appear in a typedef declaration"
 msgstr "%qs không thể xuất hiện trong biểu thức hằng"
 
-#: cp/decl.cc:11875
+#: cp/decl.cc:12002
 #, gcc-internal-format
 msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
 msgstr ""
 
-#: cp/decl.cc:11885
+#: cp/decl.cc:12012
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:11893
+#: cp/decl.cc:12020
 #, gcc-internal-format
 msgid "conflicting specifiers in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:11944
+#: cp/decl.cc:12071
 #, gcc-internal-format
 msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: cp/decl.cc:11993 cp/decl.cc:11997 cp/decl.cc:12000
+#: cp/decl.cc:12120 cp/decl.cc:12124 cp/decl.cc:12127
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr ""
 
-#: cp/decl.cc:12017
+#: cp/decl.cc:12144
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported by this target"
 msgstr "%<__int%d%> không được hỗ trợ cho đích này"
 
-#: cp/decl.cc:12025
+#: cp/decl.cc:12152
 #, gcc-internal-format
 msgid "ISO C++ does not support %<__int%d%> for %qs"
 msgstr "ISO C++ không hỗ trợ %<__int%d%> cho %qs"
 
-#: cp/decl.cc:12079
+#: cp/decl.cc:12206
 #, fuzzy, gcc-internal-format
 #| msgid "%<signed%> and %<unsigned%> specified together for %qs"
 msgid "%<signed%> and %<unsigned%> specified together"
 msgstr "%<signed%> và %<unsigned%> được chỉ định cùng với nhau cho %qs"
 
-#: cp/decl.cc:12085
+#: cp/decl.cc:12212
 #, fuzzy, gcc-internal-format
 #| msgid "%<long%> and %<short%> specified together for %qs"
 msgid "%<long%> and %<short%> specified together"
 msgstr "%<long%> và %<short%> được chỉ định cùng nhau với %qs"
 
-#: cp/decl.cc:12093 cp/decl.cc:12099
+#: cp/decl.cc:12220 cp/decl.cc:12226
 #, fuzzy, gcc-internal-format
 #| msgid "%qs used with %qE"
 msgid "%qs specified with %qT"
 msgstr "%qs được dùng với %qE"
 
-#: cp/decl.cc:12104
+#: cp/decl.cc:12231
 #, fuzzy, gcc-internal-format
 #| msgid "%qE used with %<typedef%>"
 msgid "%qs specified with %<decltype%>"
 msgstr "%qE được dùng với %<typedef%>"
 
-#: cp/decl.cc:12106
+#: cp/decl.cc:12233
 #, fuzzy, gcc-internal-format
 #| msgid "%qE used with %<typedef%>"
 msgid "%qs specified with %<typeof%>"
 msgstr "%qE được dùng với %<typedef%>"
 
-#: cp/decl.cc:12173
+#: cp/decl.cc:12300
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr "số ảo không hợp lệ cho %qs"
 
-#: cp/decl.cc:12212
+#: cp/decl.cc:12339
 #, gcc-internal-format
 msgid "template placeholder type %qT must be followed by a simple declarator-id"
 msgstr ""
 
-#: cp/decl.cc:12237
+#: cp/decl.cc:12364
 #, gcc-internal-format
 msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
 msgstr ""
 
-#: cp/decl.cc:12246
+#: cp/decl.cc:12373
 #, gcc-internal-format
 msgid "member %qD can be declared both %<virtual%> and %<constexpr%> only in %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/decl.cc:12259
+#: cp/decl.cc:12386
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:12266
+#: cp/decl.cc:12393
 #, gcc-internal-format
 msgid "storage class specified for template parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12276 cp/decl.cc:12448
+#: cp/decl.cc:12403 cp/decl.cc:12575
 #, gcc-internal-format
 msgid "storage class specified for parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12284 cp/decl.cc:12293 cp/decl.cc:12299 cp/decl.cc:12305
+#: cp/decl.cc:12411 cp/decl.cc:12420 cp/decl.cc:12426 cp/decl.cc:12432
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a parameter cannot be declared %qs"
 msgstr "các đối số tạm không thể là bạn"
 
-#: cp/decl.cc:12315
+#: cp/decl.cc:12442
 #, gcc-internal-format
 msgid "%<virtual%> outside class declaration"
 msgstr "%<virtual%> ngoài khai báo lớp"
 
-#: cp/decl.cc:12325 cp/decl.cc:12328 cp/decl.cc:12330 cp/decl.cc:12333
-#: cp/decl.cc:12343 cp/decl.cc:12353 cp/decl.cc:12363 cp/decl.cc:12367
+#: cp/decl.cc:12452 cp/decl.cc:12455 cp/decl.cc:12457 cp/decl.cc:12460
+#: cp/decl.cc:12470 cp/decl.cc:12480 cp/decl.cc:12490 cp/decl.cc:12494
 #, fuzzy, gcc-internal-format
 msgid "structured binding declaration cannot be %qs"
 msgstr "định nghĩa hàm được khai báo là %qs"
 
-#: cp/decl.cc:12337 cp/decl.cc:12359
+#: cp/decl.cc:12464 cp/decl.cc:12486
 #, gcc-internal-format
 msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/decl.cc:12347
+#: cp/decl.cc:12474
 #, gcc-internal-format
 msgid "%<volatile%>-qualified structured binding is deprecated"
 msgstr ""
 
-#: cp/decl.cc:12371
+#: cp/decl.cc:12498
 #, fuzzy, gcc-internal-format
 msgid "structured binding declaration cannot be C++98 %<auto%>"
 msgstr "định nghĩa hàm được khai báo là %<auto%>"
 
-#: cp/decl.cc:12382
+#: cp/decl.cc:12509
 #, fuzzy, gcc-internal-format
 msgid "structured binding declaration cannot have type %qT"
 msgstr "định nghĩa hàm được khai báo là %qs"
 
-#: cp/decl.cc:12385
+#: cp/decl.cc:12512
 #, gcc-internal-format
 msgid "type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12420
+#: cp/decl.cc:12547
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12446
+#: cp/decl.cc:12573
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr ""
 
-#: cp/decl.cc:12460
+#: cp/decl.cc:12587
 #, gcc-internal-format
 msgid "nested function %qs declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:12465
+#: cp/decl.cc:12592
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12473
+#: cp/decl.cc:12600
 #, gcc-internal-format
 msgid "function-scope %qs implicitly auto and declared %<__thread%>"
 msgstr ""
 
-#: cp/decl.cc:12487
+#: cp/decl.cc:12614
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr ""
 
-#: cp/decl.cc:12518 cp/decl.cc:13969 cp/parser.cc:14835 cp/parser.cc:20645
-#: cp/parser.cc:27043
+#: cp/decl.cc:12645 cp/decl.cc:14096 cp/parser.cc:14829 cp/parser.cc:20643
+#: cp/parser.cc:27041
 #, gcc-internal-format
 msgid "attribute ignored"
 msgstr "thuộc tính bị bỏ qua"
 
-#: cp/decl.cc:12519
+#: cp/decl.cc:12646
 #, gcc-internal-format
 msgid "an attribute that appertains to a type-specifier is ignored"
 msgstr ""
 
-#: cp/decl.cc:12577
+#: cp/decl.cc:12704
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %q#D"
 msgid "unnecessary parentheses in declaration of %qs"
 msgstr "cho khai báo hàm mẫu %q+D"
 
-#: cp/decl.cc:12583
+#: cp/decl.cc:12710
 #, fuzzy, gcc-internal-format
 #| msgid "Expected left parenthesis"
 msgid "remove parentheses"
 msgstr "Mong đợi một dấu ngoặc đơn mở"
 
-#: cp/decl.cc:12632
+#: cp/decl.cc:12759
 #, gcc-internal-format
 msgid "requires-clause on return type"
 msgstr ""
 
-#: cp/decl.cc:12652
+#: cp/decl.cc:12779
 #, gcc-internal-format
 msgid "%qs function uses %<auto%> type specifier without trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12656
+#: cp/decl.cc:12783
 #, fuzzy, gcc-internal-format
 #| msgid "deduced return type only available with -std=c++14 or -std=gnu++14"
 msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "kiểu trả về deduced chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/decl.cc:12661
+#: cp/decl.cc:12788
 #, gcc-internal-format
 msgid "virtual function cannot have deduced return type"
 msgstr ""
 
-#: cp/decl.cc:12668
+#: cp/decl.cc:12795
 #, gcc-internal-format
 msgid "%qs function with trailing return type has %qT as its type rather than plain %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12677
+#: cp/decl.cc:12804
 #, gcc-internal-format
 msgid "%qs function with trailing return type has %<decltype(auto)%> as its type rather than plain %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12682
+#: cp/decl.cc:12809
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<auto%>"
 msgid "invalid use of %<decltype(auto)%>"
 msgstr "dùng %<auto%> không hợp lệ"
 
-#: cp/decl.cc:12693
+#: cp/decl.cc:12820
 #, fuzzy, gcc-internal-format
 msgid "deduced class type %qD in function return type"
 msgstr "kiểu lớp %qT chưa hoàn thiện"
 
-#: cp/decl.cc:12702
+#: cp/decl.cc:12829
 #, gcc-internal-format
 msgid "deduction guide for %qT must have trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12715
+#: cp/decl.cc:12842
 #, gcc-internal-format
 msgid "trailing return type %qT of deduction guide is not a specialization of %qT"
 msgstr ""
 
-#: cp/decl.cc:12729
+#: cp/decl.cc:12856
 #, fuzzy, gcc-internal-format
 #| msgid "deduced return type only available with -std=c++14 or -std=gnu++14"
 msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr "kiểu trả về deduced chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/decl.cc:12732
+#: cp/decl.cc:12859
 #, gcc-internal-format
 msgid "%qs function with trailing return type not declared with %<auto%> type specifier"
 msgstr ""
 
-#: cp/decl.cc:12756
+#: cp/decl.cc:12883
 #, gcc-internal-format
 msgid "%<volatile%>-qualified return type is deprecated"
 msgstr ""
 
-#: cp/decl.cc:12768
+#: cp/decl.cc:12895
 #, gcc-internal-format
 msgid "%qs declared as function returning a function"
 msgstr ""
 
-#: cp/decl.cc:12774
+#: cp/decl.cc:12901
 #, gcc-internal-format
 msgid "%qs declared as function returning an array"
 msgstr ""
 
-#: cp/decl.cc:12781
+#: cp/decl.cc:12908
 #, gcc-internal-format
 msgid "%<constinit%> on function return type is not allowed"
 msgstr ""
 
-#: cp/decl.cc:12814
+#: cp/decl.cc:12941
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:12816
+#: cp/decl.cc:12943
 #, gcc-internal-format
 msgid "constructor cannot be static member function"
 msgstr "cấu tử không thể là hàm thành viên tĩnh"
 
-#: cp/decl.cc:12821
+#: cp/decl.cc:12948
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12822
+#: cp/decl.cc:12949
 #, gcc-internal-format
 msgid "constructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12830
+#: cp/decl.cc:12957
 #, gcc-internal-format
 msgid "destructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:12831
+#: cp/decl.cc:12958
 #, fuzzy, gcc-internal-format
 #| msgid "destructors may not have parameters"
 msgid "constructors may not be ref-qualified"
 msgstr "hủy tử không được có đối số"
 
-#: cp/decl.cc:12849
+#: cp/decl.cc:12976
 #, gcc-internal-format
 msgid "constructors cannot be declared %<virtual%>"
 msgstr ""
 
-#: cp/decl.cc:12866
+#: cp/decl.cc:12993
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:12871
+#: cp/decl.cc:12998
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr ""
 
-#: cp/decl.cc:12875
+#: cp/decl.cc:13002
 #, gcc-internal-format
 msgid "cannot define friend function %qs in a local class definition"
 msgstr ""
 
-#: cp/decl.cc:12885
+#: cp/decl.cc:13012
 #, gcc-internal-format
 msgid "friend function definition %qs cannot have a name qualified with %<::%>"
 msgstr ""
 
-#: cp/decl.cc:12889
+#: cp/decl.cc:13016
 #, gcc-internal-format
 msgid "friend function definition %qs cannot have a name qualified with %<%D::%>"
 msgstr ""
 
-#: cp/decl.cc:12902
+#: cp/decl.cc:13029
 #, gcc-internal-format
 msgid "a conversion function cannot have a trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12929
+#: cp/decl.cc:13056
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr "hủy tử không được có đối số"
 
-#: cp/decl.cc:12969
+#: cp/decl.cc:13096
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr "không thể khai báo con trỏ đến %q#T"
 
-#: cp/decl.cc:12982 cp/decl.cc:12989
+#: cp/decl.cc:13109 cp/decl.cc:13116
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: cp/decl.cc:12991
+#: cp/decl.cc:13118
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr "không thể khai báo con trỏ cho thành viên %q#T"
 
-#: cp/decl.cc:13020
+#: cp/decl.cc:13147
 #, gcc-internal-format
 msgid "cannot declare reference to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13021
+#: cp/decl.cc:13148
 #, gcc-internal-format
 msgid "cannot declare pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13094
+#: cp/decl.cc:13221
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
 msgstr ""
 
-#: cp/decl.cc:13174
+#: cp/decl.cc:13301
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "template-id %qD được dùng như bộ khai báo"
 
-#: cp/decl.cc:13200
+#: cp/decl.cc:13327
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.cc:13205
+#: cp/decl.cc:13332
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.cc:13235
+#: cp/decl.cc:13362
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13237
+#: cp/decl.cc:13364
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot declare member function %<%T::%s%> within %qT"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: cp/decl.cc:13245
+#: cp/decl.cc:13372
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13285
+#: cp/decl.cc:13412
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.cc:13294
+#: cp/decl.cc:13421
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13297
+#: cp/decl.cc:13424
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13308
+#: cp/decl.cc:13435
 #, gcc-internal-format
 msgid "%<explicit%> outside class declaration"
 msgstr "%<explicit%> ngoài khai báo lớp"
 
-#: cp/decl.cc:13311
+#: cp/decl.cc:13438
 #, gcc-internal-format
 msgid "%<explicit%> in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:13314
+#: cp/decl.cc:13441
 #, gcc-internal-format
 msgid "only declarations of constructors and conversion operators can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.cc:13324
+#: cp/decl.cc:13451
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13331
+#: cp/decl.cc:13458
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13337
+#: cp/decl.cc:13464
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13343
+#: cp/decl.cc:13470
 #, fuzzy, gcc-internal-format
 msgid "%<static%> %qs cannot be declared %<mutable%>"
 msgstr "định nghĩa hàm được khai báo là %<auto%>"
 
-#: cp/decl.cc:13349
+#: cp/decl.cc:13476
 #, fuzzy, gcc-internal-format
 msgid "%<const%> %qs cannot be declared %<mutable%>"
 msgstr "định nghĩa hàm được khai báo là %<auto%>"
 
-#: cp/decl.cc:13355
+#: cp/decl.cc:13482
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13371
+#: cp/decl.cc:13498
 #, fuzzy, gcc-internal-format
 #| msgid "old-style function definition"
 msgid "typedef may not be a function definition"
 msgstr "định nghĩa hàm theo cách cũ"
 
-#: cp/decl.cc:13374
+#: cp/decl.cc:13501
 #, fuzzy, gcc-internal-format
 #| msgid "a concept cannot be a member function"
 msgid "typedef may not be a member function definition"
 msgstr "cấu tử không thể là hàm thành viên tĩnh"
 
-#: cp/decl.cc:13400
+#: cp/decl.cc:13527
 #, fuzzy, gcc-internal-format
 #| msgid "%<[*]%> not in a declaration"
 msgid "%<auto%> not allowed in alias declaration"
 msgstr "%<[*]%> không trong khai báo"
 
-#: cp/decl.cc:13403
+#: cp/decl.cc:13530
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "typedef được khai báo %<auto%>"
 
-#: cp/decl.cc:13408
+#: cp/decl.cc:13535
 #, gcc-internal-format
 msgid "requires-clause on typedef"
 msgstr ""
 
-#: cp/decl.cc:13412
+#: cp/decl.cc:13539
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.cc:13438
+#: cp/decl.cc:13565
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.cc:13527
+#: cp/decl.cc:13654
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "%<inline%> được chỉ định cho khai báo lớp bạn"
 
-#: cp/decl.cc:13535
+#: cp/decl.cc:13662
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "các đối số tạm không thể là bạn"
 
-#: cp/decl.cc:13537
+#: cp/decl.cc:13664
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:13541
+#: cp/decl.cc:13668
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.cc:13554
+#: cp/decl.cc:13681
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.cc:13574
+#: cp/decl.cc:13701
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.cc:13578
+#: cp/decl.cc:13705
 #, gcc-internal-format
 msgid "requires-clause on type-id"
 msgstr ""
 
-#: cp/decl.cc:13588
+#: cp/decl.cc:13715
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.cc:13603
+#: cp/decl.cc:13730
 #, gcc-internal-format
 msgid "requires-clause on declaration of non-function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13622
+#: cp/decl.cc:13749
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "không thể dùng %<::%> trong khai báo đối số"
 
-#: cp/decl.cc:13631 cp/parser.cc:20079
+#: cp/decl.cc:13758 cp/parser.cc:20077
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot declare a parameter with %<decltype(auto)%>"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: cp/decl.cc:13636
+#: cp/decl.cc:13763
 #, gcc-internal-format
 msgid "class template placeholder %qE not permitted in this context"
 msgstr ""
 
-#: cp/decl.cc:13639
+#: cp/decl.cc:13766
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a function template"
 msgid "use %<auto%> for an abbreviated function template"
 msgstr "%qD không phải là một mẫu hàm"
 
-#: cp/decl.cc:13644
+#: cp/decl.cc:13771
 #, gcc-internal-format
 msgid "%<auto%> parameter not permitted in this context"
 msgstr ""
 
-#: cp/decl.cc:13647
+#: cp/decl.cc:13774
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13698 cp/parser.cc:3483
+#: cp/decl.cc:13825 cp/parser.cc:3483
 #, gcc-internal-format
 msgid "invalid use of template-name %qE without an argument list"
 msgstr ""
 
-#: cp/decl.cc:13702
+#: cp/decl.cc:13829
 #, gcc-internal-format
 msgid "non-static data member declared with placeholder %qT"
 msgstr "thành viên dữ liệu không-tĩnh được khai báo giữ chỗ %qT"
 
-#: cp/decl.cc:13723
+#: cp/decl.cc:13850
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids zero-size array %qD"
 msgid "ISO C++ forbids flexible array member %qs"
 msgstr "ISO C++ cấm mảng có kích thước bằng không %qD"
 
-#: cp/decl.cc:13726
+#: cp/decl.cc:13853
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "ISO C++ forbids flexible array members"
 msgstr "ISO C90 không hỗ trợ thành viên mảng linh động"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.cc:13742
+#: cp/decl.cc:13869
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "dùng %<::%> không hợp lệ"
 
-#: cp/decl.cc:13763
+#: cp/decl.cc:13890
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.cc:13773
+#: cp/decl.cc:13900
 #, gcc-internal-format
 msgid "function %qD declared %<virtual%> inside a union"
 msgstr "hàm %qD được khai báo %<virtual%> trong một union"
 
-#: cp/decl.cc:13783
+#: cp/decl.cc:13910
 #, gcc-internal-format
 msgid "%qD cannot be declared %<virtual%>, since it is always static"
 msgstr ""
 
-#: cp/decl.cc:13797
+#: cp/decl.cc:13924
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:13804
+#: cp/decl.cc:13931
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "sự khai báo của %qD như là thành viên của %qT"
 
-#: cp/decl.cc:13811 cp/decl.cc:13824
+#: cp/decl.cc:13938 cp/decl.cc:13951
 #, fuzzy, gcc-internal-format
 #| msgid "a destructor cannot be %<constexpr%>"
 msgid "a destructor cannot be %qs"
 msgstr "hủy tử không thể là %<constexpr%>"
 
-#: cp/decl.cc:13830
+#: cp/decl.cc:13957
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:13839
+#: cp/decl.cc:13966
 #, gcc-internal-format
 msgid "a constructor cannot be %<concept%>"
 msgstr "cấu tử không thể là %<concept%>"
 
-#: cp/decl.cc:13845
+#: cp/decl.cc:13972
 #, gcc-internal-format
 msgid "a concept cannot be a member function"
 msgstr "cấu tử không thể là hàm thành viên tĩnh"
 
-#: cp/decl.cc:13853 cp/decl.cc:14199
+#: cp/decl.cc:13980 cp/decl.cc:14326
 #, fuzzy, gcc-internal-format
 #| msgid "cannot open %s"
 msgid "%qD cannot be %qs"
 msgstr "không thể mở %s"
 
-#: cp/decl.cc:13862
+#: cp/decl.cc:13989
 #, gcc-internal-format
 msgid "specialization of variable template %qD declared as function"
 msgstr ""
 
-#: cp/decl.cc:13865
+#: cp/decl.cc:13992
 #, gcc-internal-format
 msgid "variable template declared here"
 msgstr ""
 
-#: cp/decl.cc:13927
+#: cp/decl.cc:14054
 #, gcc-internal-format
 msgid "field %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:13932
+#: cp/decl.cc:14059
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:13952
+#: cp/decl.cc:14079
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.cc:13955
+#: cp/decl.cc:14082
 #, gcc-internal-format
 msgid "unnamed field is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.cc:13970 cp/parser.cc:20646 cp/parser.cc:27044
+#: cp/decl.cc:14097 cp/parser.cc:20644 cp/parser.cc:27042
 #, gcc-internal-format
 msgid "an attribute that appertains to a friend declaration that is not a definition is ignored"
 msgstr ""
 
-#: cp/decl.cc:14016 cp/decl.cc:14027
+#: cp/decl.cc:14143 cp/decl.cc:14154
 #, fuzzy, gcc-internal-format
 #| msgid "static data member %qD in unnamed class"
 msgid "static data member %qE declared %qs"
 msgstr "thành viên dữ liệu tĩnh %qD trong lớp không tên"
 
-#: cp/decl.cc:14021
+#: cp/decl.cc:14148
 #, fuzzy, gcc-internal-format
 #| msgid "  non-static data member %qD has non-literal type"
 msgid "%<constexpr%> static data member %qD must have an initializer"
 msgstr "  thành viên dữ liệu không-tĩnh %qD có kiểu không-văn-chương"
 
-#: cp/decl.cc:14066 cp/decl.cc:14074 cp/decl.cc:14081 cp/decl.cc:14088
+#: cp/decl.cc:14193 cp/decl.cc:14201 cp/decl.cc:14208 cp/decl.cc:14215
 #, fuzzy, gcc-internal-format
 #| msgid "non-static data member declared with placeholder %qT"
 msgid "non-static data member %qE declared %qs"
 msgstr "thành viên dữ liệu không-tĩnh được khai báo giữ chỗ %qT"
 
-#: cp/decl.cc:14140
+#: cp/decl.cc:14267
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14143
+#: cp/decl.cc:14270
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14149
+#: cp/decl.cc:14276
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14153
+#: cp/decl.cc:14280
 #, gcc-internal-format
 msgid "storage class %<thread_local%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14158
+#: cp/decl.cc:14285
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.cc:14170
+#: cp/decl.cc:14297
 #, gcc-internal-format
 msgid "%<static%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14174
+#: cp/decl.cc:14301
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14182
+#: cp/decl.cc:14309
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.cc:14189
+#: cp/decl.cc:14316
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14190
+#: cp/decl.cc:14317
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14233
+#: cp/decl.cc:14360
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
-#: cp/decl.cc:14242
+#: cp/decl.cc:14369
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.cc:14283
+#: cp/decl.cc:14410
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "%<static%> không sử dụng khi định nghĩa (như ngược với khai báo) một thành viên dữ liệu tĩnh"
 
-#: cp/decl.cc:14290
+#: cp/decl.cc:14417
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.cc:14296
+#: cp/decl.cc:14423
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.cc:14304
+#: cp/decl.cc:14431
 #, fuzzy, gcc-internal-format
 msgid "declaration of %<constexpr%> variable %qD is not a definition"
 msgstr "chưa định nghĩa biến môi trường%qs"
 
-#: cp/decl.cc:14311
+#: cp/decl.cc:14438
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared %<constexpr%>"
 msgid "a variable cannot be declared %<consteval%>"
 msgstr "%qD chưa được khai báo %<constexpr%>"
 
-#: cp/decl.cc:14331
+#: cp/decl.cc:14458
 #, gcc-internal-format
 msgid "declaration of %q#D has no initializer"
 msgstr "khai báo của %q#D chưa có bộ khởi tạo"
 
-#: cp/decl.cc:14343
+#: cp/decl.cc:14470
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:14348
+#: cp/decl.cc:14475
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.cc:14528
+#: cp/decl.cc:14655
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.cc:14531
+#: cp/decl.cc:14658
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.cc:14658
+#: cp/decl.cc:14785
 #, gcc-internal-format
 msgid "invalid use of cv-qualified type %qT in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:14662
+#: cp/decl.cc:14789
 #, gcc-internal-format
 msgid "invalid use of type %<void%> in parameter declaration"
 msgstr "không thể dùng %<::%> trong khai báo đối số"
 
-#: cp/decl.cc:14691
+#: cp/decl.cc:14818
 #, gcc-internal-format
 msgid "%<volatile%>-qualified parameter is deprecated"
 msgstr ""
 
-#: cp/decl.cc:14699
+#: cp/decl.cc:14826
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.cc:14724
+#: cp/decl.cc:14851
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:14726
+#: cp/decl.cc:14853
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:14987
+#: cp/decl.cc:15114
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.cc:15066
+#: cp/decl.cc:15193
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.cc:15073
+#: cp/decl.cc:15200
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD không được khai báo như là tĩnh"
 
-#: cp/decl.cc:15103
+#: cp/decl.cc:15230
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must be a non-member function"
 msgid "%qD must be a non-static member function"
 msgstr "%qD phải là một hàm không-thành-viên"
 
-#: cp/decl.cc:15109
+#: cp/decl.cc:15236
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.cc:15119
+#: cp/decl.cc:15246
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.cc:15145
+#: cp/decl.cc:15272
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading %<operator ?:%>"
 msgstr ""
 
-#. Variadic.
-#: cp/decl.cc:15156
+#: cp/decl.cc:15286
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.cc:15182
+#: cp/decl.cc:15312
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take exactly one argument"
 msgid "%qD must have either zero or one argument"
 msgstr "%qD cần chính các là một đối số"
 
-#: cp/decl.cc:15183
+#: cp/decl.cc:15313
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take exactly two arguments"
 msgid "%qD must have either one or two arguments"
 msgstr "%qD cần chính các là hai đối số"
 
-#: cp/decl.cc:15195
+#: cp/decl.cc:15325
 #, fuzzy, gcc-internal-format
 #| msgid "postfix %qD must take %<int%> as its argument"
 msgid "postfix %qD must have %<int%> as its argument"
 msgstr "postfix %qD phải nhận %<int%> như là đối số của nó"
 
-#: cp/decl.cc:15196
+#: cp/decl.cc:15326
 #, fuzzy, gcc-internal-format
 #| msgid "postfix %qD must take %<int%> as its second argument"
 msgid "postfix %qD must have %<int%> as its second argument"
 msgstr "postfix %qD phải nhận %<int%> như là đối số thứ hai của nó"
 
-#: cp/decl.cc:15207
+#: cp/decl.cc:15337
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take exactly two arguments"
 msgid "%qD must have no arguments"
 msgstr "%qD cần chính các là hai đối số"
 
-#: cp/decl.cc:15208 cp/decl.cc:15220
+#: cp/decl.cc:15338 cp/decl.cc:15350
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take exactly one argument"
 msgid "%qD must have exactly one argument"
 msgstr "%qD cần chính các là một đối số"
 
-#: cp/decl.cc:15221
+#: cp/decl.cc:15351
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take exactly two arguments"
 msgid "%qD must have exactly two arguments"
 msgstr "%qD cần chính các là hai đối số"
 
-#: cp/decl.cc:15235
+#: cp/decl.cc:15366
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD không thể có đối số mặc định"
 
-#: cp/decl.cc:15259
+#: cp/decl.cc:15390
 #, gcc-internal-format
 msgid "converting %qT to %<void%> will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15266
+#: cp/decl.cc:15397
 #, gcc-internal-format
 msgid "converting %qT to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15268
+#: cp/decl.cc:15399
 #, gcc-internal-format
 msgid "converting %qT to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15277
+#: cp/decl.cc:15408
 #, gcc-internal-format
 msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15279
+#: cp/decl.cc:15410
 #, gcc-internal-format
 msgid "converting %qT to a base class %qT will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15295
+#: cp/decl.cc:15426
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.cc:15314
+#: cp/decl.cc:15445
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "tiền tố %qD cần trả về %qT"
 
-#: cp/decl.cc:15321
+#: cp/decl.cc:15452
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "hậu tố %qD cần trả về %qT"
 
-#: cp/decl.cc:15333
+#: cp/decl.cc:15464
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD cần trả về bằng giá trị"
 
-#: cp/decl.cc:15388
+#: cp/decl.cc:15519
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15411
+#: cp/decl.cc:15542
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15414
+#: cp/decl.cc:15545
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.cc:15416
+#: cp/decl.cc:15547
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:15424
+#: cp/decl.cc:15555
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT được coi là %qs"
 
-#: cp/decl.cc:15425 cp/decl.cc:15432
+#: cp/decl.cc:15556 cp/decl.cc:15563
 #, fuzzy, gcc-internal-format
 msgid "%qT has a previous declaration here"
 msgstr "%q+T có một khai báo trước ở đây"
 
-#: cp/decl.cc:15431
+#: cp/decl.cc:15562
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT được coi là enum"
@@ -54978,112 +55176,112 @@ msgstr "%qT được coi là enum"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.cc:15446
+#: cp/decl.cc:15577
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.cc:15489 cp/name-lookup.cc:5705 cp/name-lookup.cc:5837
-#: cp/parser.cc:6933 cp/parser.cc:30632
+#: cp/decl.cc:15620 cp/name-lookup.cc:5731 cp/name-lookup.cc:5863
+#: cp/parser.cc:6931 cp/parser.cc:30630
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:15498
+#: cp/decl.cc:15629
 #, fuzzy, gcc-internal-format
 #| msgid "template-id %qD in declaration of primary template"
 msgid "class template %qD redeclared as non-template"
 msgstr "template-id %qD trong khai báo của mẫu nguyên gốc"
 
-#: cp/decl.cc:15520 cp/name-lookup.cc:5415
+#: cp/decl.cc:15651 cp/name-lookup.cc:5421
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.cc:15548 cp/friend.cc:315 cp/parser.cc:3308 cp/parser.cc:6638
-#: cp/pt.cc:9827
+#: cp/decl.cc:15679 cp/friend.cc:315 cp/parser.cc:3308 cp/parser.cc:6636
+#: cp/pt.cc:9848
 #, gcc-internal-format
 msgid "%qT is not a template"
 msgstr "%qT không phải một mẫu"
 
-#: cp/decl.cc:15553
+#: cp/decl.cc:15684
 #, gcc-internal-format
 msgid "perhaps you want to explicitly add %<%T::%>"
 msgstr ""
 
-#: cp/decl.cc:15658
+#: cp/decl.cc:15789
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.cc:15689
+#: cp/decl.cc:15820
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.cc:15700 cp/semantics.cc:3458
+#: cp/decl.cc:15831 cp/semantics.cc:3463
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot declare %qD in a different module"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: cp/decl.cc:15816
+#: cp/decl.cc:15947
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:15823
+#: cp/decl.cc:15954
 #, gcc-internal-format
 msgid "%qT defined with multiple direct bases"
 msgstr "%qT được định nghĩa với cơ sở đa trực tiếp"
 
-#: cp/decl.cc:15834
+#: cp/decl.cc:15965
 #, gcc-internal-format
 msgid "%qT defined with direct virtual base"
 msgstr "%qT được định nghĩa cơ sở trực tiếp ảo"
 
-#: cp/decl.cc:15859
+#: cp/decl.cc:15990
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.cc:15889
+#: cp/decl.cc:16020
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.cc:15891
+#: cp/decl.cc:16022
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16036
+#: cp/decl.cc:16167
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16039 cp/decl.cc:16047 cp/decl.cc:16057 cp/decl.cc:16651
-#: cp/parser.cc:20994
+#: cp/decl.cc:16170 cp/decl.cc:16178 cp/decl.cc:16188 cp/decl.cc:16784
+#: cp/parser.cc:20992
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "định nghĩa trước ở đây"
 
-#: cp/decl.cc:16044
+#: cp/decl.cc:16175
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16054
+#: cp/decl.cc:16185
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16065
+#: cp/decl.cc:16196
 #, gcc-internal-format
 msgid "cannot define %qD in different module"
 msgstr ""
 
-#: cp/decl.cc:16139
+#: cp/decl.cc:16270
 #, fuzzy, gcc-internal-format
 msgid "underlying type %qT of %qT must be an integral type"
 msgstr "đối số %d của %qE phải là một địa chỉ"
@@ -55092,79 +55290,79 @@ msgstr "đối số %d của %qE phải là một địa chỉ"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.cc:16286
+#: cp/decl.cc:16417
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.cc:16461
+#: cp/decl.cc:16592
 #, gcc-internal-format
 msgid "enumerator value for %qD must have integral or unscoped enumeration type"
 msgstr ""
 
-#: cp/decl.cc:16471
+#: cp/decl.cc:16602
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.cc:16520
+#: cp/decl.cc:16651
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.cc:16521
+#: cp/decl.cc:16652
 #, fuzzy, gcc-internal-format
 #| msgid "increment of enumeration value is invalid in C++"
 msgid "incremented enumerator value is too large for %<long%>"
 msgstr "phép gia tăng giá trị kiểu liệt kê là không hợp lệ trong C++"
 
-#: cp/decl.cc:16532
+#: cp/decl.cc:16663
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.cc:16552
+#: cp/decl.cc:16683
 #, gcc-internal-format
 msgid "enumerator value %qE is outside the range of underlying type %qT"
 msgstr ""
 
-#: cp/decl.cc:16649 cp/parser.cc:20992
+#: cp/decl.cc:16782 cp/parser.cc:20990
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr "nhiều định nghĩa cho %q#T"
 
-#: cp/decl.cc:16723
+#: cp/decl.cc:16856
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "kiểu trả về %q#T là một kiểu không hoàn toàn"
 
-#: cp/decl.cc:16883 cp/typeck.cc:10601
+#: cp/decl.cc:17016 cp/typeck.cc:10615
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> cần trả về một tham chiếu đến %<*this%>"
 
-#: cp/decl.cc:17733
+#: cp/decl.cc:17866
 #, gcc-internal-format
 msgid "no return statements in function returning %qT"
 msgstr ""
 
-#: cp/decl.cc:17735 cp/typeck.cc:10481
+#: cp/decl.cc:17868 cp/typeck.cc:10495
 #, gcc-internal-format
 msgid "only plain %<auto%> return type can be deduced to %<void%>"
 msgstr ""
 
-#: cp/decl.cc:17797
+#: cp/decl.cc:17930
 #, fuzzy, gcc-internal-format
 #| msgid "no return statement in function returning non-void"
 msgid "no return statement in %<constexpr%> function returning non-void"
 msgstr "%<return%> (trả lại) không có giá trị, trong hàm trả lại non-void (không rỗng)"
 
-#: cp/decl.cc:17979
+#: cp/decl.cc:18112
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD đã sẵn định nghĩa trong %qT"
 
-#: cp/decl.cc:18370
+#: cp/decl.cc:18503
 #, gcc-internal-format
 msgid "use of %qD before deduction of %<auto%>"
 msgstr ""
@@ -55219,7 +55417,7 @@ msgstr ""
 msgid "deleting %qT is undefined"
 msgstr ""
 
-#: cp/decl2.cc:672 cp/pt.cc:5877
+#: cp/decl2.cc:672 cp/pt.cc:5879
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr "cho khai báo hàm mẫu %q+D"
@@ -55229,7 +55427,7 @@ msgstr "cho khai báo hàm mẫu %q+D"
 msgid "template parameter lists provided don%'t match the template parameters of %qD"
 msgstr ""
 
-#: cp/decl2.cc:727 cp/pt.cc:5845
+#: cp/decl2.cc:727 cp/pt.cc:5847
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr ""
@@ -55337,60 +55535,60 @@ msgstr ""
 msgid "width of bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1536
+#: cp/decl2.cc:1540
 #, fuzzy, gcc-internal-format
 #| msgid "class type %qT is incomplete"
 msgid "incomplete type %qT is not mappable"
 msgstr "kiểu lớp %qT chưa hoàn thiện"
 
-#: cp/decl2.cc:1552
+#: cp/decl2.cc:1556
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %C is not a variable"
 msgid "static field %qD is not mappable"
 msgstr "%qs tại %C không phải là một biến"
 
-#: cp/decl2.cc:1641
+#: cp/decl2.cc:1645
 #, gcc-internal-format
 msgid "%q+D static data member inside of declare target directive"
 msgstr "thành viên dữ liệu tĩnh %q+D bên trong của chỉ thị khai báo đích"
 
-#: cp/decl2.cc:1680 cp/name-lookup.cc:8520
+#: cp/decl2.cc:1684 cp/name-lookup.cc:8546
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> may not be used in this context"
 msgid "%<omp::%E%> not allowed to be specified in this context"
 msgstr "%<this%> có lẽ không nên được dùng trong ngữ cảnh này"
 
-#: cp/decl2.cc:1749
+#: cp/decl2.cc:1753
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr ""
 
-#: cp/decl2.cc:1765
+#: cp/decl2.cc:1769
 #, gcc-internal-format
 msgid "%q#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1772
+#: cp/decl2.cc:1776
 #, gcc-internal-format
 msgid "private member %q#D in anonymous union"
 msgstr "thành viên riêng %q+#D trong hỗn hợp nặc danh"
 
-#: cp/decl2.cc:1775
+#: cp/decl2.cc:1779
 #, gcc-internal-format
 msgid "protected member %q#D in anonymous union"
 msgstr "thành viên bảo vệ %q+#D trong hỗn hợp nặc danh"
 
-#: cp/decl2.cc:1840
+#: cp/decl2.cc:1844
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr ""
 
-#: cp/decl2.cc:1849
+#: cp/decl2.cc:1853
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr ""
 
-#: cp/decl2.cc:1886
+#: cp/decl2.cc:1890
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr "%<operator new%> phải trả về kiểu %qT"
@@ -55399,84 +55597,84 @@ msgstr "%<operator new%> phải trả về kiểu %qT"
 #.
 #. The first parameter shall not have an associated default
 #. argument.
-#: cp/decl2.cc:1898
+#: cp/decl2.cc:1902
 #, gcc-internal-format
 msgid "the first parameter of %<operator new%> cannot have a default argument"
 msgstr ""
 
-#: cp/decl2.cc:1914
+#: cp/decl2.cc:1918
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr "%<operator new%> nhận kiểu %<size_t%> (%qT) như là đối số thứ nhất"
 
-#: cp/decl2.cc:1944
+#: cp/decl2.cc:1948
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr "%<operator delete%> phải trả về kiểu %qT"
 
-#: cp/decl2.cc:1959
+#: cp/decl2.cc:1963
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must be a non-member function"
 msgid "destroying %<operator delete%> must be a member function"
 msgstr "%qD phải là một hàm không-thành-viên"
 
-#: cp/decl2.cc:1962
+#: cp/decl2.cc:1966
 #, fuzzy, gcc-internal-format
 #| msgid "%<operator delete%> must return type %qT"
 msgid "%<operator delete[]%> cannot be a destroying delete"
 msgstr "%<operator delete%> phải trả về kiểu %qT"
 
-#: cp/decl2.cc:1964
+#: cp/decl2.cc:1968
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a usual deallocation function"
 msgstr ""
 
-#: cp/decl2.cc:1974
+#: cp/decl2.cc:1978
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr "%<operator delete%> nhận kiểu %qT như là đối số thứ nhất"
 
-#: cp/decl2.cc:2955
+#: cp/decl2.cc:2959
 #, gcc-internal-format
 msgid "%qT has a field %qD whose type has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2959
+#: cp/decl2.cc:2963
 #, gcc-internal-format
 msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2964
+#: cp/decl2.cc:2968
 #, gcc-internal-format
 msgid "%qT has a field %qD whose type uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:2972
+#: cp/decl2.cc:2976
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than the type of its field %qD"
 msgstr ""
 
-#: cp/decl2.cc:2990
+#: cp/decl2.cc:2994
 #, gcc-internal-format
 msgid "%qT has a base %qT whose type has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2994
+#: cp/decl2.cc:2998
 #, gcc-internal-format
 msgid "%qT has a base %qT whose type depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2999
+#: cp/decl2.cc:3003
 #, gcc-internal-format
 msgid "%qT has a base %qT whose type uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:3006
+#: cp/decl2.cc:3010
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than its base %qT"
 msgstr ""
 
-#: cp/decl2.cc:4675
+#: cp/decl2.cc:4679
 #, fuzzy, gcc-internal-format
 msgid "%q#D, declared using unnamed type, is used but never defined"
 msgstr "hàm chung dòng %qD được dùng nhưng chưa bao giờ được định nghĩa"
@@ -55485,104 +55683,104 @@ msgstr "hàm chung dòng %qD được dùng nhưng chưa bao giờ được đ
 #. 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/decl2.cc:4684
+#: cp/decl2.cc:4688
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4688
+#: cp/decl2.cc:4692
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4692
+#: cp/decl2.cc:4696
 #, gcc-internal-format
 msgid "%q#D does not refer to the unqualified type, so it is not used for linkage"
 msgstr ""
 
-#: cp/decl2.cc:4700
+#: cp/decl2.cc:4704
 #, gcc-internal-format
 msgid "%q#D, declared using local type %qT, is used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:4704
+#: cp/decl2.cc:4708
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4707
+#: cp/decl2.cc:4711
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4895
+#: cp/decl2.cc:4899
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D conflicts with a previous declaration"
 msgid "mangling of %q#D as %qE conflicts with a previous mangle"
 msgstr "%q#D xung đột với khai báo trước"
 
-#: cp/decl2.cc:4898
+#: cp/decl2.cc:4902
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration %q#D"
 msgid "previous mangling %q#D"
 msgstr "khai báo trước đây %q#D"
 
-#: cp/decl2.cc:4900
+#: cp/decl2.cc:4904
 #, gcc-internal-format
 msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling"
 msgstr ""
 
-#: cp/decl2.cc:4972 cp/decl2.cc:4975
+#: cp/decl2.cc:4976 cp/decl2.cc:4979
 #, gcc-internal-format
 msgid "the program should also define %qD"
 msgstr ""
 
-#: cp/decl2.cc:5328
+#: cp/decl2.cc:5332
 #, gcc-internal-format
 msgid "inline function %qD used but never defined"
 msgstr "hàm chung dòng %qD được dùng nhưng chưa bao giờ được định nghĩa"
 
-#: cp/decl2.cc:5531
+#: cp/decl2.cc:5535
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:5536
+#: cp/decl2.cc:5540
 #, gcc-internal-format
 msgid "...following parameter %P which has a default argument"
 msgstr ""
 
-#: cp/decl2.cc:5669
+#: cp/decl2.cc:5673
 #, fuzzy, gcc-internal-format
 #| msgid "class %qE is deprecated"
 msgid "implicitly-declared %qD is deprecated"
 msgstr "lớp %qE đã lạc hậu"
 
-#: cp/decl2.cc:5673
+#: cp/decl2.cc:5677
 #, gcc-internal-format
 msgid "because %qT has user-provided %qD"
 msgstr ""
 
 #. We mark a lambda conversion op as deleted if we can't
 #. generate it properly; see maybe_add_lambda_conv_op.
-#: cp/decl2.cc:5783
+#: cp/decl2.cc:5813
 #, fuzzy, gcc-internal-format
 #| msgid "converting far pointer to near pointer"
 msgid "converting lambda that uses %<...%> to function pointer"
 msgstr "không thể chuyển đổi thành kiểu con trỏ"
 
-#: cp/decl2.cc:5786
+#: cp/decl2.cc:5816
 #, gcc-internal-format
 msgid "use of deleted function %qD"
 msgstr "dùng hàm bị xóa %qD"
 
-#: cp/decl2.cc:5840
+#: cp/decl2.cc:5870
 #, fuzzy, gcc-internal-format
 #| msgid "insn does not satisfy its constraints:"
 msgid "use of function %qD with unsatisfied constraints"
 msgstr "lệnh không thỏa những ràng buộc của nó:"
 
-#: cp/decl2.cc:5872
+#: cp/decl2.cc:5902
 #, gcc-internal-format
 msgid "use of built-in parameter pack %qD outside of a template"
 msgstr ""
@@ -55704,7 +55902,7 @@ msgstr ""
 msgid "%qD is not a member of %qT; did you mean %qs?"
 msgstr "%qT không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: cp/error.cc:4601 cp/typeck.cc:2721
+#: cp/error.cc:4601 cp/typeck.cc:2730
 #, gcc-internal-format
 msgid "%qD is not a member of %qT"
 msgstr "%qD không phải là thành viên của %qT"
@@ -55715,7 +55913,7 @@ msgstr "%qD không phải là thành viên của %qT"
 msgid "%qD is not a member of %qD; did you mean %qs?"
 msgstr "%qT không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: cp/error.cc:4627 cp/typeck.cc:3314
+#: cp/error.cc:4627 cp/typeck.cc:3323
 #, gcc-internal-format
 msgid "%qD is not a member of %qD"
 msgstr "%qD không phải là thành viên của %qD"
@@ -55946,18 +56144,18 @@ msgstr ""
 msgid "invalid initializer for array member %q#D"
 msgstr ""
 
-#: cp/init.cc:1105 cp/init.cc:1131 cp/init.cc:2717 cp/method.cc:2366
+#: cp/init.cc:1105 cp/init.cc:1131 cp/init.cc:2727 cp/method.cc:2366
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1107 cp/init.cc:1125 cp/init.cc:1133 cp/init.cc:2702
-#: cp/init.cc:2730 cp/method.cc:2369 cp/method.cc:2380
+#: cp/init.cc:1107 cp/init.cc:1125 cp/init.cc:1133 cp/init.cc:2712
+#: cp/init.cc:2740 cp/method.cc:2369 cp/method.cc:2380
 #, gcc-internal-format
 msgid "%q#D should be initialized"
 msgstr "%q#D nên được khởi tạo"
 
-#: cp/init.cc:1123 cp/init.cc:2689 cp/method.cc:2377
+#: cp/init.cc:1123 cp/init.cc:2699 cp/method.cc:2377
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
@@ -56047,145 +56245,145 @@ msgstr ""
 msgid "type %qT is not a direct base of %qT"
 msgstr "kiểu %qT không là cơ sở trực tiếp của %qT"
 
-#: cp/init.cc:2003 cp/init.cc:4778 cp/typeck2.cc:1349
+#: cp/init.cc:2003 cp/init.cc:4786 cp/typeck2.cc:1349
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/init.cc:2328 cp/semantics.cc:3734
+#: cp/init.cc:2324 cp/semantics.cc:3740
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/init.cc:2372
+#: cp/init.cc:2382
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.cc:2386
+#: cp/init.cc:2396
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "con trỏ cho trường bít %qD không hợp lệ"
 
-#: cp/init.cc:2472 cp/typeck.cc:2199
+#: cp/init.cc:2482 cp/typeck.cc:2208
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.cc:2479 cp/semantics.cc:2148
+#: cp/init.cc:2489 cp/semantics.cc:2148
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.cc:2686
+#: cp/init.cc:2696
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2694
+#: cp/init.cc:2704
 #, gcc-internal-format
 msgid "uninitialized reference member in base %q#T of %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2698
+#: cp/init.cc:2708
 #, gcc-internal-format
 msgid "uninitialized reference member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2714
+#: cp/init.cc:2724
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2722
+#: cp/init.cc:2732
 #, gcc-internal-format
 msgid "uninitialized const member in base %q#T of %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2726
+#: cp/init.cc:2736
 #, gcc-internal-format
 msgid "uninitialized const member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2836
+#: cp/init.cc:2846
 #, gcc-internal-format
 msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi"
 msgstr ""
 
-#: cp/init.cc:2839
+#: cp/init.cc:2849
 #, gcc-internal-format
 msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size at most %qwu"
 msgstr ""
 
-#: cp/init.cc:2849
+#: cp/init.cc:2859
 #, gcc-internal-format
 msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi"
 msgstr ""
 
-#: cp/init.cc:2852
+#: cp/init.cc:2862
 #, gcc-internal-format
 msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size at most %qwu"
 msgstr ""
 
-#: cp/init.cc:2861
+#: cp/init.cc:2871
 #, gcc-internal-format
 msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi"
 msgstr ""
 
-#: cp/init.cc:2864
+#: cp/init.cc:2874
 #, gcc-internal-format
 msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size at most %qwu"
 msgstr ""
 
-#: cp/init.cc:2881
+#: cp/init.cc:2891
 #, fuzzy, gcc-internal-format
 #| msgid "routine %qD declared here"
 msgid "at offset %wi from %qD declared here"
 msgstr "%qD được khai báo ở đây"
 
-#: cp/init.cc:2885
+#: cp/init.cc:2895
 #, fuzzy, gcc-internal-format
 #| msgid "routine %qD declared here"
 msgid "at offset [%wi, %wi] from %qD declared here"
 msgstr "%qD được khai báo ở đây"
 
-#: cp/init.cc:3099
+#: cp/init.cc:3093
 #, gcc-internal-format
 msgid "integer overflow in array size"
 msgstr "tràn số nguyên trong kích thước mảng"
 
-#: cp/init.cc:3109
+#: cp/init.cc:3103
 #, gcc-internal-format
 msgid "array size in new-expression must be constant"
 msgstr ""
 
-#: cp/init.cc:3127
+#: cp/init.cc:3121
 #, gcc-internal-format
 msgid "variably modified type not allowed in new-expression"
 msgstr ""
 
-#: cp/init.cc:3143
+#: cp/init.cc:3137
 #, gcc-internal-format
 msgid "non-constant array new length must be specified directly, not by %<typedef%>"
 msgstr ""
 
-#: cp/init.cc:3145
+#: cp/init.cc:3139
 #, gcc-internal-format
 msgid "non-constant array new length must be specified without parentheses around the type-id"
 msgstr ""
 
-#: cp/init.cc:3155
+#: cp/init.cc:3149
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type %<void%> for new"
 msgid "invalid type %<void%> for %<new%>"
 msgstr "kiểu không hợp lệ %<void%> cho new"
 
-#: cp/init.cc:3161
+#: cp/init.cc:3155
 #, gcc-internal-format
 msgid "%<new%> of %<initializer_list%> does not extend the lifetime of the underlying array"
 msgstr ""
 
-#: cp/init.cc:3203
+#: cp/init.cc:3197
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
@@ -56195,87 +56393,87 @@ msgstr ""
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.cc:3360 cp/search.cc:1058
+#: cp/init.cc:3360 cp/search.cc:1179
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/init.cc:3435
+#: cp/init.cc:3441
 #, gcc-internal-format
 msgid "%<new%> of type %qT with extended alignment %d"
 msgstr ""
 
-#: cp/init.cc:3438
+#: cp/init.cc:3444
 #, gcc-internal-format
 msgid "uses %qD, which does not have an alignment parameter"
 msgstr ""
 
-#: cp/init.cc:3441
+#: cp/init.cc:3447
 #, gcc-internal-format
 msgid "use %<-faligned-new%> to enable C++17 over-aligned new support"
 msgstr ""
 
-#: cp/init.cc:3636
+#: cp/init.cc:3643
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.cc:3910
+#: cp/init.cc:3917
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.cc:3939
+#: cp/init.cc:3946
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.cc:3948
+#: cp/init.cc:3955
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.cc:4068
+#: cp/init.cc:4075
 #, gcc-internal-format
 msgid "possible problem detected in invocation of operator %<delete []%>"
 msgstr ""
 
-#: cp/init.cc:4072
+#: cp/init.cc:4079
 #, 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 ""
 
-#: cp/init.cc:4682
+#: cp/init.cc:4690
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "bộ khởi tạo kết thúc bất ngờ"
 
-#: cp/init.cc:4979
+#: cp/init.cc:4987
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.cc:5013
+#: cp/init.cc:5021
 #, gcc-internal-format
 msgid "possible problem detected in invocation of %<operator delete%>"
 msgstr ""
 
-#: cp/init.cc:5018
+#: cp/init.cc:5026
 #, 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 ""
 
-#: cp/init.cc:5033
+#: cp/init.cc:5041
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5038
+#: cp/init.cc:5046
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5345
+#: cp/init.cc:5353
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -56383,62 +56581,62 @@ msgstr ""
 msgid "  # %E"
 msgstr ""
 
-#: cp/mangle.cc:2365
+#: cp/mangle.cc:2386
 #, gcc-internal-format
 msgid "mangling %<typeof%>, use %<decltype%> instead"
 msgstr ""
 
-#: cp/mangle.cc:2369
+#: cp/mangle.cc:2390
 #, gcc-internal-format
 msgid "mangling %<__underlying_type%>"
 msgstr ""
 
-#: cp/mangle.cc:2676
+#: cp/mangle.cc:2697
 #, gcc-internal-format
 msgid "mangling unknown fixed point type"
 msgstr ""
 
-#: cp/mangle.cc:3454
+#: cp/mangle.cc:3475
 #, gcc-internal-format
 msgid "use of built-in trait %qE in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3459
+#: cp/mangle.cc:3480
 #, gcc-internal-format, gfc-internal-format
 msgid "mangling %C"
 msgstr ""
 
-#: cp/mangle.cc:3535
+#: cp/mangle.cc:3556
 #, gcc-internal-format
 msgid "omitted middle operand to %<?:%> operand cannot be mangled"
 msgstr ""
 
-#: cp/mangle.cc:4100
+#: cp/mangle.cc:4120
 #, gcc-internal-format
 msgid "mangled name for %qD will change in C++17 because the exception specification is part of a function type"
 msgstr ""
 
-#: cp/mangle.cc:4146
+#: cp/mangle.cc:4166
 #, gcc-internal-format
 msgid "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4152
+#: cp/mangle.cc:4172
 #, gcc-internal-format
 msgid "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4424
+#: cp/mangle.cc:4444
 #, gcc-internal-format
 msgid "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>"
 msgstr ""
 
-#: cp/mangle.cc:4429
+#: cp/mangle.cc:4449
 #, gcc-internal-format
 msgid "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>"
 msgstr ""
 
-#: cp/mangle.cc:4434
+#: cp/mangle.cc:4454
 #, gcc-internal-format
 msgid "the mangled name of the initialization guard variable for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>"
 msgstr ""
@@ -56775,7 +56973,7 @@ msgstr ""
 msgid "cannot import module in its own purview"
 msgstr ""
 
-#: cp/module.cc:13883 cp/module.cc:18965
+#: cp/module.cc:13883 cp/module.cc:18966
 #, fuzzy, gcc-internal-format
 #| msgid "routine %qD declared here"
 msgid "module %qs declared here"
@@ -56913,38 +57111,38 @@ msgstr ""
 msgid "returning to the gate for a mechanical issue"
 msgstr ""
 
-#: cp/module.cc:18670
+#: cp/module.cc:18671
 #, fuzzy, gcc-internal-format
 #| msgid "Creating '%s'\n"
 msgid "reading CMI %qs"
 msgstr "Đang tạo “%s”\n"
 
-#: cp/module.cc:18814
+#: cp/module.cc:18815
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18815
+#: cp/module.cc:18816
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:18822
+#: cp/module.cc:18823
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18823
+#: cp/module.cc:18824
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:18881
+#: cp/module.cc:18882
 #, gcc-internal-format
 msgid "failed to load pendings for %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18885
+#: cp/module.cc:18886
 #, gcc-internal-format
 msgid "during load of pendings for %<%E%s%E%>"
 msgstr ""
@@ -56956,401 +57154,401 @@ msgstr ""
 #. module, so we don't want to confuse things by having to think
 #. about whether 'extern "C++" { import foo; }' puts foo's
 #. contents into the global module all of a sudden.
-#: cp/module.cc:18930
+#: cp/module.cc:18931
 #, gcc-internal-format
 msgid "import of named module %qs inside language-linkage block"
 msgstr ""
 
-#: cp/module.cc:18960
+#: cp/module.cc:18961
 #, fuzzy, gcc-internal-format
 #| msgid "Symbol %qs already declared"
 msgid "module already declared"
 msgstr "Ký hiệu %qs đã sẵn được khai báo"
 
-#: cp/module.cc:18961
+#: cp/module.cc:18962
 #, fuzzy, gcc-internal-format
 #| msgid "module procedure"
 msgid "module already imported"
 msgstr "thủ tục mô-đun"
 
-#: cp/module.cc:18966
+#: cp/module.cc:18967
 #, fuzzy, gcc-internal-format
 #| msgid "module procedure"
 msgid "module %qs imported here"
 msgstr "thủ tục mô-đun"
 
-#: cp/module.cc:19153
+#: cp/module.cc:19154
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown Compiled Module Interface: %s"
 msgstr ""
 
-#: cp/module.cc:19196
+#: cp/module.cc:19197
 #, gcc-internal-format
 msgid "cannot determine %<#include%> translation of %s: %s"
 msgstr ""
 
-#: cp/module.cc:19214
+#: cp/module.cc:19215
 #, gcc-internal-format
 msgid "include %qs translated to import"
 msgstr ""
 
-#: cp/module.cc:19215
+#: cp/module.cc:19216
 #, gcc-internal-format
 msgid "include %qs processed textually"
 msgstr ""
 
-#: cp/module.cc:19572
+#: cp/module.cc:19573
 #, gcc-internal-format
 msgid "C++ modules are incompatible with precompiled headers"
 msgstr ""
 
-#: cp/module.cc:19576
+#: cp/module.cc:19577
 #, fuzzy, gcc-internal-format
 #| msgid "Enable traditional preprocessing."
 msgid "C++ modules are incompatible with traditional preprocessing"
 msgstr "Bật tiền xử lý theo kiểu cổ điển."
 
-#: cp/module.cc:19586
+#: cp/module.cc:19587
 #, gcc-internal-format
 msgid "macro debug output may be incomplete with modules"
 msgstr ""
 
-#: cp/module.cc:19587
+#: cp/module.cc:19588
 #, gcc-internal-format
 msgid "module dependencies require preprocessing"
 msgstr ""
 
-#: cp/module.cc:19589
+#: cp/module.cc:19590
 #, gcc-internal-format
 msgid "you should use the %<-%s%> option"
 msgstr ""
 
-#: cp/module.cc:19624 cp/module.cc:19653
+#: cp/module.cc:19625 cp/module.cc:19654
 #, fuzzy, gcc-internal-format
 #| msgid "invalid --param name %qs"
 msgid "invalid header name %qs"
 msgstr "sai tên cho tùy chọn --param %qs"
 
-#: cp/module.cc:19663
+#: cp/module.cc:19664
 #, fuzzy, gcc-internal-format
 #| msgid "invalid --param name %qs"
 msgid "invalid module name %qs"
 msgstr "sai tên cho tùy chọn --param %qs"
 
-#: cp/module.cc:19829
+#: cp/module.cc:19830
 #, gcc-internal-format
 msgid "%<-fmodule-only%> used for non-interface"
 msgstr ""
 
-#: cp/module.cc:19869
+#: cp/module.cc:19870
 #, fuzzy, gcc-internal-format
 #| msgid "error writing %qs"
 msgid "writing CMI %qs"
 msgstr "lỗi ghi %qs"
 
-#: cp/module.cc:19874
+#: cp/module.cc:19875
 #, fuzzy, gcc-internal-format
 #| msgid "Error writing modules file: %s"
 msgid "not writing module %qs due to errors"
 msgstr "Gặp lỗi khi ghi tập tin môt-đun: %s"
 
-#: cp/module.cc:19902
+#: cp/module.cc:19903
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "failed to write compiled module: %s"
 msgstr "không tìm thấy lớp “%s”"
 
-#: cp/module.cc:20039
+#: cp/module.cc:20040
 #, fuzzy, gcc-internal-format
 #| msgid "unknown IRA region %qs"
 msgid "unknown header kind %qs"
 msgstr "không hiểu vùng IRA %qs"
 
-#: cp/name-lookup.cc:2727
+#: cp/name-lookup.cc:2730
 #, fuzzy, gcc-internal-format
 msgid "redeclaration of %q#D with different template parameters"
 msgstr "khai báo của %qD như là đối số"
 
-#: cp/name-lookup.cc:2733
+#: cp/name-lookup.cc:2736
 #, gcc-internal-format
 msgid "%q#D conflicts with a previous declaration"
 msgstr "%q#D xung đột với khai báo trước"
 
-#: cp/name-lookup.cc:2898
+#: cp/name-lookup.cc:2901
 #, fuzzy, gcc-internal-format
 #| msgid "%d constructor found\n"
 #| msgid_plural "%d constructors found\n"
 msgid "%q#D hides constructor for %q#D"
 msgstr "Tìm thấy %d bộ cấu trúc\n"
 
-#: cp/name-lookup.cc:3047
+#: cp/name-lookup.cc:3050
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting declaration %q+#D"
 msgid "conflicting C language linkage declaration %q#D"
 msgstr "khai báo xung đột %q+#D"
 
-#: cp/name-lookup.cc:3052
+#: cp/name-lookup.cc:3055
 #, gcc-internal-format
 msgid "due to different exception specifications"
 msgstr ""
 
-#: cp/name-lookup.cc:3150
+#: cp/name-lookup.cc:3153
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D previously declared here"
 msgid "lambda parameter %qD previously declared as a capture"
 msgstr "%q#D trước định nghĩa ở đây"
 
-#: cp/name-lookup.cc:3173
+#: cp/name-lookup.cc:3176
 #, gcc-internal-format
 msgid "declaration of %q#D shadows a parameter"
 msgstr ""
 
-#: cp/name-lookup.cc:3308
+#: cp/name-lookup.cc:3311
 #, gcc-internal-format
 msgid "declaration of %qD shadows a member of %qT"
 msgstr "sự khai báo của các bóng %qD như là thành viên của %qT"
 
-#: cp/name-lookup.cc:3766
+#: cp/name-lookup.cc:3772
 #, fuzzy, gcc-internal-format
 msgid "friend declaration %qD in local class without prior local declaration"
 msgstr "sự khai báo lại %q+D khác trong %<constexpr%>"
 
-#: cp/name-lookup.cc:4233
+#: cp/name-lookup.cc:4239
 #, fuzzy, gcc-internal-format
 #| msgid "%s %s(%E) %p %d\n"
 msgid "%s %<%s(%E)%> %p %d"
 msgstr "%s %s(%E) %p %d\n"
 
-#: cp/name-lookup.cc:4236
+#: cp/name-lookup.cc:4242
 #, fuzzy, gcc-internal-format
 #| msgid "%s %s %p %d\n"
 msgid "%s %s %p %d"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.cc:4848
+#: cp/name-lookup.cc:4854
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not have class type"
 msgid "%q#D does not have external linkage"
 msgstr "%qE không có kiểu lớp"
 
-#: cp/name-lookup.cc:4850 cp/parser.cc:11382 cp/parser.cc:11392
-#: cp/semantics.cc:3920 cp/semantics.cc:3932
+#: cp/name-lookup.cc:4856 cp/parser.cc:11376 cp/parser.cc:11386
+#: cp/semantics.cc:3926 cp/semantics.cc:3938
 #, gcc-internal-format
 msgid "%q#D declared here"
 msgstr "%q#D được khai báo ở đây"
 
-#: cp/name-lookup.cc:5557
+#: cp/name-lookup.cc:5568
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> names destructor"
 msgid "%<%T%s%D%> names destructor"
 msgstr "%<%T::%D%> tên hủy tử"
 
-#: cp/name-lookup.cc:5573
+#: cp/name-lookup.cc:5584
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5581
+#: cp/name-lookup.cc:5592
 #, fuzzy, gcc-internal-format
 #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11"
 msgid "%<using%> with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "inline namespaces chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/name-lookup.cc:5597 cp/pt.cc:18455
+#: cp/name-lookup.cc:5608 cp/pt.cc:18500
 #, fuzzy, gcc-internal-format
 #| msgid "%<::%E%> is not a class, namespace, or enumeration"
 msgid "%qT is not a class, namespace, or enumeration"
 msgstr "%<::%E%> không phải là một lớp, namespace, hay enumeration"
 
-#: cp/name-lookup.cc:5607
+#: cp/name-lookup.cc:5618
 #, gcc-internal-format
 msgid "non-member using-declaration names constructor of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5618 cp/name-lookup.cc:5676
+#: cp/name-lookup.cc:5629 cp/name-lookup.cc:5702
 #, gcc-internal-format
 msgid "using-declaration for member at non-class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5641
+#: cp/name-lookup.cc:5652
 #, fuzzy, gcc-internal-format
 #| msgid "type %qT is not a direct base of %qT"
 msgid "%qT is not a direct base of %qT"
 msgstr "kiểu %qT không là cơ sở trực tiếp của %qT"
 
-#: cp/name-lookup.cc:5686
+#: cp/name-lookup.cc:5712
 #, gcc-internal-format
 msgid "did you mean %<using enum %T::%D%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:5698
+#: cp/name-lookup.cc:5724
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not declared in %qD"
 msgid "%qD has not been declared in %qD"
 msgstr "%qD chưa được khai báo trong %qD"
 
-#: cp/name-lookup.cc:5712
+#: cp/name-lookup.cc:5738
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration of namespace %qD here"
 msgid "using-declaration may not name namespace %qD"
 msgstr "khai báo trước đây của không gian tên %qD ở đây"
 
-#: cp/name-lookup.cc:5723
+#: cp/name-lookup.cc:5749
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> các tên cấu tử trong %qT"
 
-#: cp/name-lookup.cc:5816
+#: cp/name-lookup.cc:5842
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5857
+#: cp/name-lookup.cc:5883
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5867
+#: cp/name-lookup.cc:5893
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5920
+#: cp/name-lookup.cc:5946
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not declared in %qD"
 msgid "%qD has not been declared within %qD"
 msgstr "%qD chưa được khai báo trong %qD"
 
-#: cp/name-lookup.cc:5922
+#: cp/name-lookup.cc:5948
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared as a friend"
 msgid "only here as a %<friend%>"
 msgstr "%q+D được khai báo là friend"
 
-#: cp/name-lookup.cc:5976
+#: cp/name-lookup.cc:6002
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.cc:5983
+#: cp/name-lookup.cc:6009
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.cc:5993 cp/name-lookup.cc:6020
+#: cp/name-lookup.cc:6019 cp/name-lookup.cc:6046
 #, gcc-internal-format
 msgid "ignoring %qD attribute on anonymous namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:5999
+#: cp/name-lookup.cc:6025
 #, gcc-internal-format
 msgid "ignoring %qD attribute on non-inline namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6036 cp/name-lookup.cc:8525
+#: cp/name-lookup.cc:6062 cp/name-lookup.cc:8551
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.cc:6362
+#: cp/name-lookup.cc:6388
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6414
+#: cp/name-lookup.cc:6440
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] "các khả năng được gợi ý:"
 
-#: cp/name-lookup.cc:6420
+#: cp/name-lookup.cc:6446
 #, gcc-internal-format
 msgid "  %qE"
 msgstr "  %qE"
 
-#: cp/name-lookup.cc:6949
+#: cp/name-lookup.cc:6975
 #, gcc-internal-format
 msgid "%<std::%s%> is defined in header %qs; did you forget to %<#include %s%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:6955
+#: cp/name-lookup.cc:6981
 #, fuzzy, gcc-internal-format
 msgid "%<std::%s%> is only available from %s onwards"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: cp/name-lookup.cc:7391
+#: cp/name-lookup.cc:7417
 #, fuzzy, gcc-internal-format
 #| msgid "%qD has already been defined"
 msgid "the macro %qs had not yet been defined"
 msgstr "%qD đã định nghĩa rồi"
 
-#: cp/name-lookup.cc:7394
+#: cp/name-lookup.cc:7420
 #, fuzzy, gcc-internal-format
 #| msgid "struct defined here"
 msgid "it was later defined here"
 msgstr "struct được định nghĩa ở đây"
 
-#: cp/name-lookup.cc:8153
+#: cp/name-lookup.cc:8179
 #, gcc-internal-format
 msgid "declaration of %<std::initializer_list%> does not match %<#include <initializer_list>%>, isn%'t a template"
 msgstr ""
 
-#: cp/name-lookup.cc:8509
+#: cp/name-lookup.cc:8535
 #, fuzzy, gcc-internal-format
 #| msgid "%<-fabi-version=1%> is no longer supported"
 msgid "%<strong%> using directive no longer supported"
 msgstr "%<-fabi-version=1%> không còn tiếp tục được hỗ trợ nữa"
 
-#: cp/name-lookup.cc:8512
+#: cp/name-lookup.cc:8538
 #, gcc-internal-format
 msgid "you can use an inline namespace instead"
 msgstr ""
 
 #. We only allow depth 255.
-#: cp/name-lookup.cc:8611
+#: cp/name-lookup.cc:8637
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot nest more than %d namespaces"
 msgstr ""
 
-#: cp/name-lookup.cc:8708
+#: cp/name-lookup.cc:8734
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L is ambiguous"
 msgid "%<namespace %E%> is ambiguous"
 msgstr "%qs tại %L phải là số nguyên"
 
-#: cp/name-lookup.cc:8724
+#: cp/name-lookup.cc:8750
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:8804
+#: cp/name-lookup.cc:8830
 #, gcc-internal-format
 msgid "inline namespace must be specified at initial definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8805
+#: cp/name-lookup.cc:8831
 #, fuzzy, gcc-internal-format
 #| msgid "label %qD defined here"
 msgid "%qD defined here"
 msgstr "nhãn %qD được định nghĩa ở đây"
 
-#: cp/name-lookup.cc:8854
+#: cp/name-lookup.cc:8880
 #, gcc-internal-format
 msgid "%s namespace %qD conflicts with reachable definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8856
+#: cp/name-lookup.cc:8882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "previous definition here"
 msgid "reachable %s definition here"
 msgstr "định nghĩa trước ở đây"
 
-#: cp/name-lookup.cc:8899
+#: cp/name-lookup.cc:8925
 #, fuzzy, gcc-internal-format
 #| msgid "XXX entering pop_everything ()\n"
 msgid "XXX entering %<pop_everything ()%>"
 msgstr "XXX vào pop_everything ()\n"
 
-#: cp/name-lookup.cc:8908
+#: cp/name-lookup.cc:8934
 #, fuzzy, gcc-internal-format
 #| msgid "XXX leaving pop_everything ()\n"
 msgid "XXX leaving %<pop_everything ()%>"
@@ -57376,7 +57574,7 @@ msgstr ""
 msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
 msgstr ""
 
-#: cp/parser.cc:1444 cp/parser.cc:45077
+#: cp/parser.cc:1444 cp/parser.cc:45083
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition"
 msgstr ""
@@ -57406,7 +57604,7 @@ msgstr "%<::%E%> chưa được khai báo"
 msgid "request for member %qE in non-class type %qT"
 msgstr ""
 
-#: cp/parser.cc:3160 cp/parser.cc:20931
+#: cp/parser.cc:3160 cp/parser.cc:20929
 #, gcc-internal-format
 msgid "%<%T::%E%> has not been declared"
 msgstr "%<%T::%E%> chưa được khai báo"
@@ -57486,7 +57684,7 @@ msgstr "template-id không hợp lệ"
 msgid "ISO C++ forbids using a floating-point literal in a constant-expression"
 msgstr "cú gọi hàm không được xuất hiện trong biểu thức hằng"
 
-#: cp/parser.cc:3355 cp/pt.cc:20113
+#: cp/parser.cc:3355 cp/pt.cc:20161
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -57628,7 +57826,7 @@ msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr "%<concept%> chỉ sẵn sàng với -fconcepts"
 
-#: cp/parser.cc:3550 cp/parser.cc:29906
+#: cp/parser.cc:3550 cp/parser.cc:29904
 #, fuzzy, gcc-internal-format
 #| msgid "%<requires%> only available with -fconcepts"
 msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
@@ -57690,1500 +57888,1500 @@ msgstr "%qE trong %q#T không phải là tên của kiểu mẫu"
 msgid "%qE in %q#T does not name a type"
 msgstr "%qE trong %q#T không là tên một kiểu"
 
-#: cp/parser.cc:4366
+#: cp/parser.cc:4364
 #, gcc-internal-format
 msgid "expected string-literal"
 msgstr "cần một chuỗi chữ"
 
-#: cp/parser.cc:4432
+#: cp/parser.cc:4430
 #, gcc-internal-format
 msgid "inconsistent user-defined literal suffixes %qD and %qD in string literal"
 msgstr ""
 
-#: cp/parser.cc:4451
+#: cp/parser.cc:4449
 #, gcc-internal-format
 msgid "concatenation of string literals with conflicting encoding prefixes"
 msgstr ""
 
-#: cp/parser.cc:4618
+#: cp/parser.cc:4616
 #, gcc-internal-format
 msgid "unable to find character literal operator %qD with %qT argument"
 msgstr ""
 
-#: cp/parser.cc:4724
+#: cp/parser.cc:4722
 #, gcc-internal-format
 msgid "integer literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4731
+#: cp/parser.cc:4729
 #, gcc-internal-format
 msgid "floating literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4735
+#: cp/parser.cc:4733
 #, gcc-internal-format
 msgid "floating literal truncated to zero"
 msgstr "văn bản dấu chấm động cắt ngắn thành số không"
 
-#: cp/parser.cc:4764
+#: cp/parser.cc:4762
 #, gcc-internal-format
 msgid "failed to translate literal to execution character set %qT"
 msgstr ""
 
-#: cp/parser.cc:4798
+#: cp/parser.cc:4796
 #, gcc-internal-format
 msgid "unable to find numeric literal operator %qD"
 msgstr ""
 
-#: cp/parser.cc:4804
+#: cp/parser.cc:4802
 #, gcc-internal-format
 msgid "add %<using namespace std::complex_literals%> (from %<<complex>%>) to enable the C++14 user-defined literal suffixes"
 msgstr ""
 
-#: cp/parser.cc:4808
+#: cp/parser.cc:4806
 #, gcc-internal-format
 msgid "or use %<j%> instead of %<i%> for the GNU built-in suffix"
 msgstr ""
 
-#: cp/parser.cc:4812
+#: cp/parser.cc:4810
 #, gcc-internal-format
 msgid "use %<-fext-numeric-literals%> to enable more built-in suffixes"
 msgstr ""
 
-#: cp/parser.cc:4896
+#: cp/parser.cc:4894
 #, gcc-internal-format
 msgid "unable to find string literal operator %qD with %qT, %qT arguments"
 msgstr ""
 
-#: cp/parser.cc:4990
+#: cp/parser.cc:4988
 #, gcc-internal-format
 msgid "global module fragment contents must be from preprocessor inclusion"
 msgstr ""
 
-#: cp/parser.cc:5005 cp/parser.cc:15178
+#: cp/parser.cc:5003 cp/parser.cc:15172
 #, gcc-internal-format
 msgid "expected declaration"
 msgstr "cần khai báo"
 
-#: cp/parser.cc:5366 cp/parser.cc:5381
+#: cp/parser.cc:5364 cp/parser.cc:5379
 #, gcc-internal-format
 msgid "expected binary operator"
 msgstr "cần toán tử hai ngôi"
 
-#: cp/parser.cc:5387
+#: cp/parser.cc:5385
 #, gcc-internal-format
 msgid "expected ..."
 msgstr "cần …"
 
-#: cp/parser.cc:5399
+#: cp/parser.cc:5397
 #, gcc-internal-format
 msgid "binary expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5404
+#: cp/parser.cc:5402
 #, gcc-internal-format
 msgid "conditional expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5412
+#: cp/parser.cc:5410
 #, gcc-internal-format
 msgid "mismatched operator in fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5516
+#: cp/parser.cc:5514
 #, gcc-internal-format
 msgid "fixed-point types not supported in C++"
 msgstr "kiểu dấu chấm cố định không hỗ trợ trong C++"
 
-#: cp/parser.cc:5599
+#: cp/parser.cc:5597
 #, gcc-internal-format
 msgid "ISO C++ forbids braced-groups within expressions"
 msgstr ""
 
-#: cp/parser.cc:5611
+#: cp/parser.cc:5609
 #, gcc-internal-format
 msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
 msgstr ""
 
-#: cp/parser.cc:5651
+#: cp/parser.cc:5649
 #, fuzzy, gcc-internal-format
 #| msgid "fold-expressions only available with -std=c++1z or -std=gnu++1z"
 msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:5712 cp/parser.cc:5893 cp/parser.cc:6074 cp/semantics.cc:4074
+#: cp/parser.cc:5710 cp/parser.cc:5891 cp/parser.cc:6072 cp/semantics.cc:4080
 #, gcc-internal-format
 msgid "expected primary-expression"
 msgstr "cần biểu thức cơ bản"
 
-#: cp/parser.cc:5742
+#: cp/parser.cc:5740
 #, gcc-internal-format
 msgid "%<this%> may not be used in this context"
 msgstr "%<this%> có lẽ không nên được dùng trong ngữ cảnh này"
 
-#: cp/parser.cc:5887
+#: cp/parser.cc:5885
 #, gcc-internal-format
 msgid "a template declaration cannot appear at block scope"
 msgstr ""
 
-#: cp/parser.cc:6228
+#: cp/parser.cc:6226
 #, gcc-internal-format
 msgid "expected id-expression"
 msgstr "cần id-expression"
 
-#: cp/parser.cc:6266
+#: cp/parser.cc:6264
 #, gcc-internal-format
 msgid "expected %qs keyword before dependent template name"
 msgstr ""
 
-#: cp/parser.cc:6393
+#: cp/parser.cc:6391
 #, gcc-internal-format
 msgid "scope %qT before %<~%> is not a class-name"
 msgstr ""
 
-#: cp/parser.cc:6403
+#: cp/parser.cc:6401
 #, gcc-internal-format
 msgid "%<template%> keyword not permitted in destructor name"
 msgstr ""
 
-#: cp/parser.cc:6440 cp/parser.cc:8559
+#: cp/parser.cc:6438 cp/parser.cc:8553
 #, fuzzy, gcc-internal-format
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:6452
+#: cp/parser.cc:6450
 #, fuzzy, gcc-internal-format
 #| msgid "template-id %qD used as a declarator"
 msgid "template-id not allowed for destructor"
 msgstr "template-id %qD được dùng như bộ khai báo"
 
-#: cp/parser.cc:6561
+#: cp/parser.cc:6559
 #, gcc-internal-format
 msgid "declaration of %<~%T%> as member of %qT"
 msgstr "phần khai báo của %<~%T%> là thành viên của %qT"
 
-#: cp/parser.cc:6576
+#: cp/parser.cc:6574
 #, gcc-internal-format
 msgid "typedef-name %qD used as destructor declarator"
 msgstr ""
 
-#: cp/parser.cc:6612 cp/parser.cc:23381
+#: cp/parser.cc:6610 cp/parser.cc:23379
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "cần unqualified-id"
 
-#: cp/parser.cc:6639 cp/typeck.cc:3011 cp/typeck.cc:3014 cp/typeck.cc:3031
+#: cp/parser.cc:6637 cp/typeck.cc:3020 cp/typeck.cc:3023 cp/typeck.cc:3040
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr "%qD không phải một mẫu"
 
-#: cp/parser.cc:6753
+#: cp/parser.cc:6751
 #, gcc-internal-format
 msgid "found %<:%> in nested-name-specifier, expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:6834
+#: cp/parser.cc:6832
 #, fuzzy, gcc-internal-format
 msgid "%<decltype%> evaluates to %qT, which is not a class or enumeration type"
 msgstr "thuộc tính %qE chỉ áp dụng cho các hàm"
 
-#: cp/parser.cc:6861 cp/parser.cc:6872
+#: cp/parser.cc:6859 cp/parser.cc:6870
 #, fuzzy, gcc-internal-format
 #| msgid "expected nested-name-specifier"
 msgid "concept-id %qD in nested-name-specifier"
 msgstr "cần nested-name-specifier"
 
-#: cp/parser.cc:6864
+#: cp/parser.cc:6862
 #, gcc-internal-format
 msgid "function template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:6878
+#: cp/parser.cc:6876
 #, gcc-internal-format
 msgid "variable template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7052
+#: cp/parser.cc:7050
 #, gcc-internal-format
 msgid "expected nested-name-specifier"
 msgstr "cần nested-name-specifier"
 
-#: cp/parser.cc:7259 cp/parser.cc:9804
+#: cp/parser.cc:7257 cp/parser.cc:9798
 #, gcc-internal-format
 msgid "types may not be defined in casts"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:7348
+#: cp/parser.cc:7346
 #, gcc-internal-format
 msgid "types may not be defined in a %<typeid%> expression"
 msgstr ""
 
-#: cp/parser.cc:7440
+#: cp/parser.cc:7438
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_addressof%>"
 msgstr "sai số tham số cho %<__builtin_addressof%>"
 
-#: cp/parser.cc:7452 cp/pt.cc:20793
+#: cp/parser.cc:7450 cp/pt.cc:20841
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_launder%>"
 msgstr "đối số sai số lượng cho %<__builtin_launder%>"
 
-#: cp/parser.cc:7465
+#: cp/parser.cc:7463
 #, fuzzy, gcc-internal-format
 #| msgid "wrong number of arguments to %<__builtin_addressof%>"
 msgid "wrong number of arguments to %<__builtin_assoc_barrier%>"
 msgstr "sai số tham số cho %<__builtin_addressof%>"
 
-#: cp/parser.cc:7491
+#: cp/parser.cc:7489
 #, fuzzy, gcc-internal-format
 #| msgid "wrong number of arguments to %<__builtin_shuffle%>"
 msgid "wrong number of arguments to %<__builtin_shufflevector%>"
 msgstr "sai số tham số cho %<__builtin_shuffle%>"
 
-#: cp/parser.cc:7625
+#: cp/parser.cc:7627
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr "ISO C++ cấm compound-literals"
 
-#: cp/parser.cc:7684
+#: cp/parser.cc:7686
 #, gcc-internal-format
 msgid "two consecutive %<[%> shall only introduce an attribute"
 msgstr ""
 
-#: cp/parser.cc:8330 cp/typeck.cc:2899
+#: cp/parser.cc:8326 cp/typeck.cc:2908
 #, gcc-internal-format
 msgid "invalid use of %qD"
 msgstr "dùng %qD không hợp lệ"
 
-#: cp/parser.cc:8339
+#: cp/parser.cc:8335
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a class member"
 msgstr "%<%D::%D%> không phải là thành viên lớp"
 
-#: cp/parser.cc:8611
+#: cp/parser.cc:8605
 #, gcc-internal-format
 msgid "non-scalar type"
 msgstr "kiểu không-scalar"
 
-#: cp/parser.cc:8721
+#: cp/parser.cc:8715
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<alignof%> with a non-type"
 msgstr "ISO C++ không cho phép %<alignof%> với một non-type"
 
-#: cp/parser.cc:8816
+#: cp/parser.cc:8810
 #, gcc-internal-format
 msgid "types may not be defined in %<noexcept%> expressions"
 msgstr ""
 
-#: cp/parser.cc:9090 cp/parser.cc:32445
+#: cp/parser.cc:9084 cp/parser.cc:32451
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in casts"
 msgid "types may not be defined in %qs expressions"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:9155
+#: cp/parser.cc:9149
 #, gcc-internal-format
 msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
 msgstr ""
 
-#: cp/parser.cc:9241
+#: cp/parser.cc:9235
 #, gcc-internal-format
 msgid "types may not be defined in a new-expression"
 msgstr ""
 
-#: cp/parser.cc:9257
+#: cp/parser.cc:9251
 #, gcc-internal-format
 msgid "array bound forbidden after parenthesized type-id"
 msgstr ""
 
-#: cp/parser.cc:9259
+#: cp/parser.cc:9253
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr ""
 
-#: cp/parser.cc:9291
+#: cp/parser.cc:9285
 #, gcc-internal-format
 msgid "initialization of new-expression for type %<auto%> requires exactly one element"
 msgstr ""
 
-#: cp/parser.cc:9336
+#: cp/parser.cc:9330
 #, gcc-internal-format
 msgid "expected expression-list or type-id"
 msgstr ""
 
-#: cp/parser.cc:9365
+#: cp/parser.cc:9359
 #, gcc-internal-format
 msgid "types may not be defined in a new-type-id"
 msgstr ""
 
-#: cp/parser.cc:9500
+#: cp/parser.cc:9494
 #, gcc-internal-format
 msgid "expression in new-declarator must have integral or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:9909
+#: cp/parser.cc:9903
 #, fuzzy, gcc-internal-format
 #| msgid "use of old-style cast"
 msgid "use of old-style cast to %q#T"
 msgstr "dùng áp kiểu theo cách cũ"
 
-#: cp/parser.cc:10058
+#: cp/parser.cc:10052
 #, gcc-internal-format
 msgid "%<>>%> operator is treated as two right angle brackets in C++11"
 msgstr ""
 
-#: cp/parser.cc:10061
+#: cp/parser.cc:10055
 #, gcc-internal-format
 msgid "suggest parentheses around %<>>%> expression"
 msgstr "gợi ý bao quanh biểu thức %<>>%> bằng dấu ngoặc đơn"
 
-#: cp/parser.cc:10269
+#: cp/parser.cc:10263
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow ?: with omitted middle operand"
 msgid "ISO C++ does not allow %<?:%> with omitted middle operand"
 msgstr "ISO C++ không cho phép ?: với toán hạng ở giữa bị bỏ qua"
 
-#: cp/parser.cc:10558
+#: cp/parser.cc:10552
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript is deprecated"
 msgstr ""
 
-#: cp/parser.cc:10715
+#: cp/parser.cc:10709
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in casts"
 msgid "types may not be defined within %<__builtin_offsetof%>"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:11027
+#: cp/parser.cc:11021
 #, fuzzy, gcc-internal-format
 #| msgid "lambda-expression in a constant expression"
 msgid "lambda-expression in template parameter type"
 msgstr "Gặp biểu thức lambda trong biểu thức bất biến"
 
-#: cp/parser.cc:11037
+#: cp/parser.cc:11031
 #, fuzzy, gcc-internal-format
 #| msgid "fold-expressions only available with -std=c++1z or -std=gnu++1z"
 msgid "lambda-expression in unevaluated context only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:11047
+#: cp/parser.cc:11041
 #, fuzzy, gcc-internal-format
 #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14"
 msgid "lambda-expression in template-argument only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:11205
+#: cp/parser.cc:11199
 #, gcc-internal-format
 msgid "non-local lambda expression cannot have a capture-default"
 msgstr ""
 
-#: cp/parser.cc:11227
+#: cp/parser.cc:11221
 #, gcc-internal-format
 msgid "expected end of capture-list"
 msgstr "cần kết thúc của capture-list"
 
-#: cp/parser.cc:11243
+#: cp/parser.cc:11237
 #, fuzzy, gcc-internal-format
 #| msgid "%<*this%> capture only available with -std=c++1z or -std=gnu++1z"
 msgid "explicit by-copy capture of %<this%> with by-copy capture default only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "chụp %<*this%> chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:11249 cp/parser.cc:11271 cp/parser.cc:11464
+#: cp/parser.cc:11243 cp/parser.cc:11265 cp/parser.cc:11458
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/parser.cc:11265
+#: cp/parser.cc:11259
 #, fuzzy, gcc-internal-format
 #| msgid "%<*this%> capture only available with -std=c++1z or -std=gnu++1z"
 msgid "%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "chụp %<*this%> chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:11285
+#: cp/parser.cc:11279
 #, fuzzy, gcc-internal-format
 #| msgid "%<@synthesize%> can not be used in categories"
 msgid "%<this%> cannot be captured by reference"
 msgstr "%<@synthesize%> không thể được dùng trong các-ta-lốc"
 
-#: cp/parser.cc:11305
+#: cp/parser.cc:11299
 #, fuzzy, gcc-internal-format
 #| msgid "%<*this%> capture only available with -std=c++1z or -std=gnu++1z"
 msgid "pack init-capture only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "chụp %<*this%> chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:11316
+#: cp/parser.cc:11310
 #, gcc-internal-format
 msgid "%<&%> should come before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:11347
+#: cp/parser.cc:11341
 #, fuzzy, gcc-internal-format
 #| msgid "lambda capture initializers only available with -std=c++14 or -std=gnu++14"
 msgid "lambda capture initializers only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "khởi tạo chụp lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:11354
+#: cp/parser.cc:11348
 #, gcc-internal-format
 msgid "empty initializer for lambda init-capture"
 msgstr ""
 
-#: cp/parser.cc:11378
+#: cp/parser.cc:11372
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate instance variable %q+D"
 msgid "capture of non-variable %qE"
 msgstr "trùng biến minh dụ %q+D"
 
-#: cp/parser.cc:11388
+#: cp/parser.cc:11382
 #, gcc-internal-format
 msgid "capture of variable %qD with non-automatic storage duration"
 msgstr ""
 
-#: cp/parser.cc:11426
+#: cp/parser.cc:11420
 #, fuzzy, gcc-internal-format
 #| msgid "too many %<if%> clauses"
 msgid "too many %<...%> in lambda capture"
 msgstr "quá nhiều mệnh đề %<if%>"
 
-#: cp/parser.cc:11437
+#: cp/parser.cc:11431
 #, gcc-internal-format
 msgid "explicit by-copy capture of %qD redundant with by-copy capture default"
 msgstr ""
 
-#: cp/parser.cc:11442
+#: cp/parser.cc:11436
 #, gcc-internal-format
 msgid "explicit by-reference capture of %qD redundant with by-reference capture default"
 msgstr ""
 
-#: cp/parser.cc:11521
+#: cp/parser.cc:11515
 #, fuzzy, gcc-internal-format
 #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14"
 msgid "lambda templates are only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:11525
+#: cp/parser.cc:11519
 #, fuzzy, gcc-internal-format
 #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14"
 msgid "lambda templates are only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:11594
+#: cp/parser.cc:11588
 #, gcc-internal-format
 msgid "default argument specified for lambda parameter"
 msgstr ""
 
-#: cp/parser.cc:11613
+#: cp/parser.cc:11607
 #, fuzzy, gcc-internal-format
 msgid "parameter declaration before lambda declaration specifiers only optional with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:11625
+#: cp/parser.cc:11619
 #, fuzzy, gcc-internal-format
 msgid "duplicate %<mutable%>"
 msgstr "lặp lại %<volatile%>"
 
-#: cp/parser.cc:11632
+#: cp/parser.cc:11626
 #, gcc-internal-format
 msgid "parameter declaration before lambda transaction qualifier only optional with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11645
+#: cp/parser.cc:11639
 #, gcc-internal-format
 msgid "parameter declaration before lambda exception specification only optional with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11663
+#: cp/parser.cc:11657
 #, fuzzy, gcc-internal-format
 #| msgid "deduced return type only available with -std=c++14 or -std=gnu++14"
 msgid "parameter declaration before lambda trailing return type only optional with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "kiểu trả về deduced chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:11705
+#: cp/parser.cc:11699
 #, fuzzy, gcc-internal-format
 msgid "%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:11865 cp/parser.cc:12004 cp/parser.cc:45683
+#: cp/parser.cc:11859 cp/parser.cc:11998 cp/parser.cc:45689
 #, gcc-internal-format
 msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement"
 msgstr ""
 
-#: cp/parser.cc:11891 cp/parser.cc:45665
+#: cp/parser.cc:11885 cp/parser.cc:45671
 #, gcc-internal-format
 msgid "unknown OpenMP directive name in %<omp::directive%> attribute argument"
 msgstr ""
 
-#: cp/parser.cc:11973
+#: cp/parser.cc:11967
 #, gcc-internal-format
 msgid "OpenMP construct among %<omp::directive%> attributes requires all %<omp::directive%> attributes on the same statement to be in the same %<omp::sequence%>"
 msgstr ""
 
-#: cp/parser.cc:11981
+#: cp/parser.cc:11975
 #, gcc-internal-format
 msgid "multiple OpenMP standalone directives among %<omp::directive%> attributes must be all within the same %<omp::sequence%>"
 msgstr ""
 
-#: cp/parser.cc:11993
+#: cp/parser.cc:11987
 #, gcc-internal-format
 msgid "standalone OpenMP directives in %<omp::directive%> attribute can only appear on an empty statement"
 msgstr ""
 
-#: cp/parser.cc:12113
+#: cp/parser.cc:12107
 #, gcc-internal-format
 msgid "mixing OpenMP directives with attribute and pragma syntax on the same declaration"
 msgstr ""
 
-#: cp/parser.cc:12536 cp/parser.cc:12737
+#: cp/parser.cc:12530 cp/parser.cc:12731
 #, gcc-internal-format
 msgid "attributes at the beginning of statement are ignored"
 msgstr ""
 
-#: cp/parser.cc:12576
+#: cp/parser.cc:12570
 #, gcc-internal-format
 msgid "expected labeled-statement"
 msgstr "cần labeled-statement"
 
-#: cp/parser.cc:12625
+#: cp/parser.cc:12619
 #, gcc-internal-format
 msgid "case label %qE not within a switch statement"
 msgstr ""
 
-#: cp/parser.cc:12744
+#: cp/parser.cc:12738
 #, gcc-internal-format
 msgid "need %<typename%> before %qE because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:12753
+#: cp/parser.cc:12747
 #, gcc-internal-format
 msgid "%<%T::%D%> names the constructor, not the type"
 msgstr "%<%T::%D%> tên cấu tử, không phải kiểu"
 
-#: cp/parser.cc:12801
+#: cp/parser.cc:12795
 #, fuzzy, gcc-internal-format
 msgid "compound-statement in %<constexpr%> function"
 msgstr "lệnh không phải biểu thức hằng"
 
-#: cp/parser.cc:12965
+#: cp/parser.cc:12959
 #, fuzzy, gcc-internal-format
 msgid "%<if constexpr%> only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:12987
+#: cp/parser.cc:12981
 #, fuzzy, gcc-internal-format
 msgid "%<if consteval%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:13012 cp/parser.cc:13047
+#: cp/parser.cc:13006 cp/parser.cc:13041
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp cancel%> may only be used in compound statements"
 msgid "%<if consteval%> requires compound statement"
 msgstr "%<#pragma omp cancel%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: cp/parser.cc:13089
+#: cp/parser.cc:13083
 #, fuzzy, gcc-internal-format
 msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "định nghĩa namespaces lồng nhau chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:13257 cp/parser.cc:32932
+#: cp/parser.cc:13251 cp/parser.cc:32938
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "cần selection-statement"
 
-#: cp/parser.cc:13298
+#: cp/parser.cc:13292
 #, fuzzy, gcc-internal-format
 #| msgid "function returning an array"
 msgid "condition declares an array"
 msgstr "hàm trả về một mảng"
 
-#: cp/parser.cc:13300
+#: cp/parser.cc:13294
 #, fuzzy, gcc-internal-format
 #| msgid "field %qE declared as a function"
 msgid "condition declares a function"
 msgstr "trường %qE được khai báo như là một hàm"
 
-#: cp/parser.cc:13340
+#: cp/parser.cc:13334
 #, gcc-internal-format
 msgid "types may not be defined in conditions"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.cc:13422 cp/parser.cc:22661 cp/parser.cc:25180
+#: cp/parser.cc:13416 cp/parser.cc:22659 cp/parser.cc:25178
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr "cần bộ khởi tạo"
 
-#: cp/parser.cc:13472
+#: cp/parser.cc:13466
 #, fuzzy, gcc-internal-format
 #| msgid "range-based %<for%> loops only available with -std=c++11 or -std=gnu++11"
 msgid "range-based %<for%> loops with initializer only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "vòng lặp range-based %<for%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:13723
+#: cp/parser.cc:13717
 #, gcc-internal-format
 msgid "loop variable %qD of type %qT binds to a temporary constructed from type %qT"
 msgstr ""
 
 #. rval
-#: cp/parser.cc:13730
+#: cp/parser.cc:13724
 #, gcc-internal-format
 msgid "use non-reference type %qT to make the copy explicit or %qT to prevent copying"
 msgstr ""
 
-#: cp/parser.cc:13755
+#: cp/parser.cc:13749
 #, fuzzy, gcc-internal-format
 #| msgid "Loop variable at %C cannot be a coarray"
 msgid "loop variable %qD creates a copy from type %qT"
 msgstr "Biến vòng lặp tại %C không thể là một coarray"
 
-#: cp/parser.cc:13760
+#: cp/parser.cc:13754
 #, gcc-internal-format
 msgid "use reference type to prevent copying"
 msgstr ""
 
-#: cp/parser.cc:13903
+#: cp/parser.cc:13897
 #, gcc-internal-format
 msgid "range-based %<for%> expression of type %qT has incomplete type"
 msgstr ""
 
-#: cp/parser.cc:13987
+#: cp/parser.cc:13981
 #, gcc-internal-format
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.cc:14130 cp/parser.cc:32935
+#: cp/parser.cc:14124 cp/parser.cc:32941
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "cần iteration-statement"
 
-#: cp/parser.cc:14175
+#: cp/parser.cc:14169
 #, fuzzy, gcc-internal-format
 msgid "alias-declaration in init-statement only available with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr "định nghĩa namespaces lồng nhau chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:14192
+#: cp/parser.cc:14186
 #, fuzzy, gcc-internal-format
 #| msgid "range-based %<for%> loops only available with -std=c++11 or -std=gnu++11"
 msgid "range-based %<for%> loops only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr "vòng lặp range-based %<for%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:14324
+#: cp/parser.cc:14318
 #, fuzzy, gcc-internal-format
 msgid "%<goto%> in %<constexpr%> function only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
 #. Issue a warning about this use of a GNU extension.
-#: cp/parser.cc:14333
+#: cp/parser.cc:14327
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ cấm tính toán gotos"
 
-#: cp/parser.cc:14346 cp/parser.cc:32938
+#: cp/parser.cc:14340 cp/parser.cc:32944
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "cần jump-statement"
 
-#: cp/parser.cc:14523
+#: cp/parser.cc:14517
 #, fuzzy, gcc-internal-format
 #| msgid "expected template-name"
 msgid "expected module-name"
 msgstr "cần template-name"
 
-#: cp/parser.cc:14558
+#: cp/parser.cc:14552
 #, gcc-internal-format
 msgid "module-declaration not permitted in header-unit"
 msgstr ""
 
-#: cp/parser.cc:14583
+#: cp/parser.cc:14577
 #, gcc-internal-format
 msgid "private module fragment only permitted in purview of module interface or partition"
 msgstr ""
 
-#: cp/parser.cc:14588
+#: cp/parser.cc:14582
 #, fuzzy, gcc-internal-format
 #| msgid "volatile argument"
 msgid "private module fragment"
 msgstr "đối số hay thay đổi"
 
 #. Neither the first declaration, nor in a GMF.
-#: cp/parser.cc:14594
+#: cp/parser.cc:14588
 #, gcc-internal-format
 msgid "module-declaration only permitted as first declaration, or ending a global module fragment"
 msgstr ""
 
-#: cp/parser.cc:14631
+#: cp/parser.cc:14625
 #, gcc-internal-format
 msgid "post-module-declaration imports must be contiguous"
 msgstr ""
 
-#: cp/parser.cc:14634
+#: cp/parser.cc:14628
 #, gcc-internal-format
 msgid "perhaps insert a line break, or other disambiguation, to prevent this being considered a module control-line"
 msgstr ""
 
-#: cp/parser.cc:14642
+#: cp/parser.cc:14636
 #, gcc-internal-format
 msgid "import-declaration must be at global scope"
 msgstr ""
 
-#: cp/parser.cc:14655
+#: cp/parser.cc:14649
 #, fuzzy, gcc-internal-format
 #| msgid "invalid linkage-specification"
 msgid "import cannot appear directly in a linkage-specification"
 msgstr "đặc tả linkage không hợp lệ"
 
-#: cp/parser.cc:14663
+#: cp/parser.cc:14657
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be include-translated"
 msgstr ""
 
-#: cp/parser.cc:14668
+#: cp/parser.cc:14662
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be from header inclusion"
 msgstr ""
 
-#: cp/parser.cc:14688
+#: cp/parser.cc:14682
 #, gcc-internal-format
 msgid "%qE may only occur after a module interface declaration"
 msgstr ""
 
-#: cp/parser.cc:14696
+#: cp/parser.cc:14690
 #, fuzzy, gcc-internal-format
 #| msgid "%<inline%> in empty declaration"
 msgid "%qE may only occur once in an export declaration"
 msgstr "%<inline%> trong khai báo trống rỗng"
 
-#: cp/parser.cc:14717
+#: cp/parser.cc:14711
 #, gcc-internal-format
 msgid "%<export%> not part of following module-directive"
 msgstr ""
 
-#: cp/parser.cc:14804 cp/parser.cc:27000
+#: cp/parser.cc:14798 cp/parser.cc:26998
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "%<;%> mở rộng"
 
-#: cp/parser.cc:14862
+#: cp/parser.cc:14856
 #, fuzzy, gcc-internal-format
 #| msgid "weakref is not supported in this configuration"
 msgid "attributes are not permitted in this position"
 msgstr "weakref không được hỗ trợ trong cấu hình này"
 
-#: cp/parser.cc:14866
+#: cp/parser.cc:14860
 #, fuzzy, gcc-internal-format
 #| msgid "attribute ignored"
 msgid "attributes may be inserted here"
 msgstr "thuộc tính bị bỏ qua"
 
-#: cp/parser.cc:15083
+#: cp/parser.cc:15077
 #, gcc-internal-format
 msgid "%<__label__%> not at the beginning of a block"
 msgstr "%<__label__%> không ở đầu của một khối"
 
-#: cp/parser.cc:15316
+#: cp/parser.cc:15310
 #, gcc-internal-format
 msgid "non-variable %qD in declaration with more than one declarator with placeholder type"
 msgstr ""
 
-#: cp/parser.cc:15336
+#: cp/parser.cc:15330
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
 
-#: cp/parser.cc:15357
+#: cp/parser.cc:15351
 #, gcc-internal-format
 msgid "mixing declarations and function-definitions is forbidden"
 msgstr ""
 
-#: cp/parser.cc:15382
+#: cp/parser.cc:15376
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in a for-range-declaration"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:15437
+#: cp/parser.cc:15431
 #, gcc-internal-format
 msgid "initializer in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15440
+#: cp/parser.cc:15434
 #, gcc-internal-format
 msgid "multiple declarations in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15493
+#: cp/parser.cc:15487
 #, fuzzy, gcc-internal-format
 msgid "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "mẫu biến chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:15545
+#: cp/parser.cc:15539
 #, fuzzy, gcc-internal-format
 msgid "empty structured binding declaration"
 msgstr "khai báo trống rỗng"
 
-#: cp/parser.cc:15563
+#: cp/parser.cc:15557
 #, fuzzy, gcc-internal-format
 #| msgid "invalid member function declaration"
 msgid "invalid initializer for structured binding declaration"
 msgstr "khai báo hàm thành viên không hợp lệ"
 
-#: cp/parser.cc:15732
+#: cp/parser.cc:15726
 #, gcc-internal-format
 msgid "%<friend%> used outside of class"
 msgstr "%<friend%> được dùng bên ngoài lớp"
 
-#: cp/parser.cc:15771
+#: cp/parser.cc:15765
 #, gcc-internal-format
 msgid "the %<bool%> keyword is not allowed in a C++20 concept definition"
 msgstr ""
 
-#: cp/parser.cc:15774
+#: cp/parser.cc:15768
 #, gcc-internal-format
 msgid "C++20 concept definition syntax is %<concept <name> = <expr>%>"
 msgstr ""
 
-#: cp/parser.cc:15841
+#: cp/parser.cc:15835
 #, gcc-internal-format
 msgid "%<auto%> changes meaning in C++11; please remove it"
 msgstr "%<auto%> thay đổi ý nghĩa trong C++11; hãy bỏ nó đi"
 
-#: cp/parser.cc:15877
+#: cp/parser.cc:15871
 #, fuzzy, gcc-internal-format
 #| msgid "%qD invalid in lambda"
 msgid "%qD invalid in condition"
 msgstr "%qD không hợp lệ trong lambda"
 
-#: cp/parser.cc:15884
+#: cp/parser.cc:15878
 #, gcc-internal-format
 msgid "%qD invalid in lambda"
 msgstr "%qD không hợp lệ trong lambda"
 
-#: cp/parser.cc:15965
+#: cp/parser.cc:15959
 #, fuzzy, gcc-internal-format
 #| msgid "%qD invalid in lambda"
 msgid "type-specifier invalid in lambda"
 msgstr "%qD không hợp lệ trong lambda"
 
-#: cp/parser.cc:15977
+#: cp/parser.cc:15971
 #, gcc-internal-format
 msgid "standard attributes in middle of decl-specifiers"
 msgstr ""
 
-#: cp/parser.cc:15979
+#: cp/parser.cc:15973
 #, gcc-internal-format
 msgid "standard attributes must precede the decl-specifiers to apply to the declaration, or follow them to apply to the type"
 msgstr ""
 
-#: cp/parser.cc:15994
+#: cp/parser.cc:15988
 #, gcc-internal-format
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.cc:16067 cp/parser.cc:27542
+#: cp/parser.cc:16061 cp/parser.cc:27540
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "các mẫu không thể là %<virtual%>"
 
-#: cp/parser.cc:16086
+#: cp/parser.cc:16080
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in casts"
 msgid "types may not be defined in explicit-specifier"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:16090
+#: cp/parser.cc:16084
 #, fuzzy, gcc-internal-format
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<explicit(bool)%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:16154
+#: cp/parser.cc:16149
 #, gcc-internal-format
 msgid "invalid linkage-specification"
 msgstr "đặc tả linkage không hợp lệ"
 
-#: cp/parser.cc:16258
+#: cp/parser.cc:16253
 #, fuzzy, gcc-internal-format
 #| msgid "static_assert without a message only available with -std=c++1z or -std=gnu++1z"
 msgid "%<static_assert%> without a message only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "static_assert không có lời nhắn chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:16460
+#: cp/parser.cc:16455
 #, fuzzy, gcc-internal-format
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<decltype(auto)%> type specifier only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:16473
+#: cp/parser.cc:16468
 #, gcc-internal-format
 msgid "types may not be defined in %<decltype%> expressions"
 msgstr ""
 
-#: cp/parser.cc:16646
+#: cp/parser.cc:16641
 #, gcc-internal-format
 msgid "types may not be defined in a conversion-type-id"
 msgstr ""
 
-#: cp/parser.cc:16675
+#: cp/parser.cc:16670
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in conversion operator"
 msgstr ""
 
-#: cp/parser.cc:16679
+#: cp/parser.cc:16674
 #, gcc-internal-format
 msgid "use of %<auto%> in member template conversion operator can never be deduced"
 msgstr ""
 
-#: cp/parser.cc:16763
+#: cp/parser.cc:16758
 #, gcc-internal-format
 msgid "only constructors take member initializers"
 msgstr ""
 
-#: cp/parser.cc:16790
+#: cp/parser.cc:16785
 #, fuzzy, gcc-internal-format
 #| msgid "missing initializer for member %qD"
 msgid "cannot expand initializer for member %qD"
 msgstr "thiếu bộ khởi tạo cho thành viên %qD"
 
-#: cp/parser.cc:16802 cp/pt.cc:26882
+#: cp/parser.cc:16797 cp/pt.cc:26924
 #, gcc-internal-format
 msgid "mem-initializer for %qD follows constructor delegation"
 msgstr ""
 
-#: cp/parser.cc:16814 cp/pt.cc:26894
+#: cp/parser.cc:16809 cp/pt.cc:26936
 #, gcc-internal-format
 msgid "constructor delegation follows mem-initializer for %qD"
 msgstr ""
 
-#: cp/parser.cc:16866
+#: cp/parser.cc:16861
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr ""
 
-#: cp/parser.cc:16951
+#: cp/parser.cc:16946
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:17352
+#: cp/parser.cc:17347
 #, gcc-internal-format
 msgid "unexpected keyword; remove space between quotes and suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:17358
+#: cp/parser.cc:17353
 #, gcc-internal-format
 msgid "expected suffix identifier"
 msgstr "cần định danh hậu tố"
 
-#: cp/parser.cc:17367
+#: cp/parser.cc:17362
 #, gcc-internal-format
 msgid "expected empty string after %<operator%> keyword"
 msgstr ""
 
-#: cp/parser.cc:17373
+#: cp/parser.cc:17368
 #, gcc-internal-format
 msgid "invalid encoding prefix in literal operator"
 msgstr ""
 
-#: cp/parser.cc:17407
+#: cp/parser.cc:17402
 #, gcc-internal-format
 msgid "expected operator"
 msgstr "cần toán tử"
 
-#: cp/parser.cc:17454
+#: cp/parser.cc:17449
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.cc:17456
+#: cp/parser.cc:17451
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated and has no effect"
 msgid "keyword %<export%> is deprecated, and is ignored"
 msgstr "%qs đã lỗi thời và không có tác động gì"
 
-#: cp/parser.cc:17458
+#: cp/parser.cc:17453
 #, gcc-internal-format
 msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:17637
+#: cp/parser.cc:17632
 #, gcc-internal-format
 msgid "invalid constrained type parameter"
 msgstr ""
 
-#: cp/parser.cc:17645
+#: cp/parser.cc:17640
 #, gcc-internal-format
 msgid "cv-qualified type parameter"
 msgstr ""
 
-#: cp/parser.cc:17792
+#: cp/parser.cc:17787
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in default template argument"
 msgstr "dùng %<auto%> không hợp lệ trong đối số mẫu mặc định"
 
-#: cp/parser.cc:18028 cp/parser.cc:18114 cp/parser.cc:24947
+#: cp/parser.cc:18023 cp/parser.cc:18109 cp/parser.cc:24945
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:18032 cp/parser.cc:18118
+#: cp/parser.cc:18027 cp/parser.cc:18113
 #, gcc-internal-format
 msgid "template parameter packs cannot have default arguments"
 msgstr ""
 
-#: cp/parser.cc:18185
+#: cp/parser.cc:18180
 #, gcc-internal-format
 msgid "expected template-id"
 msgstr "cần template-id"
 
-#: cp/parser.cc:18247
+#: cp/parser.cc:18242
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr ""
 
-#: cp/parser.cc:18251
+#: cp/parser.cc:18246
 #, gcc-internal-format
 msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
 msgstr ""
 
-#: cp/parser.cc:18255
+#: cp/parser.cc:18250
 #, gcc-internal-format
 msgid "(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will accept your code)"
 msgstr ""
 
-#: cp/parser.cc:18285
+#: cp/parser.cc:18280
 #, fuzzy, gcc-internal-format
 #| msgid "invalid template-id"
 msgid "invalid template-argument-list"
 msgstr "template-id không hợp lệ"
 
-#: cp/parser.cc:18286
+#: cp/parser.cc:18281
 #, gcc-internal-format
 msgid "function name as the left hand operand of %<<%> is ill-formed in C++20; wrap the function name in %<()%>"
 msgstr ""
 
-#: cp/parser.cc:18293
+#: cp/parser.cc:18288
 #, fuzzy, gcc-internal-format
 #| msgid "expected template-argument"
 msgid "expected %<(%> after template-argument-list"
 msgstr "cần template-argument"
 
-#: cp/parser.cc:18407
+#: cp/parser.cc:18402
 #, gcc-internal-format
 msgid "parse error in template argument list"
 msgstr ""
 
 #. The name does not name a template.
-#: cp/parser.cc:18492 cp/parser.cc:18680 cp/parser.cc:18870
+#: cp/parser.cc:18487 cp/parser.cc:18675 cp/parser.cc:18868
 #, gcc-internal-format
 msgid "expected template-name"
 msgstr "cần template-name"
 
 #. Explain what went wrong.
-#: cp/parser.cc:18538
+#: cp/parser.cc:18533
 #, gcc-internal-format
 msgid "non-template %qD used as template"
 msgstr ""
 
-#: cp/parser.cc:18540
+#: cp/parser.cc:18535
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr ""
 
-#: cp/parser.cc:18739
+#: cp/parser.cc:18737
 #, gcc-internal-format
 msgid "expected parameter pack before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:18835 cp/parser.cc:18853 cp/parser.cc:19026
+#: cp/parser.cc:18833 cp/parser.cc:18851 cp/parser.cc:19024
 #, gcc-internal-format
 msgid "expected template-argument"
 msgstr "cần template-argument"
 
-#: cp/parser.cc:18993
+#: cp/parser.cc:18991
 #, gcc-internal-format
 msgid "invalid non-type template argument"
 msgstr ""
 
-#: cp/parser.cc:19135
+#: cp/parser.cc:19133
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<inline%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19139
+#: cp/parser.cc:19137
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<constexpr%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19143
+#: cp/parser.cc:19141
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<consteval%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19205
+#: cp/parser.cc:19203
 #, gcc-internal-format
 msgid "template specialization with C linkage"
 msgstr ""
 
-#: cp/parser.cc:19434
+#: cp/parser.cc:19432
 #, gcc-internal-format
 msgid "expected type specifier"
 msgstr "cần bộ chỉ định kiểu"
 
-#: cp/parser.cc:19626
+#: cp/parser.cc:19624
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<auto%> in parameter declaration only available with -std=c++14 or -std=gnu++14"
 msgid "use of %<auto%> in lambda parameter declaration only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "việc dùng %<auto%> trong khai báo tham số chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:19632
+#: cp/parser.cc:19630
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<auto%> in parameter declaration only available with -std=c++14 or -std=gnu++14"
 msgid "use of %<auto%> in parameter declaration only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "việc dùng %<auto%> trong khai báo tham số chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:19637
+#: cp/parser.cc:19635
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<auto%> in parameter declaration only available with -std=c++14 or -std=gnu++14"
 msgid "use of %<auto%> in parameter declaration only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr "việc dùng %<auto%> trong khai báo tham số chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:19794
+#: cp/parser.cc:19792
 #, gcc-internal-format
 msgid "expected template-id for type"
 msgstr "cần template-id cho kiểu"
 
-#: cp/parser.cc:19924
+#: cp/parser.cc:19922
 #, gcc-internal-format
 msgid "expected type-name"
 msgstr "cần type-name (tên kiểu)"
 
-#: cp/parser.cc:20036
+#: cp/parser.cc:20034
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not name a type"
 msgid "%qE does not constrain a type"
 msgstr "%qE không phải tên một kiểu"
 
-#: cp/parser.cc:20037
+#: cp/parser.cc:20035
 #, fuzzy, gcc-internal-format
 #| msgid "union defined here"
 msgid "concept defined here"
 msgstr "union được định nghĩa ở đây"
 
-#: cp/parser.cc:20060
+#: cp/parser.cc:20058
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<)%> after %qE"
 msgid "expected %<auto%> or %<decltype(auto)%> after %qE"
 msgstr "cần %<,%> hoặc %<)%> sau %qE"
 
-#: cp/parser.cc:20067
+#: cp/parser.cc:20065
 #, gcc-internal-format
 msgid "unexpected placeholder in constrained result type"
 msgstr ""
 
-#: cp/parser.cc:20310
+#: cp/parser.cc:20308
 #, gcc-internal-format
 msgid "elaborated-type-specifier for a scoped enum must not use the %qD keyword"
 msgstr ""
 
-#: cp/parser.cc:20386
+#: cp/parser.cc:20384
 #, fuzzy, gcc-internal-format
 #| msgid "expected nested-name-specifier"
 msgid "%<template%> must follow a nested-name-specifier"
 msgstr "cần nested-name-specifier"
 
-#: cp/parser.cc:20548
+#: cp/parser.cc:20546
 #, gcc-internal-format
 msgid "declaration %qD does not declare anything"
 msgstr ""
 
-#: cp/parser.cc:20636
+#: cp/parser.cc:20634
 #, gcc-internal-format
 msgid "attributes ignored on uninstantiated type"
 msgstr ""
 
-#: cp/parser.cc:20642
+#: cp/parser.cc:20640
 #, gcc-internal-format
 msgid "attributes ignored on template instantiation"
 msgstr ""
 
-#: cp/parser.cc:20653
+#: cp/parser.cc:20651
 #, gcc-internal-format
 msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
 msgstr ""
 
-#: cp/parser.cc:20794
+#: cp/parser.cc:20792
 #, gcc-internal-format
 msgid "%qD is an enumeration template"
 msgstr "%qD là một mẫu liệt kê"
 
-#: cp/parser.cc:20805
+#: cp/parser.cc:20803
 #, gcc-internal-format
 msgid "%qD does not name an enumeration in %qT"
 msgstr "%qD không phải tên một kiểu enumeration trong %qT"
 
-#: cp/parser.cc:20820
+#: cp/parser.cc:20818
 #, gcc-internal-format
 msgid "unnamed scoped enum is not allowed"
 msgstr ""
 
-#: cp/parser.cc:20836
+#: cp/parser.cc:20834
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in casts"
 msgid "types may not be defined in enum-base"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:20881
+#: cp/parser.cc:20879
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%>"
 msgstr "cần %<;%> hoặc %<{%>"
 
-#: cp/parser.cc:20925
+#: cp/parser.cc:20923
 #, gcc-internal-format
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.cc:20939
+#: cp/parser.cc:20937
 #, gcc-internal-format
 msgid "nested name specifier %qT for enum declaration does not name a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:20951 cp/parser.cc:26457
+#: cp/parser.cc:20949 cp/parser.cc:26455
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:20956 cp/parser.cc:26462
+#: cp/parser.cc:20954 cp/parser.cc:26460
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:20968 cp/parser.cc:26475
+#: cp/parser.cc:20966 cp/parser.cc:26473
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "không cho phép từ hạn định mở rộng"
 
-#: cp/parser.cc:21005
+#: cp/parser.cc:21003
 #, gcc-internal-format
 msgid "ISO C++ forbids empty unnamed enum"
 msgstr "ISO C++ cấm kiểu liệt kê nặc danh không tên trống rỗng"
 
-#: cp/parser.cc:21030
+#: cp/parser.cc:21028
 #, gcc-internal-format
 msgid "opaque-enum-specifier without name"
 msgstr ""
 
-#: cp/parser.cc:21033
+#: cp/parser.cc:21031
 #, gcc-internal-format
 msgid "opaque-enum-specifier must use a simple identifier"
 msgstr ""
 
-#: cp/parser.cc:21154
+#: cp/parser.cc:21152
 #, gcc-internal-format
 msgid "unexpanded parameter pack in enumerator in lambda"
 msgstr ""
 
-#: cp/parser.cc:21229
+#: cp/parser.cc:21227
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a namespace-name; did you mean %qs?"
 msgstr "%qE không phải tên một kiểu"
 
-#: cp/parser.cc:21233
+#: cp/parser.cc:21231
 #, gcc-internal-format
 msgid "%qD is not a namespace-name"
 msgstr "%qD không là một namespace-name"
 
-#: cp/parser.cc:21237
+#: cp/parser.cc:21235
 #, gcc-internal-format
 msgid "expected namespace-name"
 msgstr "cần namespace-name"
 
-#: cp/parser.cc:21298
+#: cp/parser.cc:21296
 #, fuzzy, gcc-internal-format
 #| msgid "nested namespace definitions only available with -std=c++1z or -std=gnu++1z"
 msgid "nested inline namespace definitions only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "định nghĩa namespaces lồng nhau chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:21310
+#: cp/parser.cc:21308
 #, gcc-internal-format
 msgid "standard attributes on namespaces must precede the namespace name"
 msgstr ""
 
-#: cp/parser.cc:21329
+#: cp/parser.cc:21327
 #, fuzzy, gcc-internal-format
 #| msgid "nested namespace definitions only available with -std=c++1z or -std=gnu++1z"
 msgid "nested namespace definitions only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "định nghĩa namespaces lồng nhau chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:21339
+#: cp/parser.cc:21337
 #, fuzzy, gcc-internal-format
 #| msgid "expected namespace-name"
 msgid "nested namespace name required"
 msgstr "cần namespace-name"
 
-#: cp/parser.cc:21344
+#: cp/parser.cc:21342
 #, gcc-internal-format
 msgid "namespace name required"
 msgstr ""
 
-#: cp/parser.cc:21348
+#: cp/parser.cc:21346
 #, gcc-internal-format
 msgid "a nested namespace definition cannot have attributes"
 msgstr ""
 
-#: cp/parser.cc:21351
+#: cp/parser.cc:21349
 #, gcc-internal-format
 msgid "a nested namespace definition cannot be inline"
 msgstr ""
 
-#: cp/parser.cc:21358
+#: cp/parser.cc:21356
 #, gcc-internal-format
 msgid "namespace %qD entered"
 msgstr ""
 
-#: cp/parser.cc:21413
+#: cp/parser.cc:21411
 #, gcc-internal-format
 msgid "%<namespace%> definition is not allowed here"
 msgstr "%<namespace%> không cho phép định nghĩa ở đây"
 
-#: cp/parser.cc:21588
+#: cp/parser.cc:21586
 #, fuzzy, gcc-internal-format
 msgid "pack expansion in using-declaration only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:21603
+#: cp/parser.cc:21601
 #, gcc-internal-format
 msgid "a template-id may not appear in a using-declaration"
 msgstr ""
 
-#: cp/parser.cc:21621
+#: cp/parser.cc:21619
 #, fuzzy, gcc-internal-format
 msgid "comma-separated list in using-declaration only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "fold-expressions chỉ sẵn sàng với -std=c++1z hay -std=gnu++1z"
 
-#: cp/parser.cc:21631
+#: cp/parser.cc:21629
 #, gcc-internal-format
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.cc:21696
+#: cp/parser.cc:21694
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration here"
 msgid "opaque-enum-declaration here"
 msgstr "khai báo trước ở đây"
 
-#: cp/parser.cc:21766
+#: cp/parser.cc:21764
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.cc:21945
+#: cp/parser.cc:21943
 #, fuzzy, gcc-internal-format
 msgid "%<asm%> in %<constexpr%> function only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:21965 cp/parser.cc:21982 cp/parser.cc:21996
+#: cp/parser.cc:21963 cp/parser.cc:21980 cp/parser.cc:21994
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate cv-qualifier"
 msgid "duplicate %<asm%> qualifier %qT"
 msgstr "trùng cv-qualifier"
 
-#: cp/parser.cc:21972
+#: cp/parser.cc:21970
 #, gcc-internal-format
 msgid "%<asm%> qualifier %qT ignored outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22009
+#: cp/parser.cc:22007
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a namespace"
 msgid "%qT is not an %<asm%> qualifier"
 msgstr "%qT không phải là một namespace"
 
-#: cp/parser.cc:22025
+#: cp/parser.cc:22023
 #, gcc-internal-format
 msgid "%<asm%> qualifier outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22253
+#: cp/parser.cc:22251
 #, gcc-internal-format
 msgid "empty parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:22264
+#: cp/parser.cc:22262
 #, gcc-internal-format
 msgid "remove parentheses to default-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22269
+#: cp/parser.cc:22267
 #, gcc-internal-format
 msgid "or replace parentheses with braces to aggregate-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22272
+#: cp/parser.cc:22270
 #, gcc-internal-format
 msgid "or replace parentheses with braces to value-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22289 cp/parser.cc:22314
+#: cp/parser.cc:22287 cp/parser.cc:22312
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about implicit function declarations."
 msgid "parentheses were disambiguated as a function declaration"
 msgstr "Cảnh báo về lời khai báo hàm ngầm."
 
-#: cp/parser.cc:22301 cp/parser.cc:22322
+#: cp/parser.cc:22299 cp/parser.cc:22320
 #, gcc-internal-format
 msgid "replace parentheses with braces to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:22308
+#: cp/parser.cc:22306
 #, fuzzy, gcc-internal-format
 #| msgid "function %qD redeclared as variable"
 msgid "add parentheses to declare a variable"
 msgstr "hàm %qD được định nghĩa lại thành một biến"
 
-#: cp/parser.cc:22555
+#: cp/parser.cc:22553
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "không cho phép định nghĩa hàm tại đây"
 
-#: cp/parser.cc:22566
+#: cp/parser.cc:22564
 #, gcc-internal-format
 msgid "an %<asm%> specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22570
+#: cp/parser.cc:22568
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22621
+#: cp/parser.cc:22619
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
-#: cp/parser.cc:22742
+#: cp/parser.cc:22740
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "bộ khởi tạo được cung cấp cho hàm"
 
-#: cp/parser.cc:22784
+#: cp/parser.cc:22782
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.cc:22798
+#: cp/parser.cc:22796
 #, gcc-internal-format
 msgid "non-function %qD declared as implicit template"
 msgstr ""
 
-#: cp/parser.cc:23301
+#: cp/parser.cc:23299
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.cc:23427
+#: cp/parser.cc:23425
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.cc:23431
+#: cp/parser.cc:23429
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%E%> không phải một kiểu"
@@ -59192,238 +59390,238 @@ msgstr "%<%T::%E%> không phải một kiểu"
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.cc:23460
+#: cp/parser.cc:23458
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "bộ khai báo không hợp lệ"
 
-#: cp/parser.cc:23468
+#: cp/parser.cc:23466
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "dùng cấu tử như là một mẫu là không hợp lệ"
 
-#: cp/parser.cc:23470
+#: cp/parser.cc:23468
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "dùng %<%T::%D%> thay cho %<%T::%D%> cho tên của cấu tử trong tên hạn định"
 
 #. But declarations with qualified-ids can't appear in a
 #. function.
-#: cp/parser.cc:23585
+#: cp/parser.cc:23583
 #, gcc-internal-format
 msgid "qualified-id in declaration"
 msgstr "mã hạn định trong khai báo"
 
-#: cp/parser.cc:23610
+#: cp/parser.cc:23608
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "cần câu khai báo"
 
-#: cp/parser.cc:23731
+#: cp/parser.cc:23729
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD là một namespace"
 
-#: cp/parser.cc:23733
+#: cp/parser.cc:23731
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.cc:23754
+#: cp/parser.cc:23752
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "cần ptr-operator"
 
-#: cp/parser.cc:23815
+#: cp/parser.cc:23813
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "trùng cv-qualifier"
 
-#: cp/parser.cc:23869
+#: cp/parser.cc:23867
 #, gcc-internal-format
 msgid "multiple ref-qualifiers"
 msgstr "đa ref-qualifiers"
 
-#: cp/parser.cc:23906
+#: cp/parser.cc:23904
 #, fuzzy, gcc-internal-format
 #| msgid "%E requires %<-fgnu-tm%>"
 msgid "%qE requires %<-fgnu-tm%>"
 msgstr "%E cần %<-fgnu-tm%>"
 
-#: cp/parser.cc:23964
+#: cp/parser.cc:23962
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "trùng virt-specifier"
 
-#: cp/parser.cc:24226
+#: cp/parser.cc:24224
 #, gcc-internal-format
 msgid "missing template arguments after %qT"
 msgstr "thiếu đối số mẫu sau %qT"
 
-#: cp/parser.cc:24232
+#: cp/parser.cc:24230
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in template arguments"
 msgid "%qT not permitted in template argument"
 msgstr "các kiểu không nên được định nghĩa trong đối số mẫu"
 
-#: cp/parser.cc:24235 cp/typeck2.cc:353 cp/typeck2.cc:400 cp/typeck2.cc:2319
+#: cp/parser.cc:24233 cp/typeck2.cc:353 cp/typeck2.cc:400 cp/typeck2.cc:2330
 #, gcc-internal-format
 msgid "invalid use of %qT"
 msgstr "cách dùng không hợp lệ %qT"
 
-#: cp/parser.cc:24262
+#: cp/parser.cc:24260
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "các kiểu không nên được định nghĩa trong đối số mẫu"
 
-#: cp/parser.cc:24267
+#: cp/parser.cc:24265
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in template argument"
 msgstr "dùng %<auto%> không hợp lệ trong đối số mẫu"
 
-#: cp/parser.cc:24373
+#: cp/parser.cc:24371
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "cần type-specifier"
 
-#: cp/parser.cc:24654
+#: cp/parser.cc:24652
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "cần %<,%> hoặc %<…%>"
 
-#: cp/parser.cc:24732
+#: cp/parser.cc:24730
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.cc:24931
+#: cp/parser.cc:24929
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.cc:24949
+#: cp/parser.cc:24947
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:24955
+#: cp/parser.cc:24953
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:24957
+#: cp/parser.cc:24955
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25087
+#: cp/parser.cc:25085
 #, fuzzy, gcc-internal-format
 msgid "function-try-block body of %<constexpr%> constructor only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:25091
+#: cp/parser.cc:25089
 #, fuzzy, gcc-internal-format
 msgid "function-try-block body of %<constexpr%> function only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:25415
+#: cp/parser.cc:25413
 #, fuzzy, gcc-internal-format
 #| msgid "lambda capture initializers only available with -std=c++14 or -std=gnu++14"
 msgid "C++ designated initializers only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "khởi tạo chụp lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:25435
+#: cp/parser.cc:25433
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow ?: with omitted middle operand"
 msgid "ISO C++ does not allow GNU designated initializers"
 msgstr "ISO C++ không cho phép ?: với toán hạng ở giữa bị bỏ qua"
 
-#: cp/parser.cc:25473
+#: cp/parser.cc:25471
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.cc:25487
+#: cp/parser.cc:25485
 #, gcc-internal-format
 msgid "either all initializer clauses should be designated or none of them should be"
 msgstr ""
 
-#: cp/parser.cc:25512
+#: cp/parser.cc:25510
 #, gcc-internal-format
 msgid "%<...%> not allowed in designated initializer list"
 msgstr ""
 
-#: cp/parser.cc:25563
+#: cp/parser.cc:25561
 #, gcc-internal-format
 msgid "%<.%s%> designator used multiple times in the same initializer list"
 msgstr ""
 
-#: cp/parser.cc:25619 cp/parser.cc:25756
+#: cp/parser.cc:25617 cp/parser.cc:25754
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr "cần class-name"
 
-#: cp/parser.cc:25995
+#: cp/parser.cc:25993
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "cần %<;%> sau định nghĩa lớp"
 
-#: cp/parser.cc:25998
+#: cp/parser.cc:25996
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "cần %<;%> sau định nghĩa cấu trúc"
 
-#: cp/parser.cc:26001
+#: cp/parser.cc:25999
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "cần %<;%> sau định nghĩa kiểu hỗn hợp"
 
-#: cp/parser.cc:26399
+#: cp/parser.cc:26397
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "cần %<{%> hoặc %<:%>"
 
-#: cp/parser.cc:26410
+#: cp/parser.cc:26408
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "không thể chỉ định %<override%> cho lớp"
 
-#: cp/parser.cc:26418
+#: cp/parser.cc:26416
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.cc:26425
+#: cp/parser.cc:26423
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.cc:26437
+#: cp/parser.cc:26435
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in class-head-name"
 msgstr ""
 
-#: cp/parser.cc:26443
+#: cp/parser.cc:26441
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.cc:26497
+#: cp/parser.cc:26495
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.cc:26529
+#: cp/parser.cc:26527
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.cc:26562
+#: cp/parser.cc:26560
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.cc:26626
+#: cp/parser.cc:26624
 #, fuzzy, gcc-internal-format
 msgid "previous definition of %q#T"
 msgstr "khai báo trước đây của %q+#T"
@@ -59431,238 +59629,238 @@ msgstr "khai báo trước đây của %q+#T"
 #. In a lambda this should work, but doesn't currently.
 #. We're in a lambda, but it isn't the innermost class.
 #. This should work, but currently doesn't.
-#: cp/parser.cc:26640 cp/pt.cc:4331
+#: cp/parser.cc:26638 cp/pt.cc:4333
 #, gcc-internal-format
 msgid "unexpanded parameter pack in local class in lambda"
 msgstr ""
 
-#: cp/parser.cc:26740 cp/parser.cc:32941
+#: cp/parser.cc:26738 cp/parser.cc:32947
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr "cần class-key"
 
-#: cp/parser.cc:26765
+#: cp/parser.cc:26763
 #, gcc-internal-format
 msgid "ISO C++ forbids typename key in template template parameter; use %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:26769
+#: cp/parser.cc:26767
 #, gcc-internal-format
 msgid "expected %<class%> or %<typename%>"
 msgstr "cần %<class%>, hoặc %<typename%>"
 
-#: cp/parser.cc:27019
+#: cp/parser.cc:27017
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.cc:27050
+#: cp/parser.cc:27048
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.cc:27068
+#: cp/parser.cc:27066
 #, gcc-internal-format
 msgid "a storage class on an anonymous aggregate in class scope is not allowed"
 msgstr ""
 
-#: cp/parser.cc:27170
+#: cp/parser.cc:27168
 #, fuzzy, gcc-internal-format
 #| msgid "lambda capture initializers only available with -std=c++14 or -std=gnu++14"
 msgid "default member initializers for bit-fields only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "khởi tạo chụp lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:27177
+#: cp/parser.cc:27175
 #, fuzzy, gcc-internal-format
 msgid "default member initializer for unnamed bit-field"
 msgstr "đã khởi tạo một bộ phận mảng dẻo"
 
-#: cp/parser.cc:27190
+#: cp/parser.cc:27188
 #, gcc-internal-format
 msgid "ISO C++ allows bit-field attributes only before the %<:%> token"
 msgstr ""
 
-#: cp/parser.cc:27352
+#: cp/parser.cc:27350
 #, fuzzy, gcc-internal-format
 #| msgid "  non-static data member %qD has non-literal type"
 msgid "bit-field %qD has non-integral type %qT"
 msgstr "  thành viên dữ liệu không-tĩnh %qD có kiểu không-văn-chương"
 
-#: cp/parser.cc:27380
+#: cp/parser.cc:27378
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.cc:27400
+#: cp/parser.cc:27398
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<;%> after class definition"
 msgid "extra %<;%> after in-class function definition"
 msgstr "cần %<;%> sau định nghĩa lớp"
 
-#: cp/parser.cc:27447
+#: cp/parser.cc:27445
 #, gcc-internal-format
 msgid "stray %<,%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:27461
+#: cp/parser.cc:27459
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "cần %<;%> tại cuối khai báo thành viên"
 
-#: cp/parser.cc:27536
+#: cp/parser.cc:27534
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.cc:27571
+#: cp/parser.cc:27569
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:27701
+#: cp/parser.cc:27699
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:27721
+#: cp/parser.cc:27719
 #, gcc-internal-format
 msgid "more than one access specifier in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:27745
+#: cp/parser.cc:27743
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.cc:27748
+#: cp/parser.cc:27746
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:27948 cp/parser.cc:28042
+#: cp/parser.cc:27946 cp/parser.cc:28040
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.cc:28050
+#: cp/parser.cc:28048
 #, fuzzy, gcc-internal-format
 msgid "ISO C++17 does not allow dynamic exception specifications"
 msgstr "ISO C++ không cho phép %<alignof%> với một non-type"
 
-#: cp/parser.cc:28056
+#: cp/parser.cc:28054
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++11"
 msgstr ""
 
-#: cp/parser.cc:28100
+#: cp/parser.cc:28098
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in exception-specification"
 msgstr "dùng %<auto%> không hợp lệ trong đặc tả ngoại lệ"
 
-#: cp/parser.cc:28141
+#: cp/parser.cc:28139
 #, fuzzy, gcc-internal-format
 msgid "%<try%> in %<constexpr%> function only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "C++11 %<constexpr%> chỉ sẵn sàng với -std=c++11 hay -std=gnu++11"
 
-#: cp/parser.cc:28253
+#: cp/parser.cc:28251
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.cc:28802
+#: cp/parser.cc:28800
 #, fuzzy, gcc-internal-format
 #| msgid "expected function name"
 msgid "expected OpenMP directive name"
 msgstr "cần tên hàm"
 
-#: cp/parser.cc:28811
+#: cp/parser.cc:28809
 #, fuzzy, gcc-internal-format
 #| msgid "expected %qT but argument is of type %qT"
 msgid "expected attribute argument as balanced token sequence"
 msgstr "cần %qT nhưng đối số là kiểu %qT"
 
-#: cp/parser.cc:28856
+#: cp/parser.cc:28854
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%> or %<shared%>"
 msgid "expected %<directive%> or %<sequence%>"
 msgstr "cần %<none%> hoặc %<shared%>"
 
-#: cp/parser.cc:28955
+#: cp/parser.cc:28953
 #, gcc-internal-format
 msgid "attribute using prefix used together with scoped attribute token"
 msgstr ""
 
-#: cp/parser.cc:28969
+#: cp/parser.cc:28967
 #, gcc-internal-format
 msgid "expected an identifier for the attribute name"
 msgstr ""
 
-#: cp/parser.cc:29020
+#: cp/parser.cc:29018
 #, fuzzy, gcc-internal-format
 #| msgid "the %qE attribute requires arguments"
 msgid "%<omp::%E%> attribute requires argument"
 msgstr "thuộc tính %qE cần tham số"
 
 #. e.g. [[attr()]].
-#: cp/parser.cc:29088
+#: cp/parser.cc:29086
 #, gcc-internal-format
 msgid "parentheses must be omitted if %qE attribute argument list is empty"
 msgstr ""
 
-#: cp/parser.cc:29123
+#: cp/parser.cc:29121
 #, gcc-internal-format
 msgid "attribute %qs specified multiple times"
 msgstr ""
 
-#: cp/parser.cc:29165
+#: cp/parser.cc:29163
 #, fuzzy, gcc-internal-format
 msgid "expected attribute before %<...%>"
 msgstr "cần %<:%> hoặc %<…%>"
 
-#: cp/parser.cc:29225
+#: cp/parser.cc:29223
 #, fuzzy, gcc-internal-format
 msgid "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr "mẫu biến chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/parser.cc:29568 cp/parser.cc:29577
+#: cp/parser.cc:29566 cp/parser.cc:29575
 #, fuzzy, gcc-internal-format
 #| msgid "expression must be integral"
 msgid "expression must be enclosed in parentheses"
 msgstr "chỉ số phải là số nguyên"
 
-#: cp/parser.cc:29923
+#: cp/parser.cc:29921
 #, gcc-internal-format
 msgid "missing additional %<requires%> to start a requires-expression"
 msgstr ""
 
-#: cp/parser.cc:30152
+#: cp/parser.cc:30150
 #, gcc-internal-format
 msgid "testing if a concept-id is a valid expression; add %<requires%> to check satisfaction"
 msgstr ""
 
-#: cp/parser.cc:30290
+#: cp/parser.cc:30288
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qd is not a constant"
 msgid "result type is not a plain type-constraint"
 msgstr "đối số %qd không phải hằng số"
 
-#: cp/parser.cc:30298
+#: cp/parser.cc:30296
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not constant"
 msgid "return-type-requirement is not a type-constraint"
 msgstr "yếu tố khởi tạo không phải hằng số"
 
-#: cp/parser.cc:30793
+#: cp/parser.cc:30791
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.cc:30798
+#: cp/parser.cc:30796
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "khai báo không hợp lệ của %<%T::%E%>"
 
-#: cp/parser.cc:30802
+#: cp/parser.cc:30800
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -59671,583 +59869,583 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.cc:30809
+#: cp/parser.cc:30807
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.cc:31207
+#: cp/parser.cc:31205
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.cc:31378
+#: cp/parser.cc:31376
 #, gcc-internal-format
 msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters"
 msgstr ""
 
-#: cp/parser.cc:31387
+#: cp/parser.cc:31385
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<<char...>%> or single non-type parameter of class type"
 msgstr ""
 
-#: cp/parser.cc:31393
+#: cp/parser.cc:31391
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<<char...>%>"
 msgstr ""
 
-#: cp/parser.cc:31493
+#: cp/parser.cc:31498
 #, gcc-internal-format
 msgid "template-introductions are not part of C++20 concepts; use %qs to enable"
 msgstr ""
 
-#: cp/parser.cc:31503
+#: cp/parser.cc:31508
 #, gcc-internal-format
 msgid "no matching concept for template-introduction"
 msgstr ""
 
-#: cp/parser.cc:31526
+#: cp/parser.cc:31531
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.cc:31535
+#: cp/parser.cc:31540
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.cc:31555
+#: cp/parser.cc:31560
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "đặc tả rõ ràng không hợp lệ"
 
-#: cp/parser.cc:31667
+#: cp/parser.cc:31672
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:31718
+#: cp/parser.cc:31723
 #, gcc-internal-format
 msgid "a class template declaration must not declare anything else"
 msgstr ""
 
-#: cp/parser.cc:31770
+#: cp/parser.cc:31775
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.cc:32072
+#: cp/parser.cc:32077
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.cc:32085
+#: cp/parser.cc:32090
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:32393
+#: cp/parser.cc:32399
 #, gcc-internal-format
 msgid "%<sizeof...%> argument must be surrounded by parentheses"
 msgstr "đối số cho %<sizeof…%> phải được bao quanh bởi dấu ngoặc đơn"
 
-#: cp/parser.cc:32548
+#: cp/parser.cc:32554
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.cc:32563
+#: cp/parser.cc:32569
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> trước %qD"
 
-#: cp/parser.cc:32698
+#: cp/parser.cc:32704
 #, gcc-internal-format
 msgid "ISO C++ 1998 does not support %<long long%>"
 msgstr ""
 
-#: cp/parser.cc:32709
+#: cp/parser.cc:32715
 #, gcc-internal-format
 msgid "both %<__thread%> and %<thread_local%> specified"
 msgstr "đã chỉ ra cả hai %<__thread%> và %<thread_local%>"
 
-#: cp/parser.cc:32714
+#: cp/parser.cc:32720
 #, gcc-internal-format
 msgid "duplicate %qD"
 msgstr "trùng %qD"
 
-#: cp/parser.cc:32740
+#: cp/parser.cc:32746
 #, gcc-internal-format
 msgid "duplicate %qs"
 msgstr "trùng %qs"
 
-#: cp/parser.cc:32792
+#: cp/parser.cc:32798
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "cần %<new%>"
 
-#: cp/parser.cc:32795
+#: cp/parser.cc:32801
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "cần %<delete%>"
 
-#: cp/parser.cc:32798
+#: cp/parser.cc:32804
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "cần %<return%>"
 
-#: cp/parser.cc:32804
+#: cp/parser.cc:32810
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "cần %<extern%>"
 
-#: cp/parser.cc:32807
+#: cp/parser.cc:32813
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "cần %<static_assert%>"
 
-#: cp/parser.cc:32810
+#: cp/parser.cc:32816
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "cần %<decltype%>"
 
-#: cp/parser.cc:32813
+#: cp/parser.cc:32819
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "cần %<operator%>"
 
-#: cp/parser.cc:32816
+#: cp/parser.cc:32822
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "cần %<class%>"
 
-#: cp/parser.cc:32819
+#: cp/parser.cc:32825
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "cần %<template%>"
 
-#: cp/parser.cc:32822
+#: cp/parser.cc:32828
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "cần %<namespace%>"
 
-#: cp/parser.cc:32825
+#: cp/parser.cc:32831
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "cần %<using%>"
 
-#: cp/parser.cc:32828
+#: cp/parser.cc:32834
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "cần %<asm%>"
 
-#: cp/parser.cc:32831
+#: cp/parser.cc:32837
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "cần %<try%>"
 
-#: cp/parser.cc:32834
+#: cp/parser.cc:32840
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "cần %<catch%>"
 
-#: cp/parser.cc:32837
+#: cp/parser.cc:32843
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "cần %<throw%>"
 
-#: cp/parser.cc:32840
+#: cp/parser.cc:32846
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<data%>"
 msgid "expected %<auto%>"
 msgstr "cần %<data%>"
 
-#: cp/parser.cc:32843
+#: cp/parser.cc:32849
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "cần %<__label__%>"
 
-#: cp/parser.cc:32846
+#: cp/parser.cc:32852
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "cần %<@try%>"
 
-#: cp/parser.cc:32849
+#: cp/parser.cc:32855
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "cần %<@synchronized%>"
 
-#: cp/parser.cc:32852
+#: cp/parser.cc:32858
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "cần %<@throw%>"
 
-#: cp/parser.cc:32855
+#: cp/parser.cc:32861
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr "cần %<__transaction_atomic%>"
 
-#: cp/parser.cc:32858
+#: cp/parser.cc:32864
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "cần %<__transaction_relaxed%>"
 
-#: cp/parser.cc:32861
+#: cp/parser.cc:32867
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<@end%>"
 msgid "expected %<co_yield%>"
 msgstr "cần %<@end%>"
 
-#: cp/parser.cc:32893
+#: cp/parser.cc:32899
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "cần %<::%>"
 
-#: cp/parser.cc:32905
+#: cp/parser.cc:32911
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "cần %<…%>"
 
-#: cp/parser.cc:32908
+#: cp/parser.cc:32914
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "cần %<*%>"
 
-#: cp/parser.cc:32911
+#: cp/parser.cc:32917
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "cần %<~%>"
 
-#: cp/parser.cc:32917
+#: cp/parser.cc:32923
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "cần %<:%> hoặc %<::%>"
 
-#: cp/parser.cc:32944
+#: cp/parser.cc:32950
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: cp/parser.cc:33276
+#: cp/parser.cc:33282
 #, gcc-internal-format
 msgid "redundant enum-key %<enum%s%> in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:33427
+#: cp/parser.cc:33433
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.cc:33432
+#: cp/parser.cc:33438
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "%q#T trước đã khai báo ở đây"
 
-#: cp/parser.cc:33552
+#: cp/parser.cc:33558
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "redundant class-key %qs in reference to %q#T"
 msgstr "không thể khai báo tham chiếu đến %q#T"
 
-#: cp/parser.cc:33692 cp/parser.cc:33726
+#: cp/parser.cc:33698 cp/parser.cc:33732
 #, gcc-internal-format
 msgid "%qT declared with a mismatched class-key %qs"
 msgstr ""
 
-#: cp/parser.cc:33699 cp/parser.cc:33732
+#: cp/parser.cc:33705 cp/parser.cc:33738
 #, gcc-internal-format
 msgid "remove the class-key or replace it with %qs"
 msgstr ""
 
-#: cp/parser.cc:33700 cp/parser.cc:33733
+#: cp/parser.cc:33706 cp/parser.cc:33739
 #, fuzzy, gcc-internal-format
 #| msgid "expected class-key"
 msgid "replace the class-key with %qs"
 msgstr "cần class-key"
 
-#: cp/parser.cc:33707
+#: cp/parser.cc:33713
 #, fuzzy, gcc-internal-format
 #| msgid "label %qD defined here"
 msgid "%qT defined as %qs here"
 msgstr "nhãn %qD được định nghĩa ở đây"
 
-#: cp/parser.cc:33708
+#: cp/parser.cc:33714
 #, fuzzy, gcc-internal-format
 #| msgid "%qT declared here"
 msgid "%qT first declared as %qs here"
 msgstr "%qT được khai báo ở đây"
 
-#: cp/parser.cc:33790
+#: cp/parser.cc:33796
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.cc:33811
+#: cp/parser.cc:33817
 #, gcc-internal-format
 msgid "in C++98 %<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.cc:34060
+#: cp/parser.cc:34066
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.cc:34301 cp/parser.cc:35609 cp/parser.cc:35798
+#: cp/parser.cc:34307 cp/parser.cc:35615 cp/parser.cc:35804
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.cc:34372
+#: cp/parser.cc:34378
 #, gcc-internal-format
 msgid "objective-c++ message receiver expected"
 msgstr ""
 
-#: cp/parser.cc:34442
+#: cp/parser.cc:34448
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.cc:34473
+#: cp/parser.cc:34479
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.cc:34877
+#: cp/parser.cc:34883
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.cc:34952 cp/parser.cc:34970
+#: cp/parser.cc:34958 cp/parser.cc:34976
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.cc:34964 cp/parser.cc:35030
+#: cp/parser.cc:34970 cp/parser.cc:35036
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.cc:35073
+#: cp/parser.cc:35079
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.cc:35270 cp/parser.cc:35277 cp/parser.cc:35284
+#: cp/parser.cc:35276 cp/parser.cc:35283 cp/parser.cc:35290
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "kiểu không hợp lệ cho biến instance (minh dụ)"
 
-#: cp/parser.cc:35401
+#: cp/parser.cc:35407
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.cc:35574
+#: cp/parser.cc:35580
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.cc:35581
+#: cp/parser.cc:35587
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.cc:35861 cp/parser.cc:35868 cp/parser.cc:35875
+#: cp/parser.cc:35867 cp/parser.cc:35874 cp/parser.cc:35881
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr "kiểu không hợp lệ cho thuộc tính"
 
-#: cp/parser.cc:36037
+#: cp/parser.cc:36043
 #, fuzzy, gcc-internal-format
 #| msgid "unknown property attribute"
 msgid "unknown property attribute %qE"
 msgstr "không hiểu thuộc tính tính chất"
 
-#: cp/parser.cc:37152
+#: cp/parser.cc:37158
 #, fuzzy, gcc-internal-format
 #| msgid "expected integer expression"
 msgid "expected integer expression list"
 msgstr "cần biểu thức nguyên"
 
-#: cp/parser.cc:37169
+#: cp/parser.cc:37175
 #, gcc-internal-format
 msgid "%<wait%> expression must be integral"
 msgstr "biểu thức %<wait%> phải là số nguyên"
 
-#: cp/parser.cc:38258
+#: cp/parser.cc:38264
 #, gcc-internal-format
 msgid "invalid reduction-identifier"
 msgstr "bộ khởi tạo sai"
 
-#: cp/parser.cc:39086
+#: cp/parser.cc:39092
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in casts"
 msgid "types may not be defined in iterator type"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/parser.cc:41854
+#: cp/parser.cc:41860
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:42258
+#: cp/parser.cc:42264
 #, gcc-internal-format
 msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement"
 msgstr ""
 
-#: cp/parser.cc:42517
+#: cp/parser.cc:42523
 #, gcc-internal-format
 msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:42604 cp/pt.cc:18137
+#: cp/parser.cc:42610 cp/pt.cc:18182
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.cc:42697
+#: cp/parser.cc:42703
 #, gcc-internal-format
 msgid "not enough for loops to collapse"
 msgstr ""
 
-#: cp/parser.cc:45039
+#: cp/parser.cc:45045
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
 msgstr "%<#pragma omp section%> chỉ có thể sử dụng trong cấu trúc %<#pragma omp sections%>"
 
-#: cp/parser.cc:45674
+#: cp/parser.cc:45680
 #, gcc-internal-format
 msgid "OpenMP directive other than %<declare simd%> or %<declare variant%> appertains to a declaration"
 msgstr ""
 
-#: cp/parser.cc:45953
+#: cp/parser.cc:45959
 #, gcc-internal-format
 msgid "%<declare target%> in attribute syntax terminated with %<end declare target%> in pragma syntax"
 msgstr ""
 
-#: cp/parser.cc:45957
+#: cp/parser.cc:45963
 #, gcc-internal-format
 msgid "%<declare target%> in pragma syntax terminated with %<end declare target%> in attribute syntax"
 msgstr ""
 
-#: cp/parser.cc:46063
+#: cp/parser.cc:46069
 #, gcc-internal-format
 msgid "invalid initializer clause"
 msgstr "mệnh đề khởi tạo không hợp lệ"
 
-#: cp/parser.cc:46093
+#: cp/parser.cc:46099
 #, gcc-internal-format
 msgid "expected id-expression (arguments)"
 msgstr "cần id-expression (các đối số)"
 
-#: cp/parser.cc:46105
+#: cp/parser.cc:46111
 #, gcc-internal-format
 msgid "one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
 msgstr ""
 
-#: cp/parser.cc:46208
+#: cp/parser.cc:46214
 #, gcc-internal-format
 msgid "types may not be defined in declare reduction type list"
 msgstr ""
 
-#: cp/parser.cc:46228 cp/semantics.cc:6048
+#: cp/parser.cc:46234 cp/semantics.cc:6039
 #, gcc-internal-format
 msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46232 cp/semantics.cc:6056
+#: cp/parser.cc:46238 cp/semantics.cc:6047
 #, gcc-internal-format
 msgid "function or array type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46235 cp/pt.cc:14126 cp/semantics.cc:6062
+#: cp/parser.cc:46241 cp/pt.cc:14147 cp/semantics.cc:6053
 #, gcc-internal-format
 msgid "reference type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46238 cp/semantics.cc:6068
+#: cp/parser.cc:46244 cp/semantics.cc:6059
 #, fuzzy, gcc-internal-format
 msgid "%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>"
 msgstr "%<#pragma omp declare reduction%> trước"
 
-#: cp/parser.cc:46965
+#: cp/parser.cc:46971
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> names a set of overloads"
 msgstr ""
 
-#: cp/parser.cc:46975
+#: cp/parser.cc:46981
 #, fuzzy, gcc-internal-format
 msgid "%qD does not refer to a namespace scope function"
 msgstr "%qD không phải là hàm thành viên mẫu"
 
 #. cancel-and-throw is unimplemented.
-#: cp/parser.cc:47333
+#: cp/parser.cc:47339
 #, gcc-internal-format
 msgid "%<atomic_cancel%>"
 msgstr ""
 
-#: cp/parser.cc:47380 cp/semantics.cc:10999
+#: cp/parser.cc:47386 cp/semantics.cc:10990
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:47382 cp/semantics.cc:11001
+#: cp/parser.cc:47388 cp/semantics.cc:10992
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:47528
+#: cp/parser.cc:47534
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr "vòng ngoài hơn %<__transaction_cancel%> không nằm trong vòng ngoài hơn %<__transaction_atomic%>"
 
-#: cp/parser.cc:47531
+#: cp/parser.cc:47537
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr "  hoặc một hàm %<transaction_may_cancel_outer%>"
 
-#: cp/parser.cc:47582
+#: cp/parser.cc:47588
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgid "malformed %<#pragma GCC pch_preprocess%>"
 msgstr "%<#pragma GCC pch_preprocess%> phải là đầu tiên"
 
-#: cp/parser.cc:47879
+#: cp/parser.cc:47885
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
 msgstr "%<#pragma omp barrier%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: cp/parser.cc:47930
+#: cp/parser.cc:47936
 #, gcc-internal-format
 msgid "%<#pragma GCC ivdep%> must be inside a function"
 msgstr ""
 
-#: cp/parser.cc:47962
+#: cp/parser.cc:47968
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma grainsize%> must be inside a function"
 msgid "%<#pragma GCC unroll%> must be inside a function"
 msgstr "%<#pragma grainsize%> phải ở bên trong một hàm"
 
-#: cp/parser.cc:48042
+#: cp/parser.cc:48048
 #, fuzzy, gcc-internal-format
 #| msgid "-mnop-mcount is not implemented for -fPIC"
 msgid "multi-source compilation not implemented for C++"
 msgstr "-mnop-mcount không được thực hiện cho -fPIC"
 
-#: cp/parser.cc:48081
+#: cp/parser.cc:48087
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> may not be used in this context"
 msgid "placeholder type not allowed in this context"
 msgstr "%<this%> có lẽ không nên được dùng trong ngữ cảnh này"
 
-#: cp/parser.cc:48285
+#: cp/parser.cc:48292
 #, gcc-internal-format
 msgid "implicit templates may not be %<virtual%>"
 msgstr "các mẫu ngầm không nên là %<virtual%>"
 
-#: cp/parser.cc:48341
+#: cp/parser.cc:48348
 #, gcc-internal-format
 msgid "%<extern \"C\"%> linkage started here"
 msgstr ""
@@ -60335,7 +60533,7 @@ msgstr ""
 msgid "specialization of %qD after instantiation"
 msgstr ""
 
-#: cp/pt.cc:2058 cp/semantics.cc:5918
+#: cp/pt.cc:2058 cp/semantics.cc:5909
 #, fuzzy, gcc-internal-format
 #| msgid "%s %#D"
 msgid "%s %#qD"
@@ -60351,118 +60549,118 @@ msgstr "%qD không phải là một mẫu hàm"
 msgid "%qD is not a variable template"
 msgstr "%qD không phải là một biến"
 
-#: cp/pt.cc:2481
+#: cp/pt.cc:2483
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr "template-id %qD cho %q+D không khớp bất kỳ khai báo mẫu nào"
 
-#: cp/pt.cc:2485
+#: cp/pt.cc:2487
 #, gcc-internal-format
 msgid "saw %d %<template<>%>, need %d for specializing a member function template"
 msgstr ""
 
-#: cp/pt.cc:2495
+#: cp/pt.cc:2497
 #, gcc-internal-format
 msgid "ambiguous template specialization %qD for %q+D"
 msgstr ""
 
-#: cp/pt.cc:2702
+#: cp/pt.cc:2704
 #, fuzzy, gcc-internal-format
 #| msgid "variable templates only available with -std=c++14 or -std=gnu++14"
 msgid "variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr "mẫu biến chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/pt.cc:2712
+#: cp/pt.cc:2714
 #, fuzzy, gcc-internal-format
 #| msgid "wrong number of template arguments (%d, should be %d)"
 msgid "too many template headers for %qD (should be %d)"
 msgstr "sai số lượng đối số hàm mẫu (%d, phải là %d)"
 
-#: cp/pt.cc:2718
+#: cp/pt.cc:2720
 #, gcc-internal-format
 msgid "members of an explicitly specialized class are defined without a template header"
 msgstr ""
 
-#: cp/pt.cc:2742
+#: cp/pt.cc:2744
 #, gcc-internal-format
 msgid "explicit specialization of %qD outside its namespace must use a nested-name-specifier"
 msgstr ""
 
 #. This was allowed in C++98, so only pedwarn.
-#: cp/pt.cc:2747
+#: cp/pt.cc:2749
 #, gcc-internal-format
 msgid "explicit instantiation of %qD outside its namespace must use a nested-name-specifier"
 msgstr ""
 
-#: cp/pt.cc:2783
+#: cp/pt.cc:2785
 #, gcc-internal-format
 msgid "explicit specialization %q#D may be missing attributes"
 msgstr ""
 
-#: cp/pt.cc:2787
+#: cp/pt.cc:2789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "missing template arguments after %qT"
 msgid "missing primary template attributes %s"
 msgstr "thiếu đối số mẫu sau %qT"
 
-#: cp/pt.cc:2788
+#: cp/pt.cc:2790
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "missing template arguments after %qT"
 msgid "missing primary template attribute %s"
 msgstr "thiếu đối số mẫu sau %qT"
 
-#: cp/pt.cc:2878 cp/pt.cc:2938
+#: cp/pt.cc:2880 cp/pt.cc:2940
 #, fuzzy, gcc-internal-format
 #| msgid "template-id %qD in declaration of primary template"
 msgid "template-id %qE in declaration of primary template"
 msgstr "template-id %qD trong khai báo của mẫu nguyên gốc"
 
-#: cp/pt.cc:2891
+#: cp/pt.cc:2893
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2897
+#: cp/pt.cc:2899
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2905
+#: cp/pt.cc:2907
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2908
+#: cp/pt.cc:2910
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2910
+#: cp/pt.cc:2912
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr ""
 
-#: cp/pt.cc:2916
+#: cp/pt.cc:2918
 #, gcc-internal-format
 msgid "explicit specialization declared %<concept%>"
 msgstr ""
 
-#: cp/pt.cc:2949
+#: cp/pt.cc:2951
 #, gcc-internal-format
 msgid "non-type partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2953
+#: cp/pt.cc:2955
 #, gcc-internal-format
 msgid "non-class, non-variable partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2985
+#: cp/pt.cc:2987
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3028
+#: cp/pt.cc:3030
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr "%qD không phải là một hàm mẫu"
@@ -60475,156 +60673,156 @@ msgstr "%qD không phải là một hàm mẫu"
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.cc:3090
+#: cp/pt.cc:3092
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr ""
 
-#: cp/pt.cc:3106
+#: cp/pt.cc:3108
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr ""
 
-#: cp/pt.cc:3137
+#: cp/pt.cc:3139
 #, gcc-internal-format
 msgid "friend declaration %qD is not visible to explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3140
+#: cp/pt.cc:3142
 #, fuzzy, gcc-internal-format
 msgid "friend declaration here"
 msgstr "khai báo trước ở đây"
 
-#: cp/pt.cc:3249
+#: cp/pt.cc:3251
 #, gcc-internal-format
 msgid "explicit specialization of function concept %qD"
 msgstr ""
 
-#: cp/pt.cc:3847
+#: cp/pt.cc:3849
 #, fuzzy, gcc-internal-format
 #| msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
 msgid "argument to %<__integer_pack%> must be between 0 and %d"
 msgstr "cả hai đối số cho %<__builtin___clear_cache%> phải là các con trỏ"
 
-#: cp/pt.cc:4194
+#: cp/pt.cc:4196
 #, gcc-internal-format
 msgid "base initializer expansion %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4262
+#: cp/pt.cc:4264
 #, gcc-internal-format
 msgid "expansion pattern %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4264
+#: cp/pt.cc:4266
 #, gcc-internal-format
 msgid "expansion pattern %qE contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4346
+#: cp/pt.cc:4348
 #, gcc-internal-format
 msgid "parameter packs not expanded with %<...%>:"
 msgstr ""
 
-#: cp/pt.cc:4363 cp/pt.cc:5168
+#: cp/pt.cc:4365 cp/pt.cc:5170
 #, gcc-internal-format
 msgid "        %qD"
 msgstr "        %qD"
 
-#: cp/pt.cc:4365
+#: cp/pt.cc:4367
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "          %s"
 msgid "        %s"
 msgstr "          %s"
 
-#: cp/pt.cc:4491
+#: cp/pt.cc:4493
 #, gcc-internal-format
 msgid "declaration of template parameter %q+D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4494
+#: cp/pt.cc:4496
 #, gcc-internal-format
 msgid "declaration of %q+#D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4496
+#: cp/pt.cc:4498
 #, gcc-internal-format
 msgid "template parameter %qD declared here"
 msgstr ""
 
-#: cp/pt.cc:5104
+#: cp/pt.cc:5106
 #, gcc-internal-format
 msgid "specialization of variable concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:5163
+#: cp/pt.cc:5165
 #, gcc-internal-format
 msgid "template parameters not deducible in partial specialization:"
 msgstr ""
 
-#: cp/pt.cc:5186
+#: cp/pt.cc:5188
 #, gcc-internal-format
 msgid "partial specialization %q+D does not specialize any template arguments; to define the primary template, remove the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5190
+#: cp/pt.cc:5192
 #, gcc-internal-format
 msgid "partial specialization %q+D does not specialize any template arguments and is not more constrained than the primary template; to define the primary template, remove the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5194 cp/pt.cc:5205 cp/pt.cc:5213
+#: cp/pt.cc:5196 cp/pt.cc:5207 cp/pt.cc:5215
 #, gcc-internal-format
 msgid "primary template here"
 msgstr "mẫu nguyên gốc ở đây"
 
-#: cp/pt.cc:5202
+#: cp/pt.cc:5204
 #, gcc-internal-format
 msgid "partial specialization is not more specialized than the primary template because it replaces multiple parameters with a pack expansion"
 msgstr ""
 
-#: cp/pt.cc:5212
+#: cp/pt.cc:5214
 #, fuzzy, gcc-internal-format
 #| msgid "too many arguments to function %qE"
 msgid "too many arguments for partial specialization %qT"
 msgstr "quá nhiều đối số cho hàm %qE"
 
-#: cp/pt.cc:5226
+#: cp/pt.cc:5228
 #, gcc-internal-format
 msgid "partial specialization %qD is not more specialized than"
 msgstr ""
 
-#: cp/pt.cc:5228
+#: cp/pt.cc:5230
 #, fuzzy, gcc-internal-format
 msgid "primary template %qD"
 msgstr "mẫu nguyên gốc ở đây"
 
-#: cp/pt.cc:5270
+#: cp/pt.cc:5272
 #, gcc-internal-format
 msgid "parameter pack argument %qE must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5273
+#: cp/pt.cc:5275
 #, gcc-internal-format
 msgid "parameter pack argument %qT must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5335
+#: cp/pt.cc:5337
 #, gcc-internal-format
 msgid "type %qT of template argument %qE depends on a template parameter"
 msgid_plural "type %qT of template argument %qE depends on template parameters"
 msgstr[0] ""
 
-#: cp/pt.cc:5394
+#: cp/pt.cc:5396
 #, gcc-internal-format
 msgid "declaration of %qD ambiguates earlier template instantiation for %qD"
 msgstr ""
 
-#: cp/pt.cc:5398
+#: cp/pt.cc:5400
 #, gcc-internal-format
 msgid "partial specialization of %qD after instantiation of %qD"
 msgstr ""
 
-#: cp/pt.cc:5581
+#: cp/pt.cc:5583
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr ""
@@ -60633,47 +60831,47 @@ msgstr ""
 #. (DR 2032), or alias template can only have one
 #. parameter pack, at the end of the template
 #. parameter list.
-#: cp/pt.cc:5604
+#: cp/pt.cc:5606
 #, gcc-internal-format
 msgid "parameter pack %q+D must be at the end of the template parameter list"
 msgstr ""
 
-#: cp/pt.cc:5640
+#: cp/pt.cc:5642
 #, gcc-internal-format
 msgid "default template arguments may not be used in function template friend re-declaration"
 msgstr ""
 
-#: cp/pt.cc:5643
+#: cp/pt.cc:5645
 #, fuzzy, gcc-internal-format
 msgid "default template arguments may not be used in template friend declarations"
 msgstr "các kiểu có lẽ không nên được định nghĩa trong áp kiểu"
 
-#: cp/pt.cc:5646
+#: cp/pt.cc:5648
 #, fuzzy, gcc-internal-format
 msgid "default template arguments may not be used in function templates without %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/pt.cc:5649
+#: cp/pt.cc:5651
 #, gcc-internal-format
 msgid "default template arguments may not be used in partial specializations"
 msgstr ""
 
-#: cp/pt.cc:5652 cp/pt.cc:5710
+#: cp/pt.cc:5654 cp/pt.cc:5712
 #, gcc-internal-format
 msgid "default argument for template parameter for class enclosing %qD"
 msgstr ""
 
-#: cp/pt.cc:5821
+#: cp/pt.cc:5823
 #, gcc-internal-format
 msgid "template %qD declared"
 msgstr ""
 
-#: cp/pt.cc:5829
+#: cp/pt.cc:5831
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr ""
 
-#: cp/pt.cc:5837
+#: cp/pt.cc:5839
 #, gcc-internal-format
 msgid "member template %qD may not have virt-specifiers"
 msgstr ""
@@ -60683,270 +60881,260 @@ msgstr ""
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.cc:5860
+#: cp/pt.cc:5862
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr "phần khai báo mẫu của %qD không hợp lệ"
 
-#: cp/pt.cc:6012
+#: cp/pt.cc:6014
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:6051
+#: cp/pt.cc:6053
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr ""
 
-#: cp/pt.cc:6065
+#: cp/pt.cc:6067
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr "nhận được %d đối số mẫu cho %q#D"
 
-#: cp/pt.cc:6068
+#: cp/pt.cc:6070
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
 msgstr "nhận được %d đối số mẫu cho %q#T"
 
-#: cp/pt.cc:6070
+#: cp/pt.cc:6072
 #, gcc-internal-format, gfc-internal-format
 msgid "  but %d required"
 msgstr "  nhưng cần %d"
 
-#: cp/pt.cc:6091
+#: cp/pt.cc:6093
 #, gcc-internal-format
 msgid "template arguments to %qD do not match original template %qD"
 msgstr ""
 
-#: cp/pt.cc:6094
+#: cp/pt.cc:6096
 #, fuzzy, gcc-internal-format
 #| msgid "invalid explicit specialization"
 msgid "use %<template<>%> for an explicit specialization"
 msgstr "đặc tả rõ ràng không hợp lệ"
 
-#: cp/pt.cc:6239
+#: cp/pt.cc:6241
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr "%qT không phải là một kiểu mẫu"
 
-#: cp/pt.cc:6252
+#: cp/pt.cc:6254
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6263
+#: cp/pt.cc:6265
 #, gcc-internal-format, gfc-internal-format
 msgid "redeclared with %d template parameter"
 msgid_plural "redeclared with %d template parameters"
 msgstr[0] ""
 
-#: cp/pt.cc:6267
+#: cp/pt.cc:6269
 #, gcc-internal-format
 msgid "previous declaration %qD used %d template parameter"
 msgid_plural "previous declaration %qD used %d template parameters"
 msgstr[0] ""
 
-#: cp/pt.cc:6305
+#: cp/pt.cc:6303
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr "đối số mẫu %q+#D"
 
-#: cp/pt.cc:6306
+#: cp/pt.cc:6304
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr "khai báo lại ở đây như là %q#D"
 
-#: cp/pt.cc:6317
+#: cp/pt.cc:6315
 #, fuzzy, gcc-internal-format
 #| msgid "redefinition of typedef %q+D with different type"
 msgid "declaration of template parameter %q+#D with different constraints"
 msgstr "định nghĩa lại của typedef %q+D với kiểu khác"
 
-#: cp/pt.cc:6320 cp/pt.cc:6366
+#: cp/pt.cc:6318 cp/pt.cc:6345
 #, gcc-internal-format
 msgid "original declaration appeared here"
 msgstr ""
 
-#: cp/pt.cc:6331
-#, gcc-internal-format
-msgid "redefinition of default argument for %q#D"
-msgstr "định nghĩa lại của đối số mặc định của %q#D"
-
-#: cp/pt.cc:6333
-#, gcc-internal-format
-msgid "original definition appeared here"
-msgstr "định nghĩa nguyên bản xuất hiện ở đây"
-
-#: cp/pt.cc:6363
+#: cp/pt.cc:6342
 #, gcc-internal-format
 msgid "redeclaration %q#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6701 cp/pt.cc:6770
+#: cp/pt.cc:6695 cp/pt.cc:6764
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:6704
+#: cp/pt.cc:6698
 #, gcc-internal-format
 msgid "it must be the address of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6707
+#: cp/pt.cc:6701
 #, gcc-internal-format
 msgid "it must be the name of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6720
+#: cp/pt.cc:6714
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:6724
+#: cp/pt.cc:6718
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage"
 msgstr ""
 
-#: cp/pt.cc:6773
+#: cp/pt.cc:6767
 #, gcc-internal-format
 msgid "it must be a pointer-to-member of the form %<&X::Y%>"
 msgstr ""
 
-#: cp/pt.cc:6775
+#: cp/pt.cc:6769
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a member of %qT"
 msgid "because it is a member of %qT"
 msgstr "%qD không phải là thành viên của %qT"
 
-#: cp/pt.cc:6844
+#: cp/pt.cc:6838
 #, fuzzy, gcc-internal-format
 #| msgid "got %d template parameters for %q#D"
 msgid "  couldn%'t deduce template parameter %qD"
 msgstr "nhận được %d đối số mẫu cho %q#D"
 
-#: cp/pt.cc:6853
+#: cp/pt.cc:6847
 #, gcc-internal-format
 msgid "  types %qT and %qT have incompatible cv-qualifiers"
 msgstr ""
 
-#: cp/pt.cc:6862
+#: cp/pt.cc:6856
 #, gcc-internal-format
 msgid "  mismatched types %qT and %qT"
 msgstr "  kiểu không khớp %qT và %qT"
 
-#: cp/pt.cc:6871
+#: cp/pt.cc:6865
 #, gcc-internal-format
 msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
 msgstr ""
 
-#: cp/pt.cc:6882
+#: cp/pt.cc:6876
 #, gcc-internal-format
 msgid "  template argument %qE does not match pointer-to-member constant %qE"
 msgstr ""
 
-#: cp/pt.cc:6892
+#: cp/pt.cc:6886
 #, gcc-internal-format
 msgid "  %qE is not equivalent to %qE"
 msgstr "  %qE không tương đương với %qE"
 
-#: cp/pt.cc:6901
+#: cp/pt.cc:6895
 #, gcc-internal-format
 msgid "  inconsistent parameter pack deduction with %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:6913
+#: cp/pt.cc:6907
 #, gcc-internal-format
 msgid "  deduced conflicting types for parameter %qT (%qT and %qT)"
 msgstr ""
 
-#: cp/pt.cc:6917
+#: cp/pt.cc:6911
 #, gcc-internal-format
 msgid "  deduced conflicting values for non-type parameter %qE (%qE and %qE)"
 msgstr ""
 
-#: cp/pt.cc:6928
+#: cp/pt.cc:6922
 #, gcc-internal-format
 msgid "  variable-sized array type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:6939
+#: cp/pt.cc:6933
 #, gcc-internal-format
 msgid "  member function type %qT is not a valid template argument"
 msgstr "  kiểu hàm thành viên %qT không phải là một đối số mẫu hợp lệ"
 
-#: cp/pt.cc:6982
+#: cp/pt.cc:6976
 #, gcc-internal-format
 msgid "  cannot convert %qE (type %qT) to type %qT"
 msgstr "  không thể chuyển đổi %qE (kiểu %qT) thành kiểu %qT"
 
-#: cp/pt.cc:6995
+#: cp/pt.cc:6989
 #, gcc-internal-format
 msgid "  %qT is an ambiguous base class of %qT"
 msgstr "  %qT là lớp cơ sở chưa rõ ràng của %qT"
 
-#: cp/pt.cc:6999
+#: cp/pt.cc:6993
 #, gcc-internal-format
 msgid "  %qT is not derived from %qT"
 msgstr "  %qT không được dẫn xuất từ %qT"
 
-#: cp/pt.cc:7010
+#: cp/pt.cc:7004
 #, gcc-internal-format
 msgid "  template parameters of a template template argument are inconsistent with other deduced template arguments"
 msgstr ""
 
-#: cp/pt.cc:7020
+#: cp/pt.cc:7014
 #, fuzzy, gcc-internal-format
 msgid "  cannot deduce a template for %qT from non-template type %qT"
 msgstr "không thể giải mã địa chỉ"
 
-#: cp/pt.cc:7030
+#: cp/pt.cc:7024
 #, fuzzy, gcc-internal-format
 msgid "  template argument %qE does not match %qE"
 msgstr "quá nhiều đối số cho cho phương thức %qE"
 
-#: cp/pt.cc:7091
+#: cp/pt.cc:7085
 #, gcc-internal-format
 msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
 msgstr ""
 
-#: cp/pt.cc:7099
+#: cp/pt.cc:7093
 #, gcc-internal-format
 msgid "%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage"
 msgstr ""
 
-#: cp/pt.cc:7109
+#: cp/pt.cc:7103
 #, gcc-internal-format
 msgid "%qE is not a valid template argument of type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:7124
+#: cp/pt.cc:7118
 #, fuzzy, gcc-internal-format
 #| msgid "  member function type %qT is not a valid template argument"
 msgid "the address of %qD is not a valid template argument"
 msgstr "  kiểu hàm thành viên %qT không phải là một đối số mẫu hợp lệ"
 
-#: cp/pt.cc:7134
+#: cp/pt.cc:7128
 #, fuzzy, gcc-internal-format
 #| msgid "  member function type %qT is not a valid template argument"
 msgid "the address of the %qT subobject of %qD is not a valid template argument"
 msgstr "  kiểu hàm thành viên %qT không phải là một đối số mẫu hợp lệ"
 
-#: cp/pt.cc:7141
+#: cp/pt.cc:7135
 #, gcc-internal-format
 msgid "the address of %qD is not a valid template argument because it does not have static storage duration"
 msgstr ""
 
-#: cp/pt.cc:7159
+#: cp/pt.cc:7153
 #, gcc-internal-format
 msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
 msgstr ""
 
-#: cp/pt.cc:7167
+#: cp/pt.cc:7161
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for %qT because it is not the address of a variable"
 msgstr ""
 
-#: cp/pt.cc:7279
+#: cp/pt.cc:7273
 #, 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 ""
@@ -60992,185 +61180,185 @@ msgstr "dùng %qE để thay thế"
 msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
 msgstr ""
 
-#: cp/pt.cc:8230
+#: cp/pt.cc:8251
 #, gcc-internal-format
 msgid "ignoring attributes on template argument %qT"
 msgstr ""
 
-#: cp/pt.cc:8246
+#: cp/pt.cc:8267
 #, fuzzy, gcc-internal-format
 msgid "ignoring attributes in template argument %qE"
 msgstr "dùng %<auto%> không hợp lệ trong đối số mẫu"
 
-#: cp/pt.cc:8382
+#: cp/pt.cc:8403
 #, gcc-internal-format
 msgid "injected-class-name %qD used as template template argument"
 msgstr ""
 
-#: cp/pt.cc:8411
+#: cp/pt.cc:8432
 #, gcc-internal-format
 msgid "invalid use of destructor %qE as a type"
 msgstr ""
 
-#: cp/pt.cc:8416
+#: cp/pt.cc:8437
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr ""
 
-#: cp/pt.cc:8432 cp/pt.cc:8466 cp/pt.cc:8520
+#: cp/pt.cc:8453 cp/pt.cc:8487 cp/pt.cc:8541
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8440
+#: cp/pt.cc:8461
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
 msgstr "  cần hằng của kiểu %qT, nhưng lại nhận được %qT"
 
-#: cp/pt.cc:8448
+#: cp/pt.cc:8469
 #, gcc-internal-format
 msgid "  ambiguous template argument for non-type template parameter is treated as function type"
 msgstr ""
 
-#: cp/pt.cc:8454
+#: cp/pt.cc:8475
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
 msgstr "  cần mẫu lớp, nhưng lại nhận được %qE"
 
-#: cp/pt.cc:8457
+#: cp/pt.cc:8478
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
 msgstr "  cần kiểu, nhưng lại nhận %qE"
 
-#: cp/pt.cc:8471
+#: cp/pt.cc:8492
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
 msgstr "  cần một kiểu, nhưng lại nhận được %qT"
 
-#: cp/pt.cc:8474
+#: cp/pt.cc:8495
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
 msgstr "  cần mẫu lớp, nhưng lại nhận được %qT"
 
-#: cp/pt.cc:8524
+#: cp/pt.cc:8545
 #, gcc-internal-format
 msgid "  expected a template of type %qD, got %qT"
 msgstr "  cần mẫu kiểu %qD, nhưng lại nhận được %qT"
 
-#: cp/pt.cc:8538
+#: cp/pt.cc:8559
 #, gcc-internal-format
 msgid "constraint mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8541
+#: cp/pt.cc:8562
 #, gcc-internal-format
 msgid "  expected %qD but got %qD"
 msgstr "  cần %qD nhưng lại nhận %qD"
 
-#: cp/pt.cc:8614
+#: cp/pt.cc:8635
 #, fuzzy, gcc-internal-format
 msgid "could not convert template argument %qE from %qT to %qT"
 msgstr "không thể chuyển đổi %qE từ %qT thành %qT"
 
-#: cp/pt.cc:8752 cp/pt.cc:9065
+#: cp/pt.cc:8773 cp/pt.cc:9086
 #, gcc-internal-format, gfc-internal-format
 msgid "template argument %d is invalid"
 msgstr ""
 
-#: cp/pt.cc:8767 cp/pt.cc:8899
+#: cp/pt.cc:8788 cp/pt.cc:8920
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr "sai số lượng đối số hàm mẫu (%d, phải là %d)"
 
-#: cp/pt.cc:8895
+#: cp/pt.cc:8916
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be at least %d)"
 msgstr "sai số lượng đối số mẫu (%d, cần ít nhất phải là %d)"
 
-#: cp/pt.cc:8904
+#: cp/pt.cc:8925
 #, gcc-internal-format
 msgid "provided for %qD"
 msgstr "được cung cấp cho %qD"
 
-#: cp/pt.cc:8929
+#: cp/pt.cc:8950
 #, gcc-internal-format
 msgid "pack expansion argument for non-pack parameter %qD of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:8933
+#: cp/pt.cc:8954
 #, gcc-internal-format
 msgid "pack expansion argument for non-pack parameter %qD of concept %qD"
 msgstr ""
 
-#: cp/pt.cc:9031
+#: cp/pt.cc:9052
 #, gcc-internal-format
 msgid "so any instantiation with a non-empty parameter pack would be ill-formed"
 msgstr ""
 
-#: cp/pt.cc:9675
+#: cp/pt.cc:9696
 #, gcc-internal-format
 msgid "%q#D is not a function template"
 msgstr "%q#D không phải là hàm mẫu"
 
-#: cp/pt.cc:9839
+#: cp/pt.cc:9860
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr ""
 
-#: cp/pt.cc:9841
+#: cp/pt.cc:9862
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr "cho khai báo hàm mẫu %q+D"
 
-#: cp/pt.cc:9977 cp/pt.cc:21648
+#: cp/pt.cc:9998 cp/pt.cc:21699
 #, fuzzy, gcc-internal-format
 #| msgid "template constraint failure"
 msgid "template constraint failure for %qD"
 msgstr "ràng buộc mẫu gặp lỗi nghiêm trọng"
 
-#: cp/pt.cc:10353
+#: cp/pt.cc:10374
 #, fuzzy, gcc-internal-format
 msgid "use of invalid variable template %qE"
 msgstr "%qD không phải là một biến"
 
-#: cp/pt.cc:11018
+#: cp/pt.cc:11039
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:12186
+#: cp/pt.cc:12207
 #, fuzzy, gcc-internal-format
 msgid "flexible array member %qD in union"
 msgstr "cấu có không thành viên đã đặt tên"
 
-#: cp/pt.cc:12684
+#: cp/pt.cc:12705
 #, gcc-internal-format
 msgid "fold of empty expansion over %O"
 msgstr ""
 
-#: cp/pt.cc:13113
+#: cp/pt.cc:13134
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not at beginning of declaration"
 msgid "%qE is not the entire pattern of the pack expansion"
 msgstr "%qE không ở đầu của khai báo"
 
-#: cp/pt.cc:13201
+#: cp/pt.cc:13222
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qT"
 msgstr ""
 
-#: cp/pt.cc:13204
+#: cp/pt.cc:13225
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qE"
 msgstr ""
 
-#: cp/pt.cc:13816
+#: cp/pt.cc:13837
 #, fuzzy, gcc-internal-format
 #| msgid "redefinition of default argument for %q#D"
 msgid "  when instantiating default argument for call to %qD"
 msgstr "định nghĩa lại của đối số mặc định của %q#D"
 
-#: cp/pt.cc:13911
+#: cp/pt.cc:13932
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
@@ -61188,303 +61376,303 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.cc:14936
+#: cp/pt.cc:14960
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "biến %qD có kiểu hàm"
 
-#: cp/pt.cc:15130
+#: cp/pt.cc:15154
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "kiểu đối số không hợp lệ %qT"
 
-#: cp/pt.cc:15132
+#: cp/pt.cc:15156
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "trong khai báo %q+D"
 
-#: cp/pt.cc:15258
+#: cp/pt.cc:15282
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "hàm trả về một mảng"
 
-#: cp/pt.cc:15260
+#: cp/pt.cc:15284
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "hàm trả về hàm"
 
-#: cp/pt.cc:15959
+#: cp/pt.cc:15986
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.cc:15961
+#: cp/pt.cc:15988
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:15963
+#: cp/pt.cc:15990
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:15976
+#: cp/pt.cc:16003
 #, gcc-internal-format
 msgid "forming pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:15979
+#: cp/pt.cc:16006
 #, gcc-internal-format
 msgid "forming reference to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16027
+#: cp/pt.cc:16054
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:16033
+#: cp/pt.cc:16060
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16039
+#: cp/pt.cc:16066
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "đang tạo con trỏ đến thành viên của kiểu void"
 
-#: cp/pt.cc:16105
+#: cp/pt.cc:16132
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "đang tạo mảng của %qT"
 
-#: cp/pt.cc:16140
+#: cp/pt.cc:16167
 #, gcc-internal-format
 msgid "%qD is instantiated for an empty pack"
 msgstr ""
 
-#: cp/pt.cc:16160
+#: cp/pt.cc:16187
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT không phải có kiểu lớp, cấu trúc hay union"
 
-#: cp/pt.cc:16192
+#: cp/pt.cc:16221
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.cc:16200
+#: cp/pt.cc:16229
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a class type"
 msgid "%qT resolves to %qT, which is not a class type"
 msgstr "%qT không phải là kiểu lớp"
 
-#: cp/pt.cc:16314
+#: cp/pt.cc:16343
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "dùng %qs trong mẫu"
 
-#: cp/pt.cc:16605
+#: cp/pt.cc:16642
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.cc:16620
+#: cp/pt.cc:16657
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.cc:16622
+#: cp/pt.cc:16659
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.cc:16715
+#: cp/pt.cc:16752
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not a constant expression"
 msgid "initializer for %q#D expands to an empty list of expressions"
 msgstr "yếu tố khởi tạo không phải là một biểu tượng hằng số"
 
-#: cp/pt.cc:16866
+#: cp/pt.cc:16903
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "đang dùng trường không hợp lệ %qD"
 
-#: cp/pt.cc:17437 cp/pt.cc:19383
+#: cp/pt.cc:17480 cp/pt.cc:19428
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.cc:17441 cp/pt.cc:19387
+#: cp/pt.cc:17484 cp/pt.cc:19432
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.cc:19527
+#: cp/pt.cc:19572
 #, gcc-internal-format
 msgid "empty initializer in lambda init-capture"
 msgstr ""
 
-#: cp/pt.cc:20709
+#: cp/pt.cc:20757
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.cc:20743
+#: cp/pt.cc:20791
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.cc:20748
+#: cp/pt.cc:20796
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr "dùng %<this->%D%> thay thế"
 
-#: cp/pt.cc:20751
+#: cp/pt.cc:20799
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "dùng %<%T::%D%> thay thế"
 
-#: cp/pt.cc:20756
+#: cp/pt.cc:20804
 #, gcc-internal-format
 msgid "%qD declared here, later in the translation unit"
 msgstr "%+D đã khai báo weakref sau khi được dùng"
 
-#: cp/pt.cc:20807
+#: cp/pt.cc:20855
 #, fuzzy, gcc-internal-format
 #| msgid "wrong number of arguments to %<__builtin_choose_expr%>"
 msgid "wrong number of arguments to %<__builtin_convertvector%>"
 msgstr "sai số lượng đối số cho %<__builtin_choose_expr%>"
 
-#: cp/pt.cc:21042
+#: cp/pt.cc:21090
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT không phải là một lớp hay namespace"
 
-#: cp/pt.cc:21045
+#: cp/pt.cc:21093
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD không phải là một lớp hay namespace"
 
-#: cp/pt.cc:21366
+#: cp/pt.cc:21417
 #, gcc-internal-format
 msgid "%qT is/uses unnamed type"
 msgstr "%qT là/dùng kiểu nặc danh"
 
-#: cp/pt.cc:21368
+#: cp/pt.cc:21419
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.cc:21378
+#: cp/pt.cc:21429
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.cc:21393
+#: cp/pt.cc:21444
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "biểu thức nguyên %qE không là hằng"
 
-#: cp/pt.cc:21411
+#: cp/pt.cc:21462
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.cc:25563
+#: cp/pt.cc:25611
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.cc:25565
+#: cp/pt.cc:25613
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#D"
 msgstr ""
 
-#: cp/pt.cc:25571
+#: cp/pt.cc:25619
 #, fuzzy
 #| msgid "%s %#S"
 msgid "%s %#qS"
 msgstr "%s %#D"
 
-#: cp/pt.cc:25595 cp/pt.cc:25690
+#: cp/pt.cc:25643 cp/pt.cc:25738
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:25601
+#: cp/pt.cc:25649
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate instance variable %q+D"
 msgid "explicit instantiation of variable concept %q#D"
 msgstr "trùng biến minh dụ %q+D"
 
-#: cp/pt.cc:25603
+#: cp/pt.cc:25651
 #, fuzzy, gcc-internal-format
 #| msgid "implicit declaration of function %qE"
 msgid "explicit instantiation of function concept %q#D"
 msgstr "khai báo ngầm của hàm %qE"
 
-#: cp/pt.cc:25622
+#: cp/pt.cc:25670
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "%qD không phải là một thành viên dữ liệu tĩnh của một mẫu lớp"
 
-#: cp/pt.cc:25628 cp/pt.cc:25685
+#: cp/pt.cc:25676 cp/pt.cc:25733
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.cc:25633
+#: cp/pt.cc:25681
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.cc:25641
+#: cp/pt.cc:25689
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:25677
+#: cp/pt.cc:25725
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:25700 cp/pt.cc:25767
+#: cp/pt.cc:25748 cp/pt.cc:25815
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:25705 cp/pt.cc:25782
+#: cp/pt.cc:25753 cp/pt.cc:25830
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.cc:25739
+#: cp/pt.cc:25787
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.cc:25742
+#: cp/pt.cc:25790
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:25751
+#: cp/pt.cc:25799
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.cc:25772
+#: cp/pt.cc:25820
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:25812
+#: cp/pt.cc:25860
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
 
-#: cp/pt.cc:26110
+#: cp/pt.cc:26158
 #, fuzzy, gcc-internal-format
 #| msgid "previous specification in %q#D here"
 msgid "exception specification of %qD depends on itself"
@@ -61497,157 +61685,162 @@ msgstr "sau đặc tả trước đây trong %q#D"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.cc:26610
+#: cp/pt.cc:26652
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.cc:26658
+#: cp/pt.cc:26700
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:27023
+#: cp/pt.cc:27072
 #, fuzzy, gcc-internal-format
 msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/pt.cc:27053
+#: cp/pt.cc:27102
 #, gcc-internal-format
 msgid "%qT is not a valid type for a template non-type parameter because it is not structural"
 msgstr ""
 
-#: cp/pt.cc:27062
+#: cp/pt.cc:27111
 #, fuzzy, gcc-internal-format
 msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/pt.cc:27070
+#: cp/pt.cc:27119
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:27072
+#: cp/pt.cc:27121
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:28465
+#: cp/pt.cc:28519
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in declarator-id"
 msgstr ""
 
-#: cp/pt.cc:28755
+#: cp/pt.cc:28809
 #, fuzzy, gcc-internal-format
 #| msgid "a concept cannot be a member function"
 msgid "a concept cannot be constrained"
 msgstr "cấu tử không thể là hàm thành viên tĩnh"
 
-#: cp/pt.cc:28764
+#: cp/pt.cc:28818
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a namespace or unscoped enum"
 msgid "concept %qE not in namespace scope"
 msgstr "%qT không phải là một namespace hay enum không hoạt vi"
 
-#: cp/pt.cc:28791
+#: cp/pt.cc:28824
+#, gcc-internal-format
+msgid "concept %qE has multiple template parameter lists"
+msgstr ""
+
+#: cp/pt.cc:28851
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires %<#include <initializer_list>%>"
 msgstr ""
 
-#: cp/pt.cc:29843
+#: cp/pt.cc:29903
 #, fuzzy, gcc-internal-format
 #| msgid "non-class template %qT used without template arguments"
 msgid "non-deducible template %qT used without template arguments"
 msgstr "mẫu không phải lớp %qT được dùng mà không có đỗi số mẫu"
 
-#: cp/pt.cc:29849
+#: cp/pt.cc:29909
 #, fuzzy, gcc-internal-format
 msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr "mẫu lambda chỉ sẵn sàng với -std=c++14 hay -std=gnu++14"
 
-#: cp/pt.cc:29955
+#: cp/pt.cc:30015
 #, gcc-internal-format
 msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors"
 msgstr ""
 
-#: cp/pt.cc:29962
+#: cp/pt.cc:30022
 #, gcc-internal-format
 msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides"
 msgstr ""
 
-#: cp/pt.cc:29974
+#: cp/pt.cc:30034
 #, fuzzy, gcc-internal-format
 msgid "class template argument deduction failed:"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo hợp"
 
-#: cp/pt.cc:29977
+#: cp/pt.cc:30037
 #, fuzzy, gcc-internal-format
 #| msgid "function not considered for inlining"
 msgid "explicit deduction guides not considered for copy-initialization"
 msgstr "hàm không phải được tính để chèn vào trực tiếp"
 
 #. TODO: Pass down location from cp_finish_decl.
-#: cp/pt.cc:29991
+#: cp/pt.cc:30051
 #, fuzzy, gcc-internal-format
 msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization"
 msgstr "gặp yếu tố thừa trong bộ khởi tạo hợp"
 
-#: cp/pt.cc:29995
+#: cp/pt.cc:30055
 #, fuzzy, gcc-internal-format
 msgid "explicit deduction guide declared here"
 msgstr "hàm chung dòng %q+D được khai báo yếu"
 
-#: cp/pt.cc:30009
+#: cp/pt.cc:30069
 #, gcc-internal-format
 msgid "%qT may not intend to support class template argument deduction"
 msgstr ""
 
-#: cp/pt.cc:30011
+#: cp/pt.cc:30071
 #, gcc-internal-format
 msgid "add a deduction guide to suppress this warning"
 msgstr ""
 
-#: cp/pt.cc:30076
+#: cp/pt.cc:30136
 #, gcc-internal-format
 msgid "direct-list-initialization of %<auto%> requires exactly one element"
 msgstr ""
 
-#: cp/pt.cc:30079
+#: cp/pt.cc:30139
 #, gcc-internal-format
 msgid "for deduction to %<std::initializer_list%>, use copy-list-initialization (i.e. add %<=%> before the %<{%>)"
 msgstr ""
 
-#: cp/pt.cc:30169
+#: cp/pt.cc:30229
 #, gcc-internal-format
 msgid "unable to deduce lambda return type from %qE"
 msgstr ""
 
-#: cp/pt.cc:30171
+#: cp/pt.cc:30231
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.cc:30243
+#: cp/pt.cc:30303
 #, gcc-internal-format
 msgid "placeholder constraints not satisfied"
 msgstr ""
 
-#: cp/pt.cc:30247
+#: cp/pt.cc:30307
 #, gcc-internal-format
 msgid "deduced initializer does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30251
+#: cp/pt.cc:30311
 #, gcc-internal-format
 msgid "deduced return type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30255
+#: cp/pt.cc:30315
 #, gcc-internal-format
 msgid "deduced expression type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30395
+#: cp/pt.cc:30455
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<auto%> in template argument"
 msgid "invalid use of %qT in template argument"
@@ -61701,91 +61894,91 @@ msgstr ""
 msgid "%qT is an inaccessible base of %qT"
 msgstr ""
 
-#: cp/search.cc:1917
+#: cp/search.cc:1913
 #, gcc-internal-format
 msgid "looser exception specification on overriding virtual function %q+#F"
 msgstr ""
 
-#: cp/search.cc:1920
+#: cp/search.cc:1916
 #, fuzzy, gcc-internal-format
 #| msgid "overriding final function %q+D"
 msgid "overridden function is %q#F"
 msgstr "đang dè lên hàm cuối %q+D"
 
-#: cp/search.cc:1995
+#: cp/search.cc:1991
 #, gcc-internal-format
 msgid "invalid covariant return type for %q#D"
 msgstr ""
 
-#: cp/search.cc:1997 cp/search.cc:2014 cp/search.cc:2031
+#: cp/search.cc:1993 cp/search.cc:2010 cp/search.cc:2027
 #, fuzzy, gcc-internal-format
 #| msgid "overriding final function %q+D"
 msgid "overridden function is %q#D"
 msgstr "đang dè lên hàm cuối %q+D"
 
-#: cp/search.cc:2010
+#: cp/search.cc:2006
 #, gcc-internal-format
 msgid "invalid covariant return type for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2012
+#: cp/search.cc:2008
 #, gcc-internal-format
 msgid "conflicting return type specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2029
+#: cp/search.cc:2025
 #, gcc-internal-format
 msgid "conflicting type attributes specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2044
+#: cp/search.cc:2040
 #, gcc-internal-format
 msgid "%<consteval%> function %q+D overriding non-%<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2047
+#: cp/search.cc:2043
 #, gcc-internal-format
 msgid "non-%<consteval%> function %q+D overriding %<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2050 cp/search.cc:2079 cp/search.cc:2088 cp/search.cc:2097
+#: cp/search.cc:2046 cp/search.cc:2075 cp/search.cc:2084 cp/search.cc:2093
 #, fuzzy, gcc-internal-format
 #| msgid "overriding final function %q+D"
 msgid "overridden function is %qD"
 msgstr "đang dè lên hàm cuối %q+D"
 
-#: cp/search.cc:2066
+#: cp/search.cc:2062
 #, gcc-internal-format
 msgid "%qD declared %<transaction_safe_dynamic%>"
 msgstr ""
 
-#: cp/search.cc:2068
+#: cp/search.cc:2064
 #, gcc-internal-format
 msgid "overriding %qD declared %<transaction_safe%>"
 msgstr ""
 
-#: cp/search.cc:2076
+#: cp/search.cc:2072
 #, gcc-internal-format
 msgid "deleted function %q+D overriding non-deleted function"
 msgstr ""
 
-#: cp/search.cc:2085
+#: cp/search.cc:2081
 #, gcc-internal-format
 msgid "non-deleted function %q+D overriding deleted function"
 msgstr ""
 
-#: cp/search.cc:2095
+#: cp/search.cc:2091
 #, fuzzy, gcc-internal-format
 #| msgid "function returning a function"
 msgid "virtual function %q+D overriding final function"
 msgstr "hàm trả về hàm"
 
-#: cp/search.cc:2180
+#: cp/search.cc:2176
 #, gcc-internal-format
 msgid "%q+#D cannot be declared"
 msgstr "%q+#D không thể được khai báo"
 
-#: cp/search.cc:2181
+#: cp/search.cc:2177
 #, gcc-internal-format
 msgid "  since %q+#D declared in base class"
 msgstr ""
@@ -61841,553 +62034,559 @@ msgstr ""
 msgid "invalid use of member %qD in static member function"
 msgstr ""
 
-#: cp/semantics.cc:2393
+#: cp/semantics.cc:2396
 #, fuzzy, gcc-internal-format
 #| msgid "missing template arguments after %qT"
 msgid "%qE missing template arguments"
 msgstr "thiếu đối số mẫu sau %qT"
 
-#: cp/semantics.cc:2453
+#: cp/semantics.cc:2456
 #, gcc-internal-format
 msgid "a statement expression is an insufficient context for overload resolution"
 msgstr ""
 
-#: cp/semantics.cc:2805
+#: cp/semantics.cc:2808
 #, fuzzy, gcc-internal-format
 #| msgid "%qE cannot be used as a function"
 msgid "cannot call a concept as a function"
 msgstr "%qE không thể dùng như một hàm"
 
-#: cp/semantics.cc:2873
+#: cp/semantics.cc:2876
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr ""
 
-#: cp/semantics.cc:2970
+#: cp/semantics.cc:2973
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr ""
 
-#: cp/semantics.cc:2972
+#: cp/semantics.cc:2975
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr ""
 
-#: cp/semantics.cc:2974
+#: cp/semantics.cc:2977
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
 msgstr ""
 
-#: cp/semantics.cc:2996
+#: cp/semantics.cc:2999
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr ""
 
-#: cp/semantics.cc:3004 cp/typeck.cc:2931
+#: cp/semantics.cc:3007 cp/typeck.cc:2940
 #, gcc-internal-format
 msgid "qualified type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/semantics.cc:3026
+#: cp/semantics.cc:3029
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr "%qE không là kiểu %qT"
 
-#: cp/semantics.cc:3133
+#: cp/semantics.cc:3136
 #, gcc-internal-format
 msgid "compound literal of non-object type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3152
+#: cp/semantics.cc:3156
+#, fuzzy, gcc-internal-format
+#| msgid "a destructor cannot be %<constexpr%>"
+msgid "%<auto{x}%> cannot be constrained"
+msgstr "hủy tử không thể là %<constexpr%>"
+
+#: cp/semantics.cc:3161
 #, fuzzy, gcc-internal-format
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<auto{x}%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/semantics.cc:3337
+#: cp/semantics.cc:3342
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/semantics.cc:3387
+#: cp/semantics.cc:3392
 #, gcc-internal-format
 msgid "invalid use of type %qT as a default value for a template template-parameter"
 msgstr ""
 
-#: cp/semantics.cc:3390
+#: cp/semantics.cc:3395
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr ""
 
-#: cp/semantics.cc:3407
+#: cp/semantics.cc:3412
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr ""
 
-#: cp/semantics.cc:3438
+#: cp/semantics.cc:3443
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr "định nghĩa không hợp lệ của kiểu hạn định %qT"
 
-#: cp/semantics.cc:3729
+#: cp/semantics.cc:3735
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr "đặc tả lớp-cơ-sở không hợp lệ"
 
-#: cp/semantics.cc:3894
+#: cp/semantics.cc:3900
 #, gcc-internal-format
 msgid "cannot capture member %qD of anonymous union"
 msgstr "không thể chụp thành viên %qD trong hỗn hợp nặc danh"
 
-#: cp/semantics.cc:3911 cp/semantics.cc:12155
+#: cp/semantics.cc:3917 cp/semantics.cc:12154
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD không bị bắt"
 
-#: cp/semantics.cc:3915
+#: cp/semantics.cc:3921
 #, gcc-internal-format
 msgid "the lambda has no capture-default"
 msgstr ""
 
-#: cp/semantics.cc:3917
+#: cp/semantics.cc:3923
 #, gcc-internal-format
 msgid "lambda in local class %q+T cannot capture variables from the enclosing context"
 msgstr ""
 
-#: cp/semantics.cc:3929
+#: cp/semantics.cc:3935
 #, gcc-internal-format
 msgid "use of local variable with automatic storage from containing function"
 msgstr ""
 
-#: cp/semantics.cc:3931
+#: cp/semantics.cc:3937
 #, gcc-internal-format
 msgid "use of parameter from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4058
+#: cp/semantics.cc:4064
 #, fuzzy, gcc-internal-format
 #| msgid "use of deleted function %qD"
 msgid "use of parameter outside function body"
 msgstr "dùng hàm bị xóa %qD"
 
-#: cp/semantics.cc:4068
+#: cp/semantics.cc:4074
 #, fuzzy, gcc-internal-format
 #| msgid "missing template arguments after %qT"
 msgid "missing template arguments"
 msgstr "thiếu đối số mẫu sau %qT"
 
-#: cp/semantics.cc:4104
+#: cp/semantics.cc:4110
 #, 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 ""
 
-#: cp/semantics.cc:4135
+#: cp/semantics.cc:4141
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr ""
 
 #. Ambiguous reference to base members.
-#: cp/semantics.cc:4142
+#: cp/semantics.cc:4148
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr ""
 
-#: cp/semantics.cc:4170
+#: cp/semantics.cc:4176
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/semantics.cc:4347
+#: cp/semantics.cc:4338
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr "không hiểu kiểu của %qE"
 
-#: cp/semantics.cc:4376
+#: cp/semantics.cc:4367
 #, gcc-internal-format
 msgid "%qT is not an enumeration type"
 msgstr "%qT không phải một kiểu enumeration"
 
 #. Parameter packs can only be used in templates
-#: cp/semantics.cc:4510
+#: cp/semantics.cc:4501
 #, gcc-internal-format
 msgid "parameter pack %<__bases%> only valid in template declaration"
 msgstr ""
 
-#: cp/semantics.cc:4542
+#: cp/semantics.cc:4533
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
 msgstr ""
 
-#: cp/semantics.cc:4555
+#: cp/semantics.cc:4546
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function %qD"
 msgstr ""
 
-#: cp/semantics.cc:4559
+#: cp/semantics.cc:4550
 #, fuzzy, gcc-internal-format
 #| msgid "a concept cannot be a member function"
 msgid "cannot apply %<offsetof%> to member function"
 msgstr "cấu tử không thể là hàm thành viên tĩnh"
 
-#: cp/semantics.cc:4564
+#: cp/semantics.cc:4555
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to an enumerator %qD"
 msgstr ""
 
-#: cp/semantics.cc:4575
+#: cp/semantics.cc:4566
 #, gcc-internal-format
 msgid "%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
 msgstr ""
 
-#: cp/semantics.cc:5915
+#: cp/semantics.cc:5906
 #, gcc-internal-format
 msgid "user defined reduction lookup is ambiguous"
 msgstr ""
 
-#: cp/semantics.cc:6188
+#: cp/semantics.cc:6179
 #, gcc-internal-format
 msgid "%qE in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: cp/semantics.cc:6234
+#: cp/semantics.cc:6225
 #, gcc-internal-format
 msgid "%qE has const type for %<reduction%>"
 msgstr ""
 
-#: cp/semantics.cc:6353
+#: cp/semantics.cc:6344
 #, gcc-internal-format
 msgid "user defined reduction with constructor initializer for base class %qT"
 msgstr ""
 
-#: cp/semantics.cc:6820
+#: cp/semantics.cc:6811
 #, gcc-internal-format
 msgid "linear clause with %qs modifier applied to non-reference variable with %qT type"
 msgstr ""
 
-#: cp/semantics.cc:6835
+#: cp/semantics.cc:6826
 #, gcc-internal-format
 msgid "linear clause applied to non-integral non-pointer variable with %qT type"
 msgstr ""
 
-#: cp/semantics.cc:6859
+#: cp/semantics.cc:6850
 #, gcc-internal-format
 msgid "linear step expression must be integral"
 msgstr "biểu thức bước thẳng phải là số nguyên"
 
-#: cp/semantics.cc:6952 cp/semantics.cc:7084 cp/semantics.cc:7143
-#: cp/semantics.cc:7541 cp/semantics.cc:8658
+#: cp/semantics.cc:6943 cp/semantics.cc:7075 cp/semantics.cc:7134
+#: cp/semantics.cc:7532 cp/semantics.cc:8649
 #, gcc-internal-format
 msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:6964 cp/semantics.cc:8671
+#: cp/semantics.cc:6955 cp/semantics.cc:8662
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %qs"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: cp/semantics.cc:7097
+#: cp/semantics.cc:7088
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7156
+#: cp/semantics.cc:7147
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<lastprivate%>"
 msgstr "%qD không phải một biến trong mệnh đề %<lastprivate%>"
 
-#: cp/semantics.cc:7206
+#: cp/semantics.cc:7197
 #, gcc-internal-format
 msgid "%<gang%> static expression must be integral"
 msgstr "biểu thức tĩnh %<gang%> phải nguyên"
 
-#: cp/semantics.cc:7220
+#: cp/semantics.cc:7211
 #, fuzzy, gcc-internal-format
 #| msgid "%<gang%> static value must bepositive"
 msgid "%<gang%> static value must be positive"
 msgstr "giá trị tĩnh %<gang%> phải dương"
 
-#: cp/semantics.cc:7254
+#: cp/semantics.cc:7245
 #, gcc-internal-format
 msgid "%<gang%> num expression must be integral"
 msgstr "biểu thức số %<gang%> phải nguyên"
 
-#: cp/semantics.cc:7257
+#: cp/semantics.cc:7248
 #, gcc-internal-format
 msgid "%<vector%> length expression must be integral"
 msgstr "chiều dài %<vector%> phải là số nguyên"
 
-#: cp/semantics.cc:7261
+#: cp/semantics.cc:7252
 #, gcc-internal-format
 msgid "%<worker%> num expression must be integral"
 msgstr "biểu thức số %<worker%> phải là số nguyên"
 
-#: cp/semantics.cc:7283
+#: cp/semantics.cc:7274
 #, gcc-internal-format
 msgid "%<gang%> num value must be positive"
 msgstr "%<gang%> giá trị phải dương"
 
-#: cp/semantics.cc:7287
+#: cp/semantics.cc:7278
 #, fuzzy, gcc-internal-format
 #| msgid "%<vector%> length value must bepositive"
 msgid "%<vector%> length value must be positive"
 msgstr "chiều dài %<vector%> giá trị phải dương"
 
-#: cp/semantics.cc:7292
+#: cp/semantics.cc:7283
 #, fuzzy, gcc-internal-format
 #| msgid "%<worker%> num value must bepositive"
 msgid "%<worker%> num value must be positive"
 msgstr "%<worker%> giá trị phải dương"
 
-#: cp/semantics.cc:7366
+#: cp/semantics.cc:7357
 #, gcc-internal-format
 msgid "schedule chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7399
+#: cp/semantics.cc:7390
 #, gcc-internal-format
 msgid "%qs length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7413
+#: cp/semantics.cc:7404
 #, gcc-internal-format
 msgid "%qs length expression must be positive constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:7433
+#: cp/semantics.cc:7424
 #, gcc-internal-format
 msgid "%<async%> expression must be integral"
 msgstr "%<async%> biểu thức phải nguyên"
 
-#: cp/semantics.cc:7462
+#: cp/semantics.cc:7453
 #, gcc-internal-format
 msgid "%<thread_limit%> expression must be integral"
 msgstr "%<thread_limit%> biểu thức phải nguyên"
 
-#: cp/semantics.cc:7492
+#: cp/semantics.cc:7483
 #, gcc-internal-format
 msgid "%<device%> id must be integral"
 msgstr "chỉ số %<device%> phải là số nguyên"
 
-#: cp/semantics.cc:7523
+#: cp/semantics.cc:7514
 #, gcc-internal-format
 msgid "%<dist_schedule%> chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7552
+#: cp/semantics.cc:7543
 #, gcc-internal-format
 msgid "%qD is not a variable in %<aligned%> clause"
 msgstr "%qD không phải một biến trong mệnh đề  %<aligned%>"
 
-#: cp/semantics.cc:7567
+#: cp/semantics.cc:7558
 #, gcc-internal-format
 msgid "%qE in %<aligned%> clause is neither a pointer nor an array nor a reference to pointer or array"
 msgstr ""
 
-#: cp/semantics.cc:7574
+#: cp/semantics.cc:7565
 #, gcc-internal-format
 msgid "%qD appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7589
+#: cp/semantics.cc:7580
 #, gcc-internal-format
 msgid "%<aligned%> clause alignment expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7622
+#: cp/semantics.cc:7613
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in %<depend%> clause"
 msgid "%qD is not a variable in %<nontemporal%> clause"
 msgstr "%qD không phải một biến trong mệnh đề %<depend%>"
 
-#: cp/semantics.cc:7633
+#: cp/semantics.cc:7624
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not an argument in %<uniform%> clause"
 msgid "%qD appears more than once in %<nontemporal%> clauses"
 msgstr "%qD không phải một đối số trong mệnh đề %<uniform%>"
 
-#: cp/semantics.cc:7650
+#: cp/semantics.cc:7641
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a variable in %<aligned%> clause"
 msgid "%<this%> not allowed in %<allocate%> clause"
 msgstr "%qE không phải một biến trong mệnh đề %<aligned%>"
 
-#: cp/semantics.cc:7662
+#: cp/semantics.cc:7653
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in %<aligned%> clause"
 msgid "%qD is not a variable in %<allocate%> clause"
 msgstr "%qD không phải một biến trong mệnh đề  %<aligned%>"
 
-#: cp/semantics.cc:7671
+#: cp/semantics.cc:7662
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in %<aligned%> clause"
 msgid "%qD appears more than once in %<allocate%> clauses"
 msgstr "%qD không phải một biến trong mệnh đề  %<aligned%>"
 
-#: cp/semantics.cc:7808
+#: cp/semantics.cc:7799
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a variable in %qs clause"
 msgid "%qD is not lvalue expression nor array section in %qs clause"
 msgstr "%qD không phải một biến trong mệnh đề %qs"
 
-#: cp/semantics.cc:8318
+#: cp/semantics.cc:8309
 #, gcc-internal-format
 msgid "template %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8322
+#: cp/semantics.cc:8313
 #, gcc-internal-format
 msgid "overloaded function name %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8391
+#: cp/semantics.cc:8382
 #, gcc-internal-format
 msgid "%<grainsize%> expression must be integral"
 msgstr "chỉ số %<device%> phải là số nguyên"
 
-#: cp/semantics.cc:8421
+#: cp/semantics.cc:8412
 #, gcc-internal-format
 msgid "%<priority%> expression must be integral"
 msgstr "chỉ số %<device%> phải là số nguyên"
 
-#: cp/semantics.cc:8451
+#: cp/semantics.cc:8442
 #, fuzzy, gcc-internal-format
 #| msgid "%<wait%> expression must be integral"
 msgid "%<hint%> expression must be integral"
 msgstr "biểu thức %<wait%> phải là số nguyên"
 
-#: cp/semantics.cc:8464
+#: cp/semantics.cc:8455
 #, fuzzy, gcc-internal-format
 #| msgid "%<wait%> expression must be integral"
 msgid "%<hint%> expression must be constant integer expression"
 msgstr "biểu thức %<wait%> phải là số nguyên"
 
-#: cp/semantics.cc:8481
+#: cp/semantics.cc:8472
 #, fuzzy, gcc-internal-format
 #| msgid "%<wait%> expression must be integral"
 msgid "%<filter%> expression must be integral"
 msgstr "biểu thức %<wait%> phải là số nguyên"
 
-#: cp/semantics.cc:8512
+#: cp/semantics.cc:8503
 #, fuzzy, gcc-internal-format
 #| msgid "target is not pointer or reference to complete type"
 msgid "%qs variable is neither a pointer nor reference to pointer"
 msgstr "đích không phải là hàm trỏ hoặc tham chiếu đến loại hoàn toàn"
 
-#: cp/semantics.cc:8522
+#: cp/semantics.cc:8513
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer, nor an array nor reference to pointer or array"
 msgstr ""
 
-#: cp/semantics.cc:8599
+#: cp/semantics.cc:8590
 #, fuzzy, gcc-internal-format
 #| msgid "%<tile%> value must be integral"
 msgid "%<tile%> argument needs integral type"
 msgstr "giá trị %<tile%> phải là số nguyên"
 
-#: cp/semantics.cc:9004
+#: cp/semantics.cc:8995
 #, gcc-internal-format
 msgid "%<const%> qualified %qE without %<mutable%> member may appear only in %<shared%> or %<firstprivate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:9231
+#: cp/semantics.cc:9222
 #, gcc-internal-format
 msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
 msgstr ""
 
-#: cp/semantics.cc:9245
+#: cp/semantics.cc:9236
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE directive not in %qT definition"
 msgstr ""
 
-#: cp/semantics.cc:9973
+#: cp/semantics.cc:9964
 #, gcc-internal-format
 msgid "difference between %qE and %qD does not have integer type"
 msgstr ""
 
-#: cp/semantics.cc:10441
+#: cp/semantics.cc:10432
 #, gcc-internal-format
 msgid "%<#pragma omp simd%> used with class iteration variable %qE"
 msgstr ""
 
-#: cp/semantics.cc:10751 cp/semantics.cc:10761
+#: cp/semantics.cc:10742 cp/semantics.cc:10752
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
 msgstr ""
 
-#: cp/semantics.cc:11179
+#: cp/semantics.cc:11170
 #, gcc-internal-format, gfc-internal-format
 msgid "static assertion failed: %s"
 msgstr "thẩm tra tĩnh gặp lỗi: %s"
 
-#: cp/semantics.cc:11193
+#: cp/semantics.cc:11184
 #, fuzzy, gcc-internal-format
 #| msgid "too many arguments to %qE"
 msgid "the comparison reduces to %qE"
 msgstr "quá nhiều đối số cho %qE"
 
-#: cp/semantics.cc:11196
+#: cp/semantics.cc:11187
 #, gcc-internal-format
 msgid "%qE evaluates to false"
 msgstr ""
 
-#: cp/semantics.cc:11200
+#: cp/semantics.cc:11191
 #, gcc-internal-format
 msgid "non-constant condition for static assertion"
 msgstr ""
 
-#: cp/semantics.cc:11229
+#: cp/semantics.cc:11220
 #, fuzzy, gcc-internal-format
 msgid "argument to %<decltype%> must be an expression"
 msgstr "%<delete[]%> không phải biểu thức hằng"
 
-#: cp/semantics.cc:11266
+#: cp/semantics.cc:11265
 #, fuzzy, gcc-internal-format
 #| msgid "<unresolved overloaded function type>"
 msgid "%<decltype%> cannot resolve address of overloaded function"
 msgstr "<chưa giải quyết loại hàm quá tải>"
 
-#: cp/semantics.cc:11501
+#: cp/semantics.cc:11500
 #, gcc-internal-format
 msgid "%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
 msgstr ""
 
-#: cp/semantics.cc:11510
+#: cp/semantics.cc:11509
 #, gcc-internal-format
 msgid "%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer to member"
 msgstr ""
 
-#: cp/semantics.cc:11681
+#: cp/semantics.cc:11680
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> not well defined for anonymous unions"
 msgstr ""
 
-#: cp/semantics.cc:11705
+#: cp/semantics.cc:11704
 #, fuzzy, gcc-internal-format
 #| msgid "%<__builtin_next_arg%> called without an argument"
 msgid "%<__builtin_is_corresponding_member%> needs two arguments"
 msgstr "%<__builtin_next_arg%> được gọi mà không có đối số"
 
-#: cp/semantics.cc:11716
+#: cp/semantics.cc:11715
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member"
 msgstr ""
 
-#: cp/semantics.cc:12194
+#: cp/semantics.cc:12193
 #, gcc-internal-format
 msgid "operand of fold expression has no unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12253
+#: cp/semantics.cc:12252
 #, gcc-internal-format
 msgid "both arguments in binary fold have unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12255
+#: cp/semantics.cc:12254
 #, gcc-internal-format
 msgid "no unexpanded parameter packs in binary fold"
 msgstr ""
 
-#: cp/semantics.cc:12273
+#: cp/semantics.cc:12272
 #, fuzzy, gcc-internal-format
 msgid "non-pointer argument to %<__builtin_launder%>"
 msgstr "đối số không được hỗ trợ cho %<__builtin_return_address%>"
@@ -62395,22 +62594,22 @@ msgstr "đối số không được hỗ trợ cho %<__builtin_return_address%>"
 #. std::bit_cast for destination ARRAY_TYPE is not possible,
 #. as functions may not return an array, so don't bother trying
 #. to support this (and then deal with VLAs etc.).
-#: cp/semantics.cc:12322
+#: cp/semantics.cc:12321
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
 msgstr ""
 
-#: cp/semantics.cc:12328
+#: cp/semantics.cc:12327
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12355
+#: cp/semantics.cc:12354
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12363
+#: cp/semantics.cc:12362
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
 msgstr ""
@@ -62670,856 +62869,856 @@ msgstr "các toán hạng ?: có kiểu khác %qT và %qT"
 msgid "invalid application of %qs to a member function"
 msgstr ""
 
-#: cp/typeck.cc:1993
+#: cp/typeck.cc:2000
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2001
+#: cp/typeck.cc:2008
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2066
+#: cp/typeck.cc:2073
 #, gcc-internal-format
 msgid "invalid application of %<__alignof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2077
+#: cp/typeck.cc:2084
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2159
+#: cp/typeck.cc:2168
 #, fuzzy, gcc-internal-format
 #| msgid "argument 2 has invalid type"
 msgid "%<alignas%> argument has non-integral type %qT"
 msgstr "đối số 2 có kiểu không hợp lệ"
 
-#: cp/typeck.cc:2204
+#: cp/typeck.cc:2213
 #, gcc-internal-format
 msgid "invalid use of non-static member function of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2380
+#: cp/typeck.cc:2389
 #, gcc-internal-format
 msgid "taking address of temporary array"
 msgstr "lấy địa chỉ của mảng tạm"
 
-#: cp/typeck.cc:2562
+#: cp/typeck.cc:2571
 #, gcc-internal-format
 msgid "ISO C++ forbids converting a string constant to %qT"
 msgstr "ISO C++ cấm chuyển đổi hằng chuỗi thành %qT"
 
-#: cp/typeck.cc:2566
+#: cp/typeck.cc:2575
 #, gcc-internal-format
 msgid "deprecated conversion from string constant to %qT"
 msgstr "việc chuyển đổi từ chuỗi thành %qT đã lỗi thời"
 
-#: cp/typeck.cc:2681 cp/typeck.cc:3246
+#: cp/typeck.cc:2690 cp/typeck.cc:3255
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of pointer type %qT (maybe you meant to use %<->%> ?)"
 msgstr ""
 
-#: cp/typeck.cc:2685 cp/typeck.cc:3250
+#: cp/typeck.cc:2694 cp/typeck.cc:3259
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2719
+#: cp/typeck.cc:2728
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of constructor as a template"
 msgid "invalid use of non-static data member %qE"
 msgstr "dùng cấu tử như là một mẫu là không hợp lệ"
 
-#: cp/typeck.cc:2796
+#: cp/typeck.cc:2805
 #, gcc-internal-format
 msgid "invalid access to non-static data member %qD in virtual base of NULL object"
 msgstr ""
 
-#: cp/typeck.cc:2946
+#: cp/typeck.cc:2955
 #, gcc-internal-format
 msgid "object type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/typeck.cc:2955
+#: cp/typeck.cc:2964
 #, gcc-internal-format
 msgid "the type being destroyed is %qT, but the destructor refers to %qT"
 msgstr ""
 
-#: cp/typeck.cc:3097
+#: cp/typeck.cc:3106
 #, gcc-internal-format
 msgid "field %q#D can be accessed via %q#D"
 msgstr ""
 
 #. No hint.
-#: cp/typeck.cc:3116
+#: cp/typeck.cc:3125
 #, gcc-internal-format
 msgid "%q#T has no member named %qE"
 msgstr "%q#T không có thành viên nào mang tên %qE"
 
-#: cp/typeck.cc:3139
+#: cp/typeck.cc:3148
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T has no member named %qE; did you mean %qE?"
 msgid "%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)"
 msgstr "%q#T không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: cp/typeck.cc:3150
+#: cp/typeck.cc:3159
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T has no member named %qE; did you mean %qE?"
 msgid "%q#T has no member named %qE; did you mean %q#D? (not accessible from this context)"
 msgstr "%q#T không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: cp/typeck.cc:3165
+#: cp/typeck.cc:3174
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %qE?"
 msgstr "%q#T không có thành viên nào mang tên %qE; ý bạn là %qE?"
 
-#: cp/typeck.cc:3280 cp/typeck.cc:3306
+#: cp/typeck.cc:3289 cp/typeck.cc:3315
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a member of %qT"
 msgstr "%<%D::%D%> không phải là thành viên của %qT"
 
-#: cp/typeck.cc:3345
+#: cp/typeck.cc:3354
 #, gcc-internal-format
 msgid "%qT is not a base of %qT"
 msgstr "%qT không là cơ sở của %qT"
 
-#: cp/typeck.cc:3408
+#: cp/typeck.cc:3417
 #, gcc-internal-format
 msgid "%qD is not a member template function"
 msgstr "%qD không phải là hàm thành viên mẫu"
 
-#: cp/typeck.cc:3674
+#: cp/typeck.cc:3683
 #, gcc-internal-format
 msgid "%qT is not a pointer-to-object type"
 msgstr "%qT không phải kiểu con trỏ đến đối tượng"
 
-#: cp/typeck.cc:3706
+#: cp/typeck.cc:3715
 #, gcc-internal-format
 msgid "invalid use of array indexing on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3709
+#: cp/typeck.cc:3718
 #, gcc-internal-format
 msgid "invalid use of unary %<*%> on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3712
+#: cp/typeck.cc:3721
 #, gcc-internal-format
 msgid "invalid use of implicit conversion on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3716
+#: cp/typeck.cc:3725
 #, gcc-internal-format
 msgid "left hand operand of %<->*%> must be a pointer to class, but is a pointer to member of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:3781
+#: cp/typeck.cc:3790
 #, gcc-internal-format
 msgid "subscript missing in array reference"
 msgstr ""
 
-#: cp/typeck.cc:3878
+#: cp/typeck.cc:3887
 #, gcc-internal-format
 msgid "subscripting array declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:3916
+#: cp/typeck.cc:3925
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer"
 msgstr ""
 
-#: cp/typeck.cc:3988
+#: cp/typeck.cc:3997
 #, gcc-internal-format
 msgid "object missing in use of %qE"
 msgstr ""
 
-#: cp/typeck.cc:4213
+#: cp/typeck.cc:4222
 #, gcc-internal-format
 msgid "ISO C++ forbids calling %<::main%> from within program"
 msgstr "ISO C++ cấm gọi %<::main%> từ bên trong chương trình"
 
-#: cp/typeck.cc:4234
+#: cp/typeck.cc:4243
 #, gcc-internal-format
 msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>, e.g. %<(... ->* %E) (...)%>"
 msgstr ""
 
-#: cp/typeck.cc:4251
+#: cp/typeck.cc:4260
 #, gcc-internal-format
 msgid "%qE cannot be used as a function"
 msgstr "%qE không thể dùng như một hàm"
 
-#: cp/typeck.cc:4254
+#: cp/typeck.cc:4263
 #, gcc-internal-format
 msgid "%qD cannot be used as a function"
 msgstr "%qD không thể được dùng như một hàm"
 
-#: cp/typeck.cc:4257
+#: cp/typeck.cc:4266
 #, gcc-internal-format
 msgid "expression cannot be used as a function"
 msgstr "biểu thức không thể được dùng như một hàm"
 
-#: cp/typeck.cc:4315
+#: cp/typeck.cc:4324
 #, gcc-internal-format
 msgid "too many arguments to constructor %q#D"
 msgstr "quá nhiều đối số cho cấu tử %q#D"
 
-#: cp/typeck.cc:4316
+#: cp/typeck.cc:4325
 #, gcc-internal-format
 msgid "too few arguments to constructor %q#D"
 msgstr "quá ít đối số cho hủy tử %q#D"
 
-#: cp/typeck.cc:4321
+#: cp/typeck.cc:4330
 #, gcc-internal-format
 msgid "too many arguments to member function %q#D"
 msgstr "quá nhiều đối số cho hàm thành viên %q#D"
 
-#: cp/typeck.cc:4322
+#: cp/typeck.cc:4331
 #, gcc-internal-format
 msgid "too few arguments to member function %q#D"
 msgstr "quá ít đối số cho hàm thành viên %q#D"
 
-#: cp/typeck.cc:4328
+#: cp/typeck.cc:4337
 #, gcc-internal-format
 msgid "too many arguments to function %q#D"
 msgstr "quá nhiều đối số cho hàm %q#D"
 
-#: cp/typeck.cc:4329
+#: cp/typeck.cc:4338
 #, gcc-internal-format
 msgid "too few arguments to function %q#D"
 msgstr "quá ít đối số cho hàm %q#D"
 
-#: cp/typeck.cc:4339
+#: cp/typeck.cc:4348
 #, gcc-internal-format
 msgid "too many arguments to method %q#D"
 msgstr "quá nhiều đối số cho phương thức %q#D"
 
-#: cp/typeck.cc:4340
+#: cp/typeck.cc:4349
 #, gcc-internal-format
 msgid "too few arguments to method %q#D"
 msgstr "quá ít đối số cho phương thức %q#D"
 
-#: cp/typeck.cc:4343
+#: cp/typeck.cc:4352
 #, gcc-internal-format
 msgid "too many arguments to function"
 msgstr "quá nhiều đối số cho hàm"
 
-#: cp/typeck.cc:4344
+#: cp/typeck.cc:4353
 #, gcc-internal-format
 msgid "too few arguments to function"
 msgstr "quá ít đối số cho hàm"
 
-#: cp/typeck.cc:4426
+#: cp/typeck.cc:4435
 #, gcc-internal-format
 msgid "parameter %P of %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4432
+#: cp/typeck.cc:4441
 #, gcc-internal-format
 msgid "parameter %P has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4692
+#: cp/typeck.cc:4701
 #, fuzzy, gcc-internal-format
 #| msgid "the address of %qD will never be NULL"
 msgid "the address %qE will never be NULL"
 msgstr "địa chỉ của %qD sẽ không bao giờ là NULL"
 
-#: cp/typeck.cc:4738
+#: cp/typeck.cc:4747
 #, gcc-internal-format
 msgid "the address of %qD will never be NULL"
 msgstr "địa chỉ của %qD sẽ không bao giờ là NULL"
 
-#: cp/typeck.cc:4749
+#: cp/typeck.cc:4758
 #, gcc-internal-format
 msgid "comparing the result of pointer addition %qE and NULL"
 msgstr ""
 
-#: cp/typeck.cc:4763
+#: cp/typeck.cc:4772
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qD will never be NULL"
 msgstr "trình biên dịch sẽ coi rằng địa chỉ của %qD sẽ không bao giờ là NULL"
 
-#: cp/typeck.cc:4812
+#: cp/typeck.cc:4821
 #, gcc-internal-format
 msgid "bitwise operation between different enumeration types %qT and %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4817
+#: cp/typeck.cc:4826
 #, gcc-internal-format
 msgid "arithmetic between different enumeration types %qT and %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4847
+#: cp/typeck.cc:4856
 #, gcc-internal-format
 msgid "comparison of enumeration type %qT with floating-point type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4851
+#: cp/typeck.cc:4860
 #, gcc-internal-format
 msgid "comparison of floating-point type %qT with enumeration type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4860
+#: cp/typeck.cc:4869
 #, gcc-internal-format
 msgid "arithmetic between enumeration type %qT and floating-point type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4864
+#: cp/typeck.cc:4873
 #, gcc-internal-format
 msgid "arithmetic between floating-point type %qT and enumeration type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4990 cp/typeck.cc:5002
+#: cp/typeck.cc:4999 cp/typeck.cc:5011
 #, gcc-internal-format
 msgid "assuming cast to type %qT from overloaded function"
 msgstr ""
 
-#: cp/typeck.cc:5048
+#: cp/typeck.cc:5057
 #, gcc-internal-format
 msgid "NULL used in arithmetic"
 msgstr "NULL được dùng trong số học"
 
-#: cp/typeck.cc:5509 cp/typeck.cc:5518 cp/typeck.cc:5812 cp/typeck.cc:5821
+#: cp/typeck.cc:5519 cp/typeck.cc:5528 cp/typeck.cc:5822 cp/typeck.cc:5831
 #, gcc-internal-format
 msgid "ISO C++ forbids comparison between pointer and integer"
 msgstr ""
 
-#: cp/typeck.cc:5734 cp/typeck.cc:5747
+#: cp/typeck.cc:5744 cp/typeck.cc:5757
 #, gcc-internal-format
 msgid "operand types are %qT and %qT"
 msgstr "các kiểu toán hạng là %qT và %qT"
 
-#: cp/typeck.cc:5770
+#: cp/typeck.cc:5780
 #, gcc-internal-format
 msgid "three-way comparison of vectors"
 msgstr ""
 
-#: cp/typeck.cc:5804
+#: cp/typeck.cc:5814
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero (%qT and %qT)"
 msgstr ""
 
-#: cp/typeck.cc:5851
+#: cp/typeck.cc:5861
 #, fuzzy, gcc-internal-format
 #| msgid "Unrecognized option to floating-point init value: %qs"
 msgid "unordered comparison on non-floating-point argument"
 msgstr "Không nhận ra tùy chọn để khởi tạo giá trị dấu chấm động: %qs"
 
-#: cp/typeck.cc:5897
+#: cp/typeck.cc:5907
 msgid "implicit conversion from %qH to %qI to match other operand of binary expression"
 msgstr ""
 
-#: cp/typeck.cc:5977
+#: cp/typeck.cc:5987
 #, gcc-internal-format
 msgid "invalid operands of types %qT and %qT to binary %qO"
 msgstr ""
 
-#: cp/typeck.cc:6371
+#: cp/typeck.cc:6381
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6379
+#: cp/typeck.cc:6389
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a function in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6387
+#: cp/typeck.cc:6397
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a method in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6440
+#: cp/typeck.cc:6450
 #, gcc-internal-format
 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:6519
+#: cp/typeck.cc:6529
 #, fuzzy, gcc-internal-format
 #| msgid "taking address of constructor %qE"
 msgid "taking address of constructor %qD"
 msgstr "lấy địa chỉ của cấu tử %qE"
 
-#: cp/typeck.cc:6520
+#: cp/typeck.cc:6530
 #, fuzzy, gcc-internal-format
 #| msgid "taking address of destructor %qE"
 msgid "taking address of destructor %qD"
 msgstr "lấy địa chỉ của hủy tử %qE"
 
-#: cp/typeck.cc:6536
+#: cp/typeck.cc:6546
 #, gcc-internal-format
 msgid "invalid use of %qE to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6539
+#: cp/typeck.cc:6549
 #, gcc-internal-format
 msgid "  a qualified-id is required"
 msgstr "  cần qualified-id"
 
-#: cp/typeck.cc:6546
+#: cp/typeck.cc:6556
 #, gcc-internal-format
 msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6737
+#: cp/typeck.cc:6747
 #, gcc-internal-format
 msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say %<&%T::%D%>"
 msgstr ""
 
-#: cp/typeck.cc:6743
+#: cp/typeck.cc:6753
 #, gcc-internal-format
 msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function.  Say %<&%T::%D%>"
 msgstr ""
 
 #. Make this a permerror because we used to accept it.
-#: cp/typeck.cc:6778
+#: cp/typeck.cc:6788
 #, fuzzy, gcc-internal-format
 #| msgid "taking address of temporary"
 msgid "taking address of rvalue"
 msgstr "đang lấy địa chỉ của mẫu"
 
-#: cp/typeck.cc:6795
+#: cp/typeck.cc:6805
 #, gcc-internal-format
 msgid "ISO C++ forbids taking address of function %<::main%>"
 msgstr ""
 
-#: cp/typeck.cc:6853
+#: cp/typeck.cc:6863
 #, gcc-internal-format
 msgid "cannot create pointer to reference member %qD"
 msgstr ""
 
-#: cp/typeck.cc:6873 cp/typeck.cc:7432
+#: cp/typeck.cc:6889 cp/typeck.cc:7446
 #, fuzzy, gcc-internal-format
 msgid "attempt to take address of bit-field"
 msgstr "không thể lấy địa chỉ của %qs"
 
-#: cp/typeck.cc:7032
+#: cp/typeck.cc:7046
 #, fuzzy, gcc-internal-format
 #| msgid "%<~%> on a boolean expression"
 msgid "%<~%> on an expression of type %<bool%>"
 msgstr "%<~%> trên một biểu thức lôgíc"
 
-#: cp/typeck.cc:7033
+#: cp/typeck.cc:7047
 #, gcc-internal-format
 msgid "did you mean to use logical not (%<!%>)?"
 msgstr ""
 
-#: cp/typeck.cc:7156
+#: cp/typeck.cc:7170
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7157
+#: cp/typeck.cc:7171
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7173
+#: cp/typeck.cc:7187
 #, gcc-internal-format
 msgid "cannot increment a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7175
+#: cp/typeck.cc:7189
 #, gcc-internal-format
 msgid "cannot decrement a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7187
+#: cp/typeck.cc:7201
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7189
+#: cp/typeck.cc:7203
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7228
+#: cp/typeck.cc:7242
 #, gcc-internal-format
 msgid "%qs expression of %<volatile%>-qualified type is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7241
+#: cp/typeck.cc:7255
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator--%> is forbidden"
 msgstr ""
 
-#: cp/typeck.cc:7251
+#: cp/typeck.cc:7265
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is forbidden in C++17"
 msgstr ""
 
-#: cp/typeck.cc:7259
+#: cp/typeck.cc:7273
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7444
+#: cp/typeck.cc:7458
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr ""
 
-#: cp/typeck.cc:7466
+#: cp/typeck.cc:7480
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr ""
 
-#: cp/typeck.cc:7471
+#: cp/typeck.cc:7485
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:7546
+#: cp/typeck.cc:7560
 #, gcc-internal-format
 msgid "list-initializer for non-class type must not be parenthesized"
 msgstr ""
 
-#: cp/typeck.cc:7558
+#: cp/typeck.cc:7572
 #, gcc-internal-format
 msgid "expression list treated as compound expression in initializer"
 msgstr ""
 
-#: cp/typeck.cc:7562
+#: cp/typeck.cc:7576
 #, gcc-internal-format
 msgid "expression list treated as compound expression in mem-initializer"
 msgstr ""
 
-#: cp/typeck.cc:7566
+#: cp/typeck.cc:7580
 #, gcc-internal-format
 msgid "expression list treated as compound expression in functional cast"
 msgstr ""
 
-#: cp/typeck.cc:7604
+#: cp/typeck.cc:7618
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr ""
 
-#: cp/typeck.cc:7696
+#: cp/typeck.cc:7710
 #, gcc-internal-format
 msgid "no context to resolve type of %qE"
 msgstr ""
 
-#: cp/typeck.cc:7730
+#: cp/typeck.cc:7744
 #, gcc-internal-format
 msgid "cast from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7736
+#: cp/typeck.cc:7750
 #, gcc-internal-format
 msgid "%<static_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7743
+#: cp/typeck.cc:7757
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7767
+#: cp/typeck.cc:7781
 #, fuzzy, gcc-internal-format
 #| msgid "useless cast to type %qT"
 msgid "useless cast to type %q#T"
 msgstr "trừ phi ép thành kiểu %qT"
 
-#: cp/typeck.cc:7781
+#: cp/typeck.cc:7795
 #, fuzzy, gcc-internal-format
 #| msgid "%E qualifier ignored on asm"
 msgid "type qualifiers ignored on cast result type"
 msgstr "từ hạn định %E bị bỏ qua trên asm"
 
-#: cp/typeck.cc:8218
+#: cp/typeck.cc:8232
 #, fuzzy, gcc-internal-format
 #| msgid "invalid conversion from %qT to %qT"
 msgid "invalid %<static_cast%> from type %qT to type %qT"
 msgstr "chuyển đổi từ %qT thành %qT không hợp lệ"
 
-#: cp/typeck.cc:8224 cp/typeck.cc:8230 cp/typeck.cc:9898
+#: cp/typeck.cc:8238 cp/typeck.cc:8244 cp/typeck.cc:9912
 #, gcc-internal-format
 msgid "class type %qT is incomplete"
 msgstr "kiểu lớp %qT chưa hoàn thiện"
 
-#: cp/typeck.cc:8258
+#: cp/typeck.cc:8272
 #, fuzzy
 #| msgid "converting from %qT to %qT"
 msgid "converting from %qH to %qI"
 msgstr "đang chuyển đổi từ %qT thành %qT"
 
-#: cp/typeck.cc:8333
+#: cp/typeck.cc:8347
 #, fuzzy, gcc-internal-format
 #| msgid "invalid conversion from %qT to %qT"
 msgid "invalid cast of a prvalue expression of type %qT to type %qT"
 msgstr "chuyển đổi từ %qT thành %qT không hợp lệ"
 
-#: cp/typeck.cc:8403
+#: cp/typeck.cc:8417
 #, fuzzy
 #| msgid "cast from %qT to %qT loses precision"
 msgid "cast from %qH to %qI loses precision"
 msgstr "áp đổi kiểu tử %qT thành %qT làm mất độ chính xác"
 
-#: cp/typeck.cc:8428
+#: cp/typeck.cc:8442
 msgid "cast between incompatible function types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8439
+#: cp/typeck.cc:8453
 msgid "cast between incompatible pointer to member types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8460 cp/typeck.cc:8650
+#: cp/typeck.cc:8474 cp/typeck.cc:8664
 #, fuzzy
 #| msgid "cast from %qT to %qT increases required alignment of target type"
 msgid "cast from %qH to %qI increases required alignment of target type"
 msgstr "áp đổi kiểu tử %qT thành %qT yêu cầu tăng cân chỉnh của kiểu đích"
 
-#: cp/typeck.cc:8477
+#: cp/typeck.cc:8491
 #, gcc-internal-format
 msgid "casting between pointer-to-function and pointer-to-object is conditionally-supported"
 msgstr ""
 
-#: cp/typeck.cc:8491
+#: cp/typeck.cc:8505
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8564
+#: cp/typeck.cc:8578
 #, 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 ""
 
-#: cp/typeck.cc:8573
+#: cp/typeck.cc:8587
 #, gcc-internal-format
 msgid "invalid use of %<const_cast%> with type %qT, which is a pointer or reference to a function type"
 msgstr ""
 
-#: cp/typeck.cc:8615
+#: cp/typeck.cc:8629
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert type %qT to type %qT"
 msgid "invalid %<const_cast%> of an rvalue of type %qT to type %qT"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
-#: cp/typeck.cc:8685
+#: cp/typeck.cc:8699
 #, fuzzy, gcc-internal-format
 #| msgid "invalid conversion from %qT to %qT"
 msgid "invalid %<const_cast%> from type %qT to type %qT"
 msgstr "chuyển đổi từ %qT thành %qT không hợp lệ"
 
-#: cp/typeck.cc:8786 cp/typeck.cc:8795
+#: cp/typeck.cc:8800 cp/typeck.cc:8809
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr "ISO C++ cấm việc áp đổi kiểu của mảng %qT"
 
-#: cp/typeck.cc:8804
+#: cp/typeck.cc:8818
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9114
+#: cp/typeck.cc:9128
 #, gcc-internal-format
 msgid "compound assignment with %<volatile%>-qualified left operand is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:9134
+#: cp/typeck.cc:9148
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
 msgstr "  trong định giá %<%Q(%#T, %#T)%>"
 
-#: cp/typeck.cc:9194
+#: cp/typeck.cc:9208
 #, gcc-internal-format
 msgid "assigning to an array from an initializer list"
 msgstr "gán giá trị cho mảng từ một danh sách bộ khởi tạo"
 
-#: cp/typeck.cc:9221
+#: cp/typeck.cc:9235
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr "phép gán %qT cho %qT không tương thích kiểu"
 
-#: cp/typeck.cc:9235
+#: cp/typeck.cc:9249
 #, gcc-internal-format
 msgid "array used as initializer"
 msgstr "mảng được dùng như là bộ khởi tạo"
 
-#: cp/typeck.cc:9237
+#: cp/typeck.cc:9251
 #, gcc-internal-format
 msgid "invalid array assignment"
 msgstr "gán mảng không hợp lệ"
 
-#: cp/typeck.cc:9379
+#: cp/typeck.cc:9393
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
 msgstr ""
 
-#: cp/typeck.cc:9393
+#: cp/typeck.cc:9407
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr ""
 
-#: cp/typeck.cc:9440 cp/typeck.cc:9459
+#: cp/typeck.cc:9454 cp/typeck.cc:9473
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
 msgstr ""
 
-#: cp/typeck.cc:9540
+#: cp/typeck.cc:9554
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9861
+#: cp/typeck.cc:9875
 #, fuzzy
 #| msgid "%qD cannot have default arguments"
 msgid "cannot convert %qH to %qI in default argument"
 msgstr "%qD không thể có đối số mặc định"
 
-#: cp/typeck.cc:9866
+#: cp/typeck.cc:9880
 #, fuzzy
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qH to %qI in argument passing"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/typeck.cc:9875
+#: cp/typeck.cc:9889
 #, fuzzy
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qH to %qI in initialization"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/typeck.cc:9879
+#: cp/typeck.cc:9893
 #, fuzzy
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qH to %qI in return"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/typeck.cc:9884
+#: cp/typeck.cc:9898
 #, fuzzy
 #| msgid "cannot convert %qT to %qT"
 msgid "cannot convert %qH to %qI in assignment"
 msgstr "không thể chuyển đổi %qT thành %qT"
 
-#: cp/typeck.cc:9916
+#: cp/typeck.cc:9930
 #, gcc-internal-format
 msgid "parameter %qP of %qD might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9920
+#: cp/typeck.cc:9934
 #, gcc-internal-format
 msgid "parameter might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9925
+#: cp/typeck.cc:9939
 #, gcc-internal-format
 msgid "target of conversion might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9930
+#: cp/typeck.cc:9944
 #, gcc-internal-format
 msgid "target of initialization might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9940
+#: cp/typeck.cc:9954
 #, gcc-internal-format
 msgid "left-hand side of assignment might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10036
+#: cp/typeck.cc:10050
 #, gcc-internal-format
 msgid "in passing argument %P of %qD"
 msgstr "trong đối số chuyển qua %P của %qD"
 
-#: cp/typeck.cc:10118
+#: cp/typeck.cc:10132
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr "trả về tham chiếu đến tạm thời (temporary)"
 
-#: cp/typeck.cc:10121
+#: cp/typeck.cc:10135
 #, gcc-internal-format
 msgid "returning temporary %<initializer_list%> does not extend the lifetime of the underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10157
+#: cp/typeck.cc:10171
 #, gcc-internal-format
 msgid "reference to local variable %qD returned"
 msgstr "tham chiếu đến biến cục bộ %qD được trả về"
 
-#: cp/typeck.cc:10161
+#: cp/typeck.cc:10175
 #, gcc-internal-format
 msgid "returning local %<initializer_list%> variable %qD does not extend the lifetime of the underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10167
+#: cp/typeck.cc:10181
 #, gcc-internal-format
 msgid "address of label %qD returned"
 msgstr "địa chỉ của nhãn %qD được trả về"
 
-#: cp/typeck.cc:10171
+#: cp/typeck.cc:10185
 #, gcc-internal-format
 msgid "address of local variable %qD returned"
 msgstr "địa chỉ của biến cục bộ %q+D được trả về"
 
-#: cp/typeck.cc:10370
+#: cp/typeck.cc:10384
 #, gcc-internal-format
 msgid "moving a local object in a return statement prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10372 cp/typeck.cc:10395
+#: cp/typeck.cc:10386 cp/typeck.cc:10409
 #, gcc-internal-format
 msgid "remove %<std::move%> call"
 msgstr ""
 
-#: cp/typeck.cc:10394
+#: cp/typeck.cc:10408
 #, fuzzy, gcc-internal-format
 #| msgid "too many values in return statement"
 msgid "redundant move in return statement"
 msgstr "quá nhiều giá trị trong lệnh trả về"
 
-#: cp/typeck.cc:10433
+#: cp/typeck.cc:10447
 #, gcc-internal-format
 msgid "returning a value from a destructor"
 msgstr "trả về một giá trị từ hủy tử"
 
 #. If a return statement appears in a handler of the
 #. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.cc:10441
+#: cp/typeck.cc:10455
 #, 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.cc:10444
+#: cp/typeck.cc:10458
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr "trả về một giá trị từ cấu tử"
 
 #. Give a helpful error message.
-#: cp/typeck.cc:10479 cp/typeck.cc:10525
+#: cp/typeck.cc:10493 cp/typeck.cc:10539
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:10487
+#: cp/typeck.cc:10501
 #, gcc-internal-format
 msgid "returning initializer list"
 msgstr "trả về danh sách bộ khởi tạo"
 
-#: cp/typeck.cc:10506
+#: cp/typeck.cc:10520
 #, gcc-internal-format
 msgid "inconsistent types %qT and %qT deduced for lambda return type"
 msgstr ""
 
-#: cp/typeck.cc:10509
+#: cp/typeck.cc:10523
 #, gcc-internal-format
 msgid "inconsistent deduction for auto return type: %qT and then %qT"
 msgstr ""
 
-#: cp/typeck.cc:10544
+#: cp/typeck.cc:10558
 #, fuzzy, gcc-internal-format
 #| msgid "return-statement with a value, in function returning 'void'"
 msgid "return-statement with a value, in function returning %qT"
 msgstr "biểu thức trả về với một giá trị, trong hàm trả lại “void”"
 
-#: cp/typeck.cc:10573
+#: cp/typeck.cc:10587
 #, gcc-internal-format
 msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or %<-fcheck-new%> is in effect)"
 msgstr ""
 
-#: cp/typeck.cc:11219
+#: cp/typeck.cc:11233
 #, fuzzy, gcc-internal-format
 #| msgid "using temporary as lvalue"
 msgid "using rvalue as lvalue"
@@ -63793,108 +63992,114 @@ msgstr "ngoặc chung quanh bộ khởi tạo vô hướng"
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.cc:1691 cp/typeck2.cc:1721
+#: cp/typeck2.cc:1696 cp/typeck2.cc:1726
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "thiếu bộ khởi tạo cho thành viên %qD"
 
-#: cp/typeck2.cc:1698
+#: cp/typeck2.cc:1703
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.cc:1705
+#: cp/typeck2.cc:1710
 #, gcc-internal-format
 msgid "member %qD with uninitialized reference fields"
 msgstr ""
 
-#: cp/typeck2.cc:1783
+#: cp/typeck2.cc:1788
 #, gcc-internal-format
 msgid "designator order for field %qD does not match declaration order in %qT"
 msgstr ""
 
-#: cp/typeck2.cc:1856
+#: cp/typeck2.cc:1861
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.cc:1867
+#: cp/typeck2.cc:1872
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.cc:2075
+#: cp/typeck2.cc:2080
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.cc:2089
+#: cp/typeck2.cc:2094
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2119
+#: cp/typeck2.cc:2124
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.cc:2121
+#: cp/typeck2.cc:2126
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "toán hạng cơ sở của %<->%> không phải là một con trỏ"
 
-#: cp/typeck2.cc:2148
+#: cp/typeck2.cc:2153
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2157
+#: cp/typeck2.cc:2162
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2179
+#: cp/typeck2.cc:2184
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2237
+#: cp/typeck2.cc:2242
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an rvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2248
+#: cp/typeck2.cc:2253
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2256
+#: cp/typeck2.cc:2261
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue before C++20"
 msgstr ""
 
-#: cp/typeck2.cc:2297
+#: cp/typeck2.cc:2302
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2313
+#: cp/typeck2.cc:2319
+#, fuzzy, gcc-internal-format
+#| msgid "a destructor cannot be %<constexpr%>"
+msgid "%<auto(x)%> cannot be constrained"
+msgstr "hủy tử không thể là %<constexpr%>"
+
+#: cp/typeck2.cc:2324
 #, fuzzy, gcc-internal-format
 #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14"
 msgid "%<auto(x)%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr "%<~auto%> chỉ sẵn sàng trên -std=c++14 hay -std=gnu++14"
 
-#: cp/typeck2.cc:2338
+#: cp/typeck2.cc:2349
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.cc:2579
+#: cp/typeck2.cc:2590
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:2582
+#: cp/typeck2.cc:2593
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -64026,57 +64231,57 @@ msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 msgid "cast from %qs to %qs will produce zero result"
 msgstr "áp đổi kiểu tử %qT thành %qT làm mất độ chính xác"
 
-#: d/d-lang.cc:477
+#: d/d-lang.cc:476
 #, fuzzy, gcc-internal-format
 #| msgid "valid arguments to %qs are: %s"
 msgid "bad argument for %<-fdebug%>: %qs"
 msgstr "đối số hợp lệ cho cho %qs là: %s"
 
-#: d/d-lang.cc:532
+#: d/d-lang.cc:531
 #, fuzzy, gcc-internal-format
 msgid "bad argument for %<-fextern-std%>: %qs"
 msgstr "đối số hợp lệ cho cho %qs là: %s"
 
-#: d/d-lang.cc:551
+#: d/d-lang.cc:550
 #, fuzzy, gcc-internal-format
 msgid "bad argument for %<-fmodule-file%>: %qs"
 msgstr "đối số hợp lệ cho cho %qs là: %s"
 
-#: d/d-lang.cc:730
+#: d/d-lang.cc:729
 #, fuzzy, gcc-internal-format
 #| msgid "valid arguments to %qs are: %s"
 msgid "bad argument for %<-fversion%>: %qs"
 msgstr "đối số hợp lệ cho cho %qs là: %s"
 
-#: d/d-lang.cc:1032
+#: d/d-lang.cc:1031
 #, gcc-internal-format
 msgid "%<-fonly=%> argument is different from first input file name"
 msgstr ""
 
-#: d/d-lang.cc:1209
+#: d/d-lang.cc:1208
 #, gcc-internal-format
 msgid "unable to resolve forward reference in definition"
 msgstr ""
 
-#: d/d-lang.cc:1326
+#: d/d-lang.cc:1325
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening json file %s: %m"
 msgstr "mở tập tin kết xuất %s: %m"
 
-#: d/d-lang.cc:1337
+#: d/d-lang.cc:1336
 #, fuzzy, gcc-internal-format
 #| msgid "closing dependency file %s: %m"
 msgid "closing json file %s: %m"
 msgstr "đóng tập tin phụ thuộc %s: %m"
 
-#: d/d-lang.cc:1408
+#: d/d-lang.cc:1407
 #, fuzzy, gcc-internal-format
 #| msgid "closing dependency file %s: %m"
 msgid "closing mixin file %s: %m"
 msgstr "đóng tập tin phụ thuộc %s: %m"
 
-#: d/d-lang.cc:1413
+#: d/d-lang.cc:1412
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening mixin file %s: %m"
@@ -64088,7 +64293,7 @@ msgstr "mở tập tin kết xuất %s: %m"
 msgid "D does not support pointers on this target."
 msgstr "SPE không được hỗ trợ ở đích này"
 
-#: d/d-target.cc:245
+#: d/d-target.cc:252
 #, gcc-internal-format
 msgid "cannot represent built-in %<va_list%> type in D"
 msgstr ""
@@ -64143,66 +64348,66 @@ msgstr ""
 msgid "%s %qs instantiated"
 msgstr "đặc tả %qs không hợp lệ"
 
-#: d/expr.cc:527
+#: d/expr.cc:528
 #, fuzzy, gcc-internal-format
 msgid "cannot handle comparison of type %<%s == %s%>"
 msgstr "không thể chuyển đổi kiểu %qT thành %qT"
 
 #. Static arrays have already been handled by the front-end.
-#: d/expr.cc:1310
+#: d/expr.cc:1319
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of file in %qs"
 msgid "unexpected type for array length: %qs"
 msgstr "Gặp kết thúc tập tin bất thường tại %qs"
 
-#: d/expr.cc:1491
+#: d/expr.cc:1454
 #, fuzzy, gcc-internal-format
 #| msgid "unknown TLS model %qs"
 msgid "don%'t know how to delete %qs"
 msgstr "không hiểu mô hình TLS %qs"
 
-#: d/expr.cc:1515
+#: d/expr.cc:1478
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a pointer variable"
 msgid "%qs is not an associative array"
 msgstr "%qD không phải là một biến trỏ"
 
-#: d/expr.cc:1799 d/expr.cc:2168
+#: d/expr.cc:1762 d/expr.cc:2138
 #, gcc-internal-format
 msgid "need %<this%> to access member %qs"
 msgstr ""
 
-#: d/expr.cc:1875
+#: d/expr.cc:1838
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is normally a non-static function"
 msgid "delegates are only for non-static functions"
 msgstr "%qD thường không phải là hàm non-static"
 
-#: d/expr.cc:1940
+#: d/expr.cc:1910
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not valid for %qs"
 msgid "%qs is not a field, but a %qs"
 msgstr "%qs không hợp lệ cho %qs"
 
-#: d/expr.cc:2204
+#: d/expr.cc:2174
 #, fuzzy, gcc-internal-format
 #| msgid "recursively required from %q#D\n"
 msgid "recursive reference %qs"
 msgstr "yêu cầu đệ quy từ %q#D\n"
 
-#: d/expr.cc:2223 d/expr.cc:3077
+#: d/expr.cc:2193 d/expr.cc:3047
 #, fuzzy, gcc-internal-format
 #| msgid "overflow in constant expression"
 msgid "non-constant expression %qs"
 msgstr "tràn trong biểu thức hằng"
 
-#: d/expr.cc:3044
+#: d/expr.cc:3014
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a constant expression"
 msgid "%qs is not an expression"
 msgstr "%qE không phải là biểu thức hằng"
 
-#: d/expr.cc:3051
+#: d/expr.cc:3021
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a constant expression"
 msgid "type %qs is not an expression"
@@ -64274,7 +64479,7 @@ msgstr ""
 msgid "missing or corrupt object.d"
 msgstr ""
 
-#: d/types.cc:720
+#: d/types.cc:795
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid expression for output modifier '%c'"
 msgid "invalid expression for static array dimension: %s"
@@ -64528,9 +64733,9 @@ msgstr ""
 #: fortran/array.cc:241 fortran/array.cc:700 fortran/check.cc:3418
 #: fortran/check.cc:5939 fortran/check.cc:5984 fortran/check.cc:6026
 #: fortran/check.cc:6053 fortran/check.cc:6316 fortran/match.cc:1846
-#: fortran/match.cc:3242 fortran/match.cc:3584 fortran/match.cc:3780
-#: fortran/simplify.cc:2995 fortran/simplify.cc:3025 fortran/simplify.cc:6374
-#: fortran/simplify.cc:8394
+#: fortran/match.cc:3284 fortran/match.cc:3626 fortran/match.cc:3822
+#: fortran/simplify.cc:2996 fortran/simplify.cc:3026 fortran/simplify.cc:6375
+#: fortran/simplify.cc:8395
 #, gcc-internal-format
 msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable"
 msgstr ""
@@ -64697,7 +64902,7 @@ msgstr ""
 msgid "Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.cc:1259 fortran/match.cc:4216
+#: fortran/array.cc:1259 fortran/match.cc:4258
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
@@ -64812,7 +65017,7 @@ msgstr "Danh sách tên “%s” không thể là đối số tại %L"
 msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
 msgstr "đối số %qs của %qs intrinsict tại %L phải là hằng"
 
-#: fortran/check.cc:123 fortran/resolve.cc:11031
+#: fortran/check.cc:123 fortran/resolve.cc:11051
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of BOZ literal constant at %L"
 msgstr ""
@@ -65921,12 +66126,12 @@ msgstr ""
 msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)"
 msgstr ""
 
-#: fortran/data.cc:188 fortran/resolve.cc:5169
+#: fortran/data.cc:188 fortran/resolve.cc:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/data.cc:194 fortran/resolve.cc:5199
+#: fortran/data.cc:194 fortran/resolve.cc:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
@@ -65966,14 +66171,14 @@ msgstr ""
 msgid "Nonpointer object %qs with default initialization shall not appear in a DATA statement at %L"
 msgstr ""
 
-#: fortran/data.cc:658 fortran/data.cc:677 fortran/data.cc:691
-#: fortran/data.cc:820
+#: fortran/data.cc:662 fortran/data.cc:681 fortran/data.cc:695
+#: fortran/data.cc:824
 #, fuzzy, gcc-internal-format
 #| msgid "gimplification failed"
 msgid "Simplification error"
 msgstr "gimplification gặp lỗi"
 
-#: fortran/data.cc:833
+#: fortran/data.cc:837
 #, gcc-internal-format
 msgid "TODO: Vector sections in data statements"
 msgstr ""
@@ -66114,7 +66319,7 @@ msgstr ""
 msgid "deferred type parameter at %C"
 msgstr ""
 
-#: fortran/decl.cc:1158 fortran/resolve.cc:12594
+#: fortran/decl.cc:1158 fortran/resolve.cc:12623
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar INTEGER expression expected at %L"
 msgstr ""
@@ -67980,12 +68185,12 @@ msgstr "gfc_resolve_expr(): sai kiểu biểu thức"
 msgid "show_expr(): Don't know how to show expr"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3391
+#: fortran/dump-parse-tree.cc:3396
 #, gcc-internal-format
 msgid "show_code_node(): Bad statement code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3715 fortran/dump-parse-tree.cc:3820
+#: fortran/dump-parse-tree.cc:3720 fortran/dump-parse-tree.cc:3825
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert to a pointer type"
 msgid "Cannot convert %qs to interoperable type at %L"
@@ -68049,425 +68254,430 @@ msgstr "simplify_intrinsic_op(): Toán tử sai"
 msgid "Index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1586 fortran/expr.cc:1637
+#: fortran/expr.cc:1586 fortran/expr.cc:1639
 #, gcc-internal-format, gfc-internal-format
 msgid "index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1713
+#: fortran/expr.cc:1715
 #, gcc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.  See %<-fmax-array-constructor%> option"
 msgstr ""
 
-#: fortran/expr.cc:1821 fortran/primary.cc:2300 fortran/primary.cc:2444
+#: fortran/expr.cc:1725
+#, gcc-internal-format, gfc-internal-format
+msgid "Error in array constructor referenced at %L"
+msgstr ""
+
+#: fortran/expr.cc:1829 fortran/primary.cc:2300 fortran/primary.cc:2444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MODULE prefix at %C"
 msgid "LEN part_ref at %C"
 msgstr "Tiền tố MODULE tại %C"
 
-#: fortran/expr.cc:1839 fortran/primary.cc:2295 fortran/primary.cc:2459
+#: fortran/expr.cc:1847 fortran/primary.cc:2295 fortran/primary.cc:2459
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MODULE prefix at %C"
 msgid "KIND part_ref at %C"
 msgstr "Tiền tố MODULE tại %C"
 
-#: fortran/expr.cc:1850
+#: fortran/expr.cc:1858
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "IMPURE procedure at %C"
 msgid "RE part_ref at %C"
 msgstr "thủ tục IMPURE tại %C"
 
-#: fortran/expr.cc:1862
+#: fortran/expr.cc:1870
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MODULE prefix at %C"
 msgid "IM part_ref at %C"
 msgstr "Tiền tố MODULE tại %C"
 
-#: fortran/expr.cc:2509
+#: fortran/expr.cc:2517
 #, gcc-internal-format, gfc-internal-format
 msgid "elemental function arguments at %C are not compliant"
 msgstr ""
 
-#: fortran/expr.cc:2553
+#: fortran/expr.cc:2561
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric or CHARACTER operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2578
+#: fortran/expr.cc:2586
 #, gcc-internal-format, gfc-internal-format
 msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
 msgstr ""
 
-#: fortran/expr.cc:2585
+#: fortran/expr.cc:2593
 #, gcc-internal-format, gfc-internal-format
 msgid "Concat operator at %L must concatenate strings of the same kind"
 msgstr ""
 
-#: fortran/expr.cc:2595
+#: fortran/expr.cc:2603
 #, gcc-internal-format, gfc-internal-format
 msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
 msgstr ""
 
-#: fortran/expr.cc:2611
+#: fortran/expr.cc:2619
 #, gcc-internal-format, gfc-internal-format
 msgid "LOGICAL operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2622
+#: fortran/expr.cc:2630
 #, gcc-internal-format, gfc-internal-format
 msgid "Only intrinsic operators can be used in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2630
+#: fortran/expr.cc:2638
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2653
+#: fortran/expr.cc:2661
 #, gcc-internal-format
 msgid "Invalid initialization expression for ALLOCATABLE component %qs in structure constructor at %L"
 msgstr ""
 
-#: fortran/expr.cc:2790
+#: fortran/expr.cc:2798
 #, gcc-internal-format
 msgid "Assumed or deferred character length variable %qs in constant expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2865
+#: fortran/expr.cc:2873
 #, gcc-internal-format
 msgid "transformational intrinsic %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:2896
+#: fortran/expr.cc:2904
 #, gcc-internal-format, gfc-internal-format
 msgid "Evaluation of nonstandard initialization expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2973 fortran/resolve.cc:2790
+#: fortran/expr.cc:2981 fortran/resolve.cc:2808
 #, gcc-internal-format
 msgid "Function %qs in initialization expression at %L must be an intrinsic function"
 msgstr ""
 
-#: fortran/expr.cc:2985
+#: fortran/expr.cc:2993
 #, gcc-internal-format
 msgid "Intrinsic function %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3024
+#: fortran/expr.cc:3032
 #, gcc-internal-format
 msgid "PARAMETER %qs is used at %L before its definition is complete"
 msgstr ""
 
-#: fortran/expr.cc:3044
+#: fortran/expr.cc:3052
 #, gcc-internal-format
 msgid "Assumed size array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3050
+#: fortran/expr.cc:3058
 #, gcc-internal-format
 msgid "Assumed shape array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3059
+#: fortran/expr.cc:3067
 #, gcc-internal-format
 msgid "Assumed-shape array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3063
+#: fortran/expr.cc:3071
 #, gcc-internal-format
 msgid "Deferred array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3069
+#: fortran/expr.cc:3077
 #, gcc-internal-format
 msgid "Array %qs at %L is a variable, which does not reduce to a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:3075
+#: fortran/expr.cc:3083
 #, gcc-internal-format
 msgid "Assumed-rank array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3085
+#: fortran/expr.cc:3093
 #, gcc-internal-format
 msgid "Parameter %qs at %L has not been declared or is a variable, which does not reduce to a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:3139
+#: fortran/expr.cc:3147
 #, gcc-internal-format
 msgid "check_init_expr(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:3274
+#: fortran/expr.cc:3282
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be a statement function"
 msgstr ""
 
-#: fortran/expr.cc:3281
+#: fortran/expr.cc:3289
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be an internal function"
 msgstr ""
 
-#: fortran/expr.cc:3288
+#: fortran/expr.cc:3296
 #, gcc-internal-format
 msgid "Specification function %qs at %L must be PURE"
 msgstr ""
 
-#: fortran/expr.cc:3296
+#: fortran/expr.cc:3304
 #, fuzzy, gcc-internal-format
 #| msgid "Function %qs at %L must be PURE"
 msgid "Specification function %qs at %L cannot be RECURSIVE"
 msgstr "Hàm %qs tại %L phải là PURE"
 
-#: fortran/expr.cc:3443
+#: fortran/expr.cc:3451
 #, gcc-internal-format
 msgid "Dummy argument %qs not allowed in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3451
+#: fortran/expr.cc:3459
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be OPTIONAL"
 msgstr ""
 
-#: fortran/expr.cc:3458
+#: fortran/expr.cc:3466
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be INTENT(OUT)"
 msgstr ""
 
-#: fortran/expr.cc:3487
+#: fortran/expr.cc:3495
 #, gcc-internal-format
 msgid "Variable %qs cannot appear in the expression at %L"
 msgstr "Biến %qs không thể xuất hiện trong biểu thức tại %L"
 
-#: fortran/expr.cc:3518
+#: fortran/expr.cc:3526
 #, gcc-internal-format
 msgid "check_restricted(): Unknown expression type"
 msgstr "check_restricted(): không hiểu kiểu biểu thức"
 
-#: fortran/expr.cc:3538
+#: fortran/expr.cc:3546
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/expr.cc:3550
+#: fortran/expr.cc:3558
 #, gcc-internal-format
 msgid "Function %qs at %L must be PURE"
 msgstr "Hàm %qs tại %L phải là PURE"
 
-#: fortran/expr.cc:3559
+#: fortran/expr.cc:3567
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be scalar"
 msgstr "Biểu thức tại %L phải thuộc kiểu scalar"
 
 #. Reject truncation.
-#: fortran/expr.cc:3591
+#: fortran/expr.cc:3599
 #, gcc-internal-format, gfc-internal-format
 msgid "optype_msgid overflow: %d"
 msgstr ""
 
-#: fortran/expr.cc:3595
+#: fortran/expr.cc:3603
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks in %s (%d and %d) at %L"
 msgstr "Vùng không tương thích nhau trong %s (%d và %d) tại %L"
 
-#: fortran/expr.cc:3609
+#: fortran/expr.cc:3617
 #, gcc-internal-format, gfc-internal-format
 msgid "Different shape for %s at %L on dimension %d (%d and %d)"
 msgstr ""
 
-#: fortran/expr.cc:3657
+#: fortran/expr.cc:3665
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a LEN or KIND part_ref at %L is not allowed"
 msgstr ""
 
-#: fortran/expr.cc:3713
+#: fortran/expr.cc:3721
 #, gcc-internal-format
 msgid "%qs at %L is not a VALUE"
 msgstr ""
 
-#: fortran/expr.cc:3724
+#: fortran/expr.cc:3732
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal assignment to external procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:3732
+#: fortran/expr.cc:3740
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks %d and %d in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3739
+#: fortran/expr.cc:3747
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable type is UNKNOWN in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3751
+#: fortran/expr.cc:3759
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL appears on right-hand side in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3761
+#: fortran/expr.cc:3769
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER-valued function appears on right-hand side of assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3804
+#: fortran/expr.cc:3812
 #, gcc-internal-format
 msgid "BOZ literal constant near %L cannot be assigned to a %qs variable"
 msgstr ""
 
-#: fortran/expr.cc:3811
+#: fortran/expr.cc:3819
 #, gcc-internal-format, gfc-internal-format
 msgid "The assignment to a KIND or LEN component of a parameterized type at %L is not allowed"
 msgstr ""
 
-#: fortran/expr.cc:3841
+#: fortran/expr.cc:3849
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible types in DATA statement at %L; attempted conversion of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:3885
+#: fortran/expr.cc:3893
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is not a POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:3893
+#: fortran/expr.cc:3901
 #, gcc-internal-format
 msgid "%qs in the pointer assignment at %L cannot be an l-value since it is a procedure"
 msgstr ""
 
-#: fortran/expr.cc:3917
+#: fortran/expr.cc:3925
 #, gcc-internal-format
 msgid "Expected bounds specification for %qs at %L"
 msgstr ""
 
-#: fortran/expr.cc:3922
+#: fortran/expr.cc:3930
 #, gcc-internal-format
 msgid "Bounds specification for %qs in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3951
+#: fortran/expr.cc:3959
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride must not be present at %L"
 msgstr ""
 
-#: fortran/expr.cc:3957 fortran/expr.cc:3977
+#: fortran/expr.cc:3965 fortran/expr.cc:3985
 #, gcc-internal-format
 msgid "Rank remapping requires a list of %<lower-bound : upper-bound%> specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:3965 fortran/expr.cc:3984
+#: fortran/expr.cc:3973 fortran/expr.cc:3992
 #, gcc-internal-format
 msgid "Expected list of %<lower-bound :%> or list of %<lower-bound : upper-bound%> specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:4011
+#: fortran/expr.cc:4019
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4032
+#: fortran/expr.cc:4040
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4057
+#: fortran/expr.cc:4065
 #, gcc-internal-format
 msgid "Function result %qs is invalid as proc-target in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4066
+#: fortran/expr.cc:4074
 #, gcc-internal-format
 msgid "Abstract interface %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4076
+#: fortran/expr.cc:4084
 #, gcc-internal-format
 msgid "Statement function %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4082
+#: fortran/expr.cc:4090
 #, gcc-internal-format
 msgid "Internal procedure %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4089
+#: fortran/expr.cc:4097
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment"
 msgstr ""
 
-#: fortran/expr.cc:4097
+#: fortran/expr.cc:4105
 #, gcc-internal-format
 msgid "Nonintrinsic elemental procedure %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4120
+#: fortran/expr.cc:4128
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in the procedure pointer assignment at %L: mismatch in the calling convention"
 msgstr ""
 
-#: fortran/expr.cc:4173
+#: fortran/expr.cc:4181
 #, gcc-internal-format
 msgid "Interface mismatch in procedure pointer assignment at %L: %qs is not a subroutine"
 msgstr ""
 
-#: fortran/expr.cc:4183 fortran/expr.cc:4198
+#: fortran/expr.cc:4191 fortran/expr.cc:4206
 #, fuzzy, gcc-internal-format
 #| msgid "Expected a procedure for argument %qs at %L"
 msgid "Explicit interface required for component %qs at %L: %s"
 msgstr "Cần một thủ tục cho đối số %qs tại %L"
 
-#: fortran/expr.cc:4189 fortran/expr.cc:4204 fortran/resolve.cc:2670
+#: fortran/expr.cc:4197 fortran/expr.cc:4212 fortran/resolve.cc:2688
 #, gcc-internal-format
 msgid "Explicit interface required for %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4216
+#: fortran/expr.cc:4224
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch in procedure pointer assignment at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4225
+#: fortran/expr.cc:4233
 #, gcc-internal-format
 msgid "Procedure pointer target %qs at %L must be either an intrinsic, host or use associated, referenced or have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/expr.cc:4238
+#: fortran/expr.cc:4246
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "an assignment cannot appear in a constant-expression"
 msgid "Pointer assignment target cannot be a constant at %L"
 msgstr "phép gán không thể được xuất hiện trong biểu thức hằng"
 
-#: fortran/expr.cc:4252
+#: fortran/expr.cc:4260
 #, gcc-internal-format, gfc-internal-format
 msgid "Data-pointer-object at %L must be unlimited polymorphic, or of a type with the BIND or SEQUENCE attribute, to be compatible with an unlimited polymorphic target"
 msgstr ""
 
-#: fortran/expr.cc:4257
+#: fortran/expr.cc:4265
 #, gcc-internal-format, gfc-internal-format
 msgid "Different types in pointer assignment at %L; attempted assignment of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:4265
+#: fortran/expr.cc:4273
 #, gcc-internal-format, gfc-internal-format
 msgid "Different kind type parameters in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4272
+#: fortran/expr.cc:4280
 #, gcc-internal-format, gfc-internal-format
 msgid "Different ranks in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4291
+#: fortran/expr.cc:4299
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target is smaller than size of the pointer (%ld < %ld) at %L"
 msgstr ""
 
-#: fortran/expr.cc:4304
+#: fortran/expr.cc:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target must be rank 1 or simply contiguous at %L"
 msgstr ""
 
-#: fortran/expr.cc:4308
+#: fortran/expr.cc:4316
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target is not rank 1 at %L"
 msgstr ""
@@ -68475,192 +68685,192 @@ msgstr ""
 #. The test above might need to be extend when F08, Note 5.4 has to be
 #. interpreted in the way that target and pointer with the same coindex
 #. are allowed.
-#: fortran/expr.cc:4333 fortran/expr.cc:4459
+#: fortran/expr.cc:4341 fortran/expr.cc:4467
 #, gcc-internal-format, gfc-internal-format
 msgid "Data target at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4336
+#: fortran/expr.cc:4344
 #, gcc-internal-format, gfc-internal-format
 msgid "Target expression in pointer assignment at %L must deliver a pointer result"
 msgstr ""
 
-#: fortran/expr.cc:4350
+#: fortran/expr.cc:4358
 #, gcc-internal-format, gfc-internal-format
 msgid "Zero-sized array detected at %L where an entity with the TARGET attribute is expected"
 msgstr ""
 
-#: fortran/expr.cc:4356 fortran/expr.cc:4371
+#: fortran/expr.cc:4364 fortran/expr.cc:4379
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target in initialization expression does not have the TARGET attribute at %L"
 msgstr ""
 
-#: fortran/expr.cc:4387
+#: fortran/expr.cc:4395
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Every subscript of target specification at %L must be a constant expression"
 msgstr "bổ từ %qE không phải là biểu thức hằng"
 
-#: fortran/expr.cc:4398
+#: fortran/expr.cc:4406
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring starting and ending points of target specification at %L must be constant expressions"
 msgstr ""
 
-#: fortran/expr.cc:4414
+#: fortran/expr.cc:4422
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:4429
+#: fortran/expr.cc:4437
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad target in pointer assignment in PURE procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:4438
+#: fortran/expr.cc:4446
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment with vector subscript on rhs at %L"
 msgstr ""
 
-#: fortran/expr.cc:4446
+#: fortran/expr.cc:4454
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target has PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/expr.cc:4474 fortran/expr.cc:4479
+#: fortran/expr.cc:4482 fortran/expr.cc:4487
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to contiguous pointer from non-contiguous target at %L"
 msgstr ""
 
-#: fortran/expr.cc:4519
+#: fortran/expr.cc:4527
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer at %L in pointer assignment might outlive the pointer target"
 msgstr ""
 
-#: fortran/expr.cc:4595 fortran/resolve.cc:1512
+#: fortran/expr.cc:4603 fortran/resolve.cc:1529
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/expr.cc:4601
+#: fortran/expr.cc:4609
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the TARGET attribute"
 msgstr ""
 
-#: fortran/expr.cc:4616 fortran/resolve.cc:1518
+#: fortran/expr.cc:4624 fortran/resolve.cc:1535
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/expr.cc:4628
+#: fortran/expr.cc:4636
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer initialization target at %L may not be a procedure pointer"
 msgstr ""
 
-#: fortran/expr.cc:4634
+#: fortran/expr.cc:4642
 #, fuzzy, gcc-internal-format
 #| msgid "Internal procedure %qs is used as actual argument at %L"
 msgid "Internal procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr "Thủ tục nội tại %qs được dùng làm đối số thật tại %L"
 
-#: fortran/expr.cc:4641
+#: fortran/expr.cc:4649
 #, fuzzy, gcc-internal-format
 #| msgid "Error in pointer initialization at %C"
 msgid "Dummy procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr "Lỗi trong khởi tạo con trỏ tại %C"
 
-#: fortran/expr.cc:5109
+#: fortran/expr.cc:5117
 #, gcc-internal-format
 msgid "generate_isocbinding_initializer(): bad iso_c_binding type, expected %<c_ptr%> or %<c_funptr%>"
 msgstr ""
 
-#: fortran/expr.cc:6209
+#: fortran/expr.cc:6217
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Pointer functions in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6217
+#: fortran/expr.cc:6225
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-variable expression in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6225
+#: fortran/expr.cc:6233
 #, gcc-internal-format
 msgid "Named constant %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6236
+#: fortran/expr.cc:6244
 #, gcc-internal-format
 msgid "%qs in variable definition context (%s) at %L is not a variable"
 msgstr ""
 
-#: fortran/expr.cc:6247
+#: fortran/expr.cc:6255
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-POINTER in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6256
+#: fortran/expr.cc:6264
 #, gcc-internal-format, gfc-internal-format
 msgid "Type inaccessible in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6269
+#: fortran/expr.cc:6277
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_TYPE in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6282
+#: fortran/expr.cc:6290
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_EVENT in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6313
+#: fortran/expr.cc:6321
 #, gcc-internal-format
 msgid "%qs parameter inquiry for %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6330
+#: fortran/expr.cc:6338
 #, gcc-internal-format
 msgid "Dummy argument %qs with INTENT(IN) in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6340
+#: fortran/expr.cc:6348
 #, gcc-internal-format
 msgid "Dummy argument %qs with INTENT(IN) in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6353
+#: fortran/expr.cc:6361
 #, fuzzy, gcc-internal-format
 #| msgid "Variable %qs cannot appear in the expression at %L"
 msgid "Variable %qs is PROTECTED and cannot appear in a pointer association context (%s) at %L"
 msgstr "Biến %qs không thể xuất hiện trong biểu thức tại %L"
 
-#: fortran/expr.cc:6361
+#: fortran/expr.cc:6369
 #, fuzzy, gcc-internal-format
 #| msgid "Variable %qs cannot appear in the expression at %L"
 msgid "Variable %qs is PROTECTED and cannot appear in a variable definition context (%s) at %L"
 msgstr "Biến %qs không thể xuất hiện trong biểu thức tại %L"
 
-#: fortran/expr.cc:6376
+#: fortran/expr.cc:6384
 #, fuzzy, gcc-internal-format
 #| msgid "Variable %qs cannot appear in the expression at %L"
 msgid "Variable %qs cannot appear in a variable definition context (%s) at %L in PURE procedure"
 msgstr "Biến %qs không thể xuất hiện trong biểu thức tại %L"
 
-#: fortran/expr.cc:6435
+#: fortran/expr.cc:6443
 #, gcc-internal-format
 msgid "%qs at %L associated to vector-indexed target cannot be used in a variable definition context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6440
+#: fortran/expr.cc:6448
 #, gcc-internal-format
 msgid "%qs at %L associated to expression cannot be used in a variable definition context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6452
+#: fortran/expr.cc:6460
 #, gcc-internal-format
 msgid "Associate-name %qs cannot appear in a variable definition context (%s) at %L because its target at %L cannot, either"
 msgstr ""
 
-#: fortran/expr.cc:6494
+#: fortran/expr.cc:6502
 #, gcc-internal-format, gfc-internal-format
 msgid "Elements with the same value at %L and %L in vector subscript in a variable definition context (%s)"
 msgstr ""
@@ -68681,8 +68891,8 @@ msgid "Illegal id in copy_walk_reduction_arg"
 msgstr ""
 
 #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496
-#: fortran/trans-array.cc:6837 fortran/trans-array.cc:8460
-#: fortran/trans-intrinsic.cc:8440
+#: fortran/trans-array.cc:6844 fortran/trans-array.cc:8467
+#: fortran/trans-intrinsic.cc:8442
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
 msgstr "Đang tạo mảng tạm tại %L"
@@ -68715,73 +68925,73 @@ msgstr "sai di chuyển"
 msgid "illegal OP in optimize_comparison"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2351
+#: fortran/frontend-passes.cc:2352
 #, gcc-internal-format
 msgid "Index variable %qs set to undefined as INTENT(OUT) argument at %L in procedure %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2360
+#: fortran/frontend-passes.cc:2361
 #, gcc-internal-format
 msgid "Index variable %qs not definable as INTENT(INOUT) argument at %L in procedure %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2498
+#: fortran/frontend-passes.cc:2499
 #, gcc-internal-format
 msgid "Index variable %qs set to undefined as INTENT(OUT) argument at %L in subroutine %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2507
+#: fortran/frontend-passes.cc:2508
 #, gcc-internal-format
 msgid "Index variable %qs not definable as INTENT(INOUT) argument at %L in subroutine %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2660
+#: fortran/frontend-passes.cc:2661
 #, gcc-internal-format
 msgid "Variable %qs at %L set to undefined value inside loop beginning at %L as INTENT(OUT) argument to subroutine %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2667
+#: fortran/frontend-passes.cc:2668
 #, gcc-internal-format
 msgid "Variable %qs at %L not definable inside loop beginning at %L as INTENT(INOUT) argument to subroutine %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2922 fortran/frontend-passes.cc:2948
+#: fortran/frontend-passes.cc:2923 fortran/frontend-passes.cc:2949
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L out of bounds (%ld < %ld) in loop beginning at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2932 fortran/frontend-passes.cc:2958
+#: fortran/frontend-passes.cc:2933 fortran/frontend-passes.cc:2959
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L out of bounds (%ld > %ld) in loop beginning at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3043
+#: fortran/frontend-passes.cc:3044
 #, gcc-internal-format
 msgid "Variable %qs at %L set to undefined value inside loop beginning at %L as INTENT(OUT) argument to function %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3049
+#: fortran/frontend-passes.cc:3050
 #, gcc-internal-format
 msgid "Variable %qs at %L not definable inside loop beginning at %L as INTENT(INOUT) argument to function %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3465 fortran/trans-expr.cc:1874
+#: fortran/frontend-passes.cc:3466 fortran/trans-expr.cc:1874
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable array at %L will be added"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3990
+#: fortran/frontend-passes.cc:3991
 #, gcc-internal-format
 msgid "Scalarization using DIMEN_RANGE unimplemented"
 msgstr ""
 
-#: fortran/frontend-passes.cc:5199
+#: fortran/frontend-passes.cc:5200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "containing loop"
 msgid "Interchanging loops at %L"
 msgstr "chứa vòng lặp"
 
-#: fortran/frontend-passes.cc:5838
+#: fortran/frontend-passes.cc:5839
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "comparison between %qT and %qT"
 msgid "%s between %L and %L"
@@ -68905,12 +69115,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:987 fortran/resolve.cc:17351
+#: fortran/interface.cc:987 fortran/resolve.cc:17380
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:994 fortran/resolve.cc:17369
+#: fortran/interface.cc:994 fortran/resolve.cc:17398
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -69612,7 +69822,7 @@ msgstr "add_sym(): Chế độ cỡ sai"
 
 #: fortran/intrinsic.cc:1184
 #, gcc-internal-format
-msgid "The intrinsic %qs at %L is not included in the selected standard but %s and %qs will be treated as if declared EXTERNAL.  Use an appropriate %<-std=%>* option or define %<-fall-intrinsics%> to allow this intrinsic."
+msgid "The intrinsic %qs at %L is not included in the selected standard but %s and %qs will be treated as if declared EXTERNAL.  Use an appropriate %<-std=%> option or define %<-fall-intrinsics%> to allow this intrinsic."
 msgstr ""
 
 #: fortran/intrinsic.cc:1219
@@ -69756,7 +69966,7 @@ msgstr "Chuyển đổi từ %s sang %s tại %L"
 #. Use of -fdec-char-conversions allows assignment of character data
 #. to non-character variables.  This not permited for nonconstant
 #. strings.
-#: fortran/intrinsic.cc:5398 fortran/resolve.cc:11006
+#: fortran/intrinsic.cc:5398 fortran/resolve.cc:11026
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Can't convert %s to %s at %L"
 msgid "Cannot convert %s to %s at %L"
@@ -70241,7 +70451,7 @@ msgstr ""
 msgid "UNIT number in CLOSE statement at %L must be non-negative"
 msgstr ""
 
-#: fortran/io.cc:2855 fortran/match.cc:3071
+#: fortran/io.cc:2855 fortran/match.cc:3099
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement not allowed in PURE procedure at %C"
 msgstr ""
@@ -70336,7 +70546,7 @@ msgstr ""
 msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/io.cc:3431 fortran/resolve.cc:15219
+#: fortran/io.cc:3431 fortran/resolve.cc:15248
 #, gcc-internal-format
 msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components"
 msgstr ""
@@ -70846,418 +71056,430 @@ msgstr ""
 msgid "CYCLE statement at %C to non-innermost collapsed !$OMP DO loop"
 msgstr ""
 
-#: fortran/match.cc:3020
+#: fortran/match.cc:3034
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Blank required in %s statement near %C"
 msgstr "Không cần câu lệnh %s tại %C"
 
-#: fortran/match.cc:3038
+#: fortran/match.cc:3057
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C cannot be negative"
 msgstr "%s tại %L phải là số nguyên"
 
-#: fortran/match.cc:3044
+#: fortran/match.cc:3063
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C contains too many digits"
 msgstr ""
 
-#: fortran/match.cc:3065
+#: fortran/match.cc:3079
+#, fuzzy, gcc-internal-format, gfc-internal-format
+#| msgid "UNIT not specified at %L"
+msgid "QUIET= specifier for %s at %L"
+msgstr "UNIT không được chỉ ra tại %L"
+
+#: fortran/match.cc:3093
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3081
+#: fortran/match.cc:3109
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3086
+#: fortran/match.cc:3114
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3098
+#: fortran/match.cc:3126
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be a scalar CHARACTER constant or digit[digit[digit[digit[digit]]]]"
 msgstr ""
 
-#: fortran/match.cc:3110
+#: fortran/match.cc:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be a scalar default CHARACTER or INTEGER constant expression"
 msgstr ""
 
-#: fortran/match.cc:3117
+#: fortran/match.cc:3145
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be either INTEGER or CHARACTER type"
 msgstr ""
 
-#: fortran/match.cc:3124
+#: fortran/match.cc:3152
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:3131
+#: fortran/match.cc:3159
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default character KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3138
+#: fortran/match.cc:3166
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default integer KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3186
+#: fortran/match.cc:3178 fortran/resolve.cc:11973
+#, fuzzy, gcc-internal-format, gfc-internal-format
+#| msgid "%s at %L must be a scalar"
+msgid "QUIET specifier at %L must be a scalar LOGICAL"
+msgstr "%s tại %L phải là một scalar"
+
+#: fortran/match.cc:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "PAUSE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3207
+#: fortran/match.cc:3249
 #, gcc-internal-format, gfc-internal-format
 msgid "ERROR STOP statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3233
+#: fortran/match.cc:3275
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3248
+#: fortran/match.cc:3290
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3255
+#: fortran/match.cc:3297
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3285 fortran/match.cc:3627 fortran/match.cc:3839
-#: fortran/match.cc:4391 fortran/match.cc:4762
+#: fortran/match.cc:3327 fortran/match.cc:3669 fortran/match.cc:3881
+#: fortran/match.cc:4433 fortran/match.cc:4804
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant STAT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3306 fortran/match.cc:3648 fortran/match.cc:3859
-#: fortran/match.cc:4423 fortran/match.cc:4787
+#: fortran/match.cc:3348 fortran/match.cc:3690 fortran/match.cc:3901
+#: fortran/match.cc:4465 fortran/match.cc:4829
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ERRMSG tag at %L"
 msgid "Redundant ERRMSG tag found at %L"
 msgstr "ERRMSG tag tại %L"
 
-#: fortran/match.cc:3327
+#: fortran/match.cc:3369
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant UNTIL_COUNT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3393
+#: fortran/match.cc:3435
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT POST statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3403
+#: fortran/match.cc:3445
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT WAIT statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3415
+#: fortran/match.cc:3457
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "VALUE statement at %C"
 msgid "FAIL IMAGE statement at %C"
 msgstr "câu lệnh VALUE tại %C"
 
-#: fortran/match.cc:3439
+#: fortran/match.cc:3481
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "IMPORT statement at %C"
 msgid "FORM TEAM statement at %C"
 msgstr "câu lệnh IMPORT tại %C"
 
-#: fortran/match.cc:3478
+#: fortran/match.cc:3520
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CLASS statement at %C"
 msgid "CHANGE TEAM statement at %C"
 msgstr "câu lệnh CLASS tại %C"
 
-#: fortran/match.cc:3508
+#: fortran/match.cc:3550
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ENTRY statement at %C"
 msgid "END TEAM statement at %C"
 msgstr "câu lệnh ENTRY tại %C"
 
-#: fortran/match.cc:3532
+#: fortran/match.cc:3574
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SYNC statement at %C"
 msgid "SYNC TEAM statement at %C"
 msgstr "câu lệnh SYNC tại %C"
 
-#: fortran/match.cc:3575
+#: fortran/match.cc:3617
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3590
+#: fortran/match.cc:3632
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3597
+#: fortran/match.cc:3639
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3669
+#: fortran/match.cc:3711
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant ACQUIRED_LOCK tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3734
+#: fortran/match.cc:3776
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3744
+#: fortran/match.cc:3786
 #, gcc-internal-format, gfc-internal-format
 msgid "UNLOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3769
+#: fortran/match.cc:3811
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3775
+#: fortran/match.cc:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "SYNC statement at %C"
 msgstr "câu lệnh SYNC tại %C"
 
-#: fortran/match.cc:3787
+#: fortran/match.cc:3829
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3793
+#: fortran/match.cc:3835
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3973
+#: fortran/match.cc:4015
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %C"
 msgstr "câu lệnh ASSIGN tại %C"
 
-#: fortran/match.cc:4017
+#: fortran/match.cc:4059
 #, gcc-internal-format, gfc-internal-format
 msgid "Assigned GOTO statement at %C"
 msgstr ""
 
-#: fortran/match.cc:4061 fortran/match.cc:4112
+#: fortran/match.cc:4103 fortran/match.cc:4154
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label list in GOTO at %C cannot be empty"
 msgstr ""
 
-#: fortran/match.cc:4122
+#: fortran/match.cc:4164
 #, gcc-internal-format, gfc-internal-format
 msgid "Computed GOTO at %C"
 msgstr "Được tính toán GOTO tại %C"
 
-#: fortran/match.cc:4197
+#: fortran/match.cc:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in type-spec at %L"
 msgstr "Sai trong type-spec tại %L"
 
-#: fortran/match.cc:4210
+#: fortran/match.cc:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "typespec in ALLOCATE at %L"
 msgstr ""
 
-#: fortran/match.cc:4233
+#: fortran/match.cc:4275
 #, gcc-internal-format, gfc-internal-format
 msgid "The type parameter spec list in the type-spec at %L cannot contain DEFERRED parameters"
 msgstr ""
 
-#: fortran/match.cc:4263 fortran/match.cc:4700
+#: fortran/match.cc:4305 fortran/match.cc:4742
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected %s statement at %C"
 msgid "Unexpected constant at %C"
 msgstr "Không cần câu lệnh %s tại %C"
 
-#: fortran/match.cc:4273
+#: fortran/match.cc:4315
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4288
+#: fortran/match.cc:4330
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible allocate-object at %C for CHARACTER type-spec at %L"
 msgstr ""
 
-#: fortran/match.cc:4310
+#: fortran/match.cc:4352
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4315
+#: fortran/match.cc:4357
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4337
+#: fortran/match.cc:4379
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is neither a data pointer nor an allocatable variable"
 msgstr ""
 
-#: fortran/match.cc:4349
+#: fortran/match.cc:4391
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with typespec"
 msgstr ""
 
-#: fortran/match.cc:4357
+#: fortran/match.cc:4399
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind type parameter for entity at %L differs from the kind type parameter of the typespec"
 msgstr ""
 
-#: fortran/match.cc:4374
+#: fortran/match.cc:4416
 #, gcc-internal-format, gfc-internal-format
 msgid "Shape specification for allocatable scalar at %C"
 msgstr ""
 
-#: fortran/match.cc:4401
+#: fortran/match.cc:4443
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STAT tag at %L cannot be a constant"
 msgstr "%s tại %L phải là số nguyên"
 
-#: fortran/match.cc:4417
+#: fortran/match.cc:4459
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG tag at %L"
 msgstr "ERRMSG tag tại %L"
 
-#: fortran/match.cc:4440
+#: fortran/match.cc:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L"
 msgstr "SOURCE tag tại %L"
 
-#: fortran/match.cc:4446
+#: fortran/match.cc:4488
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SOURCE tag at %L"
 msgid "Redundant SOURCE tag found at %L"
 msgstr "SOURCE tag tại %L"
 
-#: fortran/match.cc:4453
+#: fortran/match.cc:4495
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4459
+#: fortran/match.cc:4501
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L with more than a single allocate object"
 msgstr ""
 
-#: fortran/match.cc:4477
+#: fortran/match.cc:4519
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L"
 msgstr "MOLD tag tại %L"
 
-#: fortran/match.cc:4483
+#: fortran/match.cc:4525
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MOLD tag at %L"
 msgid "Redundant MOLD tag found at %L"
 msgstr "MOLD tag tại %L"
 
-#: fortran/match.cc:4490
+#: fortran/match.cc:4532
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4516
+#: fortran/match.cc:4558
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with SOURCE tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4524
+#: fortran/match.cc:4566
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L with a deferred type parameter requires either a type-spec or SOURCE tag or a MOLD tag"
 msgstr ""
 
-#: fortran/match.cc:4536
+#: fortran/match.cc:4578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unlimited polymorphic allocate-object at %L requires either a type-spec or SOURCE tag or a MOLD tag"
 msgstr ""
 
-#: fortran/match.cc:4603
+#: fortran/match.cc:4645
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %C shall not be coindexed"
 msgstr ""
 
-#: fortran/match.cc:4618
+#: fortran/match.cc:4660
 #, gcc-internal-format, gfc-internal-format
 msgid "NULLIFY does not allow bounds remapping for pointer object at %C"
 msgstr ""
 
-#: fortran/match.cc:4712
+#: fortran/match.cc:4754
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4722
+#: fortran/match.cc:4764
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4729
+#: fortran/match.cc:4771
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4745
+#: fortran/match.cc:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %C is not a nonprocedure pointer nor an allocatable variable"
 msgstr ""
 
-#: fortran/match.cc:4782
+#: fortran/match.cc:4824
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L"
 msgstr "ERRMSG tại %L"
 
-#: fortran/match.cc:4839
+#: fortran/match.cc:4881
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4845
+#: fortran/match.cc:4887
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4854
+#: fortran/match.cc:4896
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
 msgstr ""
 
-#: fortran/match.cc:4885
+#: fortran/match.cc:4927
 #, gcc-internal-format, gfc-internal-format
 msgid "RETURN statement in main program at %C"
 msgstr ""
 
-#: fortran/match.cc:4913
+#: fortran/match.cc:4955
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected component reference at %C"
 msgstr "Cần tham chiếu thành phần tại %C"
 
-#: fortran/match.cc:4922
+#: fortran/match.cc:4964
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after CALL at %C"
 msgstr ""
 
-#: fortran/match.cc:4933
+#: fortran/match.cc:4975
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected type-bound procedure or procedure pointer component at %C"
 msgstr ""
 
-#: fortran/match.cc:5030
+#: fortran/match.cc:5072
 #, gcc-internal-format, gfc-internal-format
 msgid "A BOZ literal constant at %L cannot appear as an actual argument in a subroutine reference"
 msgstr ""
 
-#: fortran/match.cc:5171
+#: fortran/match.cc:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in common block name at %C"
 msgstr ""
@@ -71265,59 +71487,59 @@ msgstr ""
 #. If we find an error, just print it and continue,
 #. cause it's just semantic, and we can see if there
 #. are more errors.
-#: fortran/match.cc:5246
+#: fortran/match.cc:5288
 #, gcc-internal-format
 msgid "Variable %qs at %L in common block %qs at %C must be declared with a C interoperable kind since common block %qs is bind(c)"
 msgstr ""
 
-#: fortran/match.cc:5255
+#: fortran/match.cc:5297
 #, gcc-internal-format
 msgid "Variable %qs in common block %qs at %C cannot be bind(c) since it is not global"
 msgstr ""
 
-#: fortran/match.cc:5262
+#: fortran/match.cc:5304
 #, gcc-internal-format
 msgid "Symbol %qs at %C is already in a COMMON block"
 msgstr "Ký hiệu %qs tại %C đã có trong khối COMMON"
 
-#: fortran/match.cc:5270
+#: fortran/match.cc:5312
 #, gcc-internal-format
 msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA"
 msgstr ""
 
-#: fortran/match.cc:5286
+#: fortran/match.cc:5328
 #, gcc-internal-format
 msgid "Array specification for symbol %qs in COMMON at %C must be explicit"
 msgstr ""
 
-#: fortran/match.cc:5293
+#: fortran/match.cc:5335
 #, fuzzy, gcc-internal-format
 #| msgid "Loop variable at %C cannot be a coarray"
 msgid "Symbol %qs in COMMON at %C cannot be a coarray"
 msgstr "Biến vòng lặp tại %C không thể là một coarray"
 
-#: fortran/match.cc:5303
+#: fortran/match.cc:5345
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a POINTER array"
 msgstr ""
 
-#: fortran/match.cc:5349
+#: fortran/match.cc:5391
 #, gcc-internal-format
 msgid "Symbol %qs, in COMMON block %qs at %C is being indirectly equivalenced to another COMMON block %qs"
 msgstr ""
 
-#: fortran/match.cc:5411
+#: fortran/match.cc:5453
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BLOCK construct at %C"
 msgid "BLOCK DATA construct at %L"
 msgstr "cấu trúc BLOCK tại %C"
 
-#: fortran/match.cc:5497
+#: fortran/match.cc:5539
 #, gcc-internal-format
 msgid "Namelist group name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/match.cc:5505
+#: fortran/match.cc:5547
 #, gcc-internal-format
 msgid "Namelist group name %qs at %C already is USE associated and cannot be respecified."
 msgstr ""
@@ -71325,184 +71547,184 @@ msgstr ""
 #. It is required that members of a namelist be declared
 #. before the namelist.  We check this by checking if the
 #. symbol has a defined type for IMPLICIT NONE.
-#: fortran/match.cc:5530
+#: fortran/match.cc:5572
 #, gcc-internal-format
 msgid "Symbol %qs in namelist %qs at %C must be declared before the namelist is declared."
 msgstr ""
 
-#: fortran/match.cc:5549
+#: fortran/match.cc:5591
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %C is not allowed"
 msgstr ""
 
-#: fortran/match.cc:5692
+#: fortran/match.cc:5734
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
 msgstr ""
 
-#: fortran/match.cc:5700
+#: fortran/match.cc:5742
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
 msgstr ""
 
-#: fortran/match.cc:5733
+#: fortran/match.cc:5775
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE at %C requires two or more objects"
 msgstr ""
 
-#: fortran/match.cc:5747
+#: fortran/match.cc:5789
 #, gcc-internal-format, gfc-internal-format
 msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5760
+#: fortran/match.cc:5802
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a comma in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5765
+#: fortran/match.cc:5807
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "VALUE statement at %C"
 msgid "EQUIVALENCE statement at %C"
 msgstr "câu lệnh VALUE tại %C"
 
-#: fortran/match.cc:5901
+#: fortran/match.cc:5943
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L is recursive"
 msgstr ""
 
-#: fortran/match.cc:5907
+#: fortran/match.cc:5949
 #, fuzzy, gcc-internal-format
 #| msgid "Statement function at %L cannot appear within an INTERFACE"
 msgid "Statement function %qs at %L conflicts with function name"
 msgstr "Hàm khai báo tại %L không phải xuất hiện trong một GIAO DIỆN"
 
-#: fortran/match.cc:5918
+#: fortran/match.cc:5960
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L cannot appear within an INTERFACE"
 msgstr "Hàm khai báo tại %L không phải xuất hiện trong một GIAO DIỆN"
 
-#: fortran/match.cc:5923
+#: fortran/match.cc:5965
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %C"
 msgstr ""
 
-#: fortran/match.cc:6048 fortran/match.cc:6064 fortran/match.cc:6083
+#: fortran/match.cc:6090 fortran/match.cc:6106 fortran/match.cc:6125
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L cannot be %s"
 msgstr ""
 
-#: fortran/match.cc:6093 fortran/match.cc:6099
+#: fortran/match.cc:6135 fortran/match.cc:6141
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression at %L must be scalar"
 msgid "Expression in CASE selector at %L must be scalar"
 msgstr "Biểu thức tại %L phải thuộc kiểu scalar"
 
-#: fortran/match.cc:6108
+#: fortran/match.cc:6150
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr ""
 
-#: fortran/match.cc:6140
+#: fortran/match.cc:6182
 #, gcc-internal-format
 msgid "Expected block name %qs of SELECT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:6435
+#: fortran/match.cc:6477
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "SELECT TYPE at %C cannot appear in this scope"
 msgstr "%qD chưa được khai báo trong phạm vi này"
 
-#: fortran/match.cc:6476
+#: fortran/match.cc:6518
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT TYPE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6501
+#: fortran/match.cc:6543
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector in SELECT TYPE at %C is not a named variable; use associate-name=>"
 msgstr ""
 
-#: fortran/match.cc:6657
+#: fortran/match.cc:6699
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ENTRY statement at %C"
 msgid "SELECT RANK statement at %C"
 msgstr "câu lệnh ENTRY tại %C"
 
-#: fortran/match.cc:6686 fortran/match.cc:6740
+#: fortran/match.cc:6728 fortran/match.cc:6782
 #, gcc-internal-format, gfc-internal-format
 msgid "The SELECT RANK selector at %C must be an assumed rank variable"
 msgstr ""
 
-#: fortran/match.cc:6750
+#: fortran/match.cc:6792
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT RANK statement at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/match.cc:6786
+#: fortran/match.cc:6828
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected CASE statement at %C"
 msgstr "Không cần câu lệnh CASE tại %C"
 
-#: fortran/match.cc:6838
+#: fortran/match.cc:6880
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CASE specification at %C"
 msgstr ""
 
-#: fortran/match.cc:6856
+#: fortran/match.cc:6898
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected TYPE IS statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6888
+#: fortran/match.cc:6930
 #, gcc-internal-format, gfc-internal-format
 msgid "The type-spec shall not specify a sequence derived type or a type with the BIND attribute in SELECT TYPE at %C [F2003:C815]"
 msgstr ""
 
-#: fortran/match.cc:6899
+#: fortran/match.cc:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "All the LEN type parameters in the TYPE IS statement at %C must be ASSUMED"
 msgstr ""
 
-#: fortran/match.cc:6910
+#: fortran/match.cc:6952
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in TYPE IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:6986
+#: fortran/match.cc:7028
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CLASS IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7006
+#: fortran/match.cc:7048
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected END statement at %C"
 msgid "Unexpected RANK statement at %C"
 msgstr "Không cần câu lệnh END tại %C"
 
-#: fortran/match.cc:7052
+#: fortran/match.cc:7094
 #, gcc-internal-format, gfc-internal-format
 msgid "The SELECT RANK CASE expression at %C must be a scalar, integer constant"
 msgstr ""
 
-#: fortran/match.cc:7061
+#: fortran/match.cc:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The value of the SELECT RANK CASE expression at %C must not be less than zero or greater than %d"
 msgstr ""
 
-#: fortran/match.cc:7088
+#: fortran/match.cc:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in expression at %C"
 msgid "Syntax error in RANK specification at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/match.cc:7210
+#: fortran/match.cc:7252
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr ""
 
-#: fortran/match.cc:7248
+#: fortran/match.cc:7290
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match WHERE label %qs"
 msgstr ""
@@ -71626,238 +71848,238 @@ msgstr ""
 msgid "Syntax error in SUBMODULE statement at %C"
 msgstr ""
 
-#: fortran/module.cc:1201
+#: fortran/module.cc:1202
 #, gcc-internal-format
 msgid "Reading module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1205
+#: fortran/module.cc:1206
 #, gcc-internal-format
 msgid "Writing module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1209
+#: fortran/module.cc:1210
 #, gcc-internal-format
 msgid "Module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1642
+#: fortran/module.cc:1643
 #, gcc-internal-format
 msgid "require_atom(): bad atom type required"
 msgstr ""
 
-#: fortran/module.cc:1691
+#: fortran/module.cc:1692
 #, gcc-internal-format, gfc-internal-format
 msgid "Error writing modules file: %s"
 msgstr "Gặp lỗi khi ghi tập tin môt-đun: %s"
 
-#: fortran/module.cc:1741
+#: fortran/module.cc:1742
 #, gcc-internal-format
 msgid "write_atom(): Trying to write dab atom"
 msgstr ""
 
-#: fortran/module.cc:1962
+#: fortran/module.cc:1963
 #, gcc-internal-format
 msgid "unquote_string(): got bad string"
 msgstr "unquote_string(): nhận chuỗi sai"
 
-#: fortran/module.cc:2959
+#: fortran/module.cc:2960
 #, gcc-internal-format
 msgid "mio_array_ref(): Unknown array ref"
 msgstr ""
 
-#: fortran/module.cc:5094
+#: fortran/module.cc:5095
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5097
+#: fortran/module.cc:5098
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5291
+#: fortran/module.cc:5292
 #, gcc-internal-format
 msgid "%qs of module %qs, imported at %C, is also the name of the current program unit"
 msgstr ""
 
-#: fortran/module.cc:5428
+#: fortran/module.cc:5429
 #, gcc-internal-format
 msgid "Mismatch in components of derived type %qs from %qs at %C: expecting %qs, but got %qs"
 msgstr ""
 
-#: fortran/module.cc:5707
+#: fortran/module.cc:5708
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5714
+#: fortran/module.cc:5715
 #, gcc-internal-format
 msgid "User operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5719
+#: fortran/module.cc:5720
 #, gcc-internal-format
 msgid "Intrinsic operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5955
+#: fortran/module.cc:5956
 #, gcc-internal-format
 msgid "write_symbol(): bad module symbol %qs"
 msgstr ""
 
-#: fortran/module.cc:6299
+#: fortran/module.cc:6300
 #, gcc-internal-format
 msgid "write_symtree(): Symbol not written"
 msgstr ""
 
-#: fortran/module.cc:6489
+#: fortran/module.cc:6490
 #, fuzzy, gcc-internal-format
 #| msgid "can%'t open %qs for writing: %m"
 msgid "Cannot open module file %qs for writing at %C: %s"
 msgstr "can%'t mở %s để ghi: %m"
 
-#: fortran/module.cc:6510
+#: fortran/module.cc:6511
 #, gcc-internal-format
 msgid "Error writing module file %qs for writing: %s"
 msgstr ""
 
-#: fortran/module.cc:6521
+#: fortran/module.cc:6522
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot open source file %s\n"
 msgid "Cannot delete module file %qs: %s"
 msgstr "Không thể mở tập tin nguồn %s\n"
 
-#: fortran/module.cc:6524
+#: fortran/module.cc:6525
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot open source file %s\n"
 msgid "Cannot rename module file %qs to %qs: %s"
 msgstr "Không thể mở tập tin nguồn %s\n"
 
-#: fortran/module.cc:6530
+#: fortran/module.cc:6531
 #, fuzzy, gcc-internal-format
 #| msgid "cannot create temporary file"
 msgid "Cannot delete temporary module file %qs: %s"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: fortran/module.cc:6587
+#: fortran/module.cc:6588
 #, fuzzy, gcc-internal-format
 msgid "Symbol %qs at %C already declared"
 msgstr "Ký hiệu %qs đã sẵn được khai báo"
 
-#: fortran/module.cc:6658
+#: fortran/module.cc:6659
 #, gcc-internal-format, gfc-internal-format
 msgid "import_iso_c_binding_module(): Unable to create symbol for %s"
 msgstr ""
 
-#: fortran/module.cc:6766 fortran/module.cc:7110
+#: fortran/module.cc:6767 fortran/module.cc:7111
 #, gcc-internal-format
 msgid "The symbol %qs, referenced at %L, is not in the selected standard"
 msgstr ""
 
-#: fortran/module.cc:6894
+#: fortran/module.cc:6895
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_C_BINDING"
 msgstr ""
 
-#: fortran/module.cc:6915 fortran/module.cc:6948 fortran/module.cc:6990
+#: fortran/module.cc:6916 fortran/module.cc:6949 fortran/module.cc:6991
 #, gcc-internal-format
 msgid "Symbol %qs already declared"
 msgstr "Ký hiệu %qs đã sẵn được khai báo"
 
-#: fortran/module.cc:7095
+#: fortran/module.cc:7096
 #, gcc-internal-format
 msgid "Use of intrinsic module %qs at %C conflicts with non-intrinsic module name used previously"
 msgstr ""
 
-#: fortran/module.cc:7117
+#: fortran/module.cc:7118
 #, gcc-internal-format
 msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %qs"
 msgstr ""
 
-#: fortran/module.cc:7185
+#: fortran/module.cc:7186
 #, gcc-internal-format, gfc-internal-format
 msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
 msgstr ""
 
-#: fortran/module.cc:7239
+#: fortran/module.cc:7240
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
 msgstr ""
 
-#: fortran/module.cc:7265
+#: fortran/module.cc:7266
 #, gcc-internal-format, gfc-internal-format
 msgid "USE statement at %C has no ONLY qualifier"
 msgstr ""
 
-#: fortran/module.cc:7294
+#: fortran/module.cc:7295
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_FORTRAN_ENV intrinsic module at %C"
 msgstr ""
 
-#: fortran/module.cc:7306
+#: fortran/module.cc:7307
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_C_BINDING module at %C"
 msgstr "mô đun ISO_C_BINDING tại %C"
 
-#: fortran/module.cc:7319
+#: fortran/module.cc:7320
 #, fuzzy, gcc-internal-format
 #| msgid "Unknown procedure name %qs at %C"
 msgid "Cannot find an intrinsic module named %qs at %C"
 msgstr "Không rõ tên thủ tục “%qs” tại %C"
 
-#: fortran/module.cc:7325
+#: fortran/module.cc:7326
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_FEATURES module at %C"
 msgstr ""
 
-#: fortran/module.cc:7331
+#: fortran/module.cc:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_EXCEPTIONS module at %C"
 msgstr ""
 
-#: fortran/module.cc:7337
+#: fortran/module.cc:7338
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_ARITHMETIC module at %C"
 msgstr ""
 
-#: fortran/module.cc:7347
+#: fortran/module.cc:7348
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot open source file %s\n"
 msgid "Cannot open module file %qs for reading at %C: %s"
 msgstr "Không thể mở tập tin nguồn %s\n"
 
-#: fortran/module.cc:7350
+#: fortran/module.cc:7351
 #, gcc-internal-format
 msgid "Module file %qs has not been generated, either because the module does not contain a MODULE PROCEDURE or there is an error in the module."
 msgstr ""
 
-#: fortran/module.cc:7361
+#: fortran/module.cc:7362
 #, gcc-internal-format
 msgid "Use of non-intrinsic module %qs at %C conflicts with intrinsic module name used previously"
 msgstr ""
 
-#: fortran/module.cc:7384
+#: fortran/module.cc:7385
 #, gcc-internal-format
 msgid "File %qs opened at %C is not a GNU Fortran module file"
 msgstr ""
 
-#: fortran/module.cc:7392
+#: fortran/module.cc:7393
 #, gcc-internal-format
 msgid "Cannot read module file %qs opened at %C, because it was created by a different version of GNU Fortran"
 msgstr ""
 
-#: fortran/module.cc:7409
+#: fortran/module.cc:7410
 #, gcc-internal-format
 msgid "Cannot USE a submodule that is currently built"
 msgstr ""
 
-#: fortran/module.cc:7411
+#: fortran/module.cc:7412
 #, gcc-internal-format
 msgid "Cannot USE a module that is currently built"
 msgstr ""
 
-#: fortran/openmp.cc:68 fortran/openmp.cc:6028
+#: fortran/openmp.cc:68 fortran/openmp.cc:6020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected %s statement at %C"
 msgid "Unexpected junk at %C"
@@ -71869,8 +72091,8 @@ msgstr "Không cần câu lệnh %s tại %C"
 msgid "List item shall not be coindexed at %C"
 msgstr "Biến sự kiện tại %L sẽ không thể là coindexed "
 
-#: fortran/openmp.cc:384 fortran/openmp.cc:485 fortran/openmp.cc:813
-#: fortran/openmp.cc:5107
+#: fortran/openmp.cc:384 fortran/openmp.cc:485 fortran/openmp.cc:805
+#: fortran/openmp.cc:5099
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block /%s/ not found at %C"
 msgstr ""
@@ -71880,1582 +72102,1596 @@ msgstr ""
 msgid "Syntax error in OpenMP variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:536
-#, gcc-internal-format
-msgid "%qs at %L should be of type integer(kind=omp_event_handle_kind)"
-msgstr ""
-
-#: fortran/openmp.cc:548
+#: fortran/openmp.cc:540
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP detach clause at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/openmp.cc:620
+#: fortran/openmp.cc:612
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP DEPEND SINK list at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/openmp.cc:682
+#: fortran/openmp.cc:674
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenACC expression list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:749
+#: fortran/openmp.cc:741
 #, fuzzy, gcc-internal-format
 msgid "Unexpected OpenACC parallelism."
 msgstr "cần kết thúc của capture-list"
 
-#: fortran/openmp.cc:781
+#: fortran/openmp.cc:773
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:841
+#: fortran/openmp.cc:833
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC DECLARE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:851
+#: fortran/openmp.cc:843
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC DECLARE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1100
+#: fortran/openmp.cc:1092
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected DO loop at %C"
 msgid "Expected INTEGER type at %L"
 msgstr "Cần vòng lặp DO tại %C"
 
-#: fortran/openmp.cc:1114
+#: fortran/openmp.cc:1106
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected identifier"
 msgid "Expected identifier at %C"
 msgstr "cần định danh"
 
-#: fortran/openmp.cc:1119
+#: fortran/openmp.cc:1111
 #, fuzzy, gcc-internal-format
 #| msgid "Duplicate %s specification at %C"
 msgid "Same identifier %qs specified again at %C"
 msgstr "Trùng đặc tả %s tại %C"
 
-#: fortran/openmp.cc:1146
+#: fortran/openmp.cc:1138
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected association at %C"
 msgid "Expected range-specification at %C"
 msgstr "Cần kết hợp tại %C"
 
-#: fortran/openmp.cc:1233
+#: fortran/openmp.cc:1225
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%<)%> expected at %C"
 msgid "Comma expected at %C"
 msgstr "cần %<)%> tại %C"
 
-#: fortran/openmp.cc:1345
+#: fortran/openmp.cc:1337
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1395
+#: fortran/openmp.cc:1387
 #, fuzzy, gcc-internal-format
 #| msgid "Duplicate %s attribute at %L"
 msgid "Duplicated %qs clause at %L"
 msgstr "Trùng thuộc tính %s tại %L"
 
-#: fortran/openmp.cc:1402
+#: fortran/openmp.cc:1394
 #, fuzzy, gcc-internal-format
 #| msgid "Expected %<(%> at %C"
 msgid "Expected %<(%> after %qs at %C"
 msgstr "Cần %<(%> tại %C"
 
-#: fortran/openmp.cc:1409
+#: fortran/openmp.cc:1401
 #, fuzzy, gcc-internal-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Invalid expression after %<%s(%> at %C"
 msgstr "loại không hợp lệ cho %s tại %L"
 
-#: fortran/openmp.cc:1471
+#: fortran/openmp.cc:1463
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C after trailing comma"
 msgstr ""
 
-#: fortran/openmp.cc:1533
+#: fortran/openmp.cc:1525
 #, fuzzy, gcc-internal-format
 #| msgid "Expected %<::%> at %C"
 msgid "Expected %<:%> at %C"
 msgstr "Cần %<::%> tại %C"
 
-#: fortran/openmp.cc:1576
+#: fortran/openmp.cc:1568
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected variable name at %C"
 msgid "Expected variable list at %C"
 msgstr "Cần tên biến tại %C"
 
-#: fortran/openmp.cc:1600
+#: fortran/openmp.cc:1592
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected COMPILATION or EXECUTION in AT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1661
+#: fortran/openmp.cc:1653
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected TEAMS, PARALLEL or THREAD as binding in BIND at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1692
+#: fortran/openmp.cc:1684
 #, gcc-internal-format, gfc-internal-format
 msgid "COLLAPSE clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1771
+#: fortran/openmp.cc:1763
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ALLOC, TO, FROM, TOFROM, FIRSTPRIVATE, NONE or DEFAULT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1791
+#: fortran/openmp.cc:1783
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SCALAR, AGGREGATE, ALLOCATABLE or POINTER at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1820
+#: fortran/openmp.cc:1812
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP with unspecified category"
 msgstr ""
 
-#: fortran/openmp.cc:1823
+#: fortran/openmp.cc:1815
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP for category %s"
 msgstr ""
 
-#: fortran/openmp.cc:1859
+#: fortran/openmp.cc:1851
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE or PRESENT in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1862
+#: fortran/openmp.cc:1854
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE, FIRSTPRIVATE, PRIVATE or SHARED in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1902
+#: fortran/openmp.cc:1894
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1914
+#: fortran/openmp.cc:1906
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SINK at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1971 fortran/openmp.cc:1999
+#: fortran/openmp.cc:1963 fortran/openmp.cc:1991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected integer expression"
 msgid "Expected integer expression at %C"
 msgstr "cần biểu thức nguyên"
 
-#: fortran/openmp.cc:1980
+#: fortran/openmp.cc:1972
 #, gcc-internal-format
 msgid "%<ancestor%> device modifier not preceded by %<requires%> directive with %<reverse_offload%> clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1992
+#: fortran/openmp.cc:1984
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2005
+#: fortran/openmp.cc:1997
 #, gcc-internal-format
 msgid "Expected integer expression or a single device-modifier %<device_num%> or %<ancestor%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2035
+#: fortran/openmp.cc:2027
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ')' or ',' at %C"
 msgid "Expected HOST, NOHOST or ANY at %C"
 msgstr "Cần “)” hay “,” tại %C"
 
-#: fortran/openmp.cc:2080
+#: fortran/openmp.cc:2072
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, ACQUIRE or RELAXED at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2393
+#: fortran/openmp.cc:2385
 #, gcc-internal-format
 msgid "too many %<always%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:2399
+#: fortran/openmp.cc:2391
 #, gcc-internal-format
 msgid "too many %<close%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:2555
+#: fortran/openmp.cc:2547
 #, gcc-internal-format
 msgid "Expected ORDER(CONCURRENT) at %C with optional %<reproducible%> or %<unconstrained%> modifier"
 msgstr ""
 
-#: fortran/openmp.cc:2580
+#: fortran/openmp.cc:2572
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2848
+#: fortran/openmp.cc:2840
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected FATAL or WARNING in SEVERITY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3031
+#: fortran/openmp.cc:3023
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Failed to match clause at %C"
 msgstr "gặp lỗi khi đóng tập tin thống kê %s [%s]"
 
-#: fortran/openmp.cc:3209
+#: fortran/openmp.cc:3201
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid argument to $!ACC WAIT at %L"
 msgid "Invalid clause in module with !$ACC DECLARE at %L"
 msgstr "Đối số hợp lệ cho $!ACC WAIT tại %L"
 
-#: fortran/openmp.cc:3219
+#: fortran/openmp.cc:3211
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable is USE-associated with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3228
+#: fortran/openmp.cc:3220
 #, gcc-internal-format
 msgid "Variable %qs shall be declared in the same scoping unit as !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3236
+#: fortran/openmp.cc:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-size dummy array with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3285
+#: fortran/openmp.cc:3277
 #, gcc-internal-format
 msgid "%<acc update%> must contain at least one %<device%> or %<host%> or %<self%> clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3333
+#: fortran/openmp.cc:3325
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid argument to $!ACC WAIT at %L"
 msgid "Invalid argument to !$ACC WAIT at %C"
 msgstr "Đối số hợp lệ cho $!ACC WAIT tại %L"
 
-#: fortran/openmp.cc:3340
+#: fortran/openmp.cc:3332
 #, gcc-internal-format, gfc-internal-format
 msgid "WAIT clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:3373
+#: fortran/openmp.cc:3365
 #, gcc-internal-format, gfc-internal-format
 msgid "ACC CACHE directive must be inside of loop %C"
 msgstr ""
 
-#: fortran/openmp.cc:3442
+#: fortran/openmp.cc:3434
 #, gcc-internal-format, gfc-internal-format
 msgid "Only the !$ACC ROUTINE form without list is allowed in interface block at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3476
+#: fortran/openmp.cc:3468
 #, gcc-internal-format
 msgid "Invalid NAME %qs in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3484
+#: fortran/openmp.cc:3476
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3491
+#: fortran/openmp.cc:3483
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C, expecting ')' after NAME"
 msgstr ""
 
-#: fortran/openmp.cc:3506
+#: fortran/openmp.cc:3498
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple loop axes specified for routine at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3517
+#: fortran/openmp.cc:3509
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic symbol specified in !$ACC ROUTINE ( NAME ) at %C marked with incompatible GANG, WORKER, or VECTOR clause"
 msgstr ""
 
-#: fortran/openmp.cc:3525
+#: fortran/openmp.cc:3517
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic symbol specified in !$ACC ROUTINE ( NAME ) at %C marked with incompatible NOHOST clause"
 msgstr ""
 
-#: fortran/openmp.cc:3546 fortran/openmp.cc:3574
+#: fortran/openmp.cc:3538 fortran/openmp.cc:3566
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC ROUTINE already applied at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3591
+#: fortran/openmp.cc:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC ROUTINE with GANG, WORKER, or VECTOR clause is not permitted in PURE procedure at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3743
+#: fortran/openmp.cc:3735
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3765
+#: fortran/openmp.cc:3757
 #, fuzzy, gcc-internal-format
 #| msgid "Expected %<(%> at %C"
 msgid "Expected %<( depobj )%> at %C"
 msgstr "Cần %<(%> tại %C"
 
-#: fortran/openmp.cc:3781
+#: fortran/openmp.cc:3773
 #, gcc-internal-format
 msgid "Expected IN, OUT, INOUT, MUTEXINOUTSET followed by %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3799
+#: fortran/openmp.cc:3791
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DEPEND, UPDATE, or DESTROY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3807
+#: fortran/openmp.cc:3799
 #, gcc-internal-format, gfc-internal-format
 msgid "DEPEND clause at %L of OMP DEPOBJ construct shall not have dependence-type SOURCE, SINK or DEPOBJ"
 msgstr ""
 
-#: fortran/openmp.cc:3815
+#: fortran/openmp.cc:3807
 #, gcc-internal-format, gfc-internal-format
 msgid "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator"
 msgstr ""
 
-#: fortran/openmp.cc:3941 fortran/openmp.cc:7561
+#: fortran/openmp.cc:3933 fortran/openmp.cc:7557
 #, gcc-internal-format, gfc-internal-format
 msgid "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression"
 msgstr ""
 
-#: fortran/openmp.cc:3948
+#: fortran/openmp.cc:3940
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Constant expression required at %C"
 msgid "Constant character expression required in MESSAGE clause at %L"
 msgstr "Tại %C thì yêu cầu biểu thức bất biến"
 
-#: fortran/openmp.cc:3954
+#: fortran/openmp.cc:3946
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L: %s"
 msgstr ""
 
-#: fortran/openmp.cc:3973
+#: fortran/openmp.cc:3965
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4001
+#: fortran/openmp.cc:3993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4010
+#: fortran/openmp.cc:4002
 #, gcc-internal-format, gfc-internal-format
 msgid "List specified together with memory order clause in FLUSH directive at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4018
+#: fortran/openmp.cc:4010
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP FLUSH statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4414 fortran/openmp.cc:9353
+#: fortran/openmp.cc:4406 fortran/openmp.cc:9369
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4418 fortran/openmp.cc:9357
+#: fortran/openmp.cc:4410 fortran/openmp.cc:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4423
+#: fortran/openmp.cc:4415
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4425
+#: fortran/openmp.cc:4417
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4445
+#: fortran/openmp.cc:4437
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE REDUCTION at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4482
+#: fortran/openmp.cc:4474
 #, gcc-internal-format, gfc-internal-format
 msgid "Only the !$OMP DECLARE TARGET form without clauses is allowed in interface block at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4497
+#: fortran/openmp.cc:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE TARGET at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4520
+#: fortran/openmp.cc:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:4525
+#: fortran/openmp.cc:4517
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and later in TO clause"
 msgstr ""
 
-#: fortran/openmp.cc:4531
+#: fortran/openmp.cc:4523
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L previously mentioned in TO clause and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:4535
+#: fortran/openmp.cc:4527
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
 msgstr ""
 
-#: fortran/openmp.cc:4549 fortran/openmp.cc:4595
+#: fortran/openmp.cc:4541 fortran/openmp.cc:4587
 #, gcc-internal-format
 msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
 msgstr ""
 
-#: fortran/openmp.cc:4559
+#: fortran/openmp.cc:4551
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET COMMON at %L previously mentioned in LINK clause and later in TO clause"
 msgstr ""
 
-#: fortran/openmp.cc:4565
+#: fortran/openmp.cc:4557
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET COMMON at %L previously mentioned in TO clause and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:4569
+#: fortran/openmp.cc:4561
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
 msgstr ""
 
-#: fortran/openmp.cc:4578
+#: fortran/openmp.cc:4570
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
 msgstr ""
 
-#: fortran/openmp.cc:4602
+#: fortran/openmp.cc:4594
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET directive at %L with only DEVICE_TYPE clause is ignored"
 msgstr ""
 
-#: fortran/openmp.cc:4612
+#: fortran/openmp.cc:4604
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP DECLARE TARGET list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4650
+#: fortran/openmp.cc:4642
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected variable name at %C"
 msgid "expected trait selector name at %C"
 msgstr "Cần tên biến tại %C"
 
-#: fortran/openmp.cc:4705
+#: fortran/openmp.cc:4697
 #, gcc-internal-format, gfc-internal-format
 msgid "selector '%s' not allowed for context selector set '%s' at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4725
+#: fortran/openmp.cc:4717
 #, gcc-internal-format, gfc-internal-format
 msgid "selector '%s' does not accept any properties at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4734 fortran/openmp.cc:4879 fortran/openmp.cc:4978
-#: fortran/openmp.cc:5045
+#: fortran/openmp.cc:4726 fortran/openmp.cc:4871 fortran/openmp.cc:4970
+#: fortran/openmp.cc:5037
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected '(' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:4742
+#: fortran/openmp.cc:4734
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ordered argument needs positive constant integer expression"
 msgid "score argument must be constant integer expression at %C"
 msgstr "cần biểu thức nguyên"
 
-#: fortran/openmp.cc:4750
+#: fortran/openmp.cc:4742
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs at %L must be nonnegative"
 msgid "score argument must be non-negative at %C"
 msgstr "%s tại %L phải là số nguyên"
 
-#: fortran/openmp.cc:4756 fortran/openmp.cc:4869 fortran/openmp.cc:5026
-#: fortran/openmp.cc:5054
+#: fortran/openmp.cc:4748 fortran/openmp.cc:4861 fortran/openmp.cc:5018
+#: fortran/openmp.cc:5046
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected ')' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:4762
+#: fortran/openmp.cc:4754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected \",\" at %C"
 msgid "expected : at %C"
 msgstr "Cần \",\" tại %C"
 
-#: fortran/openmp.cc:4779
+#: fortran/openmp.cc:4771
 #, gcc-internal-format, gfc-internal-format
 msgid "property must be constant integer expression or string literal at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4799
+#: fortran/openmp.cc:4791
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected identifier"
 msgid "expected identifier at %C"
 msgstr "cần định danh"
 
-#: fortran/openmp.cc:4818
+#: fortran/openmp.cc:4810
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected string literal"
 msgid "expected identifier or string literal at %C"
 msgstr "cần chuỗi văn chương"
 
-#: fortran/openmp.cc:4838
+#: fortran/openmp.cc:4830
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected expression"
 msgid "expected expression at %C"
 msgstr "cần biểu thức"
 
-#: fortran/openmp.cc:4846
+#: fortran/openmp.cc:4838
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in expression at %C"
 msgid "property must be constant integer or logical expression at %C"
 msgstr "Gặp lỗi cú pháp trong biểu thức tại %C"
 
-#: fortran/openmp.cc:4858
+#: fortran/openmp.cc:4850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected binding name at %C"
 msgid "expected simd clause at %C"
 msgstr "Cần tên ràng buộc tại %C"
 
-#: fortran/openmp.cc:4926
+#: fortran/openmp.cc:4918
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 'construct', 'device', 'implementation' or 'user' at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4934
+#: fortran/openmp.cc:4926
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected '=' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:4941
+#: fortran/openmp.cc:4933
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected '{' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:4956
+#: fortran/openmp.cc:4948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected '}' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:4985
+#: fortran/openmp.cc:4977
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected binding name at %C"
 msgid "expected name at %C"
 msgstr "Cần tên ràng buộc tại %C"
 
-#: fortran/openmp.cc:4996
+#: fortran/openmp.cc:4988
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected variable name at %C"
 msgid "expected variant name at %C"
 msgstr "Cần tên biến tại %C"
 
-#: fortran/openmp.cc:5036
+#: fortran/openmp.cc:5028
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected ',' at %C"
 msgid "expected 'match' at %C"
 msgstr "Cần “,” tại %C"
 
-#: fortran/openmp.cc:5087
+#: fortran/openmp.cc:5079
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:5124
+#: fortran/openmp.cc:5116
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after OMP THREADPRIVATE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5131
+#: fortran/openmp.cc:5123
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5234
+#: fortran/openmp.cc:5226
 #, gcc-internal-format, gfc-internal-format
 msgid "Program unit at %L has OpenMP device constructs/routines but does not set !$OMP REQUIRES REVERSE_OFFSET but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5239
+#: fortran/openmp.cc:5231
 #, gcc-internal-format, gfc-internal-format
 msgid "Program unit at %L has OpenMP device constructs/routines but does not set !$OMP REQUIRES UNIFIED_ADDRESS but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5244
+#: fortran/openmp.cc:5236
 #, gcc-internal-format, gfc-internal-format
 msgid "Program unit at %L has OpenMP device constructs/routines but does not set !$OMP REQUIRES UNIFIED_SHARED_MEMORY but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5270
+#: fortran/openmp.cc:5262
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %qs specified via module %qs use at %L comes after using a device construct/routine"
 msgstr ""
 
-#: fortran/openmp.cc:5274
+#: fortran/openmp.cc:5266
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %qs specified at %L comes after using a device construct/routine"
 msgstr ""
 
-#: fortran/openmp.cc:5296
+#: fortran/openmp.cc:5288
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified via module %qs use at %L overrides a previous %<atomic_default_mem_order(%s)%> (which might be through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:5301
+#: fortran/openmp.cc:5293
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified at %L overrides a previous %<atomic_default_mem_order(%s)%> (which might be through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:5312
+#: fortran/openmp.cc:5304
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified via module %qs use at %L but same clause is not specified for the program unit"
 msgstr ""
 
-#: fortran/openmp.cc:5317
+#: fortran/openmp.cc:5309
 #, gcc-internal-format
 msgid "!$OMP REQUIRES clause %qs specified via module %qs use at %L but same clause is not specified for the program unit"
 msgstr ""
 
-#: fortran/openmp.cc:5346
+#: fortran/openmp.cc:5338
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP REQUIRES at %C must appear in the specification part of a program unit"
 msgstr ""
 
-#: fortran/openmp.cc:5414
+#: fortran/openmp.cc:5406
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, ACQ_REL or RELAXED for ATOMIC_DEFAULT_MEM_ORDER clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5424
+#: fortran/openmp.cc:5416
 #, gcc-internal-format
 msgid "Sorry, %qs clause at %L on REQUIRES directive is not yet supported"
 msgstr ""
 
-#: fortran/openmp.cc:5434
+#: fortran/openmp.cc:5426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%<)%> expected at %C"
 msgid "Clause expected at %C"
 msgstr "cần %<)%> tại %C"
 
-#: fortran/openmp.cc:5440
+#: fortran/openmp.cc:5432
 #, gcc-internal-format
 msgid "%qs clause at %L specified more than once"
 msgstr ""
 
-#: fortran/openmp.cc:5443
+#: fortran/openmp.cc:5435
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected UNIFIED_ADDRESS, UNIFIED_SHARED_MEMORY, DYNAMIC_ALLOCATORS, REVERSE_OFFLOAD, or ATOMIC_DEFAULT_MEM_ORDER clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5469
+#: fortran/openmp.cc:5461
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INCLUSIVE or EXCLUSIVE clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5475
+#: fortran/openmp.cc:5467
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected %s statement at %C"
 msgid "Unexpected junk after !$OMP SCAN at %C"
 msgstr "Không cần câu lệnh %s tại %C"
 
-#: fortran/openmp.cc:5673
+#: fortran/openmp.cc:5665
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after TASKYIELD clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5732
+#: fortran/openmp.cc:5724
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP WORKSHARE statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5767
+#: fortran/openmp.cc:5759
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP MASTER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5799
+#: fortran/openmp.cc:5791
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected ENTRY statement at %C"
 msgid "Unexpected junk after $OMP NOTHING statement at %C"
 msgstr "Không cần câu lệnh ENTRY tại %C"
 
-#: fortran/openmp.cc:5834 fortran/openmp.cc:5837 fortran/openmp.cc:5840
+#: fortran/openmp.cc:5826 fortran/openmp.cc:5829 fortran/openmp.cc:5832
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE"
 msgstr ""
 
-#: fortran/openmp.cc:5844
+#: fortran/openmp.cc:5836
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause requires %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:5881
+#: fortran/openmp.cc:5873
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC READ at %L incompatible with RELEASE clause"
 msgstr ""
 
-#: fortran/openmp.cc:5891
+#: fortran/openmp.cc:5883
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause"
 msgstr ""
 
-#: fortran/openmp.cc:5928
+#: fortran/openmp.cc:5920
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected CASE statement at %C"
 msgid "Unexpected junk after !$ACC ATOMIC statement at %C"
 msgstr "Không cần câu lệnh CASE tại %C"
 
-#: fortran/openmp.cc:5943
+#: fortran/openmp.cc:5935
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP BARRIER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5999
+#: fortran/openmp.cc:5991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected construct-type PARALLEL, SECTIONS, DO or TASKGROUP in $OMP CANCELLATION POINT statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6005
+#: fortran/openmp.cc:5997
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CANCELLATION POINT statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6026
+#: fortran/openmp.cc:6018
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6071
+#: fortran/openmp.cc:6063
 #, gcc-internal-format, gfc-internal-format
 msgid "%s clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:6082
+#: fortran/openmp.cc:6074
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:6093
+#: fortran/openmp.cc:6085
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be non-negative"
 msgstr "%s tại %L phải là số nguyên"
 
-#: fortran/openmp.cc:6104
+#: fortran/openmp.cc:6096
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "Cray pointer object %qs of derived type in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6107
+#: fortran/openmp.cc:6099
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "Cray pointee object %qs of derived type in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6113 fortran/openmp.cc:7426
+#: fortran/openmp.cc:6105 fortran/openmp.cc:7422
 #, gcc-internal-format
 msgid "POINTER object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6118
+#: fortran/openmp.cc:6110
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "Cray pointer object %qs of polymorphic type in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6123
+#: fortran/openmp.cc:6115
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6133 fortran/openmp.cc:7042 fortran/openmp.cc:7194
+#: fortran/openmp.cc:6125 fortran/openmp.cc:7036 fortran/openmp.cc:7190
 #, gcc-internal-format
 msgid "Assumed size array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6136
+#: fortran/openmp.cc:6128
 #, gcc-internal-format
 msgid "Assumed rank array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6152 fortran/openmp.cc:7135 fortran/openmp.cc:7182
+#: fortran/openmp.cc:6144 fortran/openmp.cc:7129 fortran/openmp.cc:7178
 #, gcc-internal-format
 msgid "POINTER object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6157 fortran/openmp.cc:7430
+#: fortran/openmp.cc:6149 fortran/openmp.cc:7426
 #, gcc-internal-format
 msgid "Cray pointer object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6162 fortran/openmp.cc:7433
+#: fortran/openmp.cc:6154 fortran/openmp.cc:7429
 #, gcc-internal-format
 msgid "Cray pointee object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6167 fortran/openmp.cc:7130 fortran/openmp.cc:7421
+#: fortran/openmp.cc:6159 fortran/openmp.cc:7124 fortran/openmp.cc:7417
 #, gcc-internal-format
 msgid "ALLOCATABLE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6170 fortran/openmp.cc:7138
+#: fortran/openmp.cc:6162 fortran/openmp.cc:7132
 #, gcc-internal-format
 msgid "VALUE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6213
+#: fortran/openmp.cc:6205
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6262
+#: fortran/openmp.cc:6254
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6300
+#: fortran/openmp.cc:6292
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause parameter is less than COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6303
+#: fortran/openmp.cc:6295
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDER clause must not be used together ORDERED at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6310 fortran/openmp.cc:6321 fortran/resolve.cc:10818
-#: fortran/resolve.cc:12149
+#: fortran/openmp.cc:6302 fortran/openmp.cc:6313 fortran/resolve.cc:10838
+#: fortran/resolve.cc:12178
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:6325
+#: fortran/openmp.cc:6317
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause without modifier at %L used together with IF clauses with modifiers"
 msgstr ""
 
-#: fortran/openmp.cc:6450
+#: fortran/openmp.cc:6442
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause modifier %s at %L not appropriate for the current OpenMP construct"
 msgstr ""
 
-#: fortran/openmp.cc:6460
+#: fortran/openmp.cc:6452
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:6470
+#: fortran/openmp.cc:6462
 #, gcc-internal-format, gfc-internal-format
 msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:6475
+#: fortran/openmp.cc:6467
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of SCHEDULE clause's chunk_size at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:6482
+#: fortran/openmp.cc:6474
 #, gcc-internal-format, gfc-internal-format
 msgid "Both MONOTONIC and NONMONOTONIC schedule modifiers specified at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6485
+#: fortran/openmp.cc:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "NONMONOTONIC schedule modifier specified with ORDERED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6494
+#: fortran/openmp.cc:6486
 #, gcc-internal-format, gfc-internal-format
 msgid "DEPOBJ in DEPOBJ construct at %L shall be a scalar integer of OMP_DEPEND_KIND kind"
 msgstr ""
 
-#: fortran/openmp.cc:6509
+#: fortran/openmp.cc:6501
 #, gcc-internal-format
 msgid "Variable %qs is not a dummy argument at %L"
 msgstr "Biến %qs không phải là đối số hàm giả tại %L"
 
-#: fortran/openmp.cc:6545
+#: fortran/openmp.cc:6537
 #, fuzzy, gcc-internal-format
 #| msgid "Object %qs is not a variable at %L"
 msgid "Object %qs is not a variable at %L; parameters cannot be and need not be copied"
 msgstr "Đối tượng %qs không phải là một biến tại %L"
 
-#: fortran/openmp.cc:6549
+#: fortran/openmp.cc:6541
 #, fuzzy, gcc-internal-format
 #| msgid "Object %qs is not a variable at %L"
 msgid "Object %qs is not a variable at %L; parameters cannot be and need not be mapped"
 msgstr "Đối tượng %qs không phải là một biến tại %L"
 
-#: fortran/openmp.cc:6554 fortran/openmp.cc:9059
+#: fortran/openmp.cc:6546 fortran/openmp.cc:9075
 #, gcc-internal-format
 msgid "Object %qs is not a variable at %L"
 msgstr "Đối tượng %qs không phải là một biến tại %L"
 
-#: fortran/openmp.cc:6563
+#: fortran/openmp.cc:6555
 #, gcc-internal-format
 msgid "%<inscan%> REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6593
+#: fortran/openmp.cc:6585
 #, gcc-internal-format
 msgid "Symbol %qs has mixed component and non-component accesses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6596 fortran/openmp.cc:6612 fortran/openmp.cc:6620
-#: fortran/openmp.cc:6631 fortran/openmp.cc:6643 fortran/openmp.cc:6730
-#: fortran/openmp.cc:9083
+#: fortran/openmp.cc:6588 fortran/openmp.cc:6604 fortran/openmp.cc:6612
+#: fortran/openmp.cc:6623 fortran/openmp.cc:6635 fortran/openmp.cc:6722
+#: fortran/openmp.cc:9099
 #, gcc-internal-format
 msgid "Symbol %qs present on multiple clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6655
+#: fortran/openmp.cc:6647
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected integer expression of the 'omp_allocator_handle_kind' kind at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6673
+#: fortran/openmp.cc:6665
 #, gcc-internal-format
 msgid "%qs appears more than once in %<allocate%> clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6715 fortran/trans-openmp.cc:6358
+#: fortran/openmp.cc:6707 fortran/trans-openmp.cc:6403
 #, gcc-internal-format
 msgid "%qs specified in 'allocate' clause at %L but not in an explicit privatization clause"
 msgstr ""
 
-#: fortran/openmp.cc:6737
+#: fortran/openmp.cc:6729
 #, gcc-internal-format
 msgid "Array %qs is not permitted in reduction at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6750
+#: fortran/openmp.cc:6742
 #, gcc-internal-format
 msgid "Symbol %qs present on both FROM and TO clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6768
+#: fortran/openmp.cc:6760
 #, gcc-internal-format
 msgid "Non-THREADPRIVATE object %qs in COPYIN clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6776
+#: fortran/openmp.cc:6768
 #, gcc-internal-format
 msgid "Assumed size array %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6779
+#: fortran/openmp.cc:6771
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6787
+#: fortran/openmp.cc:6779
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6790
+#: fortran/openmp.cc:6782
 #, gcc-internal-format
 msgid "Cray pointee %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6793
-#, gcc-internal-format
-msgid "ASSOCIATE name %qs in SHARED clause at %L"
-msgstr ""
+#: fortran/openmp.cc:6785
+#, fuzzy, gcc-internal-format
+#| msgid "Cray pointer %qs in %s clause at %L"
+msgid "Associate name %qs in SHARED clause at %L"
+msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6797
+#: fortran/openmp.cc:6791
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "DETACH event handle %qs in SHARED clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:6812
+#: fortran/openmp.cc:6806
 #, gcc-internal-format
 msgid "%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6824
+#: fortran/openmp.cc:6818
 #, gcc-internal-format
 msgid "%qs in ALIGNED clause at %L requires a scalar positive constant integer alignment expression"
 msgstr ""
 
-#: fortran/openmp.cc:6850
+#: fortran/openmp.cc:6844
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Integer expression required at %C"
 msgid "Scalar integer expression for range begin expected at %L"
 msgstr "Tại %C thì yêu cầu biểu thức số nguyên"
 
-#: fortran/openmp.cc:6856
+#: fortran/openmp.cc:6850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Integer expression required at %C"
 msgid "Scalar integer expression for range end expected at %L"
 msgstr "Tại %C thì yêu cầu biểu thức số nguyên"
 
-#: fortran/openmp.cc:6862
+#: fortran/openmp.cc:6856
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Integer expression required at %C"
 msgid "Scalar integer expression for range step expected at %L"
 msgstr "Tại %C thì yêu cầu biểu thức số nguyên"
 
-#: fortran/openmp.cc:6867
+#: fortran/openmp.cc:6861
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s statement expected at %L"
 msgid "Nonzero range step expected at %L"
 msgstr "cần lệnh %s tại %L"
 
-#: fortran/openmp.cc:6878
+#: fortran/openmp.cc:6872
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK dependence type only allowed on ORDERED directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6882
+#: fortran/openmp.cc:6876
 #, gcc-internal-format, gfc-internal-format
 msgid "DEPEND SINK used together with DEPEND SOURCE on the same construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6892
+#: fortran/openmp.cc:6886
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "SINK addend not a constant integer at %L"
 msgstr "thanh ghi tổng không phải là số nguyên hằng"
 
-#: fortran/openmp.cc:6898
+#: fortran/openmp.cc:6892
 #, gcc-internal-format, gfc-internal-format
 msgid "Only SOURCE or SINK dependence types are allowed on ORDERED directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6907
+#: fortran/openmp.cc:6901
 #, gcc-internal-format
 msgid "Locator %qs at %L in DEPEND clause of depobj type shall be a scalar integer of OMP_DEPEND_KIND kind"
 msgstr ""
 
-#: fortran/openmp.cc:6918
+#: fortran/openmp.cc:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Locator at %L in DEPEND clause of depobj type shall be a scalar integer of OMP_DEPEND_KIND kind"
 msgstr ""
 
-#: fortran/openmp.cc:6962
+#: fortran/openmp.cc:6956
 #, gcc-internal-format, gfc-internal-format
 msgid "Array is not contiguous at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6973
+#: fortran/openmp.cc:6967
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected intrinsic type %qs at %L"
 msgid "Unexpected substring reference in %s clause at %L"
 msgstr "Gặp kiểu hạn chế không cần %qs tại %L"
 
-#: fortran/openmp.cc:6981
+#: fortran/openmp.cc:6975
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected component reference at %C"
 msgid "Unexpected complex-parts designator reference in %s clause at %L"
 msgstr "Cần tham chiếu thành phần tại %C"
 
-#: fortran/openmp.cc:6990 fortran/openmp.cc:7008
+#: fortran/openmp.cc:6984 fortran/openmp.cc:7002
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is not a proper array section"
 msgstr ""
 
-#: fortran/openmp.cc:7000
+#: fortran/openmp.cc:6994
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride should not be specified for array section in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7022
+#: fortran/openmp.cc:7016
 #, fuzzy, gcc-internal-format
 #| msgid "%qD in %<reduction%> clause is a zero size array"
 msgid "%qs in %s clause at %L is a zero size array section"
 msgstr "%qD trong mệnh đề %<reduction%> là một mạng cỡ không"
 
-#: fortran/openmp.cc:7048
+#: fortran/openmp.cc:7042
 #, gcc-internal-format
 msgid "List item %qs with allocatable components is not permitted in map clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7067
+#: fortran/openmp.cc:7061
 #, gcc-internal-format, gfc-internal-format
 msgid "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7083
+#: fortran/openmp.cc:7077
 #, gcc-internal-format, gfc-internal-format
 msgid "TARGET ENTER DATA with map-type other than TO, or ALLOC on MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7098
+#: fortran/openmp.cc:7092
 #, gcc-internal-format, gfc-internal-format
 msgid "TARGET EXIT DATA with map-type other than FROM, RELEASE, or DELETE on MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7114 fortran/openmp.cc:7168
+#: fortran/openmp.cc:7108 fortran/openmp.cc:7162
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7117 fortran/openmp.cc:7171
+#: fortran/openmp.cc:7111 fortran/openmp.cc:7165
 #, gcc-internal-format
 msgid "Cray pointee %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7125
+#: fortran/openmp.cc:7119
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "Non-dummy object %qs in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:7162
+#: fortran/openmp.cc:7156
 #, gcc-internal-format
 msgid "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7174
-#, gcc-internal-format
-msgid "ASSOCIATE name %qs in %s clause at %L"
-msgstr ""
+#: fortran/openmp.cc:7168
+#, fuzzy, gcc-internal-format
+#| msgid "Cray pointer %qs in %s clause at %L"
+msgid "Associate name %qs in %s clause at %L"
+msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:7179
+#: fortran/openmp.cc:7175
 #, gcc-internal-format
 msgid "Procedure pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7185
+#: fortran/openmp.cc:7181
 #, gcc-internal-format
 msgid "Cray pointer %qs in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:7197
+#: fortran/openmp.cc:7193
 #, gcc-internal-format
 msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
 msgstr ""
 
 #. case OMP_LIST_REDUCTION:
-#: fortran/openmp.cc:7207
+#: fortran/openmp.cc:7203
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7218
+#: fortran/openmp.cc:7214
 #, fuzzy, gcc-internal-format
 #| msgid "Cray pointer %qs in %s clause at %L"
 msgid "DETACH event handle %qs in %s clause at %L"
 msgstr "Con trỏ Cray %qs trong mệnh đề %s tại %L"
 
-#: fortran/openmp.cc:7242
+#: fortran/openmp.cc:7238
 #, gcc-internal-format, gfc-internal-format
 msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7335
+#: fortran/openmp.cc:7331
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7361
+#: fortran/openmp.cc:7357
 #, gcc-internal-format, gfc-internal-format
 msgid "LINEAR clause modifier used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7366
+#: fortran/openmp.cc:7362
 #, gcc-internal-format, gfc-internal-format
 msgid "LINEAR clause specified together with ORDERED clause with argument at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7371
+#: fortran/openmp.cc:7367
 #, gcc-internal-format
 msgid "LINEAR variable %qs must be INTEGER at %L"
 msgstr "biến LINEAR %qs tại %L phải là SỐ-NGUYÊN"
 
-#: fortran/openmp.cc:7376
+#: fortran/openmp.cc:7372
 #, gcc-internal-format
 msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7387
+#: fortran/openmp.cc:7383
 #, gcc-internal-format
 msgid "%qs in LINEAR clause at %L requires a scalar integer linear-step expression"
 msgstr ""
 
-#: fortran/openmp.cc:7404
+#: fortran/openmp.cc:7400
 #, gcc-internal-format
 msgid "%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause"
 msgstr ""
 
-#: fortran/openmp.cc:7438
+#: fortran/openmp.cc:7434
 #, gcc-internal-format
 msgid "%s clause variable %qs at %L is neither a POINTER nor an array"
 msgstr ""
 
-#: fortran/openmp.cc:7498
+#: fortran/openmp.cc:7494
 #, gcc-internal-format, gfc-internal-format
 msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7511
+#: fortran/openmp.cc:7507
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Value of HINT clause at %L shall be a valid constant hint expression"
 msgstr "%qE không phải là biểu thức hằng"
 
-#: fortran/openmp.cc:7521
+#: fortran/openmp.cc:7517
 #, gcc-internal-format, gfc-internal-format
 msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:7551
+#: fortran/openmp.cc:7547
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Incompatible ranks in %s (%d and %d) at %L"
 msgid "Incompatible use of TILE and COLLAPSE at %L"
 msgstr "Vùng không tương thích nhau trong %s (%d và %d) tại %L"
 
-#: fortran/openmp.cc:7553
+#: fortran/openmp.cc:7549
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE dependence type only allowed on ORDERED directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7578
+#: fortran/openmp.cc:7574
 #, gcc-internal-format, gfc-internal-format
 msgid "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or USE_DEVICE_ADDR clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7581
+#: fortran/openmp.cc:7577
 #, gcc-internal-format, gfc-internal-format
 msgid "%s must contain at least one MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7585
+#: fortran/openmp.cc:7587
+#, gcc-internal-format
+msgid "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)"
+msgstr ""
+
+#: fortran/openmp.cc:7592
+#, fuzzy, gcc-internal-format, gfc-internal-format
+#| msgid "The event variable at %L shall not be coindexed "
+msgid "The event handle at %L must not be an array element"
+msgstr "Biến sự kiện tại %L sẽ không thể là coindexed "
+
+#: fortran/openmp.cc:7596
+#, fuzzy, gcc-internal-format, gfc-internal-format
+#| msgid "The event variable at %L shall not be coindexed "
+msgid "The event handle at %L must not be part of a derived type or class"
+msgstr "Biến sự kiện tại %L sẽ không thể là coindexed "
+
+#: fortran/openmp.cc:7600
 #, gcc-internal-format
 msgid "%<DETACH%> clause at %L must not be used together with %<MERGEABLE%> clause"
 msgstr ""
 
-#: fortran/openmp.cc:7736
+#: fortran/openmp.cc:7752
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected IF at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:7744
+#: fortran/openmp.cc:7760
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ELSE at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:7856
+#: fortran/openmp.cc:7872
 #, gcc-internal-format
 msgid "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7862
+#: fortran/openmp.cc:7878
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic variable at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:7870
+#: fortran/openmp.cc:7886
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic expression at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:7878
+#: fortran/openmp.cc:7894
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7887
+#: fortran/openmp.cc:7903
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7894
+#: fortran/openmp.cc:7910
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7911
+#: fortran/openmp.cc:7927
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7916
+#: fortran/openmp.cc:7932
 #, gcc-internal-format, gfc-internal-format
 msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7928
+#: fortran/openmp.cc:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7936
+#: fortran/openmp.cc:7952
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7946
+#: fortran/openmp.cc:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7962
+#: fortran/openmp.cc:7978
 #, gcc-internal-format
 msgid "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the variable %qs that the update statement writes into at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7970
+#: fortran/openmp.cc:7986
 #, gcc-internal-format, gfc-internal-format
 msgid "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot reference var at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7988
+#: fortran/openmp.cc:8004
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure"
 msgstr ""
 
-#: fortran/openmp.cc:8015
+#: fortran/openmp.cc:8031
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8063
+#: fortran/openmp.cc:8079
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8077
+#: fortran/openmp.cc:8093
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8110
+#: fortran/openmp.cc:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8134
+#: fortran/openmp.cc:8150
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8141
+#: fortran/openmp.cc:8157
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
 msgstr "!$OMP ATOMIC phân bổ bên trong phải là MIN, MAX, IAND, IOR hay IEOR tại %L"
 
-#: fortran/openmp.cc:8164
+#: fortran/openmp.cc:8180
 #, gcc-internal-format
 msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8171
+#: fortran/openmp.cc:8187
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8179
+#: fortran/openmp.cc:8195
 #, gcc-internal-format
 msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8197
+#: fortran/openmp.cc:8213
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8202
+#: fortran/openmp.cc:8218
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected !$OMP ATOMIC expression at %L"
 msgstr "cần biểu thức"
 
-#: fortran/openmp.cc:8248
+#: fortran/openmp.cc:8264
 #, gcc-internal-format
 msgid "ORDERED clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8251
+#: fortran/openmp.cc:8267
 #, gcc-internal-format
 msgid "SCHEDULE clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8259
+#: fortran/openmp.cc:8275
 #, gcc-internal-format, gfc-internal-format
 msgid "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-block-sequences"
 msgstr ""
 
-#: fortran/openmp.cc:8555
+#: fortran/openmp.cc:8571
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO WHILE or DO without loop control at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8561
+#: fortran/openmp.cc:8577
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8567
+#: fortran/openmp.cc:8583
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8571
+#: fortran/openmp.cc:8587
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must not be THREADPRIVATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8584
+#: fortran/openmp.cc:8600
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8588
+#: fortran/openmp.cc:8604
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8606
+#: fortran/openmp.cc:8622
 #, gcc-internal-format, gfc-internal-format
 msgid "%s collapsed loops don't form rectangular iteration space at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8616
+#: fortran/openmp.cc:8632
 #, gcc-internal-format, gfc-internal-format
 msgid "collapsed %s loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8625 fortran/openmp.cc:8633
+#: fortran/openmp.cc:8641 fortran/openmp.cc:8649
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for collapsed %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8838 fortran/openmp.cc:8851
+#: fortran/openmp.cc:8854 fortran/openmp.cc:8867
 #, gcc-internal-format, gfc-internal-format
 msgid "The %s directive cannot be specified within a %s region at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8870
+#: fortran/openmp.cc:8886
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8876
+#: fortran/openmp.cc:8892
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8882
+#: fortran/openmp.cc:8898
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8898
+#: fortran/openmp.cc:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8910
+#: fortran/openmp.cc:8926
 #, gcc-internal-format, gfc-internal-format
 msgid "%s !$ACC LOOP loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8920 fortran/openmp.cc:8929
+#: fortran/openmp.cc:8936 fortran/openmp.cc:8945
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for %s !$ACC LOOP at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8945
+#: fortran/openmp.cc:8961
 #, gcc-internal-format, gfc-internal-format
 msgid "Tiled loop cannot be parallelized across gangs, workers and vectors at the same time at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8966
+#: fortran/openmp.cc:8982
 #, gcc-internal-format, gfc-internal-format
 msgid "TILE requires constant expression at %L"
 msgstr "TILE cần biểu thức hằng tại %L"
 
-#: fortran/openmp.cc:9066
+#: fortran/openmp.cc:9082
 #, gcc-internal-format
 msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9113
+#: fortran/openmp.cc:9129
 #, gcc-internal-format
 msgid "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE ( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9119
+#: fortran/openmp.cc:9135
 #, gcc-internal-format
 msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9242
+#: fortran/openmp.cc:9258
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause"
 msgstr ""
 
-#: fortran/openmp.cc:9256
+#: fortran/openmp.cc:9272
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP CRITICAL at %L with HINT clause requires a NAME, except when omp_sync_hint_none is used"
 msgstr ""
 
-#: fortran/openmp.cc:9262
+#: fortran/openmp.cc:9278
 #, gcc-internal-format
 msgid "Unexpected !$OMP SCAN at %L outside loop construct with %<inscan%> REDUCTION clause"
 msgstr ""
 
-#: fortran/openmp.cc:9283
+#: fortran/openmp.cc:9299
 #, gcc-internal-format
 msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9307
+#: fortran/openmp.cc:9323
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9315
+#: fortran/openmp.cc:9331
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9344
+#: fortran/openmp.cc:9360
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9366
+#: fortran/openmp.cc:9382
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9382
+#: fortran/openmp.cc:9398
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call with alternate returns in combiner of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9397
+#: fortran/openmp.cc:9413
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call with alternate returns in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9407
+#: fortran/openmp.cc:9423
 #, gcc-internal-format, gfc-internal-format
 msgid "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE REDUCTION must be OMP_PRIV at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9415
+#: fortran/openmp.cc:9431
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type without default initializer at %L"
 msgstr ""
@@ -73952,7 +74188,7 @@ msgstr ""
 msgid "Statement label in END CRITICAL at %C does not match CRITICAL label"
 msgstr ""
 
-#: fortran/parse.cc:4860 fortran/parse.cc:5584
+#: fortran/parse.cc:4860 fortran/parse.cc:5602
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK construct at %C"
 msgstr "cấu trúc BLOCK tại %C"
@@ -73962,124 +74198,124 @@ msgstr "cấu trúc BLOCK tại %C"
 msgid "ASSOCIATE construct at %C"
 msgstr "cấu trúc ASSOCIATE tại %C"
 
-#: fortran/parse.cc:5097
+#: fortran/parse.cc:5115
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr ""
 
-#: fortran/parse.cc:5113
+#: fortran/parse.cc:5131
 #, gcc-internal-format, gfc-internal-format
 msgid "Named block DO at %L requires matching ENDDO name"
 msgstr ""
 
-#: fortran/parse.cc:5365 fortran/parse.cc:5427
+#: fortran/parse.cc:5383 fortran/parse.cc:5445
 #, gcc-internal-format, gfc-internal-format
 msgid "OpenACC directive inside of CRITICAL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:5402
+#: fortran/parse.cc:5420
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s at %C"
 msgstr "Cần %s tại %C"
 
-#: fortran/parse.cc:5446
+#: fortran/parse.cc:5464
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DO loop at %C"
 msgstr "Cần vòng lặp DO tại %C"
 
-#: fortran/parse.cc:5466
+#: fortran/parse.cc:5484
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant !$ACC END LOOP at %C"
 msgstr ""
 
-#: fortran/parse.cc:5712
+#: fortran/parse.cc:5730
 #, gcc-internal-format, gfc-internal-format
 msgid "Name after !$omp critical and !$omp end critical does not match at %C"
 msgstr ""
 
-#: fortran/parse.cc:5772
+#: fortran/parse.cc:5790
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
 msgstr ""
 
-#: fortran/parse.cc:5786
+#: fortran/parse.cc:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C after the first executable statement"
 msgstr ""
 
-#: fortran/parse.cc:5936
+#: fortran/parse.cc:5954
 #, gcc-internal-format
 msgid "%<GCC unroll%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5939
+#: fortran/parse.cc:5957
 #, gcc-internal-format
 msgid "%<GCC ivdep%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5942
+#: fortran/parse.cc:5960
 #, gcc-internal-format
 msgid "%<GCC vector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5945
+#: fortran/parse.cc:5963
 #, gcc-internal-format
 msgid "%<GCC novector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6061
+#: fortran/parse.cc:6079
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C is already ambiguous"
 msgstr ""
 
-#: fortran/parse.cc:6118
+#: fortran/parse.cc:6136
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:6143
+#: fortran/parse.cc:6161
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:6257
+#: fortran/parse.cc:6275
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
 msgstr ""
 
-#: fortran/parse.cc:6309
+#: fortran/parse.cc:6327
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6313
+#: fortran/parse.cc:6331
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6319
+#: fortran/parse.cc:6337
 #, fuzzy, gcc-internal-format
 #| msgid "Procedure %qs at %C is already defined at %L"
 msgid "Global binding name %qs at %L is already being used at %L"
 msgstr "Thủ tục “%qs” tại %C đã được định nghĩa trước tại %L"
 
-#: fortran/parse.cc:6322
+#: fortran/parse.cc:6340
 #, fuzzy, gcc-internal-format
 #| msgid "Procedure %qs at %C is already defined at %L"
 msgid "Global name %qs at %L is already being used at %L"
 msgstr "Thủ tục “%qs” tại %C đã được định nghĩa trước tại %L"
 
-#: fortran/parse.cc:6344
+#: fortran/parse.cc:6362
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
 msgstr ""
 
-#: fortran/parse.cc:6370
+#: fortran/parse.cc:6388
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:6475
+#: fortran/parse.cc:6493
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr ""
@@ -74087,7 +74323,7 @@ msgstr ""
 #. If we see a duplicate main program, shut down.  If the second
 #. instance is an implied main program, i.e. data decls or executable
 #. statements, we're in for lots of errors.
-#: fortran/parse.cc:6954
+#: fortran/parse.cc:6972
 #, gcc-internal-format, gfc-internal-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr ""
@@ -74823,575 +75059,580 @@ msgstr ""
 msgid "The KIND parameter %qs in the PDT constructor at %C has no value"
 msgstr ""
 
-#: fortran/resolve.cc:1329
+#: fortran/resolve.cc:1333
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:1350
+#: fortran/resolve.cc:1354
 #, gcc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.cc:1416
+#: fortran/resolve.cc:1386
+#, gcc-internal-format
+msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L"
+msgstr ""
+
+#: fortran/resolve.cc:1431
 #, gcc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:1450
+#: fortran/resolve.cc:1465
 #, gcc-internal-format
 msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:1469
+#: fortran/resolve.cc:1484
 #, gcc-internal-format
 msgid "Bad array spec of component %qs referenced in structure constructor at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1480
+#: fortran/resolve.cc:1497
 #, gcc-internal-format
 msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.cc:1501
+#: fortran/resolve.cc:1518
 #, gcc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.cc:1530
+#: fortran/resolve.cc:1547
 #, gcc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1654
+#: fortran/resolve.cc:1671
 #, gcc-internal-format
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1716
+#: fortran/resolve.cc:1733
 #, gcc-internal-format
 msgid "%qs at %L is ambiguous"
 msgstr "%qs tại %L phải là số nguyên"
 
-#: fortran/resolve.cc:1720
+#: fortran/resolve.cc:1737
 #, gcc-internal-format
 msgid "GENERIC procedure %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1841
+#: fortran/resolve.cc:1858
 #, gcc-internal-format
 msgid "Type specified for intrinsic function %qs at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.cc:1854
+#: fortran/resolve.cc:1871
 #, gcc-internal-format
 msgid "Intrinsic subroutine %qs at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.cc:1865
+#: fortran/resolve.cc:1882
 #, gcc-internal-format
 msgid "%qs declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.cc:1878
+#: fortran/resolve.cc:1895
 #, gcc-internal-format
 msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it."
 msgstr ""
 
-#: fortran/resolve.cc:1914
+#: fortran/resolve.cc:1931
 #, gcc-internal-format
 msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively.  Declare it RECURSIVE or use %<-frecursive%>"
 msgstr ""
 
-#: fortran/resolve.cc:1972 fortran/resolve.cc:10347 fortran/resolve.cc:12076
+#: fortran/resolve.cc:1989 fortran/resolve.cc:10367 fortran/resolve.cc:12105
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.cc:2004
+#: fortran/resolve.cc:2021
 #, fuzzy, gcc-internal-format
 #| msgid "Internal procedure %qs is used as actual argument at %L"
 msgid "Derived type %qs is used as an actual argument at %L"
 msgstr "Thủ tục nội tại %qs được dùng làm đối số thật tại %L"
 
-#: fortran/resolve.cc:2022
+#: fortran/resolve.cc:2039
 #, gcc-internal-format
 msgid "Statement function %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2030
+#: fortran/resolve.cc:2047
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2037
+#: fortran/resolve.cc:2054
 #, gcc-internal-format
 msgid "Internal procedure %qs is used as actual argument at %L"
 msgstr "Thủ tục nội tại %qs được dùng làm đối số thật tại %L"
 
-#: fortran/resolve.cc:2045
+#: fortran/resolve.cc:2062
 #, gcc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2072
+#: fortran/resolve.cc:2089
 #, gcc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2094
+#: fortran/resolve.cc:2111
 #, gcc-internal-format
 msgid "Symbol %qs at %L is ambiguous"
 msgstr "Ký hiệu “%qs” tại %L chưa rõ ràng"
 
-#: fortran/resolve.cc:2149
+#: fortran/resolve.cc:2166
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.cc:2156
+#: fortran/resolve.cc:2173
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.cc:2170
+#: fortran/resolve.cc:2187
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.cc:2182
+#: fortran/resolve.cc:2199
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:2193
+#: fortran/resolve.cc:2210
 #, gcc-internal-format
 msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2202
+#: fortran/resolve.cc:2219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:2349
+#: fortran/resolve.cc:2366
 #, gcc-internal-format
 msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)"
 msgstr ""
 
-#: fortran/resolve.cc:2387
+#: fortran/resolve.cc:2405
 #, gcc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.cc:2661
+#: fortran/resolve.cc:2679
 #, gcc-internal-format
 msgid "Return type mismatch of function %qs at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.cc:2688
+#: fortran/resolve.cc:2706
 #, gcc-internal-format
 msgid "Interface mismatch in global procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:2794
+#: fortran/resolve.cc:2812
 #, gcc-internal-format
 msgid "There is no specific function for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2814
+#: fortran/resolve.cc:2832
 #, gcc-internal-format
 msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.cc:2852
+#: fortran/resolve.cc:2870
 #, gcc-internal-format
 msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:2907
+#: fortran/resolve.cc:2925
 #, gcc-internal-format
 msgid "Unable to resolve the specific function %qs at %L"
 msgstr "Không thể phân giải hàm đặc tả %qs tại %L"
 
-#: fortran/resolve.cc:2984
+#: fortran/resolve.cc:3002
 #, gcc-internal-format
 msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3016
+#: fortran/resolve.cc:3034
 #, fuzzy, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
 msgstr "%qE không phải tên một kiểu"
 
-#: fortran/resolve.cc:3020 fortran/resolve.cc:17283
+#: fortran/resolve.cc:3038 fortran/resolve.cc:17312
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:3144
+#: fortran/resolve.cc:3162
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.cc:3151
+#: fortran/resolve.cc:3169
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.cc:3158
+#: fortran/resolve.cc:3176
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:3225
+#: fortran/resolve.cc:3243
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected intrinsic type %qs at %L"
 msgid "Unexpected junk after %qs at %L"
 msgstr "Gặp kiểu hạn chế không cần %qs tại %L"
 
-#: fortran/resolve.cc:3236
+#: fortran/resolve.cc:3254
 #, gcc-internal-format
 msgid "%qs at %L is not a function"
 msgstr "“%qs” tại %L không phải là một hàm"
 
-#: fortran/resolve.cc:3244 fortran/resolve.cc:3741
+#: fortran/resolve.cc:3262 fortran/resolve.cc:3759
 #, gcc-internal-format
 msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
 msgstr "ABSTRACT INTERFACE %qs phải không tham chiếu tại %L"
 
-#: fortran/resolve.cc:3256
+#: fortran/resolve.cc:3274
 #, gcc-internal-format
 msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)"
 msgstr ""
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.cc:3299
+#: fortran/resolve.cc:3317
 #, gcc-internal-format
 msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:3333
+#: fortran/resolve.cc:3351
 #, gcc-internal-format
 msgid "resolve_function(): bad function type"
 msgstr "resolve_function(): kiểu hàm sai"
 
-#: fortran/resolve.cc:3347
+#: fortran/resolve.cc:3365
 #, gcc-internal-format, gfc-internal-format
 msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference"
 msgstr ""
 
-#: fortran/resolve.cc:3363
+#: fortran/resolve.cc:3381
 #, gcc-internal-format
 msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.cc:3425
+#: fortran/resolve.cc:3443
 #, gcc-internal-format
 msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3429
+#: fortran/resolve.cc:3447
 #, gcc-internal-format
 msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3469
+#: fortran/resolve.cc:3487
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "Using function %qs at %L is deprecated"
 msgstr "%qs đã lạc hậu"
 
-#: fortran/resolve.cc:3485
+#: fortran/resolve.cc:3503
 #, gcc-internal-format
 msgid "Subroutine call to %qs in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3491
+#: fortran/resolve.cc:3509
 #, gcc-internal-format
 msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3497
+#: fortran/resolve.cc:3515
 #, gcc-internal-format
 msgid "Subroutine call to %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3565
+#: fortran/resolve.cc:3583
 #, gcc-internal-format
 msgid "There is no specific subroutine for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3574
+#: fortran/resolve.cc:3592
 #, gcc-internal-format
 msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.cc:3609
+#: fortran/resolve.cc:3627
 #, gcc-internal-format
 msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:3654
+#: fortran/resolve.cc:3672
 #, gcc-internal-format
 msgid "Unable to resolve the specific subroutine %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3712
+#: fortran/resolve.cc:3730
 #, gcc-internal-format
 msgid "%qs at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3751
+#: fortran/resolve.cc:3769
 #, gcc-internal-format
 msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3755
+#: fortran/resolve.cc:3773
 #, gcc-internal-format
 msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3800
+#: fortran/resolve.cc:3818
 #, gcc-internal-format
 msgid "resolve_subroutine(): bad function type"
 msgstr "resolve_subroutine(): kiểu hàm sai"
 
-#: fortran/resolve.cc:3817
+#: fortran/resolve.cc:3835
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qE is deprecated"
 msgid "Using subroutine %qs at %L is deprecated"
 msgstr "giao thức %qE đã lạc hậu"
 
-#: fortran/resolve.cc:3844
+#: fortran/resolve.cc:3862
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.cc:3896
+#: fortran/resolve.cc:3914
 #, fuzzy, gcc-internal-format
 msgid "logical_to_bitwise(): Bad intrinsic"
 msgstr "resolve_operator(): intrinsic sai"
 
-#: fortran/resolve.cc:3999
+#: fortran/resolve.cc:4017
 #, fuzzy, gcc-internal-format
 #| msgid "Return value of function %qs at %L not set"
 msgid "Impure function %qs at %L might not be evaluated"
 msgstr "Trả lại giá trị của hàm %qs tại %L chưa đặt"
 
-#: fortran/resolve.cc:4003
+#: fortran/resolve.cc:4021
 #, gcc-internal-format, gfc-internal-format
 msgid "Impure function at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4080
+#: fortran/resolve.cc:4098
 #, gcc-internal-format
 msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4104
+#: fortran/resolve.cc:4122
 #, gcc-internal-format
 msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4278 fortran/resolve.cc:4293
+#: fortran/resolve.cc:4296 fortran/resolve.cc:4311
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator"
 msgstr ""
 
-#: fortran/resolve.cc:4332
+#: fortran/resolve.cc:4350
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Equality comparison for %s at %L"
 msgstr "loại không hợp lệ cho %s tại %L"
 
-#: fortran/resolve.cc:4334
+#: fortran/resolve.cc:4352
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Inequality comparison for %s at %L"
 msgstr "loại không hợp lệ cho %s tại %L"
 
-#: fortran/resolve.cc:4394
+#: fortran/resolve.cc:4412
 #, gcc-internal-format
 msgid "resolve_operator(): Bad intrinsic"
 msgstr "resolve_operator(): intrinsic sai"
 
-#: fortran/resolve.cc:4564 fortran/resolve.cc:4587
+#: fortran/resolve.cc:4582 fortran/resolve.cc:4605
 #, gcc-internal-format
 msgid "compare_bound_int(): Bad expression"
 msgstr ""
 
-#: fortran/resolve.cc:4682
+#: fortran/resolve.cc:4700
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4687
+#: fortran/resolve.cc:4705
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4697
+#: fortran/resolve.cc:4715
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4702
+#: fortran/resolve.cc:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4722
+#: fortran/resolve.cc:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4739
+#: fortran/resolve.cc:4757
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4747
+#: fortran/resolve.cc:4765
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4763
+#: fortran/resolve.cc:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4772
+#: fortran/resolve.cc:4790
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4788
+#: fortran/resolve.cc:4806
 #, gcc-internal-format
 msgid "check_dimension(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:4811
+#: fortran/resolve.cc:4829
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4821
+#: fortran/resolve.cc:4839
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4829
+#: fortran/resolve.cc:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4845
+#: fortran/resolve.cc:4863
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4873
+#: fortran/resolve.cc:4891
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:4879
+#: fortran/resolve.cc:4897
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.cc:4885
+#: fortran/resolve.cc:4903
 #, gcc-internal-format, gfc-internal-format
 msgid "REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4924
+#: fortran/resolve.cc:4942
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:4931
+#: fortran/resolve.cc:4949
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.cc:4989
+#: fortran/resolve.cc:5007
 #, gcc-internal-format
 msgid "find_array_spec(): Missing spec"
 msgstr ""
 
-#: fortran/resolve.cc:5000
+#: fortran/resolve.cc:5018
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(1)"
 msgstr ""
 
-#: fortran/resolve.cc:5012
+#: fortran/resolve.cc:5030
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(2)"
 msgstr ""
 
-#: fortran/resolve.cc:5055
+#: fortran/resolve.cc:5073
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.cc:5153
+#: fortran/resolve.cc:5171
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5160
+#: fortran/resolve.cc:5178
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5182
+#: fortran/resolve.cc:5200
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5189
+#: fortran/resolve.cc:5207
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5209
+#: fortran/resolve.cc:5227
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:5399
+#: fortran/resolve.cc:5417
 #, gcc-internal-format
 msgid "resolve_ref(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:5413
+#: fortran/resolve.cc:5431
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5423
+#: fortran/resolve.cc:5441
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5469
+#: fortran/resolve.cc:5487
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5561
+#: fortran/resolve.cc:5579
 #, gcc-internal-format
 msgid "gfc_expression_rank(): Two array specs"
 msgstr ""
 
-#: fortran/resolve.cc:5643
+#: fortran/resolve.cc:5661
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:5653
+#: fortran/resolve.cc:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -75400,12 +75641,12 @@ msgstr ""
 #. for all inquiry functions in resolve_function; the reason is
 #. that the function-name resolution happens too late in that
 #. function.
-#: fortran/resolve.cc:5663
+#: fortran/resolve.cc:5681
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument"
 msgstr ""
 
-#: fortran/resolve.cc:5682
+#: fortran/resolve.cc:5700
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -75414,295 +75655,295 @@ msgstr ""
 #. for all inquiry functions in resolve_function; the reason is
 #. that the function-name resolution happens too late in that
 #. function.
-#: fortran/resolve.cc:5692
+#: fortran/resolve.cc:5710
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument"
 msgstr ""
 
-#: fortran/resolve.cc:5703
+#: fortran/resolve.cc:5721
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5712
+#: fortran/resolve.cc:5730
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5728
+#: fortran/resolve.cc:5746
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5910
+#: fortran/resolve.cc:5928
 #, gcc-internal-format
 msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.cc:5915
+#: fortran/resolve.cc:5933
 #, gcc-internal-format
 msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.cc:5985
+#: fortran/resolve.cc:6003
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5998
+#: fortran/resolve.cc:6016
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6014
+#: fortran/resolve.cc:6032
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "Using variable %qs at %L is deprecated"
 msgstr "%qs đã lạc hậu"
 
-#: fortran/resolve.cc:6102
+#: fortran/resolve.cc:6120
 #, gcc-internal-format
 msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name"
 msgstr ""
 
-#: fortran/resolve.cc:6256 fortran/resolve.cc:6408
+#: fortran/resolve.cc:6274 fortran/resolve.cc:6426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Error in type-spec at %L"
 msgid "Error in typebound call at %L"
 msgstr "Sai trong type-spec tại %L"
 
-#: fortran/resolve.cc:6372
+#: fortran/resolve.cc:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:6379
+#: fortran/resolve.cc:6397
 #, gcc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:6418
+#: fortran/resolve.cc:6436
 #, gcc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:6427
+#: fortran/resolve.cc:6445
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.cc:6615
+#: fortran/resolve.cc:6633
 #, gcc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6649
+#: fortran/resolve.cc:6667
 #, gcc-internal-format
 msgid "%qs at %L should be a SUBROUTINE"
 msgstr "%qs tại %L phải là THỦ TỤC CON"
 
-#: fortran/resolve.cc:6701
+#: fortran/resolve.cc:6719
 #, gcc-internal-format
 msgid "%qs at %L should be a FUNCTION"
 msgstr "%qs tại %L phải là HÀM"
 
-#: fortran/resolve.cc:7236
+#: fortran/resolve.cc:7254
 #, gcc-internal-format
 msgid "gfc_resolve_expr(): Bad expression type"
 msgstr "gfc_resolve_expr(): sai kiểu biểu thức"
 
-#: fortran/resolve.cc:7269
+#: fortran/resolve.cc:7287
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s tại %L phải là một scalar"
 
-#: fortran/resolve.cc:7279
+#: fortran/resolve.cc:7297
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be integer"
 msgstr "%s tại %L phải là số nguyên"
 
-#: fortran/resolve.cc:7283 fortran/resolve.cc:7290
+#: fortran/resolve.cc:7301 fortran/resolve.cc:7308
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s tại %L phải là SỐ-NGUYÊN"
 
-#: fortran/resolve.cc:7345
+#: fortran/resolve.cc:7363
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7368
+#: fortran/resolve.cc:7386
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.cc:7385
+#: fortran/resolve.cc:7403
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it overflows"
 msgstr ""
 
-#: fortran/resolve.cc:7391
+#: fortran/resolve.cc:7409
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it underflows"
 msgstr ""
 
-#: fortran/resolve.cc:7452
+#: fortran/resolve.cc:7470
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7457
+#: fortran/resolve.cc:7475
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7464
+#: fortran/resolve.cc:7482
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7472
+#: fortran/resolve.cc:7490
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.cc:7477
+#: fortran/resolve.cc:7495
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7490
+#: fortran/resolve.cc:7508
 #, gcc-internal-format
 msgid "FORALL index %qs may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7594 fortran/resolve.cc:7892
+#: fortran/resolve.cc:7612 fortran/resolve.cc:7910
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:7602 fortran/resolve.cc:7855
+#: fortran/resolve.cc:7620 fortran/resolve.cc:7873
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7712
+#: fortran/resolve.cc:7730
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7743
+#: fortran/resolve.cc:7761
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.cc:7903
+#: fortran/resolve.cc:7921
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7915
+#: fortran/resolve.cc:7933
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.cc:7929
+#: fortran/resolve.cc:7947
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:7944
+#: fortran/resolve.cc:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:7957
+#: fortran/resolve.cc:7975
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.cc:7975
+#: fortran/resolve.cc:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.cc:8056 fortran/resolve.cc:8071
+#: fortran/resolve.cc:8074 fortran/resolve.cc:8089
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8063
+#: fortran/resolve.cc:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8088
+#: fortran/resolve.cc:8106
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8097 fortran/resolve.cc:8126 fortran/resolve.cc:8154
+#: fortran/resolve.cc:8115 fortran/resolve.cc:8144 fortran/resolve.cc:8172
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8103
+#: fortran/resolve.cc:8121
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8115
+#: fortran/resolve.cc:8133
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound of 1 at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8173
+#: fortran/resolve.cc:8191
 #, gcc-internal-format
 msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.cc:8188
+#: fortran/resolve.cc:8206
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8199
+#: fortran/resolve.cc:8217
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8230
+#: fortran/resolve.cc:8248
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8259
+#: fortran/resolve.cc:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8272
+#: fortran/resolve.cc:8290
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.cc:8286
+#: fortran/resolve.cc:8304
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8315
+#: fortran/resolve.cc:8333
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8347
+#: fortran/resolve.cc:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8353 fortran/resolve.cc:8359
+#: fortran/resolve.cc:8371 fortran/resolve.cc:8377
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -75711,285 +75952,285 @@ 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.cc:8587
+#: fortran/resolve.cc:8605
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8638
+#: fortran/resolve.cc:8656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.cc:8649
+#: fortran/resolve.cc:8667
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.cc:8662
+#: fortran/resolve.cc:8680
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:8708
+#: fortran/resolve.cc:8726
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.cc:8727
+#: fortran/resolve.cc:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.cc:8737
+#: fortran/resolve.cc:8755
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr ""
 
-#: fortran/resolve.cc:8755 fortran/resolve.cc:8763
+#: fortran/resolve.cc:8773 fortran/resolve.cc:8781
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.cc:8825 fortran/resolve.cc:9480
+#: fortran/resolve.cc:8843 fortran/resolve.cc:9500
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8851
+#: fortran/resolve.cc:8869
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:8864
+#: fortran/resolve.cc:8882
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8879
+#: fortran/resolve.cc:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.cc:8982
+#: fortran/resolve.cc:9000
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.cc:9033
+#: fortran/resolve.cc:9051
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure pointer"
 msgstr ""
 
-#: fortran/resolve.cc:9042
+#: fortran/resolve.cc:9060
 #, fuzzy, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %L"
 msgstr "Danh sách tên “%s” không thể là đối số tại %L"
 
-#: fortran/resolve.cc:9059
+#: fortran/resolve.cc:9077
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure name"
 msgstr ""
 
-#: fortran/resolve.cc:9075
+#: fortran/resolve.cc:9093
 #, gcc-internal-format, gfc-internal-format
 msgid "Associating selector-expression at %L yields a procedure"
 msgstr ""
 
-#: fortran/resolve.cc:9082
+#: fortran/resolve.cc:9100
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L cannot be NULL()"
 msgstr ""
 
-#: fortran/resolve.cc:9087
+#: fortran/resolve.cc:9105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "parameter %u has void type"
 msgid "Selector at %L has no type"
 msgstr "tham số %u có kiểu void"
 
-#: fortran/resolve.cc:9109
+#: fortran/resolve.cc:9127
 #, gcc-internal-format
 msgid "Associate-name %qs at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.cc:9120
+#: fortran/resolve.cc:9138
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS selector at %L needs a temporary which is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.cc:9350
+#: fortran/resolve.cc:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9388 fortran/resolve.cc:9400
+#: fortran/resolve.cc:9408 fortran/resolve.cc:9420
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L must not be coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:9429
+#: fortran/resolve.cc:9449
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE IS at %L overlaps with TYPE IS at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9442
+#: fortran/resolve.cc:9462
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.cc:9455
+#: fortran/resolve.cc:9475
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be an extension of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:9458
+#: fortran/resolve.cc:9478
 #, gcc-internal-format
 msgid "Unexpected intrinsic type %qs at %L"
 msgstr "Gặp kiểu hạn chế không cần %qs tại %L"
 
-#: fortran/resolve.cc:9468
+#: fortran/resolve.cc:9488
 #, gcc-internal-format, gfc-internal-format
 msgid "The type-spec at %L shall specify that each length type parameter is assumed"
 msgstr ""
 
-#: fortran/resolve.cc:9715
+#: fortran/resolve.cc:9735
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9849
+#: fortran/resolve.cc:9869
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK DEFAULT at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9858
+#: fortran/resolve.cc:9878
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (*) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9861
+#: fortran/resolve.cc:9881
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (%i) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9871 fortran/resolve.cc:9876
+#: fortran/resolve.cc:9891 fortran/resolve.cc:9896
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9985
+#: fortran/resolve.cc:10005
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid context for NULL () intrinsic at %L"
 msgstr "Ngữ cảnh sai cho hạn chế NULL() tại %L"
 
-#: fortran/resolve.cc:10037
+#: fortran/resolve.cc:10057
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DTIO %s procedure at %L must be recursive"
 msgstr "Tham số %qs của thủ tục cơ bản tại %L phải là vô hướng"
 
-#: fortran/resolve.cc:10047
+#: fortran/resolve.cc:10067
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.cc:10060
+#: fortran/resolve.cc:10080
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.cc:10069
+#: fortran/resolve.cc:10089
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.cc:10076
+#: fortran/resolve.cc:10096
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.cc:10087
+#: fortran/resolve.cc:10107
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.cc:10093
+#: fortran/resolve.cc:10113
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.cc:10108
+#: fortran/resolve.cc:10128
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.cc:10165
+#: fortran/resolve.cc:10185
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10175
+#: fortran/resolve.cc:10195
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10179
+#: fortran/resolve.cc:10199
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray or coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10182
+#: fortran/resolve.cc:10202
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray but not coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10189 fortran/resolve.cc:10311
+#: fortran/resolve.cc:10209 fortran/resolve.cc:10331
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10201 fortran/resolve.cc:10323
+#: fortran/resolve.cc:10221 fortran/resolve.cc:10343
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10213
+#: fortran/resolve.cc:10233
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.cc:10226
+#: fortran/resolve.cc:10246
 #, gcc-internal-format, gfc-internal-format
 msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10287
+#: fortran/resolve.cc:10307
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10291 fortran/resolve.cc:10301
+#: fortran/resolve.cc:10311 fortran/resolve.cc:10321
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.cc:10354
+#: fortran/resolve.cc:10374
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10364
+#: fortran/resolve.cc:10384
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.cc:10381 fortran/resolve.cc:10404
+#: fortran/resolve.cc:10401 fortran/resolve.cc:10424
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10385 fortran/resolve.cc:10410
+#: fortran/resolve.cc:10405 fortran/resolve.cc:10430
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -75997,199 +76238,199 @@ msgstr ""
 #. The label is not in an enclosing block, so illegal.  This was
 #. allowed in Fortran 66, so we allow it as extension.  No
 #. further checks are necessary in this case.
-#: fortran/resolve.cc:10425
+#: fortran/resolve.cc:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10497
+#: fortran/resolve.cc:10517
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10513
+#: fortran/resolve.cc:10533
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10521 fortran/resolve.cc:10608
+#: fortran/resolve.cc:10541 fortran/resolve.cc:10628
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10531 fortran/resolve.cc:10618
+#: fortran/resolve.cc:10551 fortran/resolve.cc:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10562
+#: fortran/resolve.cc:10582
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10571
+#: fortran/resolve.cc:10591
 #, gcc-internal-format
 msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.cc:10718
+#: fortran/resolve.cc:10738
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BLOCK construct at %C"
 msgid "FORALL construct at %L"
 msgstr "cấu trúc BLOCK tại %C"
 
-#: fortran/resolve.cc:10739
+#: fortran/resolve.cc:10759
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar variable of type integer"
 msgstr ""
 
-#: fortran/resolve.cc:10749
+#: fortran/resolve.cc:10769
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.cc:10826
+#: fortran/resolve.cc:10846
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.cc:10941
+#: fortran/resolve.cc:10961
 #, gcc-internal-format
 msgid "gfc_resolve_blocks(): Bad block type"
 msgstr "gfc_resolve_blocks(): Kiểu khối sai"
 
-#: fortran/resolve.cc:11054
+#: fortran/resolve.cc:11074
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11086
+#: fortran/resolve.cc:11106
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
 #. F2008, C1283 (4).
-#: fortran/resolve.cc:11092
+#: fortran/resolve.cc:11112
 #, gcc-internal-format, gfc-internal-format
 msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection."
 msgstr ""
 
-#: fortran/resolve.cc:11104
+#: fortran/resolve.cc:11124
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:11136
+#: fortran/resolve.cc:11156
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to polymorphic coarray at %L is not permitted"
 msgstr ""
 
-#: fortran/resolve.cc:11140
+#: fortran/resolve.cc:11160
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to an allocatable polymorphic variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11145
+#: fortran/resolve.cc:11165
 #, gcc-internal-format
 msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>"
 msgstr ""
 
-#: fortran/resolve.cc:11152
+#: fortran/resolve.cc:11172
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.cc:11163
+#: fortran/resolve.cc:11183
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11483
+#: fortran/resolve.cc:11503
 #, gcc-internal-format, gfc-internal-format
 msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions."
 msgstr ""
 
 #. Even if standard does not support this feature, continue to build
 #. the two statements to avoid upsetting frontend_passes.c.
-#: fortran/resolve.cc:11725
+#: fortran/resolve.cc:11745
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer procedure assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11737
+#: fortran/resolve.cc:11757
 #, gcc-internal-format, gfc-internal-format
 msgid "The function result on the lhs of the assignment at %L must have the pointer attribute."
 msgstr ""
 
-#: fortran/resolve.cc:11998
+#: fortran/resolve.cc:12027
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12002
+#: fortran/resolve.cc:12031
 #, gcc-internal-format
 msgid "Variable %qs has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12013
+#: fortran/resolve.cc:12042
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.cc:12051
+#: fortran/resolve.cc:12080
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected intrinsic assignment in OMP WORKSHARE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12085
+#: fortran/resolve.cc:12114
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12132
+#: fortran/resolve.cc:12161
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid NULL at %L"
 msgstr "NULL không hợp lệ %L"
 
-#: fortran/resolve.cc:12136
+#: fortran/resolve.cc:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:12197
+#: fortran/resolve.cc:12226
 #, gcc-internal-format
 msgid "gfc_resolve_code(): No expression on DO WHILE"
 msgstr "gfc_resolve_code(): Không có biểu thức trên DO WHILE"
 
-#: fortran/resolve.cc:12202
+#: fortran/resolve.cc:12231
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.cc:12286
+#: fortran/resolve.cc:12315
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.cc:12387
+#: fortran/resolve.cc:12416
 #, gcc-internal-format
 msgid "gfc_resolve_code(): Bad statement code"
 msgstr "gfc_resolve_code(): Mã câu lệnh sai"
 
-#: fortran/resolve.cc:12408
+#: fortran/resolve.cc:12437
 #, fuzzy, gcc-internal-format
 #| msgid "Unused parameter %qs declared at %L"
 msgid "Using parameter %qs declared at %L is deprecated"
 msgstr "Đối số chưa dùng %qs được khai báo tại %L"
 
-#: fortran/resolve.cc:12502
+#: fortran/resolve.cc:12531
 #, gcc-internal-format
 msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L"
 msgstr ""
 
 #. This can only happen if the variable is defined in a module - if it
 #. isn't the same module, reject it.
-#: fortran/resolve.cc:12516
+#: fortran/resolve.cc:12545
 #, gcc-internal-format
 msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs"
 msgstr ""
@@ -76197,969 +76438,969 @@ msgstr ""
 #. Print an error if the procedure is defined multiple times; we have to
 #. exclude references to the same procedure via module association or
 #. multiple checks for the same procedure.
-#: fortran/resolve.cc:12535
+#: fortran/resolve.cc:12564
 #, gcc-internal-format
 msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12621
+#: fortran/resolve.cc:12650
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "Chiều dài chuỗi tại %L là quá lớn"
 
-#: fortran/resolve.cc:12856
+#: fortran/resolve.cc:12885
 #, gcc-internal-format
 msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:12860
+#: fortran/resolve.cc:12889
 #, gcc-internal-format
 msgid "Scalar object %qs at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:12868
+#: fortran/resolve.cc:12897
 #, gcc-internal-format
 msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:12879
+#: fortran/resolve.cc:12908
 #, gcc-internal-format
 msgid "Array %qs at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:12895
+#: fortran/resolve.cc:12924
 #, gcc-internal-format
 msgid "Type %qs of CLASS variable %qs at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.cc:12907
+#: fortran/resolve.cc:12936
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.cc:12940
+#: fortran/resolve.cc:12969
 #, gcc-internal-format
 msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12962
+#: fortran/resolve.cc:12991
 #, gcc-internal-format
 msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization"
 msgstr ""
 
-#: fortran/resolve.cc:12995
+#: fortran/resolve.cc:13024
 #, gcc-internal-format
 msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute"
 msgstr ""
 
 #. F08:C541. The shape of an array defined in a main program or module
 #. * needs to be constant.
-#: fortran/resolve.cc:13031
+#: fortran/resolve.cc:13060
 #, gcc-internal-format
 msgid "The module or main program array %qs at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.cc:13056
+#: fortran/resolve.cc:13085
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.cc:13077
+#: fortran/resolve.cc:13106
 #, gcc-internal-format
 msgid "%qs at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.cc:13084
+#: fortran/resolve.cc:13113
 #, gcc-internal-format
 msgid "COMMON variable %qs at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:13131
+#: fortran/resolve.cc:13160
 #, gcc-internal-format
 msgid "Allocatable %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13134
+#: fortran/resolve.cc:13163
 #, gcc-internal-format
 msgid "External %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13137
+#: fortran/resolve.cc:13166
 #, gcc-internal-format
 msgid "Dummy %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13140
+#: fortran/resolve.cc:13169
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13143
+#: fortran/resolve.cc:13172
 #, gcc-internal-format
 msgid "Function result %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13146
+#: fortran/resolve.cc:13175
 #, gcc-internal-format
 msgid "Automatic array %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13188
+#: fortran/resolve.cc:13217
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L"
 msgstr "%s tại %L"
 
-#: fortran/resolve.cc:13220
+#: fortran/resolve.cc:13249
 #, gcc-internal-format
 msgid "Character-valued statement function %qs at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.cc:13243
+#: fortran/resolve.cc:13272
 #, gcc-internal-format
 msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13265
+#: fortran/resolve.cc:13294
 #, gcc-internal-format
 msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.cc:13283
+#: fortran/resolve.cc:13312
 #, gcc-internal-format
 msgid "Function %qs at %L cannot have an initializer"
 msgstr "Hàm %qs tại %L không thể có bộ khởi tạo"
 
-#: fortran/resolve.cc:13295
+#: fortran/resolve.cc:13324
 #, gcc-internal-format
 msgid "External object %qs at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13305
+#: fortran/resolve.cc:13334
 #, gcc-internal-format
 msgid "ELEMENTAL function %qs at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.cc:13315
+#: fortran/resolve.cc:13344
 #, gcc-internal-format
 msgid "Statement function %qs at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13334
+#: fortran/resolve.cc:13363
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13338
+#: fortran/resolve.cc:13367
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13342
+#: fortran/resolve.cc:13371
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.cc:13346
+#: fortran/resolve.cc:13375
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:13359
+#: fortran/resolve.cc:13388
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13370
+#: fortran/resolve.cc:13399
 #, gcc-internal-format
 msgid "Procedure pointer %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13376
+#: fortran/resolve.cc:13405
 #, gcc-internal-format
 msgid "Dummy procedure %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13396
+#: fortran/resolve.cc:13425
 #, gcc-internal-format
 msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13453
+#: fortran/resolve.cc:13482
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13459
+#: fortran/resolve.cc:13488
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13465
+#: fortran/resolve.cc:13494
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13473
+#: fortran/resolve.cc:13502
 #, gcc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13479
+#: fortran/resolve.cc:13508
 #, gcc-internal-format
 msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13522
+#: fortran/resolve.cc:13551
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s"
 msgstr ""
 
-#: fortran/resolve.cc:13530
+#: fortran/resolve.cc:13559
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s"
 msgstr ""
 
-#: fortran/resolve.cc:13538
+#: fortran/resolve.cc:13567
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s"
 msgstr ""
 
-#: fortran/resolve.cc:13547
+#: fortran/resolve.cc:13576
 #, gcc-internal-format
 msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs"
 msgstr ""
 
-#: fortran/resolve.cc:13631
+#: fortran/resolve.cc:13660
 #, gcc-internal-format
 msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:13640
+#: fortran/resolve.cc:13669
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.cc:13649
+#: fortran/resolve.cc:13678
 #, gcc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type %qs"
 msgstr "Đối số của thủ tục FINAL tại %L phải là kiểu %qs"
 
-#: fortran/resolve.cc:13657
+#: fortran/resolve.cc:13686
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:13663
+#: fortran/resolve.cc:13692
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:13669
+#: fortran/resolve.cc:13698
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.cc:13677
+#: fortran/resolve.cc:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:13686
+#: fortran/resolve.cc:13715
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:13708
+#: fortran/resolve.cc:13737
 #, gcc-internal-format
 msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
 msgstr ""
 
-#: fortran/resolve.cc:13745
+#: fortran/resolve.cc:13774
 #, gcc-internal-format
 msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one"
 msgstr ""
 
-#: fortran/resolve.cc:13785
+#: fortran/resolve.cc:13814
 #, gcc-internal-format
 msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13821
+#: fortran/resolve.cc:13850
 #, gcc-internal-format
 msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:13880
+#: fortran/resolve.cc:13909
 #, gcc-internal-format
 msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13892
+#: fortran/resolve.cc:13921
 #, gcc-internal-format
 msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.cc:13920
+#: fortran/resolve.cc:13949
 #, gcc-internal-format
 msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.cc:13976
+#: fortran/resolve.cc:14005
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L cannot be NOPASS"
 msgstr ""
 
-#: fortran/resolve.cc:14188
+#: fortran/resolve.cc:14217
 #, gcc-internal-format
 msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14231
+#: fortran/resolve.cc:14260
 #, gcc-internal-format
 msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14245
+#: fortran/resolve.cc:14274
 #, gcc-internal-format
 msgid "Procedure %qs with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14259 fortran/resolve.cc:14745
+#: fortran/resolve.cc:14288 fortran/resolve.cc:14774
 #, gcc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14267
+#: fortran/resolve.cc:14296
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
 msgstr "Đối số %qs của %qs với PASS(%s) tại %L phải là kiểu dẫn xuất %qs"
 
-#: fortran/resolve.cc:14276
+#: fortran/resolve.cc:14305
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14282
+#: fortran/resolve.cc:14311
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14288
+#: fortran/resolve.cc:14317
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:14317
+#: fortran/resolve.cc:14346
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as a component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14327
+#: fortran/resolve.cc:14356
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14422
+#: fortran/resolve.cc:14451
 #, gcc-internal-format
 msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.cc:14525
+#: fortran/resolve.cc:14554
 #, gcc-internal-format
 msgid "Coarray component %qs at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:14534
+#: fortran/resolve.cc:14563
 #, gcc-internal-format
 msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:14544
+#: fortran/resolve.cc:14573
 #, gcc-internal-format
 msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14569
+#: fortran/resolve.cc:14598
 #, gcc-internal-format
 msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.cc:14580
+#: fortran/resolve.cc:14609
 #, fuzzy, gcc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "Component %qs of BIND(C) type at %L must have length one"
 msgstr "Đối số của %s tại %L phải là của một độ dài"
 
-#: fortran/resolve.cc:14678
+#: fortran/resolve.cc:14707
 #, gcc-internal-format
 msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14692
+#: fortran/resolve.cc:14721
 #, gcc-internal-format
 msgid "Procedure pointer component %qs with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14708
+#: fortran/resolve.cc:14737
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
 msgstr "Đối số %qs của %qs với PASS(%s) tại %L phải là dẫn xuất kiểu %qs"
 
-#: fortran/resolve.cc:14718
+#: fortran/resolve.cc:14747
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
 msgstr "Đối số %qs của %qs với PASS(%s) tại %L phải là vô hướng"
 
-#: fortran/resolve.cc:14727
+#: fortran/resolve.cc:14756
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:14736
+#: fortran/resolve.cc:14765
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14778
+#: fortran/resolve.cc:14807
 #, gcc-internal-format
 msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.cc:14791
+#: fortran/resolve.cc:14820
 #, gcc-internal-format
 msgid "Character length of component %qs needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14802
+#: fortran/resolve.cc:14831
 #, gcc-internal-format
 msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14835
+#: fortran/resolve.cc:14864
 #, gcc-internal-format
 msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14843
+#: fortran/resolve.cc:14872
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.cc:14852
+#: fortran/resolve.cc:14881
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:14938
+#: fortran/resolve.cc:14967
 #, gcc-internal-format, gfc-internal-format
 msgid "Conflicting initializers in union at %L and %L"
 msgstr ""
 
-#: fortran/resolve.cc:14983
+#: fortran/resolve.cc:15012
 #, gcc-internal-format
 msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one"
 msgstr ""
 
-#: fortran/resolve.cc:14996
+#: fortran/resolve.cc:15025
 #, gcc-internal-format
 msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.cc:15060
+#: fortran/resolve.cc:15089
 #, gcc-internal-format
 msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15093
+#: fortran/resolve.cc:15122
 #, gcc-internal-format
 msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15107
+#: fortran/resolve.cc:15136
 #, fuzzy, gcc-internal-format
 #| msgid "%qE has not been declared"
 msgid "Derived type %qs at %L has not been declared"
 msgstr "%qE chưa được khai báo"
 
-#: fortran/resolve.cc:15172
+#: fortran/resolve.cc:15201
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:15178
+#: fortran/resolve.cc:15207
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15184
+#: fortran/resolve.cc:15213
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15192
+#: fortran/resolve.cc:15221
 #, gcc-internal-format
 msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15209
+#: fortran/resolve.cc:15238
 #, gcc-internal-format
 msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15231
+#: fortran/resolve.cc:15260
 #, gcc-internal-format
 msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15242
+#: fortran/resolve.cc:15271
 #, gcc-internal-format
 msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15269
+#: fortran/resolve.cc:15298
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15288
+#: fortran/resolve.cc:15317
 #, gcc-internal-format
 msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:15304
+#: fortran/resolve.cc:15333
 #, gcc-internal-format
 msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:15315
+#: fortran/resolve.cc:15344
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15323
+#: fortran/resolve.cc:15352
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15374
+#: fortran/resolve.cc:15403
 #, gcc-internal-format
 msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer"
 msgstr ""
 
-#: fortran/resolve.cc:15385
+#: fortran/resolve.cc:15414
 #, gcc-internal-format
 msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)"
 msgstr ""
 
-#: fortran/resolve.cc:15392
+#: fortran/resolve.cc:15421
 #, gcc-internal-format
 msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)"
 msgstr ""
 
-#: fortran/resolve.cc:15432
+#: fortran/resolve.cc:15461
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported"
 msgstr ""
 
-#: fortran/resolve.cc:15496
+#: fortran/resolve.cc:15525
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15499
+#: fortran/resolve.cc:15528
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15599
+#: fortran/resolve.cc:15628
 #, gcc-internal-format
 msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array"
 msgstr ""
 
-#: fortran/resolve.cc:15620
+#: fortran/resolve.cc:15649
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15633
+#: fortran/resolve.cc:15662
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15636
+#: fortran/resolve.cc:15665
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15646
+#: fortran/resolve.cc:15675
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15653
+#: fortran/resolve.cc:15682
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15666
+#: fortran/resolve.cc:15695
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.cc:15672
+#: fortran/resolve.cc:15701
 #, gcc-internal-format
 msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15682
+#: fortran/resolve.cc:15711
 #, gcc-internal-format
 msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.cc:15691
+#: fortran/resolve.cc:15720
 #, gcc-internal-format
 msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:15704 fortran/resolve.cc:15881
+#: fortran/resolve.cc:15733 fortran/resolve.cc:15910
 #, gcc-internal-format
 msgid "The derived type %qs at %L is of type %qs, which has not been defined"
 msgstr ""
 
-#: fortran/resolve.cc:15718
+#: fortran/resolve.cc:15747
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15727
+#: fortran/resolve.cc:15756
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type"
 msgstr ""
 
-#: fortran/resolve.cc:15736
+#: fortran/resolve.cc:15765
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15744
+#: fortran/resolve.cc:15773
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15751
+#: fortran/resolve.cc:15780
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.cc:15771
+#: fortran/resolve.cc:15800
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
 msgstr ""
 
-#: fortran/resolve.cc:15778
+#: fortran/resolve.cc:15807
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15785
+#: fortran/resolve.cc:15814
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15792
+#: fortran/resolve.cc:15821
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
 msgstr ""
 
-#: fortran/resolve.cc:15818
+#: fortran/resolve.cc:15847
 #, gcc-internal-format
 msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.cc:15828
+#: fortran/resolve.cc:15857
 #, fuzzy, gcc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "BIND(C) Variable %qs at %L must have length one"
 msgstr "Đối số của %s tại %L phải là của một độ dài"
 
-#: fortran/resolve.cc:15907
+#: fortran/resolve.cc:15936
 #, gcc-internal-format
 msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15922
+#: fortran/resolve.cc:15951
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:15935
+#: fortran/resolve.cc:15964
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:15953
+#: fortran/resolve.cc:15982
 #, gcc-internal-format
 msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.cc:15965
+#: fortran/resolve.cc:15994
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:15974
+#: fortran/resolve.cc:16003
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:15987
+#: fortran/resolve.cc:16016
 #, gcc-internal-format
 msgid "Function result %qs at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.cc:15996
+#: fortran/resolve.cc:16025
 #, gcc-internal-format
 msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:16009
+#: fortran/resolve.cc:16038
 #, gcc-internal-format
 msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray"
 msgstr ""
 
-#: fortran/resolve.cc:16025
+#: fortran/resolve.cc:16054
 #, gcc-internal-format
 msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16033
+#: fortran/resolve.cc:16062
 #, gcc-internal-format
 msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16040
+#: fortran/resolve.cc:16069
 #, gcc-internal-format
 msgid "Allocatable coarray variable %qs at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16053
+#: fortran/resolve.cc:16082
 #, gcc-internal-format
 msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.cc:16062
+#: fortran/resolve.cc:16091
 #, gcc-internal-format
 msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16078
+#: fortran/resolve.cc:16107
 #, gcc-internal-format
 msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16084
+#: fortran/resolve.cc:16113
 #, gcc-internal-format
 msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16109
+#: fortran/resolve.cc:16138
 #, fuzzy, gcc-internal-format
 #| msgid "Namelist '%s' can not be an argument at %L"
 msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
 msgstr "Danh sách tên “%s” không thể là đối số tại %L"
 
-#: fortran/resolve.cc:16180
+#: fortran/resolve.cc:16209
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16192
+#: fortran/resolve.cc:16221
 #, gcc-internal-format
 msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16299
+#: fortran/resolve.cc:16328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expecting %s statement at %L"
 msgid "Expecting definable entity near %L"
 msgstr "Cần câu lệnh %s tại %L"
 
-#: fortran/resolve.cc:16307
+#: fortran/resolve.cc:16336
 #, gcc-internal-format
 msgid "BLOCK DATA element %qs at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.cc:16314
+#: fortran/resolve.cc:16343
 #, gcc-internal-format
 msgid "DATA array %qs at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.cc:16321
+#: fortran/resolve.cc:16350
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.cc:16337
+#: fortran/resolve.cc:16366
 #, gcc-internal-format
 msgid "DATA element %qs at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.cc:16344
+#: fortran/resolve.cc:16373
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target"
 msgstr ""
 
-#: fortran/resolve.cc:16353
+#: fortran/resolve.cc:16382
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16399
+#: fortran/resolve.cc:16428
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.cc:16412
+#: fortran/resolve.cc:16441
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.cc:16511
+#: fortran/resolve.cc:16540
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.cc:16519
+#: fortran/resolve.cc:16548
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.cc:16527
+#: fortran/resolve.cc:16556
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.cc:16534
+#: fortran/resolve.cc:16563
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L shall not be zero"
 msgstr ""
 
-#: fortran/resolve.cc:16659
+#: fortran/resolve.cc:16688
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.cc:16825
+#: fortran/resolve.cc:16854
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Nhãn %d tại %L đã định nghĩa nhưng chưa được dùng"
 
-#: fortran/resolve.cc:16831
+#: fortran/resolve.cc:16860
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.cc:16915
+#: fortran/resolve.cc:16944
 #, gcc-internal-format
 msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:16924
+#: fortran/resolve.cc:16953
 #, gcc-internal-format
 msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:16932
+#: fortran/resolve.cc:16961
 #, gcc-internal-format
 msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.cc:16948
+#: fortran/resolve.cc:16977
 #, gcc-internal-format
 msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17051
+#: fortran/resolve.cc:17080
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17066
+#: fortran/resolve.cc:17095
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.cc:17091
+#: fortran/resolve.cc:17120
 #, gcc-internal-format
 msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17100
+#: fortran/resolve.cc:17129
 #, gcc-internal-format
 msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17173
+#: fortran/resolve.cc:17202
 #, gcc-internal-format
 msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17184
+#: fortran/resolve.cc:17213
 #, gcc-internal-format
 msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17195
+#: fortran/resolve.cc:17224
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "Chuỗi con tại %L có độ dài là không"
 
-#: fortran/resolve.cc:17226
+#: fortran/resolve.cc:17255
 #, gcc-internal-format
 msgid "Self reference in character length expression for %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17293
+#: fortran/resolve.cc:17322
 #, gcc-internal-format
 msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17306
+#: fortran/resolve.cc:17335
 #, gcc-internal-format
 msgid "ENTRY %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:17326
+#: fortran/resolve.cc:17355
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:17336
+#: fortran/resolve.cc:17365
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.cc:17344
+#: fortran/resolve.cc:17373
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:17358
+#: fortran/resolve.cc:17387
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17376
+#: fortran/resolve.cc:17405
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17383
+#: fortran/resolve.cc:17412
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.cc:17462
+#: fortran/resolve.cc:17491
 #, gcc-internal-format
 msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -77179,96 +77420,96 @@ msgstr "Không phải là thư mục bao gồm sẵn có %qs"
 msgid "%qs is not a directory"
 msgstr "%qs không phải là một thư mục"
 
-#: fortran/scanner.cc:793
+#: fortran/scanner.cc:792
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC at %C starts a commented line as it neither is followed by a space nor is a continuation line"
 msgstr ""
 
-#: fortran/scanner.cc:833
+#: fortran/scanner.cc:832
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
 msgstr ""
 
-#: fortran/scanner.cc:1320 fortran/scanner.cc:1523
+#: fortran/scanner.cc:1319 fortran/scanner.cc:1522
 #, gcc-internal-format, gfc-internal-format
 msgid "Line truncated at %L"
 msgstr "Dòng bị cắt cụt tại %L"
 
-#: fortran/scanner.cc:1384 fortran/scanner.cc:1613
+#: fortran/scanner.cc:1383 fortran/scanner.cc:1612
 #, gcc-internal-format, gfc-internal-format
 msgid "Limit of %d continuations exceeded in statement at %C"
 msgstr ""
 
-#: fortran/scanner.cc:1463 fortran/scanner.cc:1572
+#: fortran/scanner.cc:1462 fortran/scanner.cc:1571
 #, gcc-internal-format, gfc-internal-format
 msgid "Wrong OpenACC continuation at %C: expected !$ACC, got !$OMP"
 msgstr ""
 
-#: fortran/scanner.cc:1465 fortran/scanner.cc:1574
+#: fortran/scanner.cc:1464 fortran/scanner.cc:1573
 #, gcc-internal-format, gfc-internal-format
 msgid "Wrong OpenMP continuation at %C: expected !$OMP, got !$ACC"
 msgstr ""
 
-#: fortran/scanner.cc:1478
+#: fortran/scanner.cc:1477
 #, gcc-internal-format
 msgid "Missing %<&%> in continued character constant at %C"
 msgstr "Thiếu %<&%> trong hằng ký tự tiếp tục tại %C"
 
-#: fortran/scanner.cc:1764
+#: fortran/scanner.cc:1763
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconforming tab character at %C"
 msgstr "Có ký tự tab không phù hợp tại %C"
 
-#: fortran/scanner.cc:1775
+#: fortran/scanner.cc:1774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid character in name at %C"
 msgid "Invalid character 0x%s at %C"
 msgstr "Tên có chứa ký tự không hợp lệ tại %C"
 
-#: fortran/scanner.cc:1864 fortran/scanner.cc:1867
+#: fortran/scanner.cc:1863 fortran/scanner.cc:1866
 #, gcc-internal-format
 msgid "%<&%> not allowed by itself in line %d"
 msgstr ""
 
-#: fortran/scanner.cc:1957
+#: fortran/scanner.cc:1956
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconforming tab character in column %d of line %d"
 msgstr ""
 
-#: fortran/scanner.cc:2186
+#: fortran/scanner.cc:2185
 #, gcc-internal-format
 msgid "file %qs left but not entered"
 msgstr "tập tin còn %qs nhưng không vào được"
 
-#: fortran/scanner.cc:2228
+#: fortran/scanner.cc:2227
 #, gcc-internal-format
 msgid "Illegal preprocessor directive"
 msgstr "Chỉ thị tiền xử lý không hợp lệ"
 
-#: fortran/scanner.cc:2551
+#: fortran/scanner.cc:2550
 #, gcc-internal-format
 msgid "File %qs is being included recursively"
 msgstr ""
 
-#: fortran/scanner.cc:2563
+#: fortran/scanner.cc:2562
 #, fuzzy, gcc-internal-format
 #| msgid "Can't open file %qs"
 msgid "Cannot open file %qs"
 msgstr "Không thể mở tập tin %qs"
 
-#: fortran/scanner.cc:2573
+#: fortran/scanner.cc:2572
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot open profile file %s."
 msgid "Cannot open included file %qs"
 msgstr "Không thể mở tập tin hồ sơ %s"
 
-#: fortran/scanner.cc:2575
+#: fortran/scanner.cc:2574
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot open profile file %s."
 msgid "Cannot open pre-included file %qs"
 msgstr "Không thể mở tập tin hồ sơ %s"
 
-#: fortran/scanner.cc:2583 fortran/scanner.cc:2585
+#: fortran/scanner.cc:2582 fortran/scanner.cc:2584
 #, fuzzy, gcc-internal-format
 #| msgid "input file %qs is the same as output file"
 msgid "Included file %qs is not a regular file"
@@ -77416,220 +77657,220 @@ msgstr ""
 msgid "in gfc_simplify_cos(): Bad type"
 msgstr "in gfc_simplify_cos(): Kiểu sai"
 
-#: fortran/simplify.cc:2371
+#: fortran/simplify.cc:2372
 #, gcc-internal-format
 msgid "gfc_simplify_dim(): Bad type"
 msgstr "gfc_simplify_dim(): Kiểu sai"
 
-#: fortran/simplify.cc:2945
+#: fortran/simplify.cc:2946
 #, gcc-internal-format
 msgid "in gfc_simplify_exp(): Bad type"
 msgstr "in gfc_simplify_exp(): Kiểu sai"
 
-#: fortran/simplify.cc:3159
+#: fortran/simplify.cc:3160
 #, gcc-internal-format
 msgid "gfc_simplify_floor(): Bad kind"
 msgstr "gfc_simplify_floor(): Kiểu sai"
 
-#: fortran/simplify.cc:3272
+#: fortran/simplify.cc:3273
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR at %L must be of length one"
 msgstr ""
 
-#: fortran/simplify.cc:3280
+#: fortran/simplify.cc:3281
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR function at %L outside of range 0..127"
 msgstr ""
 
-#: fortran/simplify.cc:3395
+#: fortran/simplify.cc:3396
 #, gcc-internal-format, gfc-internal-format
 msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3419
+#: fortran/simplify.cc:3420
 #, gcc-internal-format
 msgid "IBITS: Bad bit"
 msgstr ""
 
-#: fortran/simplify.cc:3470
+#: fortran/simplify.cc:3471
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ICHAR at %L must be of length one"
 msgstr ""
 
 #. Left shift, as in SHIFTL.
-#: fortran/simplify.cc:3855 fortran/simplify.cc:3863
+#: fortran/simplify.cc:3856 fortran/simplify.cc:3864
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of %s is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3875
+#: fortran/simplify.cc:3876
 #, gcc-internal-format, gfc-internal-format
 msgid "Magnitude of second argument of %s exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:4000
+#: fortran/simplify.cc:4001
 #, gcc-internal-format, gfc-internal-format
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %C"
 msgstr ""
 
-#: fortran/simplify.cc:4003
+#: fortran/simplify.cc:4004
 #, gcc-internal-format, gfc-internal-format
 msgid "Absolute value of SHIFT shall be less than or equal to SIZE at %C"
 msgstr ""
 
-#: fortran/simplify.cc:4350 fortran/simplify.cc:4483
+#: fortran/simplify.cc:4351 fortran/simplify.cc:4484
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.cc:4710
+#: fortran/simplify.cc:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:4723
+#: fortran/simplify.cc:4724
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.cc:4734
+#: fortran/simplify.cc:4735
 #, gcc-internal-format
 msgid "gfc_simplify_log: bad type"
 msgstr "gfc_simplify_log: Kiểu sai"
 
-#: fortran/simplify.cc:4751
+#: fortran/simplify.cc:4752
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:5089
+#: fortran/simplify.cc:5090
 #, gcc-internal-format
 msgid "simplify_min_max(): Bad type in arglist"
 msgstr ""
 
-#: fortran/simplify.cc:6010 fortran/simplify.cc:6018
+#: fortran/simplify.cc:6011 fortran/simplify.cc:6019
 #, fuzzy, gcc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "Argument %qs of MOD at %L shall not be zero"
 msgstr "Đối số của %s tại %L phải là của một độ dài"
 
-#: fortran/simplify.cc:6024
+#: fortran/simplify.cc:6025
 #, gcc-internal-format
 msgid "gfc_simplify_mod(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6062 fortran/simplify.cc:6070
+#: fortran/simplify.cc:6063 fortran/simplify.cc:6071
 #, fuzzy, gcc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "Argument %qs of MODULO at %L shall not be zero"
 msgstr "Đối số của %s tại %L phải là của một độ dài"
 
-#: fortran/simplify.cc:6076
+#: fortran/simplify.cc:6077
 #, gcc-internal-format
 msgid "gfc_simplify_modulo(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6148
+#: fortran/simplify.cc:6149
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6725
+#: fortran/simplify.cc:6726
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6781
+#: fortran/simplify.cc:6782
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6818
+#: fortran/simplify.cc:6819
 #, gcc-internal-format, gfc-internal-format
 msgid "Evaluation of string longer than 2**28 at %L deferred to runtime, expect bugs"
 msgstr ""
 
-#: fortran/simplify.cc:6876
+#: fortran/simplify.cc:6877
 #, gcc-internal-format, gfc-internal-format
 msgid "The SHAPE array for the RESHAPE intrinsic at %L has a negative value %d for dimension %d"
 msgstr ""
 
-#: fortran/simplify.cc:6900
+#: fortran/simplify.cc:6901
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6913
+#: fortran/simplify.cc:6914
 #, gcc-internal-format, gfc-internal-format
 msgid "Sizes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6927
+#: fortran/simplify.cc:6928
 #, gcc-internal-format, gfc-internal-format
 msgid "Element with a value of %d in ORDER at %L must be in the range [1, ..., %d] for the RESHAPE intrinsic near %L"
 msgstr ""
 
-#: fortran/simplify.cc:6937
+#: fortran/simplify.cc:6938
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDER at %L is not a permutation of the size of SHAPE at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6998
+#: fortran/simplify.cc:6999
 #, gcc-internal-format, gfc-internal-format
 msgid "Reshaped array too large at %C"
 msgstr ""
 
-#: fortran/simplify.cc:7114
+#: fortran/simplify.cc:7115
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.cc:7703
+#: fortran/simplify.cc:7704
 #, gcc-internal-format
 msgid "Bad type in gfc_simplify_sign"
 msgstr ""
 
-#: fortran/simplify.cc:7732
+#: fortran/simplify.cc:7733
 #, gcc-internal-format
 msgid "in gfc_simplify_sin(): Bad type"
 msgstr "in gfc_simplify_sin(): Kiểu sai"
 
-#: fortran/simplify.cc:7870 fortran/simplify.cc:8153
+#: fortran/simplify.cc:7871 fortran/simplify.cc:8154
 #, gcc-internal-format
 msgid "Failure getting length of a constant array."
 msgstr ""
 
-#: fortran/simplify.cc:7880
+#: fortran/simplify.cc:7881
 #, gcc-internal-format
 msgid "The number of elements (%d) in the array constructor at %L requires an increase of the allowed %d upper limit.  See %<-fmax-array-constructor%> option."
 msgstr ""
 
-#: fortran/simplify.cc:7947
+#: fortran/simplify.cc:7948
 #, gcc-internal-format, gfc-internal-format
 msgid "Simplification of SPREAD at %C not yet implemented"
 msgstr ""
 
-#: fortran/simplify.cc:7971
+#: fortran/simplify.cc:7972
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.cc:7987
+#: fortran/simplify.cc:7988
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument of SQRT at %L"
 msgstr "đối số của SQRT tại %L không hợp lệ"
 
-#: fortran/simplify.cc:8334
+#: fortran/simplify.cc:8335
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.cc:8357
+#: fortran/simplify.cc:8358
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.cc:8841
+#: fortran/simplify.cc:8842
 #, gcc-internal-format
 msgid "Character %qs in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -78059,17 +78300,17 @@ msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/trans-array.cc:6285
+#: fortran/trans-array.cc:6292
 #, gcc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option"
 msgstr ""
 
-#: fortran/trans-array.cc:8456
+#: fortran/trans-array.cc:8463
 #, gcc-internal-format
 msgid "Creating array temporary at %L for argument %qs"
 msgstr ""
 
-#: fortran/trans-array.cc:11719
+#: fortran/trans-array.cc:11726
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -78250,17 +78491,17 @@ msgstr ""
 msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported"
 msgstr ""
 
-#: fortran/trans-expr.cc:3878
+#: fortran/trans-expr.cc:3880
 #, gcc-internal-format
 msgid "Unknown intrinsic op"
 msgstr "Không hiểu intrinsic op"
 
-#: fortran/trans-expr.cc:5396
+#: fortran/trans-expr.cc:5398
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown argument list function at %L"
 msgstr ""
 
-#: fortran/trans-expr.cc:9991
+#: fortran/trans-expr.cc:9998
 #, gcc-internal-format, gfc-internal-format
 msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL"
 msgstr ""
@@ -78276,12 +78517,12 @@ msgstr ""
 msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:11852 fortran/trans-stmt.cc:1091
+#: fortran/trans-intrinsic.cc:11854 fortran/trans-stmt.cc:1100
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, the event component of derived type at %L is not yet supported"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:11859
+#: fortran/trans-intrinsic.cc:11861
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The event variable at %L shall not be coindexed "
 msgid "The event variable at %L shall not be coindexed"
@@ -78297,83 +78538,83 @@ msgstr ""
 msgid "Bad IO basetype (%d)"
 msgstr ""
 
-#: fortran/trans-openmp.cc:824 fortran/trans-openmp.cc:1336
+#: fortran/trans-openmp.cc:829 fortran/trans-openmp.cc:1346
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "Sorry, polymorphic arrays not yet supported for firstprivate"
 msgstr "-fprefetch-loop-arrays không được hỗ trợ bởi đích này"
 
-#: fortran/trans-openmp.cc:1490
+#: fortran/trans-openmp.cc:1500
 #, gcc-internal-format
 msgid "implicit mapping of assumed size array %qD"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3072
+#: fortran/trans-openmp.cc:3082
 #, fuzzy, gcc-internal-format
 #| msgid "optional argument"
 msgid "optional class parameter"
 msgstr "đối số tùy chọn"
 
-#: fortran/trans-openmp.cc:3388
+#: fortran/trans-openmp.cc:3399
 #, fuzzy, gcc-internal-format
 #| msgid "Expected expression type"
 msgid "unhandled expression type"
 msgstr "Mong đợi một loại biểu thức"
 
-#: fortran/trans-openmp.cc:3542
+#: fortran/trans-openmp.cc:3553
 #, fuzzy, gcc-internal-format
 #| msgid "expected expression"
 msgid "unhandled expression"
 msgstr "cần biểu thức"
 
-#: fortran/trans-openmp.cc:7248
+#: fortran/trans-openmp.cc:7293
 #, gcc-internal-format
 msgid "gfc_trans_omp_workshare(): Bad statement code"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7546
+#: fortran/trans-openmp.cc:7591
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name for 'declare variant' must be specified at %L "
 msgstr ""
 
-#: fortran/trans-openmp.cc:7556
+#: fortran/trans-openmp.cc:7601
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L does not match the name of the current procedure"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7559
+#: fortran/trans-openmp.cc:7604
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be an entry name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7562
+#: fortran/trans-openmp.cc:7607
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a generic name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7565
+#: fortran/trans-openmp.cc:7610
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a procedure pointer"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7568
+#: fortran/trans-openmp.cc:7613
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "The base procedure at %L must have an explicit interface"
 msgstr "Tham số %qs của thủ tục cơ bản tại %L phải là vô hướng"
 
-#: fortran/trans-openmp.cc:7665
+#: fortran/trans-openmp.cc:7710
 #, fuzzy, gcc-internal-format
 #| msgid "Unable to find symbol %qs"
 msgid "Cannot find symbol %qs"
 msgstr "không thể tìm thấy ký hiệu %qs"
 
-#: fortran/trans-openmp.cc:7676
+#: fortran/trans-openmp.cc:7721
 #, fuzzy, gcc-internal-format
 #| msgid "%qs at %L is not a function"
 msgid "variant %qs at %L is not a function or subroutine"
 msgstr "“%qs” tại %L không phải là một hàm"
 
-#: fortran/trans-openmp.cc:7688
+#: fortran/trans-openmp.cc:7733
 #, fuzzy, gcc-internal-format
 #| msgid "Warn when there is a conversion between pointers that have incompatible types."
 msgid "variant %qs and base %qs at %L have incompatible types: %s"
@@ -78384,17 +78625,17 @@ msgstr "Cảnh báo khi chuyển đổi giữa một con trỏ tới kiểu khô
 msgid "An alternate return at %L without a * dummy argument"
 msgstr ""
 
-#: fortran/trans-stmt.cc:895
+#: fortran/trans-stmt.cc:904
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, the lock component of derived type at %L is not yet supported"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1354
+#: fortran/trans-stmt.cc:1363
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, only support for integer kind %d implemented for image-set at %L"
 msgstr ""
 
-#: fortran/trans-stmt.cc:3622
+#: fortran/trans-stmt.cc:3631
 #, gcc-internal-format
 msgid "gfc_trans_select(): Bad type for case expr."
 msgstr "gfc_trans_select(): Kiểu cho biểu thức case sai."
@@ -80309,6 +80550,69 @@ msgstr ""
 #~ msgid "bad value %qs for -mtune switch"
 #~ msgstr "giá trị sai %qs cho -mtune"
 
+#~ msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_rori_pi16 in code."
+#~ msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_rori_pi16 trong mã."
+
+#~ msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_rori_pi32 in code."
+#~ msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_rori_pi32 trong mã."
+
+#~ msgid "the range of count should be in 0 to 32.  please check the intrinsic _mm_ror_pi32 in code."
+#~ msgstr "vùng của số lượng phải nằm trong vùn 0 đến 32.  hãy kiểm tra bên trong _mm_ror_pi32 trong mã."
+
+#~ msgid "the range of count should be in 0 to 64.  please check the intrinsic _mm_rori_si64 in code."
+#~ msgstr "vùng của số lượng phải nằm trong vùn 0 đến 64.  hãy kiểm tra bên trong _mm_rori_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_pi16 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_pi16 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srli_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srli_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_pi16 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_pi16 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_slli_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_slli_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_pi16 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_pi16 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srai_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srai_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srl_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srl_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_srl_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_srl_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_pi16 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_pi16 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sll_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sll_si64 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_pi16 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_pi16 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_pi32 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_pi32 trong mã."
+
+#~ msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_si64 in code."
+#~ msgstr "số lượng không được nhỏ hơn 0.  hãy kiểm tra bên trong _mm_sra_si64 trong mã."
+
 #~ msgid "-mslow-flash-data only supports non-pic code on armv7-m targets"
 #~ msgstr "-mslow-flash-data chỉ hỗ trợ mã không-pic trên đích armv7-m"
 
@@ -80661,6 +80965,9 @@ msgstr ""
 #~ msgid "changes meaning of %qD from %q#D"
 #~ msgstr "thay đổi nghĩa của %qD từ %q#D"
 
+#~ msgid "%qD declared %<constexpr%> outside its class"
+#~ msgstr "%qD được khai báo %<constexpr%> ngoài lớp của nó"
+
 #~ msgid "size of array %qD is negative"
 #~ msgstr "kích cỡ mảng %qD bị âm"