diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot
index 2ad01c86a9bd270ac651a1a45be0481e7083595c..94f6fe77053b62e26c61c9f90345de993018f747 100644
--- a/gcc/po/gcc.pot
+++ b/gcc/po/gcc.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2023-07-26 18:48+0000\n"
+"POT-Creation-Date: 2024-02-16 21:35+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -241,82 +241,86 @@ msgstr ""
 msgid "error"
 msgstr ""
 
-#: gcc.cc:843 gcc.cc:900
+#: gcc.cc:852 gcc.cc:909
 msgid "-gz is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:849
+#: gcc.cc:858
 msgid "-gz=zstd is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1083
+#: gcc.cc:1092
 msgid "-fuse-linker-plugin is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1099
+#: gcc.cc:1108
 msgid "cannot specify -static with -fsanitize=address"
 msgstr ""
 
-#: gcc.cc:1101
+#: gcc.cc:1110
 msgid "cannot specify -static with -fsanitize=hwaddress"
 msgstr ""
 
-#: gcc.cc:1103
+#: gcc.cc:1112
 msgid "cannot specify -static with -fsanitize=thread"
 msgstr ""
 
-#: gcc.cc:1125
+#: gcc.cc:1134
 msgid "-fvtable-verify=std is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1127
+#: gcc.cc:1136
 msgid "-fvtable-verify=preinit is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1264 ada/gcc-interface/lang-specs.h:37
+#: gcc.cc:1279 ada/gcc-interface/lang-specs.h:37
 msgid "-pg and -fomit-frame-pointer are incompatible"
 msgstr ""
 
-#: gcc.cc:1439
+#: gcc.cc:1454
 msgid "GNU C no longer supports -traditional without -E"
 msgstr ""
 
-#: gcc.cc:1448
+#: gcc.cc:1463
 msgid "-E or -x required when input is from standard input"
 msgstr ""
 
-#: config/darwin.h:151
+#: config/darwin.h:150
 msgid "conflicting code generation switches"
 msgstr ""
 
-#: config/darwin.h:156
+#: config/darwin.h:155
 msgid "-bundle_loader not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:158
+#: config/darwin.h:157
 msgid "-client_name not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:167
+#: config/darwin.h:166
 msgid "-keep_private_externs not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:169
+#: config/darwin.h:168
 msgid "-private_bundle not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:177
+#: config/darwin.h:176
 msgid "-compatibility_version only allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:179
+#: config/darwin.h:178
 msgid "-current_version only allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:181
+#: config/darwin.h:180
 msgid "-install_name only allowed with -dynamiclib"
 msgstr ""
 
+#: config/darwin.h:191
+msgid "-bundle not allowed with -shared"
+msgstr ""
+
 #: config/darwin.h:192
 msgid "-bundle not allowed with -dynamiclib"
 msgstr ""
@@ -325,7 +329,7 @@ msgstr ""
 msgid "-force_flat_namespace not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:213 config/darwin.h:611
+#: config/darwin.h:213 config/darwin.h:659
 msgid "gsplit-dwarf is not supported on this platform"
 msgstr ""
 
@@ -363,11 +367,11 @@ msgstr ""
 msgid "consider using `-pg' instead of `-p' with gprof (1)"
 msgstr ""
 
-#: config/arc/arc.h:68 config/mips/mips.h:1494
+#: config/arc/arc.h:68 config/mips/mips.h:1502
 msgid "may not use both -EB and -EL"
 msgstr ""
 
-#: config/avr/specs.h:71 config/pru/pru.h:58
+#: config/avr/specs.h:70 config/pru/pru.h:58
 msgid "shared is not supported"
 msgstr ""
 
@@ -434,7 +438,7 @@ msgstr ""
 msgid "  profiling support are only provided in archive format"
 msgstr ""
 
-#: config/rs6000/darwin.h:123
+#: config/rs6000/darwin.h:126
 msgid " conflicting code gen style switches are used"
 msgstr ""
 
@@ -496,14 +500,10 @@ msgstr ""
 msgid "-c required for gnat2scil"
 msgstr ""
 
-#: fortran/lang-specs.h:60 fortran/lang-specs.h:74
+#: fortran/lang-specs.h:63 fortran/lang-specs.h:81
 msgid "gfortran does not support -E without -cpp"
 msgstr ""
 
-#: m2/lang-specs.h:48
-msgid "to generate dependencies you must specify '-fcpp' "
-msgstr ""
-
 #: objc/lang-specs.h:30 objc/lang-specs.h:41
 msgid "GNU Objective C no longer supports traditional compilation"
 msgstr ""
@@ -543,11 +543,11 @@ msgstr ""
 msgid "Warn about creation of array temporaries."
 msgstr ""
 
-#: fortran/lang.opt:214 fortran/lang.opt:535 c-family/c.opt:1542
-#: config/alpha/alpha.opt:31 common.opt:681 common.opt:823 common.opt:1064
-#: common.opt:1068 common.opt:1072 common.opt:1076 common.opt:1800
-#: common.opt:1864 common.opt:2007 common.opt:2011 common.opt:2286
-#: common.opt:2504 common.opt:3224
+#: fortran/lang.opt:214 fortran/lang.opt:539 c-family/c.opt:1590
+#: config/alpha/alpha.opt:31 common.opt:685 common.opt:831 common.opt:1074
+#: common.opt:1078 common.opt:1082 common.opt:1086 common.opt:1814
+#: common.opt:1917 common.opt:2094 common.opt:2098 common.opt:2377
+#: common.opt:2595 common.opt:3362
 #, no-c-format
 msgid "Does nothing. Preserved for backward compatibility."
 msgstr ""
@@ -617,679 +617,721 @@ msgstr ""
 msgid "Warn about USE statements that have no ONLY qualifier."
 msgstr ""
 
-#: fortran/lang.opt:298
+#: fortran/lang.opt:302
 #, no-c-format
 msgid "Warn that -fno-automatic may break recursion."
 msgstr ""
 
-#: fortran/lang.opt:306
+#: fortran/lang.opt:310
 #, no-c-format
 msgid "Warn about real-literal-constants with 'q' exponent-letter."
 msgstr ""
 
-#: fortran/lang.opt:310
+#: fortran/lang.opt:314
 #, no-c-format
 msgid "Warn when a left-hand-side array variable is reallocated."
 msgstr ""
 
-#: fortran/lang.opt:314
+#: fortran/lang.opt:318
 #, no-c-format
 msgid "Warn when a left-hand-side variable is reallocated."
 msgstr ""
 
-#: fortran/lang.opt:318
+#: fortran/lang.opt:322
 #, no-c-format
 msgid "Warn if the pointer in a pointer assignment might outlive its target."
 msgstr ""
 
-#: fortran/lang.opt:326
+#: fortran/lang.opt:330
 #, no-c-format
 msgid "Warn about \"suspicious\" constructs."
 msgstr ""
 
-#: fortran/lang.opt:330
+#: fortran/lang.opt:334
 #, no-c-format
 msgid "Permit nonconforming uses of the tab character."
 msgstr ""
 
-#: fortran/lang.opt:334
+#: fortran/lang.opt:338
 #, no-c-format
 msgid "Warn about an invalid DO loop."
 msgstr ""
 
-#: fortran/lang.opt:338
+#: fortran/lang.opt:342
 #, no-c-format
 msgid "Warn about underflow of numerical constant expressions."
 msgstr ""
 
-#: fortran/lang.opt:346
+#: fortran/lang.opt:350
 #, no-c-format
 msgid "Warn if a user-procedure has the same name as an intrinsic."
 msgstr ""
 
-#: fortran/lang.opt:354
+#: fortran/lang.opt:358
 #, no-c-format
 msgid "Warn about unused dummy arguments."
 msgstr ""
 
-#: fortran/lang.opt:358
+#: fortran/lang.opt:362
 #, no-c-format
 msgid "Warn about zero-trip DO loops."
 msgstr ""
 
-#: fortran/lang.opt:362
+#: fortran/lang.opt:366
 #, no-c-format
 msgid "Enable preprocessing."
 msgstr ""
 
-#: fortran/lang.opt:370
+#: fortran/lang.opt:374
 #, no-c-format
 msgid "Disable preprocessing."
 msgstr ""
 
-#: fortran/lang.opt:378
+#: fortran/lang.opt:382
 #, no-c-format
 msgid "Accept argument mismatches in procedure calls."
 msgstr ""
 
-#: fortran/lang.opt:382
+#: fortran/lang.opt:386
 #, no-c-format
 msgid "Eliminate multiple function invocations also for impure functions."
 msgstr ""
 
-#: fortran/lang.opt:386
+#: fortran/lang.opt:390
 #, no-c-format
 msgid "Enable alignment of COMMON blocks."
 msgstr ""
 
-#: fortran/lang.opt:390
+#: fortran/lang.opt:394
 #, no-c-format
 msgid ""
 "All intrinsics procedures are available regardless of selected standard."
 msgstr ""
 
-#: fortran/lang.opt:394
+#: fortran/lang.opt:398
 #, no-c-format
 msgid ""
 "Allow a BOZ literal constant to appear in an invalid context and with X "
 "instead of Z."
 msgstr ""
 
-#: fortran/lang.opt:402
+#: fortran/lang.opt:406
 #, no-c-format
 msgid ""
 "Do not treat local variables and COMMON blocks as if they were named in SAVE "
 "statements."
 msgstr ""
 
-#: fortran/lang.opt:406
+#: fortran/lang.opt:410
 #, no-c-format
 msgid "Specify that backslash in string introduces an escape character."
 msgstr ""
 
-#: fortran/lang.opt:410
+#: fortran/lang.opt:414
 #, no-c-format
 msgid "Produce a backtrace when a runtime error is encountered."
 msgstr ""
 
-#: fortran/lang.opt:414
+#: fortran/lang.opt:418
 #, no-c-format
 msgid ""
 "-fblas-matmul-limit=<n>\tSize of the smallest matrix for which matmul will "
 "use BLAS."
 msgstr ""
 
-#: fortran/lang.opt:421
+#: fortran/lang.opt:425
 #, no-c-format
 msgid ""
 "Produce a warning at runtime if a array temporary has been created for a "
 "procedure argument."
 msgstr ""
 
-#: fortran/lang.opt:425
+#: fortran/lang.opt:429
 #, no-c-format
 msgid ""
 "-fconvert=<big-endian|little-endian|native|swap|r16_ieee|r16_ibm>\tThe "
 "endianness used for unformatted files."
 msgstr ""
 
-#: fortran/lang.opt:450
+#: fortran/lang.opt:454
 #, no-c-format
 msgid "Use the Cray Pointer extension."
 msgstr ""
 
-#: fortran/lang.opt:454
+#: fortran/lang.opt:458
 #, no-c-format
 msgid "Generate C prototypes from BIND(C) declarations."
 msgstr ""
 
-#: fortran/lang.opt:458
+#: fortran/lang.opt:462
 #, no-c-format
 msgid "Generate C prototypes from non-BIND(C) external procedure definitions."
 msgstr ""
 
-#: fortran/lang.opt:462
+#: fortran/lang.opt:466
 #, no-c-format
 msgid "Ignore 'D' in column one in fixed form."
 msgstr ""
 
-#: fortran/lang.opt:466
+#: fortran/lang.opt:470
 #, no-c-format
 msgid "Treat lines with 'D' in column one as comments."
 msgstr ""
 
-#: fortran/lang.opt:470
+#: fortran/lang.opt:474
 #, no-c-format
 msgid "Issue debug information for compiler-generated auxiliary variables."
 msgstr ""
 
-#: fortran/lang.opt:474
+#: fortran/lang.opt:478
 #, no-c-format
 msgid "Enable all DEC language extensions."
 msgstr ""
 
-#: fortran/lang.opt:478
+#: fortran/lang.opt:482
 #, no-c-format
 msgid "Enable the use of blank format items in format strings."
 msgstr ""
 
-#: fortran/lang.opt:482
+#: fortran/lang.opt:486
 #, no-c-format
 msgid ""
 "Enable the use of character literals in assignments and data statements for "
 "non-character variables."
 msgstr ""
 
-#: fortran/lang.opt:487
+#: fortran/lang.opt:491
 #, no-c-format
 msgid "Enable legacy parsing of INCLUDE as statement."
 msgstr ""
 
-#: fortran/lang.opt:491
+#: fortran/lang.opt:495
 #, no-c-format
 msgid "Enable default widths for i, f and g format specifiers."
 msgstr ""
 
-#: fortran/lang.opt:495
+#: fortran/lang.opt:499
 #, no-c-format
 msgid "Enable kind-specific variants of integer intrinsic functions."
 msgstr ""
 
-#: fortran/lang.opt:499
+#: fortran/lang.opt:503
 #, no-c-format
 msgid "Enable legacy math intrinsics for compatibility."
 msgstr ""
 
-#: fortran/lang.opt:503
+#: fortran/lang.opt:507
 #, no-c-format
 msgid "Enable support for DEC STRUCTURE/RECORD."
 msgstr ""
 
-#: fortran/lang.opt:507
+#: fortran/lang.opt:511
 #, no-c-format
 msgid "Enable DEC-style STATIC and AUTOMATIC attributes."
 msgstr ""
 
-#: fortran/lang.opt:511
+#: fortran/lang.opt:515
 #, no-c-format
 msgid "Set the default double precision kind to an 8 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:515
+#: fortran/lang.opt:519
 #, no-c-format
 msgid "Set the default integer kind to an 8 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:519
+#: fortran/lang.opt:523
 #, no-c-format
 msgid "Set the default real kind to an 8 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:523
+#: fortran/lang.opt:527
 #, no-c-format
 msgid "Set the default real kind to an 10 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:527
+#: fortran/lang.opt:531
 #, no-c-format
 msgid "Set the default real kind to an 16 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:531
+#: fortran/lang.opt:535
 #, no-c-format
 msgid "Allow dollar signs in entity names."
 msgstr ""
 
-#: fortran/lang.opt:539
+#: fortran/lang.opt:543
 #, no-c-format
 msgid "Display the code tree after parsing."
 msgstr ""
 
-#: fortran/lang.opt:543
+#: fortran/lang.opt:547
 #, no-c-format
 msgid "Display the code tree after front end optimization."
 msgstr ""
 
-#: fortran/lang.opt:547
+#: fortran/lang.opt:551
 #, no-c-format
 msgid "Display the global symbol table after parsing."
 msgstr ""
 
-#: fortran/lang.opt:551
+#: fortran/lang.opt:555
 #, no-c-format
 msgid "Display the code tree after parsing; deprecated option."
 msgstr ""
 
-#: fortran/lang.opt:555
+#: fortran/lang.opt:559
 #, no-c-format
 msgid ""
 "Specify that an external BLAS library should be used for matmul calls on "
 "large-size arrays."
 msgstr ""
 
-#: fortran/lang.opt:559
+#: fortran/lang.opt:563
 #, no-c-format
 msgid "Use f2c calling convention."
 msgstr ""
 
-#: fortran/lang.opt:563
+#: fortran/lang.opt:567
 #, no-c-format
 msgid "Assume that the source file is fixed form."
 msgstr ""
 
-#: fortran/lang.opt:567
+#: fortran/lang.opt:571
 #, no-c-format
 msgid "Force creation of temporary to test infrequently-executed forall code."
 msgstr ""
 
-#: fortran/lang.opt:571
+#: fortran/lang.opt:575
 #, no-c-format
 msgid "Interpret any INTEGER(4) as an INTEGER(8)."
 msgstr ""
 
-#: fortran/lang.opt:575 fortran/lang.opt:579
+#: fortran/lang.opt:579 fortran/lang.opt:583
 #, no-c-format
 msgid "Specify where to find the compiled intrinsic modules."
 msgstr ""
 
-#: fortran/lang.opt:583
+#: fortran/lang.opt:587
 #, no-c-format
 msgid "Allow arbitrary character line width in fixed mode."
 msgstr ""
 
-#: fortran/lang.opt:587
+#: fortran/lang.opt:591
 #, no-c-format
 msgid "-ffixed-line-length-<n>\tUse n as character line width in fixed mode."
 msgstr ""
 
-#: fortran/lang.opt:591
+#: fortran/lang.opt:595
 #, no-c-format
 msgid "Pad shorter fixed form lines to line width with spaces."
 msgstr ""
 
-#: fortran/lang.opt:595
+#: fortran/lang.opt:599
 #, no-c-format
 msgid "-ffpe-trap=[...]\tStop on following floating point exceptions."
 msgstr ""
 
-#: fortran/lang.opt:599
+#: fortran/lang.opt:603
 #, no-c-format
 msgid "-ffpe-summary=[...]\tPrint summary of floating point exceptions."
 msgstr ""
 
-#: fortran/lang.opt:603
+#: fortran/lang.opt:607
 #, no-c-format
 msgid "Assume that the source file is free form."
 msgstr ""
 
-#: fortran/lang.opt:607
+#: fortran/lang.opt:611
 #, no-c-format
 msgid "Allow arbitrary character line width in free mode."
 msgstr ""
 
-#: fortran/lang.opt:611
+#: fortran/lang.opt:615
 #, no-c-format
 msgid "-ffree-line-length-<n>\tUse n as character line width in free mode."
 msgstr ""
 
-#: fortran/lang.opt:615
+#: fortran/lang.opt:619
 #, no-c-format
 msgid "Try to interchange loops if profitable."
 msgstr ""
 
-#: fortran/lang.opt:619
+#: fortran/lang.opt:623
 #, no-c-format
 msgid "Enable front end optimization."
 msgstr ""
 
-#: fortran/lang.opt:623
+#: fortran/lang.opt:627
 #, no-c-format
 msgid ""
 "Specify that no implicit typing is allowed, unless overridden by explicit "
 "IMPLICIT statements."
 msgstr ""
 
-#: fortran/lang.opt:627
+#: fortran/lang.opt:631
 #, no-c-format
 msgid ""
 "-finit-character=<n>\tInitialize local character variables to ASCII value n."
 msgstr ""
 
-#: fortran/lang.opt:631
+#: fortran/lang.opt:635
 #, no-c-format
 msgid ""
 "Initialize components of derived type variables according to other init "
 "flags."
 msgstr ""
 
-#: fortran/lang.opt:635
+#: fortran/lang.opt:639
 #, no-c-format
 msgid "-finit-integer=<n>\tInitialize local integer variables to n."
 msgstr ""
 
-#: fortran/lang.opt:639
+#: fortran/lang.opt:643
 #, no-c-format
 msgid "Initialize local variables to zero (from g77)."
 msgstr ""
 
-#: fortran/lang.opt:643
+#: fortran/lang.opt:647
 #, no-c-format
 msgid "-finit-logical=<true|false>\tInitialize local logical variables."
 msgstr ""
 
-#: fortran/lang.opt:647
+#: fortran/lang.opt:651
 #, no-c-format
 msgid "-finit-real=<zero|snan|nan|inf|-inf>\tInitialize local real variables."
 msgstr ""
 
-#: fortran/lang.opt:669
+#: fortran/lang.opt:673
 #, no-c-format
 msgid "-finline-arg-packing\tPerform argument packing inline."
 msgstr ""
 
-#: fortran/lang.opt:673
+#: fortran/lang.opt:677
 #, no-c-format
 msgid ""
 "-finline-matmul-limit=<n>\tSpecify the size of the largest matrix for which "
 "matmul will be inlined."
 msgstr ""
 
-#: fortran/lang.opt:677
+#: fortran/lang.opt:681
 #, no-c-format
 msgid ""
 "-fmax-array-constructor=<n>\tMaximum number of objects in an array "
 "constructor."
 msgstr ""
 
-#: fortran/lang.opt:681
+#: fortran/lang.opt:685
 #, no-c-format
 msgid "-fmax-identifier-length=<n>\tMaximum identifier length."
 msgstr ""
 
-#: fortran/lang.opt:685
+#: fortran/lang.opt:689
 #, no-c-format
 msgid "-fmax-subrecord-length=<n>\tMaximum length for subrecords."
 msgstr ""
 
-#: fortran/lang.opt:689
+#: fortran/lang.opt:693
 #, no-c-format
 msgid ""
 "-fmax-stack-var-size=<n>\tSize in bytes of the largest array that will be "
 "put on the stack."
 msgstr ""
 
-#: fortran/lang.opt:693
+#: fortran/lang.opt:697
 #, no-c-format
 msgid "Put all local arrays on stack."
 msgstr ""
 
-#: fortran/lang.opt:697
+#: fortran/lang.opt:701
 #, no-c-format
 msgid "Set default accessibility of module entities to PRIVATE."
 msgstr ""
 
-#: fortran/lang.opt:717
+#: fortran/lang.opt:721
 #, no-c-format
-msgid "Try to lay out derived types as compactly as possible."
+msgid "Handle OpenMP allocators for allocatables and pointers."
 msgstr ""
 
 #: fortran/lang.opt:725
 #, no-c-format
+msgid "Try to lay out derived types as compactly as possible."
+msgstr ""
+
+#: fortran/lang.opt:733
+#, no-c-format
 msgid "Protect parentheses in expressions."
 msgstr ""
 
-#: fortran/lang.opt:729
+#: fortran/lang.opt:737
 #, no-c-format
 msgid ""
 "Path to header file that should be pre-included before each compilation unit."
 msgstr ""
 
-#: fortran/lang.opt:733
+#: fortran/lang.opt:741
 #, no-c-format
 msgid "Enable range checking during compilation."
 msgstr ""
 
-#: fortran/lang.opt:737
+#: fortran/lang.opt:745
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(8)."
 msgstr ""
 
-#: fortran/lang.opt:741
+#: fortran/lang.opt:749
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(10)."
 msgstr ""
 
-#: fortran/lang.opt:745
+#: fortran/lang.opt:753
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(16)."
 msgstr ""
 
-#: fortran/lang.opt:749
+#: fortran/lang.opt:757
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(4)."
 msgstr ""
 
-#: fortran/lang.opt:753
+#: fortran/lang.opt:761
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(10)."
 msgstr ""
 
-#: fortran/lang.opt:757
+#: fortran/lang.opt:765
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(16)."
 msgstr ""
 
-#: fortran/lang.opt:761
+#: fortran/lang.opt:769
 #, no-c-format
 msgid "Reallocate the LHS in assignments."
 msgstr ""
 
-#: fortran/lang.opt:765
+#: fortran/lang.opt:773
 #, no-c-format
 msgid "Use a 4-byte record marker for unformatted files."
 msgstr ""
 
-#: fortran/lang.opt:769
+#: fortran/lang.opt:777
 #, no-c-format
 msgid "Use an 8-byte record marker for unformatted files."
 msgstr ""
 
-#: fortran/lang.opt:773
+#: fortran/lang.opt:781
 #, no-c-format
 msgid "Allocate local variables on the stack to allow indirect recursion."
 msgstr ""
 
-#: fortran/lang.opt:777
+#: fortran/lang.opt:785
 #, no-c-format
 msgid "Copy array sections into a contiguous block on procedure entry."
 msgstr ""
 
-#: fortran/lang.opt:781
+#: fortran/lang.opt:789
 #, no-c-format
 msgid ""
 "-fcoarray=<none|single|lib>\tSpecify which coarray parallelization should be "
 "used."
 msgstr ""
 
-#: fortran/lang.opt:797
+#: fortran/lang.opt:805
 #, no-c-format
 msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed."
 msgstr ""
 
-#: fortran/lang.opt:801
+#: fortran/lang.opt:809
 #, no-c-format
 msgid "Append a second underscore if the name already contains an underscore."
 msgstr ""
 
-#: fortran/lang.opt:809
+#: fortran/lang.opt:817
 #, no-c-format
 msgid "Apply negative sign to zero values."
 msgstr ""
 
-#: fortran/lang.opt:816
+#: fortran/lang.opt:824
 #, no-c-format
 msgid ""
 "Disallow tail call optimization when a calling routine may have omitted "
 "character lengths."
 msgstr ""
 
-#: fortran/lang.opt:820
+#: fortran/lang.opt:828
 #, no-c-format
 msgid "Append underscores to externally visible names."
 msgstr ""
 
-#: fortran/lang.opt:824 c-family/c.opt:1677 c-family/c.opt:1754
-#: c-family/c.opt:1762 c-family/c.opt:2081 config/pa/pa.opt:46
-#: config/pa/pa.opt:78 config/arc/arc.opt:140 config/arc/arc.opt:296
-#: config/arc/arc.opt:308 config/arc/arc.opt:312 config/arc/arc.opt:317
-#: common.opt:639 common.opt:1162 common.opt:1166 common.opt:1170
-#: common.opt:1261 common.opt:1590 common.opt:1672 common.opt:1959
-#: common.opt:2102 common.opt:2145 common.opt:2579 common.opt:2615
-#: common.opt:2708 common.opt:2712 common.opt:2821 common.opt:2912
-#: common.opt:2920 common.opt:2928 common.opt:2936 common.opt:3037
-#: common.opt:3097 common.opt:3185 common.opt:3349 common.opt:3353
-#: common.opt:3357 common.opt:3361 common.opt:3431 common.opt:3435
-#: common.opt:3466 common.opt:3470
+#: fortran/lang.opt:832 c-family/c.opt:1725 c-family/c.opt:1802
+#: c-family/c.opt:1810 c-family/c.opt:2141 config/xtensa/xtensa.opt:42
+#: config/pa/pa.opt:46 config/pa/pa.opt:78 config/arc/arc.opt:140
+#: config/arc/arc.opt:296 config/arc/arc.opt:304 config/arc/arc.opt:308
+#: config/arc/arc.opt:312 config/arc/arc.opt:317 config/arc/arc.opt:326
+#: common.opt:643 common.opt:1172 common.opt:1176 common.opt:1180
+#: common.opt:1275 common.opt:1604 common.opt:1686 common.opt:2046
+#: common.opt:2189 common.opt:2232 common.opt:2673 common.opt:2709
+#: common.opt:2802 common.opt:2806 common.opt:2915 common.opt:3050
+#: common.opt:3058 common.opt:3066 common.opt:3074 common.opt:3175
+#: common.opt:3235 common.opt:3323 common.opt:3487 common.opt:3491
+#: common.opt:3495 common.opt:3499 common.opt:3569 common.opt:3573
+#: common.opt:3604 common.opt:3608
 #, no-c-format
 msgid "Does nothing.  Preserved for backward compatibility."
 msgstr ""
 
-#: fortran/lang.opt:864
+#: fortran/lang.opt:872
 #, no-c-format
 msgid "Statically link the GNU Fortran helper library (libgfortran)."
 msgstr ""
 
-#: fortran/lang.opt:868
+#: fortran/lang.opt:876
 #, no-c-format
 msgid "Statically link the GCC Quad-Precision Math Library (libquadmath)."
 msgstr ""
 
-#: fortran/lang.opt:872
+#: fortran/lang.opt:880
 #, no-c-format
 msgid "Conform to the ISO Fortran 2003 standard."
 msgstr ""
 
-#: fortran/lang.opt:876
+#: fortran/lang.opt:884
 #, no-c-format
 msgid "Conform to the ISO Fortran 2008 standard."
 msgstr ""
 
-#: fortran/lang.opt:880
+#: fortran/lang.opt:888
 #, no-c-format
 msgid "Conform to the ISO Fortran 2008 standard including TS 29113."
 msgstr ""
 
-#: fortran/lang.opt:884
+#: fortran/lang.opt:892
 #, no-c-format
 msgid "Conform to the ISO Fortran 2018 standard."
 msgstr ""
 
-#: fortran/lang.opt:888
+#: fortran/lang.opt:896
+#, no-c-format
+msgid "Conform to the ISO Fortran 2023 standard."
+msgstr ""
+
+#: fortran/lang.opt:900
 #, no-c-format
 msgid "Conform to the ISO Fortran 95 standard."
 msgstr ""
 
-#: fortran/lang.opt:892
+#: fortran/lang.opt:904
 #, no-c-format
 msgid "Conform to nothing in particular."
 msgstr ""
 
-#: fortran/lang.opt:896
+#: fortran/lang.opt:908
 #, no-c-format
 msgid "Accept extensions to support legacy code."
 msgstr ""
 
-#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1416 c-family/c.opt:1420
+#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1461 c-family/c.opt:1465
 #, no-c-format
 msgid "Warn when a const variable is unused."
 msgstr ""
 
-#: rust/lang.opt:55 c-family/c.opt:1408
+#: rust/lang.opt:55 c-family/c.opt:1477
 #, no-c-format
 msgid ""
 "Warn if a caller of a function, marked with attribute warn_unused_result, "
 "does not use its return value."
 msgstr ""
 
-#: rust/lang.opt:59
+#: rust/lang.opt:59 c-family/c.opt:846 common.opt:654
 #, no-c-format
-msgid "-frust-crate=<name>             Set the crate name for the compilation"
+msgid "Warn for infinitely recursive calls."
 msgstr ""
 
 #: rust/lang.opt:63
 #, no-c-format
-msgid "Dump various Rust front end internals."
+msgid "-frust-crate=<name>             Set the crate name for the compilation"
 msgstr ""
 
 #: rust/lang.opt:67
 #, no-c-format
-msgid "-frust-dump-<type>\tDump Rust frontend internal information."
+msgid ""
+"-frust-extern=              Specify where an external library is located"
 msgstr ""
 
 #: rust/lang.opt:71
 #, no-c-format
-msgid "Enable experimental compilation of Rust files at your own risk"
+msgid "Dump various Rust front end internals."
 msgstr ""
 
 #: rust/lang.opt:75
 #, no-c-format
-msgid "-frust-max-recursion-depth=integer"
+msgid ""
+"-frust-dump-<type>              Dump Rust frontend internal information."
 msgstr ""
 
 #: rust/lang.opt:79
 #, no-c-format
+msgid "Enable experimental compilation of Rust files at your own risk"
+msgstr ""
+
+#: rust/lang.opt:83
+#, no-c-format
+msgid "-frust-max-recursion-depth=<integer>"
+msgstr ""
+
+#: rust/lang.opt:87
+#, no-c-format
 msgid ""
-"-frust-mangling=[legacy|v0]     Choose which version to use for name mangling"
+"-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate "
+"type to emit"
+msgstr ""
+
+#: rust/lang.opt:115
+#, no-c-format
+msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling"
 msgstr ""
 
-#: rust/lang.opt:92
+#: rust/lang.opt:128
 #, no-c-format
 msgid "-frust-cfg=<name>             Set a config expansion option"
 msgstr ""
 
-#: rust/lang.opt:96
+#: rust/lang.opt:132
 #, no-c-format
 msgid ""
-"-frust-edition=[2015|2018|2021]             Choose which edition to use when "
-"compiling rust code"
+"-frust-edition=[2015|2018|2021]             Edition to use when compiling "
+"rust code"
 msgstr ""
 
-#: rust/lang.opt:112
+#: rust/lang.opt:148
 #, no-c-format
-msgid "Flag to enable embeding metadata directly into object files"
+msgid "Enable embedding metadata directly into object files"
 msgstr ""
 
-#: rust/lang.opt:116
+#: rust/lang.opt:152
 #, no-c-format
 msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata"
 msgstr ""
 
-#: rust/lang.opt:124
+#: rust/lang.opt:160
 #, no-c-format
 msgid ""
-"-frust-compile-until=[ast|attributecheck|expansion|nameresolution|lowering|"
-"typecheck|privacy|unsafety|const|copimlation|end]             When to stop "
-"in the pipeline when compiling Rust code"
+"-frust-compile-until=[ast|attributecheck|expansion|astvalidation|"
+"featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|"
+"borrowcheck|compilation|end]             The pipeline will run up until this "
+"stage when compiling Rust code"
+msgstr ""
+
+#: rust/lang.opt:209
+#, no-c-format
+msgid ""
+"Use the temporary and experimental name resolution pipeline instead of the "
+"stable one"
+msgstr ""
+
+#: rust/lang.opt:213
+#, no-c-format
+msgid "Use the WIP borrow checker."
 msgstr ""
 
 #: c-family/c.opt:182
@@ -1388,1265 +1430,1260 @@ msgstr ""
 
 #: c-family/c.opt:261
 #, no-c-format
-msgid "Do not generate #line directives."
+msgid ""
+"Structured format for output dependency information.  Supported "
+"(\"p1689r5\")."
 msgstr ""
 
 #: c-family/c.opt:265
 #, no-c-format
-msgid "-U<macro>\tUndefine <macro>."
+msgid "File for output dependency information."
 msgstr ""
 
 #: c-family/c.opt:269
 #, no-c-format
-msgid "Warn if the NSObject attribute is applied to a non-typedef."
+msgid "-fdeps-target=obj.o Output file for the compile step."
 msgstr ""
 
 #: c-family/c.opt:273
 #, no-c-format
+msgid "Do not generate #line directives."
+msgstr ""
+
+#: c-family/c.opt:277
+#, no-c-format
+msgid "-U<macro>\tUndefine <macro>."
+msgstr ""
+
+#: c-family/c.opt:281
+#, no-c-format
+msgid "Warn if the NSObject attribute is applied to a non-typedef."
+msgstr ""
+
+#: c-family/c.opt:285
+#, no-c-format
 msgid ""
 "Warn about things that will change when compiling with an ABI-compliant "
 "compiler."
 msgstr ""
 
-#: c-family/c.opt:277
+#: c-family/c.opt:289
 #, no-c-format
 msgid ""
 "Warn about things that change between the current -fabi-version and the "
 "specified version."
 msgstr ""
 
-#: c-family/c.opt:281
+#: c-family/c.opt:293
 #, no-c-format
 msgid ""
 "Warn if a subobject has an abi_tag attribute that the complete object type "
 "does not have."
 msgstr ""
 
-#: c-family/c.opt:288
+#: c-family/c.opt:300
 #, no-c-format
 msgid ""
 "Warn on suspicious calls of standard functions computing absolute values."
 msgstr ""
 
-#: c-family/c.opt:292
+#: c-family/c.opt:304
 #, no-c-format
 msgid "Warn about suspicious uses of memory addresses."
 msgstr ""
 
 #: c-family/c.opt:308
 #, no-c-format
+msgid "Warn when the address of packed member of struct or union is taken."
+msgstr ""
+
+#: c-family/c.opt:324
+#, no-c-format
 msgid "Warn about 'new' of type with extended alignment without -faligned-new."
 msgstr ""
 
-#: c-family/c.opt:312
+#: c-family/c.opt:328
 #, no-c-format
 msgid ""
 "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member "
 "allocation function."
 msgstr ""
 
-#: c-family/c.opt:316 ada/gcc-interface/lang.opt:57
+#: c-family/c.opt:332 ada/gcc-interface/lang.opt:57
 #, no-c-format
 msgid "Enable most warning messages."
 msgstr ""
 
-#: c-family/c.opt:320
+#: c-family/c.opt:336
 #, no-c-format
 msgid "Warn on any use of alloca."
 msgstr ""
 
-#: c-family/c.opt:324
+#: c-family/c.opt:340
+#, no-c-format
+msgid ""
+"Warn when allocating insufficient storage for the target type of the "
+"assigned pointer."
+msgstr ""
+
+#: c-family/c.opt:344
 #, no-c-format
 msgid ""
 "-Walloc-size-larger-than=<bytes>\tWarn for calls to allocation functions "
 "that attempt to allocate objects larger than the specified number of bytes."
 msgstr ""
 
-#: c-family/c.opt:329
+#: c-family/c.opt:349
 #, no-c-format
 msgid ""
 "Disable Walloc-size-larger-than= warning.  Equivalent to Walloc-size-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:333
+#: c-family/c.opt:353
 #, no-c-format
 msgid "Warn for calls to allocation functions that specify zero bytes."
 msgstr ""
 
-#: c-family/c.opt:337
+#: c-family/c.opt:357
 #, no-c-format
 msgid ""
 "-Walloca-larger-than=<number>\tWarn on unbounded uses of alloca, and on "
 "bounded uses of alloca whose bound can be larger than <number> bytes."
 msgstr ""
 
-#: c-family/c.opt:343
+#: c-family/c.opt:363
 #, no-c-format
 msgid ""
 "Disable Walloca-larger-than= warning.  Equivalent to Walloca-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:351
+#: c-family/c.opt:367
+#, 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:375
 #, no-c-format
 msgid "Warn about comparisons between two operands of array type."
 msgstr ""
 
-#: c-family/c.opt:355 c-family/c.opt:359
+#: c-family/c.opt:379 c-family/c.opt:383
 #, no-c-format
 msgid ""
 "Warn about mismatched declarations of array parameters and unsafe accesses "
 "to them."
 msgstr ""
 
-#: c-family/c.opt:363
-#, no-c-format
-msgid "Warn about accesses to interior zero-length array members."
-msgstr ""
-
-#: c-family/c.opt:367
+#: c-family/c.opt:387
 #, no-c-format
 msgid ""
 "Warn whenever an Objective-C assignment is being intercepted by the garbage "
 "collector."
 msgstr ""
 
-#: c-family/c.opt:371
+#: c-family/c.opt:391
 #, no-c-format
 msgid "Warn about casting functions to incompatible types."
 msgstr ""
 
-#: c-family/c.opt:379
+#: c-family/c.opt:399
 #, no-c-format
 msgid ""
 "-Wbidi-chars=[none|unpaired|any|ucn] Warn about UTF-8 bidirectional control "
 "characters."
 msgstr ""
 
-#: c-family/c.opt:402
+#: c-family/c.opt:422
 #, no-c-format
 msgid ""
 "Warn about boolean expression compared with an integer value different from "
 "true/false."
 msgstr ""
 
-#: c-family/c.opt:406
+#: c-family/c.opt:426
 #, no-c-format
 msgid "Warn about certain operations on boolean expressions."
 msgstr ""
 
-#: c-family/c.opt:410
+#: c-family/c.opt:430
 #, no-c-format
-msgid ""
-"Warn when __builtin_frame_address or __builtin_return_address is used "
-"unsafely."
+msgid "Warn when a built-in function is declared with the wrong signature."
 msgstr ""
 
-#: c-family/c.opt:414
+#: c-family/c.opt:434
 #, no-c-format
-msgid "Warn when a built-in function is declared with the wrong signature."
+msgid "Warn when a built-in preprocessor macro is undefined or redefined."
 msgstr ""
 
-#: c-family/c.opt:418
+#: c-family/c.opt:438
 #, no-c-format
-msgid "Warn when a built-in preprocessor macro is undefined or redefined."
+msgid "Warn about features not present in ISO C11, but present in ISO C23."
 msgstr ""
 
-#: c-family/c.opt:422
+#: c-family/c.opt:442
 #, no-c-format
-msgid "Warn about features not present in ISO C11, but present in ISO C2X."
+msgid "Deprecated in favor of -Wc11-c23-compat."
 msgstr ""
 
-#: c-family/c.opt:426
+#: c-family/c.opt:446
 #, no-c-format
 msgid "Warn about features not present in ISO C90, but present in ISO C99."
 msgstr ""
 
-#: c-family/c.opt:430
+#: c-family/c.opt:450
 #, no-c-format
 msgid "Warn about features not present in ISO C99, but present in ISO C11."
 msgstr ""
 
-#: c-family/c.opt:434
+#: c-family/c.opt:454
 #, no-c-format
 msgid "Warn about C constructs that are not in the common subset of C and C++."
 msgstr ""
 
-#: c-family/c.opt:441
+#: c-family/c.opt:461
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO "
 "C++ 2011."
 msgstr ""
 
-#: c-family/c.opt:445
+#: c-family/c.opt:465
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO "
 "C++ 2014."
 msgstr ""
 
-#: c-family/c.opt:452
+#: c-family/c.opt:472
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO "
 "C++ 2017."
 msgstr ""
 
-#: c-family/c.opt:459
+#: c-family/c.opt:479
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO "
 "C++ 2020."
 msgstr ""
 
-#: c-family/c.opt:463
+#: c-family/c.opt:483
 #, no-c-format
 msgid "Warn about C++11 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:467
+#: c-family/c.opt:487
 #, no-c-format
 msgid "Warn about C++14 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:471
+#: c-family/c.opt:491
 #, no-c-format
 msgid "Warn about C++17 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:475
+#: c-family/c.opt:495
 #, no-c-format
 msgid "Warn about C++20 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:479
+#: c-family/c.opt:499
 #, no-c-format
 msgid "Warn about C++23 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:483
+#: c-family/c.opt:503
+#, no-c-format
+msgid "Warn about C++26 constructs in code compiled with an older standard."
+msgstr ""
+
+#: c-family/c.opt:507
+#, no-c-format
+msgid ""
+"Warn about suspicious calls to calloc-like functions where sizeof expression "
+"is the earlier size argument and not the latter."
+msgstr ""
+
+#: c-family/c.opt:511
 #, no-c-format
 msgid "Warn about casts between incompatible function types."
 msgstr ""
 
-#: c-family/c.opt:487
+#: c-family/c.opt:515
 #, no-c-format
 msgid "Warn about casts which discard qualifiers."
 msgstr ""
 
-#: c-family/c.opt:491 c-family/c.opt:495
+#: c-family/c.opt:519 c-family/c.opt:523
 #, no-c-format
 msgid "Warn about catch handlers of non-reference type."
 msgstr ""
 
-#: c-family/c.opt:499
+#: c-family/c.opt:527
 #, no-c-format
 msgid ""
 "Complain about a name being declared as a class member after a previous use "
 "of the same name."
 msgstr ""
 
-#: c-family/c.opt:503
+#: c-family/c.opt:531
 #, no-c-format
 msgid "Warn about subscripts whose type is \"char\"."
 msgstr ""
 
-#: c-family/c.opt:507 c-family/c.opt:1574 c-family/c.opt:1578
-#: c-family/c.opt:1582 c-family/c.opt:1586 c-family/c.opt:1590
-#: c-family/c.opt:1594 c-family/c.opt:1598 c-family/c.opt:1605
-#: c-family/c.opt:1609 c-family/c.opt:1613 c-family/c.opt:1617
-#: c-family/c.opt:1621 c-family/c.opt:1625 c-family/c.opt:1629
-#: c-family/c.opt:1633 c-family/c.opt:1637 c-family/c.opt:1641
-#: c-family/c.opt:1645 c-family/c.opt:1649 c-family/c.opt:1653
-#: config/i386/i386.opt:999
+#: c-family/c.opt:535 c-family/c.opt:1622 c-family/c.opt:1626
+#: c-family/c.opt:1630 c-family/c.opt:1634 c-family/c.opt:1638
+#: c-family/c.opt:1642 c-family/c.opt:1646 c-family/c.opt:1653
+#: c-family/c.opt:1657 c-family/c.opt:1661 c-family/c.opt:1665
+#: c-family/c.opt:1669 c-family/c.opt:1673 c-family/c.opt:1677
+#: c-family/c.opt:1681 c-family/c.opt:1685 c-family/c.opt:1689
+#: c-family/c.opt:1693 c-family/c.opt:1697 c-family/c.opt:1701
+#: config/i386/i386.opt:1018
 #, no-c-format
 msgid "Removed in GCC 9.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:511
+#: c-family/c.opt:539
+#, 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:543
+#, no-c-format
+msgid "Warn for unsafe raw memory writes to objects of class types."
+msgstr ""
+
+#: c-family/c.opt:547
 #, no-c-format
 msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"."
 msgstr ""
 
-#: c-family/c.opt:515
+#: c-family/c.opt:551
 #, no-c-format
 msgid "Warn about uses of a comma operator within a subscripting expression."
 msgstr ""
 
-#: c-family/c.opt:519
+#: c-family/c.opt:555
 #, no-c-format
 msgid ""
 "Warn about possibly nested block comments, and C++ comments spanning more "
 "than one physical line."
 msgstr ""
 
-#: c-family/c.opt:523
+#: c-family/c.opt:559
 #, no-c-format
 msgid "Synonym for -Wcomment."
 msgstr ""
 
-#: c-family/c.opt:527
+#: c-family/c.opt:563
 #, no-c-format
 msgid "Warn for conditionally-supported constructs."
 msgstr ""
 
-#: c-family/c.opt:531
+#: c-family/c.opt:567
 #, no-c-format
 msgid "Warn for implicit type conversions that may change a value."
 msgstr ""
 
-#: c-family/c.opt:535
+#: c-family/c.opt:571
 #, no-c-format
 msgid "Warn for converting NULL from/to a non-pointer type."
 msgstr ""
 
-#: c-family/c.opt:543
+#: c-family/c.opt:579
 #, 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:584
 #, no-c-format
 msgid "Warn when all constructors and destructors are private."
 msgstr ""
 
-#: c-family/c.opt:552
+#: c-family/c.opt:588
 #, no-c-format
 msgid "Warn about dangling else."
 msgstr ""
 
-#: c-family/c.opt:556 c-family/c.opt:560
+#: c-family/c.opt:592 c-family/c.opt:596
 #, 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:600
 #, no-c-format
 msgid "Warn when a reference is bound to a temporary whose lifetime has ended."
 msgstr ""
 
-#: c-family/c.opt:568
+#: c-family/c.opt:604
 #, no-c-format
 msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage."
 msgstr ""
 
-#: c-family/c.opt:572
+#: c-family/c.opt:608
 #, no-c-format
 msgid "Warn when a declaration is found after a statement."
 msgstr ""
 
-#: c-family/c.opt:576
+#: c-family/c.opt:612
+#, no-c-format
+msgid "Warn for missing parameter types in function declarations."
+msgstr ""
+
+#: c-family/c.opt:616
 #, no-c-format
 msgid "Warn when deleting a pointer to incomplete type."
 msgstr ""
 
-#: c-family/c.opt:580
+#: c-family/c.opt:620
 #, no-c-format
 msgid "Warn about deleting polymorphic objects with non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:588
+#: c-family/c.opt:628
 #, 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:593
+#: c-family/c.opt:633
 #, 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:598
+#: c-family/c.opt:638
 #, no-c-format
 msgid ""
 "Warn about deprecated arithmetic conversions on operands of enumeration "
 "types."
 msgstr ""
 
-#: c-family/c.opt:602
+#: c-family/c.opt:642
 #, 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:607
+#: c-family/c.opt:647
 #, no-c-format
 msgid ""
 "Warn about positional initialization of structs requiring designated "
 "initializers."
 msgstr ""
 
-#: c-family/c.opt:611
+#: c-family/c.opt:651
 #, no-c-format
 msgid "Warn if qualifiers on arrays which are pointer targets are discarded."
 msgstr ""
 
-#: c-family/c.opt:615
+#: c-family/c.opt:655
 #, no-c-format
 msgid "Warn if type qualifiers on pointers are discarded."
 msgstr ""
 
-#: c-family/c.opt:619
+#: c-family/c.opt:659
 #, no-c-format
 msgid "Warn about compile-time integer division by zero."
 msgstr ""
 
-#: c-family/c.opt:623
+#: c-family/c.opt:663
+#, no-c-format
+msgid "Warn about implicit conversions from \"float\" to \"double\"."
+msgstr ""
+
+#: c-family/c.opt:667
+#, no-c-format
+msgid ""
+"Warn when a declaration has duplicate const, volatile, restrict or _Atomic "
+"specifier."
+msgstr ""
+
+#: c-family/c.opt:671
 #, no-c-format
 msgid "Warn about duplicated branches in if-else statements."
 msgstr ""
 
-#: c-family/c.opt:627
+#: c-family/c.opt:675
 #, no-c-format
 msgid "Warn about duplicated conditions in an if-else-if chain."
 msgstr ""
 
-#: c-family/c.opt:631
+#: c-family/c.opt:679
 #, no-c-format
 msgid "Warn about violations of Effective C++ style rules."
 msgstr ""
 
-#: c-family/c.opt:635
+#: c-family/c.opt:683
+#, no-c-format
+msgid ""
+"Warn if an additional enum-base is used in an elaborated-type-specifier."
+msgstr ""
+
+#: c-family/c.opt:687
 #, no-c-format
 msgid "Warn about an empty body in an if or else statement."
 msgstr ""
 
-#: c-family/c.opt:639
+#: c-family/c.opt:691
 #, no-c-format
 msgid "Warn about stray tokens after #else and #endif."
 msgstr ""
 
-#: c-family/c.opt:643
+#: c-family/c.opt:695
 #, no-c-format
 msgid "Warn about comparison of different enum types."
 msgstr ""
 
-#: c-family/c.opt:647
+#: c-family/c.opt:699
 #, no-c-format
 msgid "Warn about implicit conversion of enum types."
 msgstr ""
 
-#: c-family/c.opt:651
+#: c-family/c.opt:703
 #, no-c-format
 msgid "Warn about enum/integer type mismatches."
 msgstr ""
 
-#: c-family/c.opt:659
+#: c-family/c.opt:711
 #, no-c-format
 msgid ""
 "This switch is deprecated; use -Werror=implicit-function-declaration instead."
 msgstr ""
 
-#: c-family/c.opt:663
+#: c-family/c.opt:715
 #, no-c-format
 msgid "Warn when an exception handler is shadowed by another handler."
 msgstr ""
 
-#: c-family/c.opt:671
+#: c-family/c.opt:719
+#, no-c-format
+msgid "Warn if \"defined\" is used outside #if."
+msgstr ""
+
+#: c-family/c.opt:727
 #, no-c-format
 msgid "Warn about semicolon after in-class function definition."
 msgstr ""
 
-#: c-family/c.opt:675
+#: c-family/c.opt:731
+#, no-c-format
+msgid ""
+"Warn when a structure containing a C99 flexible array member as the last "
+"field is not at the end of another structure."
+msgstr ""
+
+#: c-family/c.opt:736
 #, no-c-format
 msgid ""
 "Warn for implicit type conversions that cause loss of floating point "
 "precision."
 msgstr ""
 
-#: c-family/c.opt:679
+#: c-family/c.opt:740
 #, no-c-format
 msgid "Warn if testing floating point numbers for equality."
 msgstr ""
 
-#: c-family/c.opt:683 c-family/c.opt:729
+#: c-family/c.opt:744 c-family/c.opt:799
 #, no-c-format
 msgid "Warn about printf/scanf/strftime/strfmon format string anomalies."
 msgstr ""
 
-#: c-family/c.opt:687
+#: c-family/c.opt:748
 #, no-c-format
 msgid "Warn about format strings that contain NUL bytes."
 msgstr ""
 
-#: c-family/c.opt:691
+#: c-family/c.opt:752
 #, no-c-format
 msgid "Warn about GCC format strings with strings unsuitable for diagnostics."
 msgstr ""
 
-#: c-family/c.opt:695
+#: c-family/c.opt:756
 #, no-c-format
 msgid "Warn if passing too many arguments to a function for its format string."
 msgstr ""
 
-#: c-family/c.opt:699
+#: c-family/c.opt:760
 #, no-c-format
 msgid "Warn about format strings that are not literals."
 msgstr ""
 
-#: c-family/c.opt:703
+#: c-family/c.opt:764
 #, 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:708
+#: c-family/c.opt:769
+#, 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:774
 #, no-c-format
 msgid "Warn about possible security problems with format functions."
 msgstr ""
 
-#: c-family/c.opt:712
+#: c-family/c.opt:778
 #, no-c-format
 msgid "Warn about sign differences with format functions."
 msgstr ""
 
-#: c-family/c.opt:716
+#: c-family/c.opt:782
 #, 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:721
-#, no-c-format
-msgid "Warn about strftime formats yielding 2-digit years."
-msgstr ""
-
-#: c-family/c.opt:725
+#: c-family/c.opt:787
 #, no-c-format
-msgid "Warn about zero-length formats."
+msgid ""
+"Warn about calls to snprintf and similar functions that truncate output."
 msgstr ""
 
-#: c-family/c.opt:733
+#: c-family/c.opt:791
 #, no-c-format
-msgid ""
-"Warn about function calls with format strings that write past the end of the "
-"destination region."
+msgid "Warn about strftime formats yielding 2-digit years."
 msgstr ""
 
-#: c-family/c.opt:738
+#: c-family/c.opt:795
 #, no-c-format
-msgid ""
-"Warn about calls to snprintf and similar functions that truncate output."
+msgid "Warn about zero-length formats."
 msgstr ""
 
-#: c-family/c.opt:742
+#: c-family/c.opt:803
 #, no-c-format
 msgid ""
-"Warn when a structure containing a C99 flexible array member as the last "
-"field is not at the end of another structure."
+"Warn when __builtin_frame_address or __builtin_return_address is used "
+"unsafely."
 msgstr ""
 
-#: c-family/c.opt:747
+#: c-family/c.opt:807
 #, no-c-format
 msgid "Warn when the field in a struct is not aligned."
 msgstr ""
 
-#: c-family/c.opt:751
+#: c-family/c.opt:811
 #, no-c-format
 msgid "Warn whenever type qualifiers are ignored."
 msgstr ""
 
-#: c-family/c.opt:755
+#: c-family/c.opt:815
 #, no-c-format
 msgid "Warn whenever attributes are ignored."
 msgstr ""
 
-#: c-family/c.opt:759
+#: c-family/c.opt:819
 #, no-c-format
-msgid "Warn when a base is inaccessible in derived due to ambiguity."
+msgid "Warn about implicit declarations."
 msgstr ""
 
-#: c-family/c.opt:763
+#: c-family/c.opt:827
 #, no-c-format
-msgid ""
-"Warn when there is a conversion between pointers that have incompatible "
-"types."
+msgid "Warn about implicit function declarations."
 msgstr ""
 
-#: c-family/c.opt:767 common.opt:650
+#: c-family/c.opt:831
 #, no-c-format
-msgid "Warn for infinitely recursive calls."
+msgid "Warn when a declaration does not specify a type."
 msgstr ""
 
-#: c-family/c.opt:771
+#: c-family/c.opt:838
 #, no-c-format
-msgid "Warn when the address of packed member of struct or union is taken."
+msgid "Warn when a base is inaccessible in derived due to ambiguity."
 msgstr ""
 
-#: c-family/c.opt:775
+#: c-family/c.opt:842
+#, no-c-format
+msgid ""
+"Warn when there is a conversion between pointers that have incompatible "
+"types."
+msgstr ""
+
+#: c-family/c.opt:850
 #, no-c-format
 msgid "Warn about variables which are initialized to themselves."
 msgstr ""
 
-#: c-family/c.opt:779
+#: c-family/c.opt:854
 #, no-c-format
 msgid ""
 "Warn about uses of std::initializer_list that can result in dangling "
 "pointers."
 msgstr ""
 
-#: c-family/c.opt:783
+#: c-family/c.opt:858
 #, no-c-format
 msgid ""
 "Warn about nonsensical values of --param destructive-interference-size or "
 "constructive-interference-size."
 msgstr ""
 
-#: c-family/c.opt:788
-#, no-c-format
-msgid "Warn about implicit declarations."
-msgstr ""
-
-#: c-family/c.opt:796
-#, no-c-format
-msgid "Warn about implicit conversions from \"float\" to \"double\"."
-msgstr ""
-
-#: c-family/c.opt:800
-#, no-c-format
-msgid "Warn if \"defined\" is used outside #if."
-msgstr ""
-
-#: c-family/c.opt:804
-#, no-c-format
-msgid "Warn about implicit function declarations."
-msgstr ""
-
-#: c-family/c.opt:808
-#, no-c-format
-msgid "Warn when a declaration does not specify a type."
-msgstr ""
-
-#: c-family/c.opt:815
+#: c-family/c.opt:863
 #, no-c-format
 msgid ""
 "Warn about C++11 inheriting constructors when the base has a variadic "
 "constructor."
 msgstr ""
 
-#: c-family/c.opt:819
+#: c-family/c.opt:867
 #, no-c-format
 msgid ""
 "Warn about incompatible integer to pointer and pointer to integer "
 "conversions."
 msgstr ""
 
-#: c-family/c.opt:823
+#: c-family/c.opt:871
 #, no-c-format
 msgid "Warn for suspicious integer expressions in boolean context."
 msgstr ""
 
-#: c-family/c.opt:827
+#: c-family/c.opt:875
 #, no-c-format
 msgid ""
 "Warn when there is a cast to a pointer from an integer of a different size."
 msgstr ""
 
-#: c-family/c.opt:831
+#: c-family/c.opt:879
 #, no-c-format
 msgid "Warn when a function never produces a constant expression."
 msgstr ""
 
-#: c-family/c.opt:835
+#: c-family/c.opt:883
 #, no-c-format
 msgid "Warn about invalid uses of the \"offsetof\" macro."
 msgstr ""
 
-#: c-family/c.opt:839
+#: c-family/c.opt:887
 #, no-c-format
 msgid "Warn about PCH files that are found but not used."
 msgstr ""
 
-#: c-family/c.opt:843
+#: c-family/c.opt:891
 #, no-c-format
 msgid "Warn about invalid UTF-8 characters."
 msgstr ""
 
-#: c-family/c.opt:847
+#: c-family/c.opt:895
 #, no-c-format
 msgid "Warn when a jump misses a variable initialization."
 msgstr ""
 
-#: c-family/c.opt:851
+#: c-family/c.opt:899
 #, 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:855
+#: c-family/c.opt:903
 #, no-c-format
 msgid ""
-"Warn when a logical operator is suspiciously always evaluating to true or "
-"false."
+"Warn when logical not is used on the left hand side operand of a comparison."
 msgstr ""
 
-#: c-family/c.opt:859
+#: c-family/c.opt:907
 #, no-c-format
 msgid ""
-"Warn when logical not is used on the left hand side operand of a comparison."
+"Warn when a logical operator is suspiciously always evaluating to true or "
+"false."
 msgstr ""
 
-#: c-family/c.opt:863
+#: c-family/c.opt:911
 #, no-c-format
 msgid "Do not warn about using \"long long\" when -pedantic."
 msgstr ""
 
-#: c-family/c.opt:867
+#: c-family/c.opt:915
 #, no-c-format
 msgid "Warn about suspicious declarations of \"main\"."
 msgstr ""
 
-#: c-family/c.opt:875
+#: c-family/c.opt:927
 #, no-c-format
 msgid ""
-"Warn about suspicious calls to memset where the third argument is constant "
-"literal zero and the second is not."
+"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:879
+#: c-family/c.opt:931
 #, 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."
+"Warn about suspicious calls to memset where the third argument is constant "
+"literal zero and the second is not."
 msgstr ""
 
-#: c-family/c.opt:883
+#: c-family/c.opt:935
 #, no-c-format
 msgid ""
 "Warn when the indentation of the code does not reflect the block structure."
 msgstr ""
 
-#: c-family/c.opt:887
+#: c-family/c.opt:939
 #, no-c-format
 msgid ""
 "Warn for deallocation calls with arguments returned from mismatched "
 "allocation functions."
 msgstr ""
 
-#: c-family/c.opt:892
+#: c-family/c.opt:944
 #, 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:897
+#: c-family/c.opt:949
 #, no-c-format
 msgid ""
 "Warn when a class is redeclared or referenced using a mismatched class-key."
 msgstr ""
 
-#: c-family/c.opt:901
-#, no-c-format
-msgid "Warn about possibly missing braces around initializers."
-msgstr ""
-
-#: c-family/c.opt:905
-#, no-c-format
-msgid "Warn about global functions without previous declarations."
-msgstr ""
-
-#: c-family/c.opt:909
-#, no-c-format
-msgid "Warn about missing fields in struct initializers."
-msgstr ""
-
-#: c-family/c.opt:913
-#, no-c-format
-msgid "Warn about likely missing requires keyword."
-msgstr ""
-
-#: c-family/c.opt:917
-#, 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:921
-#, 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:925
-#, no-c-format
-msgid "Warn on direct multiple inheritance."
-msgstr ""
-
-#: c-family/c.opt:929
-#, no-c-format
-msgid "Warn on namespace definition."
-msgstr ""
-
-#: c-family/c.opt:933
-#, no-c-format
-msgid ""
-"Warn if the named return value optimization is not performed although it is "
-"allowed."
-msgstr ""
-
-#: c-family/c.opt:937
-#, no-c-format
-msgid "Warn when fields in a struct with the packed attribute are misaligned."
-msgstr ""
-
-#: c-family/c.opt:941
-#, no-c-format
-msgid "Warn when a range-based for-loop is creating unnecessary copies."
-msgstr ""
-
-#: c-family/c.opt:945
-#, no-c-format
-msgid ""
-"Warn when a class or enumerated type is referenced using a redundant class-"
-"key."
-msgstr ""
-
-#: c-family/c.opt:949
-#, no-c-format
-msgid "Warn about missing sized deallocation functions."
-msgstr ""
-
 #: c-family/c.opt:953
 #, no-c-format
 msgid ""
-"Warn about suspicious divisions of two sizeof expressions that don't work "
-"correctly with pointers."
+"Warn about declarations of entities that may be missing attributes that "
+"related entities have been declared with."
 msgstr ""
 
-#: c-family/c.opt:957
+#: c-family/c.opt:958
 #, 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."
+msgid "Warn about possibly missing braces around initializers."
 msgstr ""
 
 #: c-family/c.opt:962
 #, no-c-format
-msgid ""
-"Warn about suspicious length parameters to certain string functions if the "
-"argument uses sizeof."
+msgid "Warn about global functions without previous declarations."
 msgstr ""
 
 #: c-family/c.opt:966
 #, no-c-format
-msgid "Warn when sizeof is applied on a parameter declared as an array."
+msgid "Warn about missing fields in struct initializers."
 msgstr ""
 
-#: c-family/c.opt:970
+#: c-family/c.opt:974
 #, 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."
+msgid "Warn about user-specified include directories that do not exist."
 msgstr ""
 
-#: c-family/c.opt:976
+#: c-family/c.opt:978
 #, no-c-format
 msgid ""
-"Warn about buffer overflow in string manipulation functions like memcpy and "
-"strcpy."
+"Warn about function parameters declared without a type specifier in K&R-"
+"style functions."
 msgstr ""
 
-#: c-family/c.opt:981
+#: c-family/c.opt:982
 #, no-c-format
-msgid ""
-"Under the control of Object Size type, warn about buffer overflow in string "
-"manipulation functions like memcpy and strcpy."
+msgid "Warn about global functions without prototypes."
 msgstr ""
 
 #: c-family/c.opt:986
 #, no-c-format
-msgid ""
-"Warn about reading past the end of a source array in string manipulation "
-"functions like memchr and memcpy."
+msgid "Warn about likely missing requires keyword."
 msgstr ""
 
 #: c-family/c.opt:990
 #, no-c-format
 msgid ""
-"Warn about truncation in string manipulation functions like strncat and "
-"strncpy."
+"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:994
 #, no-c-format
-msgid ""
-"Warn about inproper usages of flexible array members according to the level "
-"of -fstrict-flex-arrays."
-msgstr ""
-
-#: c-family/c.opt:999
-#, no-c-format
-msgid "Warn about functions which might be candidates for format attributes."
-msgstr ""
-
-#: c-family/c.opt:1003
-#, 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:1008
-#, no-c-format
-msgid "Warn about enumerated switches, with no default, missing a case."
-msgstr ""
-
-#: c-family/c.opt:1012
-#, no-c-format
-msgid "Warn about enumerated switches missing a \"default:\" statement."
-msgstr ""
-
-#: c-family/c.opt:1016
-#, no-c-format
-msgid "Warn about all enumerated switches missing a specific case."
-msgstr ""
-
-#: c-family/c.opt:1020
-#, no-c-format
-msgid "Warn about switches with boolean controlling expression."
+msgid "Warn about global variables without previous declarations."
 msgstr ""
 
-#: c-family/c.opt:1024
+#: c-family/c.opt:1001
 #, no-c-format
-msgid "Warn about switch values that are outside of the switch's type range."
-msgstr ""
-
-#: c-family/c.opt:1028
-#, no-c-format
-msgid "Warn on primary template declaration."
-msgstr ""
-
-#: c-family/c.opt:1032
-#, no-c-format
-msgid ""
-"Warn about declarations of entities that may be missing attributes that "
-"related entities have been declared with."
+msgid "Warn about use of multi-character character constants."
 msgstr ""
 
-#: c-family/c.opt:1041
+#: c-family/c.opt:1005
 #, no-c-format
-msgid "Warn about user-specified include directories that do not exist."
+msgid "Warn on direct multiple inheritance."
 msgstr ""
 
-#: c-family/c.opt:1045
+#: c-family/c.opt:1009
 #, no-c-format
 msgid ""
-"Warn about function parameters declared without a type specifier in K&R-"
-"style functions."
-msgstr ""
-
-#: c-family/c.opt:1049
-#, no-c-format
-msgid "Warn about global functions without prototypes."
+"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:1056
+#: c-family/c.opt:1013
 #, no-c-format
-msgid "Warn about use of multi-character character constants."
+msgid "Warn on namespace definition."
 msgstr ""
 
-#: c-family/c.opt:1060
+#: c-family/c.opt:1017
 #, no-c-format
 msgid ""
 "Warn about narrowing conversions within { } that are ill-formed in C++11."
 msgstr ""
 
-#: c-family/c.opt:1064
+#: c-family/c.opt:1021
 #, no-c-format
 msgid "Warn about \"extern\" declarations not at file scope."
 msgstr ""
 
-#: c-family/c.opt:1068
+#: c-family/c.opt:1025
 #, 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:1072
+#: c-family/c.opt:1029
 #, no-c-format
 msgid ""
 "Warn if C++17 noexcept function type will change the mangled name of a "
 "symbol."
 msgstr ""
 
-#: c-family/c.opt:1076
+#: c-family/c.opt:1033
 #, no-c-format
 msgid ""
 "Warn when non-templatized friend functions are declared within a template."
 msgstr ""
 
-#: c-family/c.opt:1080
-#, 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:1084
-#, no-c-format
-msgid "Warn for unsafe raw memory writes to objects of class types."
-msgstr ""
-
-#: c-family/c.opt:1088
+#: c-family/c.opt:1037
 #, no-c-format
 msgid "Warn about non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:1092
+#: c-family/c.opt:1041
 #, no-c-format
 msgid ""
 "Warn about NULL being passed to argument slots marked as requiring non-NULL."
 msgstr ""
 
-#: c-family/c.opt:1108
+#: c-family/c.opt:1057
 #, no-c-format
 msgid ""
 "-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings."
 msgstr ""
 
-#: c-family/c.opt:1131
+#: c-family/c.opt:1080
 #, 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:1136
+#: c-family/c.opt:1085
 #, no-c-format
 msgid "Warn if a C-style cast is used in a program."
 msgstr ""
 
-#: c-family/c.opt:1140
+#: c-family/c.opt:1089
 #, no-c-format
 msgid "Warn for obsolescent usage in a declaration."
 msgstr ""
 
-#: c-family/c.opt:1144
+#: c-family/c.opt:1093
 #, no-c-format
 msgid "Warn if an old-style parameter definition is used."
 msgstr ""
 
-#: c-family/c.opt:1148
+#: c-family/c.opt:1097
 #, no-c-format
 msgid ""
 "Warn about potentially suboptimal choices related to OpenACC parallelism."
 msgstr ""
 
-#: c-family/c.opt:1152
+#: c-family/c.opt:1101
+#, no-c-format
+msgid "Warn about suspicious OpenMP code."
+msgstr ""
+
+#: c-family/c.opt:1105
 #, no-c-format
 msgid "Warn if a simd directive is overridden by the vectorizer cost model."
 msgstr ""
 
-#: c-family/c.opt:1156
+#: c-family/c.opt:1109
 #, no-c-format
 msgid ""
 "Warn if a string is longer than the maximum portable length specified by the "
 "standard."
 msgstr ""
 
-#: c-family/c.opt:1160 c-family/c.opt:1164
+#: c-family/c.opt:1113 c-family/c.opt:1117
 #, no-c-format
 msgid "Warn about overloaded virtual function names."
 msgstr ""
 
-#: c-family/c.opt:1168
+#: c-family/c.opt:1121
 #, no-c-format
 msgid "Warn about overriding initializers without side effects."
 msgstr ""
 
-#: c-family/c.opt:1172
+#: c-family/c.opt:1125
 #, no-c-format
 msgid "Warn about overriding initializers with side effects."
 msgstr ""
 
-#: c-family/c.opt:1176
+#: c-family/c.opt:1129
+#, no-c-format
+msgid ""
+"Warn if the named return value optimization is not performed although it is "
+"allowed."
+msgstr ""
+
+#: c-family/c.opt:1133
 #, no-c-format
 msgid "Warn about packed bit-fields whose offset changed in GCC 4.4."
 msgstr ""
 
-#: c-family/c.opt:1180
+#: c-family/c.opt:1137
+#, no-c-format
+msgid "Warn when fields in a struct with the packed attribute are misaligned."
+msgstr ""
+
+#: c-family/c.opt:1141
 #, no-c-format
 msgid "Warn about possibly missing parentheses."
 msgstr ""
 
-#: c-family/c.opt:1188
+#: c-family/c.opt:1149
 #, 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:1192
+#: c-family/c.opt:1153 c-family/c.opt:1157
+#, no-c-format
+msgid "Warn for placement new expressions with undefined behavior."
+msgstr ""
+
+#: c-family/c.opt:1161
 #, no-c-format
 msgid "Warn when converting the type of pointers to member functions."
 msgstr ""
 
-#: c-family/c.opt:1196
+#: c-family/c.opt:1165
 #, no-c-format
 msgid "Warn about function pointer arithmetic."
 msgstr ""
 
-#: c-family/c.opt:1200
+#: c-family/c.opt:1169
 #, no-c-format
 msgid "Warn when a pointer differs in signedness in an assignment."
 msgstr ""
 
-#: c-family/c.opt:1204
+#: c-family/c.opt:1173
 #, no-c-format
 msgid "Warn when a pointer is compared with a zero character constant."
 msgstr ""
 
-#: c-family/c.opt:1208
+#: c-family/c.opt:1177
 #, no-c-format
 msgid "Warn when a pointer is cast to an integer of a different size."
 msgstr ""
 
-#: c-family/c.opt:1212
+#: c-family/c.opt:1181
 #, no-c-format
 msgid "Warn about misuses of pragmas."
 msgstr ""
 
-#: c-family/c.opt:1216
+#: c-family/c.opt:1185
 #, no-c-format
 msgid ""
 "Warn if constructor or destructors with priorities from 0 to 100 are used."
 msgstr ""
 
-#: c-family/c.opt:1220
+#: c-family/c.opt:1189
 #, no-c-format
 msgid ""
 "Warn if a property for an Objective-C object has no assign semantics "
 "specified."
 msgstr ""
 
-#: c-family/c.opt:1224
+#: c-family/c.opt:1193
 #, no-c-format
 msgid "Warn if inherited methods are unimplemented."
 msgstr ""
 
-#: c-family/c.opt:1228 c-family/c.opt:1232
+#: c-family/c.opt:1197
 #, no-c-format
-msgid "Warn for placement new expressions with undefined behavior."
+msgid "Warn when a range-based for-loop is creating unnecessary copies."
 msgstr ""
 
-#: c-family/c.opt:1236
+#: c-family/c.opt:1201
 #, no-c-format
 msgid "Warn about multiple declarations of the same object."
 msgstr ""
 
-#: c-family/c.opt:1240
+#: c-family/c.opt:1205
 #, no-c-format
 msgid "Warn about redundant calls to std::move."
 msgstr ""
 
-#: c-family/c.opt:1244
+#: c-family/c.opt:1209
+#, no-c-format
+msgid ""
+"Warn when a class or enumerated type is referenced using a redundant class-"
+"key."
+msgstr ""
+
+#: c-family/c.opt:1213
 #, no-c-format
 msgid "Warn about uses of register storage specifier."
 msgstr ""
 
-#: c-family/c.opt:1248
+#: c-family/c.opt:1217
 #, no-c-format
 msgid "Warn when the compiler reorders code."
 msgstr ""
 
-#: c-family/c.opt:1252
+#: c-family/c.opt:1221
+#, no-c-format
+msgid ""
+"Warn when an argument passed to a restrict-qualified parameter aliases with "
+"another argument."
+msgstr ""
+
+#: c-family/c.opt:1226
+#, no-c-format
+msgid ""
+"Warn whenever void-returning functions return a non-void expressions, or a "
+"return expression is missing in a function not returning void."
+msgstr ""
+
+#: c-family/c.opt:1230
 #, 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:1256
+#: c-family/c.opt:1234
 #, no-c-format
 msgid "Warn on suspicious constructs involving reverse scalar storage order."
 msgstr ""
 
-#: c-family/c.opt:1260
+#: c-family/c.opt:1238
 #, no-c-format
 msgid "Warn if a selector has multiple methods."
 msgstr ""
 
-#: c-family/c.opt:1264
+#: c-family/c.opt:1242
 #, no-c-format
 msgid "Warn when a value is moved to itself with std::move."
 msgstr ""
 
-#: c-family/c.opt:1268
+#: c-family/c.opt:1246
 #, no-c-format
 msgid "Warn about possible violations of sequence point rules."
 msgstr ""
 
-#: c-family/c.opt:1272
+#: c-family/c.opt:1250
 #, no-c-format
 msgid "Warn if a local declaration hides an instance variable."
 msgstr ""
 
-#: c-family/c.opt:1276 c-family/c.opt:1280
+#: c-family/c.opt:1254 c-family/c.opt:1258
 #, no-c-format
 msgid "Warn if left shift of a signed value overflows."
 msgstr ""
 
-#: c-family/c.opt:1284
+#: c-family/c.opt:1262
 #, no-c-format
 msgid "Warn if shift count is negative."
 msgstr ""
 
-#: c-family/c.opt:1288
+#: c-family/c.opt:1266
 #, no-c-format
 msgid "Warn if shift count >= width of type."
 msgstr ""
 
-#: c-family/c.opt:1292
+#: c-family/c.opt:1270
 #, no-c-format
 msgid "Warn if left shifting a negative value."
 msgstr ""
 
-#: c-family/c.opt:1296
+#: c-family/c.opt:1274
+#, no-c-format
+msgid "Warn about signed-unsigned comparisons."
+msgstr ""
+
+#: c-family/c.opt:1282
 #, no-c-format
 msgid ""
-"Warn if conversion of the result of arithmetic might change the value even "
-"though converting the operands cannot."
+"Warn for implicit type conversions between signed and unsigned integers."
 msgstr ""
 
-#: c-family/c.opt:1300
+#: c-family/c.opt:1286
 #, no-c-format
-msgid "Warn about signed-unsigned comparisons."
+msgid "Warn when overload promotes from unsigned to signed."
 msgstr ""
 
-#: c-family/c.opt:1308
+#: c-family/c.opt:1290
+#, no-c-format
+msgid "Warn about missing sized deallocation functions."
+msgstr ""
+
+#: c-family/c.opt:1294
 #, no-c-format
 msgid ""
-"Warn for implicit type conversions between signed and unsigned integers."
+"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:1312
+#: c-family/c.opt:1299
 #, no-c-format
-msgid "Warn when overload promotes from unsigned to signed."
+msgid "Warn when sizeof is applied on a parameter declared as an array."
 msgstr ""
 
-#: c-family/c.opt:1316
+#: c-family/c.opt:1303
 #, no-c-format
-msgid "Warn about uncasted NULL used as sentinel."
+msgid ""
+"Warn about suspicious divisions of two sizeof expressions that don't work "
+"correctly with pointers."
+msgstr ""
+
+#: c-family/c.opt:1307
+#, no-c-format
+msgid ""
+"Warn about suspicious length parameters to certain string functions if the "
+"argument uses sizeof."
+msgstr ""
+
+#: c-family/c.opt:1315
+#, no-c-format
+msgid ""
+"Warn about inproper usages of flexible array members according to the level "
+"of -fstrict-flex-arrays."
 msgstr ""
 
 #: c-family/c.opt:1320
 #, no-c-format
+msgid "Warn about uncasted NULL used as sentinel."
+msgstr ""
+
+#: c-family/c.opt:1328
+#, no-c-format
 msgid "Warn about unprototyped function declarations."
 msgstr ""
 
@@ -2658,102 +2695,202 @@ msgstr ""
 #: c-family/c.opt:1336
 #, 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:1342
+#, no-c-format
+msgid ""
+"Warn about buffer overflow in string manipulation functions like memcpy and "
+"strcpy."
+msgstr ""
+
+#: c-family/c.opt:1347
+#, 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:1352
+#, 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:1356
+#, no-c-format
+msgid ""
+"Warn about truncation in string manipulation functions like strncat and "
+"strncpy."
+msgstr ""
+
+#: c-family/c.opt:1360
+#, 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:1364
+#, no-c-format
+msgid "Warn about functions which might be candidates for format attributes."
+msgstr ""
+
+#: c-family/c.opt:1368
+#, 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:1373
+#, no-c-format
+msgid "Warn about enumerated switches, with no default, missing a case."
+msgstr ""
+
+#: c-family/c.opt:1377
+#, no-c-format
+msgid "Warn about enumerated switches missing a \"default:\" statement."
+msgstr ""
+
+#: c-family/c.opt:1381
+#, no-c-format
+msgid "Warn about all enumerated switches missing a specific case."
+msgstr ""
+
+#: c-family/c.opt:1385
+#, no-c-format
+msgid "Warn about switches with boolean controlling expression."
+msgstr ""
+
+#: c-family/c.opt:1389
+#, no-c-format
+msgid "Warn about switch values that are outside of the switch's type range."
+msgstr ""
+
+#: c-family/c.opt:1393
+#, 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:1340
+#: c-family/c.opt:1397
 #, no-c-format
 msgid "Deprecated.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1348
+#: c-family/c.opt:1405
+#, no-c-format
+msgid "Warn on primary template declaration."
+msgstr ""
+
+#: c-family/c.opt:1409
 #, no-c-format
 msgid "Warn if a comparison always evaluates to true or false."
 msgstr ""
 
-#: c-family/c.opt:1352
+#: c-family/c.opt:1413
+#, no-c-format
+msgid "Warn about simple-template-id in a constructor or destructor."
+msgstr ""
+
+#: c-family/c.opt:1417
 #, no-c-format
 msgid "Warn if a throw expression will always result in a call to terminate()."
 msgstr ""
 
-#: c-family/c.opt:1356
+#: c-family/c.opt:1421
 #, no-c-format
 msgid "Warn about features not present in traditional C."
 msgstr ""
 
-#: c-family/c.opt:1360
+#: c-family/c.opt:1425
 #, 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:1364
+#: c-family/c.opt:1429
 #, no-c-format
 msgid ""
 "Warn if trigraphs are encountered that might affect the meaning of the "
 "program."
 msgstr ""
 
-#: c-family/c.opt:1368
+#: c-family/c.opt:1433
 #, no-c-format
 msgid "Warn about @selector()s without previously declared methods."
 msgstr ""
 
-#: c-family/c.opt:1372
+#: c-family/c.opt:1437
 #, no-c-format
 msgid "Warn if an undefined macro is used in an #if directive."
 msgstr ""
 
-#: c-family/c.opt:1376
+#: c-family/c.opt:1441
 #, no-c-format
 msgid "Warn about invalid forms of delimited or named escape sequences."
 msgstr ""
 
-#: c-family/c.opt:1388
+#: c-family/c.opt:1449
 #, no-c-format
 msgid "Warn about unrecognized pragmas."
 msgstr ""
 
-#: c-family/c.opt:1392
+#: c-family/c.opt:1453
 #, no-c-format
 msgid "Warn about unsuffixed float constants."
 msgstr ""
 
-#: c-family/c.opt:1400
+#: c-family/c.opt:1469
 #, no-c-format
 msgid "Warn when typedefs locally defined in a function are not used."
 msgstr ""
 
-#: c-family/c.opt:1404
+#: c-family/c.opt:1473
 #, no-c-format
 msgid "Warn about macros defined in the main file that are not used."
 msgstr ""
 
-#: c-family/c.opt:1432
+#: c-family/c.opt:1493
+#, no-c-format
+msgid "Warn about useless casts."
+msgstr ""
+
+#: c-family/c.opt:1497
 #, no-c-format
 msgid "Warn about using variadic macros."
 msgstr ""
 
-#: c-family/c.opt:1436
+#: c-family/c.opt:1501
 #, no-c-format
 msgid ""
 "Warn about questionable usage of the macros used to retrieve variable "
 "arguments."
 msgstr ""
 
-#: c-family/c.opt:1440
+#: c-family/c.opt:1505
 #, no-c-format
 msgid "Warn about the most vexing parse syntactic ambiguity."
 msgstr ""
 
-#: c-family/c.opt:1444
+#: c-family/c.opt:1509
+#, no-c-format
+msgid "Warn if a virtual base has a non-trivial move assignment operator."
+msgstr ""
+
+#: c-family/c.opt:1513
 #, no-c-format
 msgid "Warn if a variable length array is used."
 msgstr ""
 
-#: c-family/c.opt:1448
+#: c-family/c.opt:1517
 #, no-c-format
 msgid ""
 "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length "
@@ -2761,39 +2898,34 @@ msgid ""
 "larger than <number> bytes."
 msgstr ""
 
-#: c-family/c.opt:1454
+#: c-family/c.opt:1523
 #, no-c-format
 msgid ""
 "Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:1458
+#: c-family/c.opt:1527
 #, no-c-format
 msgid "Warn about mismatched declarations of VLA parameters."
 msgstr ""
 
-#: c-family/c.opt:1462
+#: c-family/c.opt:1531
 #, no-c-format
 msgid "Warn about deprecated uses of volatile qualifier."
 msgstr ""
 
-#: c-family/c.opt:1466
+#: c-family/c.opt:1535
 #, no-c-format
 msgid "Warn when a register variable is declared volatile."
 msgstr ""
 
-#: c-family/c.opt:1470
+#: c-family/c.opt:1539
 #, no-c-format
 msgid "Warn on direct virtual inheritance."
 msgstr ""
 
-#: c-family/c.opt:1474
-#, no-c-format
-msgid "Warn if a virtual base has a non-trivial move assignment operator."
-msgstr ""
-
-#: c-family/c.opt:1478
+#: c-family/c.opt:1543
 #, no-c-format
 msgid ""
 "In C++, nonzero means warn about deprecated conversion from string literals "
@@ -2801,215 +2933,188 @@ msgid ""
 "not deprecated by the ISO C standard."
 msgstr ""
 
-#: c-family/c.opt:1482
+#: c-family/c.opt:1547
 #, no-c-format
 msgid ""
 "Warn about xor operators where it appears the user meant exponentiation."
 msgstr ""
 
-#: c-family/c.opt:1486
+#: c-family/c.opt:1551
 #, no-c-format
 msgid "Warn when a literal '0' is used as null pointer."
 msgstr ""
 
-#: c-family/c.opt:1490
+#: c-family/c.opt:1555
 #, no-c-format
-msgid "Warn about useless casts."
-msgstr ""
-
-#: c-family/c.opt:1494
-#, 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:1498
-#, no-c-format
-msgid ""
-"Warn if an additional enum-base is used in an elaborated-type-specifier."
-msgstr ""
-
-#: c-family/c.opt:1502
-#, no-c-format
-msgid ""
-"Warn when a declaration has duplicate const, volatile, restrict or _Atomic "
-"specifier."
-msgstr ""
-
-#: c-family/c.opt:1506
-#, no-c-format
-msgid ""
-"Warn when an argument passed to a restrict-qualified parameter aliases with "
-"another argument."
+msgid "Warn about accesses to interior zero-length array members."
 msgstr ""
 
-#: c-family/c.opt:1511
+#: c-family/c.opt:1559
 #, no-c-format
 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)."
 msgstr ""
 
-#: c-family/c.opt:1519
+#: c-family/c.opt:1567
 #, no-c-format
 msgid ""
 "The version of the C++ ABI used for -Wabi warnings and link compatibility "
 "aliases."
 msgstr ""
 
-#: c-family/c.opt:1523
+#: c-family/c.opt:1571
 #, no-c-format
 msgid "Enforce class member access control semantics."
 msgstr ""
 
-#: c-family/c.opt:1527
+#: c-family/c.opt:1575
 #, no-c-format
 msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent."
 msgstr ""
 
-#: c-family/c.opt:1531
+#: c-family/c.opt:1579
 #, no-c-format
 msgid "Support C++17 allocation of over-aligned types."
 msgstr ""
 
-#: c-family/c.opt:1535
+#: c-family/c.opt:1583
 #, no-c-format
 msgid ""
 "-faligned-new=<N>\tUse C++17 over-aligned type allocation for alignments "
 "greater than N."
 msgstr ""
 
-#: c-family/c.opt:1546 c-family/c.opt:1859 c-family/c.opt:2253
-#: c-family/c.opt:2257 c-family/c.opt:2273
+#: c-family/c.opt:1594 c-family/c.opt:1911 c-family/c.opt:2313
+#: c-family/c.opt:2317 c-family/c.opt:2333
 #, no-c-format
 msgid "No longer supported."
 msgstr ""
 
-#: c-family/c.opt:1550
+#: c-family/c.opt:1598
 #, no-c-format
 msgid "Recognize the \"asm\" keyword."
 msgstr ""
 
-#: c-family/c.opt:1558
+#: c-family/c.opt:1606
 #, no-c-format
 msgid "Recognize built-in functions."
 msgstr ""
 
-#: c-family/c.opt:1565
+#: c-family/c.opt:1613
 #, no-c-format
 msgid "Where shorter, use canonicalized paths to systems headers."
 msgstr ""
 
-#: c-family/c.opt:1569
+#: c-family/c.opt:1617
 #, 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:1657
+#: c-family/c.opt:1705
 #, no-c-format
 msgid "Removed in GCC 8.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1661
+#: c-family/c.opt:1709
 #, no-c-format
 msgid "Enable support for C++ concepts."
 msgstr ""
 
-#: c-family/c.opt:1665
+#: c-family/c.opt:1713
 #, no-c-format
 msgid "Enable certain features present in the Concepts TS."
 msgstr ""
 
-#: c-family/c.opt:1669
+#: c-family/c.opt:1717
 #, no-c-format
 msgid ""
 "Specify maximum error replay depth during recursive diagnosis of a "
 "constraint satisfaction failure."
 msgstr ""
 
-#: c-family/c.opt:1673
+#: c-family/c.opt:1721
 #, no-c-format
 msgid "Allow the arguments of the '?' operator to have different types."
 msgstr ""
 
-#: c-family/c.opt:1681
+#: c-family/c.opt:1729
 #, no-c-format
 msgid "-fconst-string-class=<name>\tUse class <name> for constant strings."
 msgstr ""
 
-#: c-family/c.opt:1685
+#: c-family/c.opt:1733
 #, no-c-format
 msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
 msgstr ""
 
-#: c-family/c.opt:1689
+#: c-family/c.opt:1737
 #, no-c-format
 msgid ""
 "-fconstexpr-cache-depth=<number>\tSpecify maximum constexpr recursion cache "
 "depth."
 msgstr ""
 
-#: c-family/c.opt:1693
+#: c-family/c.opt:1741
 #, no-c-format
 msgid "Allow IEC559 floating point exceptions in constant expressions."
 msgstr ""
 
-#: c-family/c.opt:1697
+#: c-family/c.opt:1745
 #, no-c-format
 msgid ""
 "-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration "
 "count."
 msgstr ""
 
-#: c-family/c.opt:1701
+#: c-family/c.opt:1749
 #, no-c-format
 msgid ""
 "-fconstexpr-ops-limit=<number>\tSpecify maximum number of constexpr "
 "operations during a single constexpr evaluation."
 msgstr ""
 
-#: c-family/c.opt:1705
+#: c-family/c.opt:1753
 #, no-c-format
 msgid "Enable certain features present in drafts of C++ Contracts."
 msgstr ""
 
-#: c-family/c.opt:1718
+#: c-family/c.opt:1766
 #, no-c-format
 msgid ""
 "-fcontract-assumption-mode=[on|off]\tEnable or disable treating axiom level "
 "contracts as assumptions (default on)."
 msgstr ""
 
-#: c-family/c.opt:1722
+#: c-family/c.opt:1770
 #, no-c-format
 msgid ""
 "-fcontract-build-level=[off|default|audit]\tSpecify max contract level to "
 "generate runtime checks for."
 msgstr ""
 
-#: c-family/c.opt:1726
+#: c-family/c.opt:1774
 #, no-c-format
 msgid ""
 "-fcontract-strict-declarations=[on|off]\tEnable or disable warnings on "
 "generalized redeclaration of functions with contracts (default off)."
 msgstr ""
 
-#: c-family/c.opt:1730
+#: c-family/c.opt:1778
 #, no-c-format
 msgid ""
 "-fcontract-mode=[on|off]\tEnable or disable all contract facilities (default "
 "on)."
 msgstr ""
 
-#: c-family/c.opt:1734
+#: c-family/c.opt:1782
 #, no-c-format
 msgid ""
 "-fcontract-continuation-mode=[on|off]\tEnable or disable contract "
 "continuation mode (default off)."
 msgstr ""
 
-#: c-family/c.opt:1738
+#: c-family/c.opt:1786
 #, no-c-format
 msgid ""
 "-fcontract-role=<name>:<semantics>\tSpecify the semantics for all levels in "
@@ -3017,426 +3122,441 @@ msgid ""
 "(ex: opt:assume,assume,assume)."
 msgstr ""
 
-#: c-family/c.opt:1742
+#: c-family/c.opt:1790
 #, no-c-format
 msgid ""
 "-fcontract-semantic=<level>:<semantic>\tSpecify the concrete semantics for "
 "level."
 msgstr ""
 
-#: c-family/c.opt:1746
+#: c-family/c.opt:1794
 #, no-c-format
 msgid "Enable C++ coroutines (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1750
+#: c-family/c.opt:1798
 #, no-c-format
 msgid "Emit debug annotations during preprocessing."
 msgstr ""
 
-#: c-family/c.opt:1758
+#: c-family/c.opt:1806
 #, no-c-format
 msgid "Factor complex constructors and destructors to favor space over speed."
 msgstr ""
 
-#: c-family/c.opt:1766
+#: c-family/c.opt:1814
 #, no-c-format
 msgid "Print hierarchical comparisons when template types are mismatched."
 msgstr ""
 
-#: c-family/c.opt:1770
+#: c-family/c.opt:1818
+#, no-c-format
+msgid "Note all candidates during overload resolution failure."
+msgstr ""
+
+#: c-family/c.opt:1822
 #, no-c-format
 msgid "Preprocess directives only."
 msgstr ""
 
-#: c-family/c.opt:1774
+#: c-family/c.opt:1826
 #, no-c-format
 msgid "Permit '$' as an identifier character."
 msgstr ""
 
-#: c-family/c.opt:1778
+#: c-family/c.opt:1830
 #, 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:1782
+#: c-family/c.opt:1834
 #, no-c-format
 msgid "Write all declarations as Ada code transitively."
 msgstr ""
 
-#: c-family/c.opt:1786
+#: c-family/c.opt:1838
 #, no-c-format
 msgid "Write all declarations as Ada code for the given file only."
 msgstr ""
 
-#: c-family/c.opt:1793
+#: c-family/c.opt:1845
 #, no-c-format
 msgid "Do not elide common elements in template comparisons."
 msgstr ""
 
-#: c-family/c.opt:1797
+#: c-family/c.opt:1849
 #, no-c-format
 msgid "Generate code to check exception specifications."
 msgstr ""
 
-#: c-family/c.opt:1804
+#: c-family/c.opt:1856
 #, no-c-format
 msgid ""
 "-fexec-charset=<cset>\tConvert all strings and character constants to "
 "character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:1808
+#: c-family/c.opt:1860
 #, no-c-format
 msgid "Permit universal character names (\\u and \\U) in identifiers."
 msgstr ""
 
-#: c-family/c.opt:1812
+#: c-family/c.opt:1864
 #, no-c-format
 msgid ""
 "-finput-charset=<cset>\tSpecify the default character set for source files."
 msgstr ""
 
-#: c-family/c.opt:1816
+#: c-family/c.opt:1868
 #, no-c-format
 msgid ""
 "Support dynamic initialization of thread-local variables in a different "
 "translation unit."
 msgstr ""
 
-#: c-family/c.opt:1823
+#: c-family/c.opt:1875
 #, no-c-format
 msgid "Fold calls to simple inline functions."
 msgstr ""
 
-#: c-family/c.opt:1830
+#: c-family/c.opt:1882
 #, no-c-format
 msgid "Do not assume that standard C libraries and \"main\" exist."
 msgstr ""
 
-#: c-family/c.opt:1834
+#: c-family/c.opt:1886
 #, no-c-format
 msgid "Recognize GNU-defined keywords."
 msgstr ""
 
-#: c-family/c.opt:1838
+#: c-family/c.opt:1890
 #, no-c-format
 msgid "Generate code for GNU runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1842
+#: c-family/c.opt:1894
 #, no-c-format
 msgid "Use traditional GNU semantics for inline functions."
 msgstr ""
 
-#: c-family/c.opt:1855
+#: c-family/c.opt:1907
 #, no-c-format
 msgid "Assume normal C execution environment."
 msgstr ""
 
-#: c-family/c.opt:1863
+#: c-family/c.opt:1915
+#, no-c-format
+msgid "Implement P2564 for consteval propagation."
+msgstr ""
+
+#: c-family/c.opt:1919
 #, no-c-format
 msgid "Export functions even if they can be inlined."
 msgstr ""
 
-#: c-family/c.opt:1867
+#: c-family/c.opt:1923
 #, no-c-format
 msgid "Make inline functions constexpr by default."
 msgstr ""
 
-#: c-family/c.opt:1871
+#: c-family/c.opt:1927
 #, no-c-format
 msgid "Emit implicit instantiations of inline templates."
 msgstr ""
 
-#: c-family/c.opt:1875
+#: c-family/c.opt:1931
 #, no-c-format
 msgid "Emit implicit instantiations of templates."
 msgstr ""
 
-#: c-family/c.opt:1879
+#: c-family/c.opt:1935
 #, no-c-format
 msgid "Implement C++17 inheriting constructor semantics."
 msgstr ""
 
-#: c-family/c.opt:1886
+#: c-family/c.opt:1942
 #, no-c-format
 msgid "Don't emit dllexported inline functions unless needed."
 msgstr ""
 
-#: c-family/c.opt:1893
+#: c-family/c.opt:1949
 #, no-c-format
 msgid ""
 "Allow implicit conversions between vectors with differing numbers of "
 "subparts and/or differing element types."
 msgstr ""
 
-#: c-family/c.opt:1897
+#: c-family/c.opt:1953
 #, no-c-format
 msgid "Enable C++ modules-ts (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1905
+#: c-family/c.opt:1961
 #, no-c-format
 msgid "Enable C++ header module (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1912
+#: c-family/c.opt:1968
 #, no-c-format
 msgid ""
 "Member functions defined within their class are inline in module purview."
 msgstr ""
 
-#: c-family/c.opt:1916
+#: c-family/c.opt:1972
 #, no-c-format
 msgid "Only emit Compiled Module Interface."
 msgstr ""
 
-#: c-family/c.opt:1920
+#: c-family/c.opt:1976
 #, no-c-format
 msgid "Mapper for module to CMI files."
 msgstr ""
 
-#: c-family/c.opt:1924
+#: c-family/c.opt:1980
 #, no-c-format
 msgid "Enable lazy module importing."
 msgstr ""
 
-#: c-family/c.opt:1932
+#: c-family/c.opt:1988
 #, no-c-format
 msgid "Warn about macros that have conflicting header units definitions."
 msgstr ""
 
-#: c-family/c.opt:1936
+#: c-family/c.opt:1992
+#, no-c-format
+msgid "Warn if pointers of distinct types are compared without a cast."
+msgstr ""
+
+#: c-family/c.opt:1996
 #, no-c-format
 msgid "Note #include directives translated to import declarations."
 msgstr ""
 
-#: c-family/c.opt:1940
+#: c-family/c.opt:2000
 #, no-c-format
 msgid ""
 "Note #include directives not translated to import declarations, and not "
 "known to be textual."
 msgstr ""
 
-#: c-family/c.opt:1944
+#: c-family/c.opt:2004
 #, no-c-format
 msgid "Note a #include translation of a specific header."
 msgstr ""
 
-#: c-family/c.opt:1948
+#: c-family/c.opt:2008
 #, no-c-format
 msgid "Note Compiled Module Interface pathnames."
 msgstr ""
 
-#: c-family/c.opt:1952
+#: c-family/c.opt:2012
 #, no-c-format
 msgid ""
 "Note Compiled Module Interface pathname of a specific module or header-unit."
 msgstr ""
 
-#: c-family/c.opt:1956
+#: c-family/c.opt:2016
 #, no-c-format
 msgid ""
 "fmax-include-depth=<number> Set the maximum depth of the nested #include."
 msgstr ""
 
-#: c-family/c.opt:1960
+#: c-family/c.opt:2020
 #, no-c-format
 msgid "Don't warn about uses of Microsoft extensions."
 msgstr ""
 
-#: c-family/c.opt:1979
+#: c-family/c.opt:2039
 #, no-c-format
 msgid ""
 "Implement resolution of DR 150 for matching of template template arguments."
 msgstr ""
 
-#: c-family/c.opt:1983
+#: c-family/c.opt:2043
 #, no-c-format
-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment."
+msgid "Generate code for NeXT (Apple macOS) runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1987
+#: c-family/c.opt:2047
 #, no-c-format
 msgid "Assume that receivers of Objective-C messages may be nil."
 msgstr ""
 
-#: c-family/c.opt:1991
+#: c-family/c.opt:2051
 #, no-c-format
 msgid ""
 "Allow access to instance variables as if they were local declarations within "
 "instance method implementations."
 msgstr ""
 
-#: c-family/c.opt:1995
+#: c-family/c.opt:2055
 #, no-c-format
 msgid ""
 "-fvisibility=[private|protected|public|package]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: c-family/c.opt:2020
+#: c-family/c.opt:2080
 #, no-c-format
 msgid ""
 "Treat a throw() exception specification as noexcept to improve code size."
 msgstr ""
 
-#: c-family/c.opt:2024
+#: c-family/c.opt:2084
 #, no-c-format
 msgid ""
 "Specify which ABI to use for Objective-C family code and meta-data "
 "generation."
 msgstr ""
 
-#: c-family/c.opt:2030
+#: c-family/c.opt:2090
 #, no-c-format
 msgid ""
 "Generate special Objective-C methods to initialize/destroy non-POD C++ "
 "ivars, if needed."
 msgstr ""
 
-#: c-family/c.opt:2034
+#: c-family/c.opt:2094
 #, no-c-format
 msgid "Allow fast jumps to the message dispatcher."
 msgstr ""
 
-#: c-family/c.opt:2040
+#: c-family/c.opt:2100
 #, no-c-format
 msgid "Enable Objective-C exception and synchronization syntax."
 msgstr ""
 
-#: c-family/c.opt:2044
+#: c-family/c.opt:2104
 #, no-c-format
 msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs."
 msgstr ""
 
-#: c-family/c.opt:2048
+#: c-family/c.opt:2108
 #, no-c-format
 msgid ""
 "Enable inline checks for nil receivers with the NeXT runtime and ABI version "
 "2."
 msgstr ""
 
-#: c-family/c.opt:2053
+#: c-family/c.opt:2113
 #, no-c-format
 msgid "Enable Objective-C setjmp exception handling runtime."
 msgstr ""
 
-#: c-family/c.opt:2057
+#: c-family/c.opt:2117
 #, no-c-format
 msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0."
 msgstr ""
 
-#: c-family/c.opt:2061
+#: c-family/c.opt:2121
 #, no-c-format
 msgid "Enable OpenACC."
 msgstr ""
 
-#: c-family/c.opt:2065
+#: c-family/c.opt:2125
 #, no-c-format
 msgid "Specify default OpenACC compute dimensions."
 msgstr ""
 
-#: c-family/c.opt:2069
+#: c-family/c.opt:2129
 #, no-c-format
 msgid "Enable OpenMP (implies -frecursive in Fortran)."
 msgstr ""
 
-#: c-family/c.opt:2073
+#: c-family/c.opt:2133
 #, no-c-format
 msgid "Enable OpenMP's SIMD directives."
 msgstr ""
 
-#: c-family/c.opt:2077
+#: c-family/c.opt:2137
 #, no-c-format
 msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
 msgstr ""
 
-#: c-family/c.opt:2088
+#: c-family/c.opt:2148
 #, no-c-format
 msgid "Look for and use PCH files even when preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2092
+#: c-family/c.opt:2152
 #, no-c-format
 msgid "Downgrade conformance errors to warnings."
 msgstr ""
 
-#: c-family/c.opt:2096
+#: c-family/c.opt:2156
 #, no-c-format
 msgid "Enable Plan 9 language extensions."
 msgstr ""
 
-#: c-family/c.opt:2100
+#: c-family/c.opt:2160
 #, no-c-format
 msgid "Treat the input file as already preprocessed."
 msgstr ""
 
-#: c-family/c.opt:2108
+#: c-family/c.opt:2168
 #, 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:2112
+#: c-family/c.opt:2172
 #, no-c-format
 msgid ""
 "Do not pretty-print template specializations as the template signature "
 "followed by the arguments."
 msgstr ""
 
-#: c-family/c.opt:2116
+#: c-family/c.opt:2176
 #, no-c-format
 msgid "Treat known sprintf return values as constants."
 msgstr ""
 
-#: c-family/c.opt:2120
+#: c-family/c.opt:2180
 #, 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:2124
+#: c-family/c.opt:2184
 #, no-c-format
 msgid "Removed in GCC 10.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:2128
+#: c-family/c.opt:2188
 #, no-c-format
 msgid "Generate run time type descriptor information."
 msgstr ""
 
-#: c-family/c.opt:2132 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:2192 ada/gcc-interface/lang.opt:81
 #, no-c-format
 msgid "Use the narrowest integer type possible for enumeration types."
 msgstr ""
 
-#: c-family/c.opt:2136
+#: c-family/c.opt:2196
 #, no-c-format
 msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
 msgstr ""
 
-#: c-family/c.opt:2140
+#: c-family/c.opt:2200
 #, no-c-format
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
 msgstr ""
 
-#: c-family/c.opt:2144 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:2204 ada/gcc-interface/lang.opt:85
 #, no-c-format
 msgid "Make \"char\" signed by default."
 msgstr ""
 
-#: c-family/c.opt:2148
+#: c-family/c.opt:2208
 #, no-c-format
 msgid "Enable C++14 sized deallocation support."
 msgstr ""
 
-#: c-family/c.opt:2155
+#: c-family/c.opt:2215
 #, no-c-format
 msgid ""
 "-fstrict-flex-arrays=<level>    Control when to treat the trailing array of "
@@ -3445,429 +3565,439 @@ msgid ""
 "structures as flexible array members."
 msgstr ""
 
-#: c-family/c.opt:2162
+#: c-family/c.opt:2222
 #, no-c-format
 msgid ""
 "-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar "
 "storage order."
 msgstr ""
 
-#: c-family/c.opt:2178
+#: c-family/c.opt:2238
 #, no-c-format
 msgid "Display statistics accumulated during compilation."
 msgstr ""
 
-#: c-family/c.opt:2182
+#: c-family/c.opt:2242
 #, no-c-format
 msgid ""
 "Assume that values of enumeration type are always within the minimum range "
 "of that type."
 msgstr ""
 
-#: c-family/c.opt:2189 c-family/c.opt:2194
+#: c-family/c.opt:2249 c-family/c.opt:2254
 #, no-c-format
 msgid ""
 "Follow the C++17 evaluation order requirements for assignment expressions, "
 "shift, member function calls, etc."
 msgstr ""
 
-#: c-family/c.opt:2211
+#: c-family/c.opt:2271
 #, no-c-format
 msgid ""
 "Set the maximum number of template instantiation notes for a single warning "
 "or error."
 msgstr ""
 
-#: c-family/c.opt:2218
+#: c-family/c.opt:2278
 #, no-c-format
 msgid ""
 "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
 msgstr ""
 
-#: c-family/c.opt:2225
+#: c-family/c.opt:2285
 #, no-c-format
 msgid ""
 "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing "
 "local statics."
 msgstr ""
 
-#: c-family/c.opt:2229
+#: c-family/c.opt:2289
 #, no-c-format
 msgid ""
 "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
 msgstr ""
 
-#: c-family/c.opt:2233 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2293 ada/gcc-interface/lang.opt:89
 #, no-c-format
 msgid "Make \"char\" unsigned by default."
 msgstr ""
 
-#: c-family/c.opt:2237
+#: c-family/c.opt:2297
 #, no-c-format
 msgid "Use __cxa_atexit to register destructors."
 msgstr ""
 
-#: c-family/c.opt:2241
+#: c-family/c.opt:2301
 #, no-c-format
 msgid "Use __cxa_get_exception_ptr in exception handling."
 msgstr ""
 
-#: c-family/c.opt:2245
+#: c-family/c.opt:2305
 #, no-c-format
 msgid "Marks all inlined functions and methods as having hidden visibility."
 msgstr ""
 
-#: c-family/c.opt:2249
+#: c-family/c.opt:2309
 #, no-c-format
 msgid "Changes visibility to match Microsoft Visual Studio by default."
 msgstr ""
 
-#: c-family/c.opt:2261
+#: c-family/c.opt:2321
 #, no-c-format
 msgid "Emit common-like symbols as weak symbols."
 msgstr ""
 
-#: c-family/c.opt:2265
+#: c-family/c.opt:2325
 #, no-c-format
 msgid ""
 "-fwide-exec-charset=<cset>\tConvert all wide strings and character constants "
 "to character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:2269
+#: c-family/c.opt:2329
 #, no-c-format
 msgid "Generate a #line directive pointing at the current working directory."
 msgstr ""
 
-#: c-family/c.opt:2277
+#: c-family/c.opt:2337
 #, no-c-format
 msgid ""
 "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
 msgstr ""
 
-#: c-family/c.opt:2281
+#: c-family/c.opt:2341
 #, no-c-format
 msgid "Dump declarations to a .decl file."
 msgstr ""
 
-#: c-family/c.opt:2285
+#: c-family/c.opt:2345
 #, no-c-format
 msgid ""
 "-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2289
+#: c-family/c.opt:2349
 #, no-c-format
 msgid ""
 "-femit-struct-debug-reduced\tConservative reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2293
+#: c-family/c.opt:2353
 #, no-c-format
 msgid ""
 "-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for "
 "structs."
 msgstr ""
 
-#: c-family/c.opt:2297
+#: c-family/c.opt:2357
 #, 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:2302
+#: c-family/c.opt:2362
 #, no-c-format
 msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2306
+#: c-family/c.opt:2366
 #, no-c-format
 msgid "-imacros <file>\tAccept definition of macros in <file>."
 msgstr ""
 
-#: c-family/c.opt:2310
+#: c-family/c.opt:2370
 #, no-c-format
 msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
 msgstr ""
 
-#: c-family/c.opt:2314
+#: c-family/c.opt:2374
 #, no-c-format
 msgid "-include <file>\tInclude the contents of <file> before other files."
 msgstr ""
 
-#: c-family/c.opt:2318
+#: c-family/c.opt:2378
 #, no-c-format
 msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
 msgstr ""
 
-#: c-family/c.opt:2322
+#: c-family/c.opt:2382
 #, no-c-format
 msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
 msgstr ""
 
-#: c-family/c.opt:2326
+#: c-family/c.opt:2386
 #, no-c-format
 msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2330
+#: c-family/c.opt:2390
 #, no-c-format
 msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
 msgstr ""
 
-#: c-family/c.opt:2334
+#: c-family/c.opt:2394
 #, no-c-format
 msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2338
+#: c-family/c.opt:2398
 #, no-c-format
 msgid ""
 "-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
 msgstr ""
 
-#: c-family/c.opt:2348
+#: c-family/c.opt:2408
 #, no-c-format
 msgid ""
 "Do not search standard system include directories (those specified with -"
 "isystem will still be used)."
 msgstr ""
 
-#: c-family/c.opt:2352
+#: c-family/c.opt:2412
 #, no-c-format
 msgid "Do not search standard system include directories for C++."
 msgstr ""
 
-#: c-family/c.opt:2364
+#: c-family/c.opt:2424
 #, no-c-format
 msgid "Generate C header of platform-specific features."
 msgstr ""
 
-#: c-family/c.opt:2368
+#: c-family/c.opt:2428
 #, no-c-format
 msgid "Remap file names when including files."
 msgstr ""
 
-#: c-family/c.opt:2372 c-family/c.opt:2376
+#: c-family/c.opt:2432 c-family/c.opt:2436
 #, no-c-format
 msgid ""
 "Conform to the ISO 1998 C++ standard revised by the 2003 technical "
 "corrigendum."
 msgstr ""
 
-#: c-family/c.opt:2380
+#: c-family/c.opt:2440
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2384
+#: c-family/c.opt:2444
 #, no-c-format
 msgid "Deprecated in favor of -std=c++11."
 msgstr ""
 
-#: c-family/c.opt:2388
+#: c-family/c.opt:2448
 #, no-c-format
 msgid "Deprecated in favor of -std=c++14."
 msgstr ""
 
-#: c-family/c.opt:2392
+#: c-family/c.opt:2452
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2396
+#: c-family/c.opt:2456
 #, no-c-format
 msgid "Deprecated in favor of -std=c++17."
 msgstr ""
 
-#: c-family/c.opt:2400
+#: c-family/c.opt:2460
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2404 c-family/c.opt:2408
+#: c-family/c.opt:2464 c-family/c.opt:2468
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2412 c-family/c.opt:2416
+#: c-family/c.opt:2472 c-family/c.opt:2476
 #, no-c-format
 msgid ""
 "Conform to the ISO 2023 C++ draft standard (experimental and incomplete "
 "support)."
 msgstr ""
 
-#: c-family/c.opt:2420 c-family/c.opt:2424
+#: c-family/c.opt:2480 c-family/c.opt:2484
 #, no-c-format
 msgid ""
 "Conform to the ISO 2026 C++ draft standard (experimental and incomplete "
 "support)."
 msgstr ""
 
-#: c-family/c.opt:2428 c-family/c.opt:2574
+#: c-family/c.opt:2488 c-family/c.opt:2642
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard."
 msgstr ""
 
-#: c-family/c.opt:2432
+#: c-family/c.opt:2492
 #, no-c-format
 msgid "Deprecated in favor of -std=c11."
 msgstr ""
 
-#: c-family/c.opt:2436 c-family/c.opt:2440 c-family/c.opt:2578
-#: c-family/c.opt:2582
+#: c-family/c.opt:2496 c-family/c.opt:2500 c-family/c.opt:2646
+#: c-family/c.opt:2650
 #, no-c-format
 msgid "Conform to the ISO 2017 C standard (published in 2018)."
 msgstr ""
 
-#: c-family/c.opt:2444
+#: c-family/c.opt:2504 c-family/c.opt:2654
 #, no-c-format
 msgid ""
-"Conform to the ISO 202X C standard draft (experimental and incomplete "
-"support)."
+"Conform to the ISO 2023 C standard draft (expected to be published in 2024) "
+"(experimental and incomplete support)."
+msgstr ""
+
+#: c-family/c.opt:2508
+#, no-c-format
+msgid "Deprecated in favor of -std=c23."
 msgstr ""
 
-#: c-family/c.opt:2448 c-family/c.opt:2452 c-family/c.opt:2558
+#: c-family/c.opt:2512 c-family/c.opt:2516 c-family/c.opt:2626
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard."
 msgstr ""
 
-#: c-family/c.opt:2456 c-family/c.opt:2566
+#: c-family/c.opt:2520 c-family/c.opt:2634
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard."
 msgstr ""
 
-#: c-family/c.opt:2460
+#: c-family/c.opt:2524
 #, no-c-format
 msgid "Deprecated in favor of -std=c99."
 msgstr ""
 
-#: c-family/c.opt:2464 c-family/c.opt:2469
+#: c-family/c.opt:2528 c-family/c.opt:2533
 #, no-c-format
 msgid ""
 "Conform to the ISO 1998 C++ standard revised by the 2003 technical "
 "corrigendum with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2474
+#: c-family/c.opt:2538
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2478
+#: c-family/c.opt:2542
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++11."
 msgstr ""
 
-#: c-family/c.opt:2482
+#: c-family/c.opt:2546
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++14."
 msgstr ""
 
-#: c-family/c.opt:2486
+#: c-family/c.opt:2550
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2490
+#: c-family/c.opt:2554
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++17."
 msgstr ""
 
-#: c-family/c.opt:2494
+#: c-family/c.opt:2558
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2498 c-family/c.opt:2502
+#: c-family/c.opt:2562 c-family/c.opt:2566
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard with GNU extensions (experimental and "
 "incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2506 c-family/c.opt:2510
+#: c-family/c.opt:2570 c-family/c.opt:2574
 #, no-c-format
 msgid ""
 "Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental "
 "and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2514 c-family/c.opt:2518
+#: c-family/c.opt:2578 c-family/c.opt:2582
 #, no-c-format
 msgid ""
 "Conform to the ISO 2026 C++ draft standard with GNU extensions (experimental "
 "and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2522
+#: c-family/c.opt:2586
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2526
+#: c-family/c.opt:2590
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu11."
 msgstr ""
 
-#: c-family/c.opt:2530 c-family/c.opt:2534
+#: c-family/c.opt:2594 c-family/c.opt:2598
 #, no-c-format
 msgid ""
 "Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2538
+#: c-family/c.opt:2602
 #, no-c-format
 msgid ""
-"Conform to the ISO 202X C standard draft with GNU extensions (experimental "
-"and incomplete support)."
+"Conform to the ISO 2023 C standard draft (expected to be published in 2024) "
+"with GNU extensions (experimental and incomplete support)."
+msgstr ""
+
+#: c-family/c.opt:2606
+#, no-c-format
+msgid "Deprecated in favor of -std=gnu23."
 msgstr ""
 
-#: c-family/c.opt:2542 c-family/c.opt:2546
+#: c-family/c.opt:2610 c-family/c.opt:2614
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2550
+#: c-family/c.opt:2618
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2554
+#: c-family/c.opt:2622
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu99."
 msgstr ""
 
-#: c-family/c.opt:2562
+#: c-family/c.opt:2630
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard as amended in 1994."
 msgstr ""
 
-#: c-family/c.opt:2570
+#: c-family/c.opt:2638
 #, no-c-format
 msgid "Deprecated in favor of -std=iso9899:1999."
 msgstr ""
 
-#: c-family/c.opt:2586
+#: c-family/c.opt:2658
 #, no-c-format
 msgid ""
 "-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers "
 "and runtime."
 msgstr ""
 
-#: c-family/c.opt:2603
+#: c-family/c.opt:2675
 #, no-c-format
 msgid "Enable traditional preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2607
+#: c-family/c.opt:2679
 #, no-c-format
 msgid "-trigraphs\tSupport ISO C trigraphs."
 msgstr ""
 
-#: c-family/c.opt:2611
+#: c-family/c.opt:2683
 #, no-c-format
 msgid "Do not predefine system-specific and GCC-specific macros."
 msgstr ""
@@ -4261,122 +4391,143 @@ msgstr ""
 #: m2/lang.opt:35
 #, no-c-format
 msgid ""
+"turns on case statement label compile time checking when using an expression "
+"of an enum type."
+msgstr ""
+
+#: m2/lang.opt:39
+#, no-c-format
+msgid ""
 "compiler checks to force definition module procedure parameter names with "
 "their implementation module counterpart"
 msgstr ""
 
-#: m2/lang.opt:39
+#: m2/lang.opt:43
 #, no-c-format
 msgid "compiler warns if a cast is being used on types of differing sizes"
 msgstr ""
 
-#: m2/lang.opt:43
+#: m2/lang.opt:47
 #, no-c-format
 msgid "inform user which parameters will be passed by reference"
 msgstr ""
 
-#: m2/lang.opt:47
+#: m2/lang.opt:51
 #, no-c-format
 msgid ""
 "extra compile time semantic checking, typically tries to catch poor "
 "programming style"
 msgstr ""
 
-#: m2/lang.opt:51
+#: m2/lang.opt:55
+#, no-c-format
+msgid ""
+"turns on compile time analysis in the first basic block of a procedure "
+"detecting access to uninitialized data."
+msgstr ""
+
+#: m2/lang.opt:59
+#, no-c-format
+msgid ""
+"turns on compile time analysis to detect access to uninitialized variables, "
+"the checking can be specified by: known,cond,all."
+msgstr ""
+
+#: m2/lang.opt:63
 #, no-c-format
 msgid "automatically initializes all pointers to NIL"
 msgstr ""
 
-#: m2/lang.opt:55
+#: m2/lang.opt:67
 #, no-c-format
 msgid ""
 "turns on runtime subrange, array index and indirection via NIL pointer "
 "checking"
 msgstr ""
 
-#: m2/lang.opt:59
+#: m2/lang.opt:71
 #, no-c-format
 msgid ""
 "turns on runtime checking to check whether a CASE statement requires an ELSE "
 "clause when one was not specified"
 msgstr ""
 
-#: m2/lang.opt:63
+#: m2/lang.opt:75
 #, no-c-format
 msgid "use cpp to preprocess the module"
 msgstr ""
 
-#: m2/lang.opt:67 m2/lang.opt:71
+#: m2/lang.opt:79 m2/lang.opt:83
 #, no-c-format
 msgid "passed to the preprocessor if -fcpp is used (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:75
+#: m2/lang.opt:87
 #, no-c-format
 msgid "call a real function, rather than the builtin equivalent"
 msgstr ""
 
-#: m2/lang.opt:79
+#: m2/lang.opt:91
 #, no-c-format
 msgid "turn on internal debugging of the compiler (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:83
+#: m2/lang.opt:95
 #, no-c-format
 msgid "turn on quadruple tracing (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:87
+#: m2/lang.opt:99
 #, no-c-format
 msgid "turn on the Modula-2 api tracing (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:91
+#: m2/lang.opt:103
 #, no-c-format
 msgid "turn on the Modula-2 function line number generation (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:95
+#: m2/lang.opt:107
 #, no-c-format
 msgid "recognise the specified suffix as a definition module filename"
 msgstr ""
 
-#: m2/lang.opt:99
+#: m2/lang.opt:111
 #, no-c-format
 msgid "display all inbuilt system items"
 msgstr ""
 
-#: m2/lang.opt:103
+#: m2/lang.opt:115
 #, no-c-format
 msgid ""
 "allows opaque types to be implemented as any type (a GNU Modula-2 extension)"
 msgstr ""
 
-#: m2/lang.opt:107
+#: m2/lang.opt:119
 #, no-c-format
 msgid ""
 "turns on runtime checking to check whether a floating point number will "
 "exceed range"
 msgstr ""
 
-#: m2/lang.opt:111
+#: m2/lang.opt:123
 #, no-c-format
 msgid ""
 "create a topologically sorted module list from all dependent modules used in "
 "the application"
 msgstr ""
 
-#: m2/lang.opt:115 m2/lang.opt:203
+#: m2/lang.opt:127 m2/lang.opt:215
 #, no-c-format
 msgid "turns on all range checking for numerical values"
 msgstr ""
 
-#: m2/lang.opt:119
+#: m2/lang.opt:131
 #, no-c-format
 msgid "use ISO dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:123
+#: m2/lang.opt:135
 #, no-c-format
 msgid ""
 "specify the library order, the libraries may be specified by a comma "
@@ -4384,211 +4535,197 @@ msgid ""
 "m2pim,m2iso."
 msgstr ""
 
-#: m2/lang.opt:127
+#: m2/lang.opt:139
 #, no-c-format
 msgid "set all location values to a specific value (internal switch)"
 msgstr ""
 
-#: m2/lang.opt:131
+#: m2/lang.opt:143
 #, no-c-format
 msgid ""
 "generate extra nops to improve debugging, producing an instruction for every "
 "code related keyword"
 msgstr ""
 
-#: m2/lang.opt:135
+#: m2/lang.opt:147
 #, no-c-format
 msgid "generate error messages which render keywords in lower case"
 msgstr ""
 
-#: m2/lang.opt:139
+#: m2/lang.opt:151
 #, no-c-format
 msgid ""
 "specify the module mangled prefix name for all modules in the following "
 "include paths"
 msgstr ""
 
-#: m2/lang.opt:147
+#: m2/lang.opt:159
 #, no-c-format
 msgid "insert plugin to identify runtime errors at compiletime"
 msgstr ""
 
-#: m2/lang.opt:151
+#: m2/lang.opt:163
 #, no-c-format
 msgid "specify the module mangled prefix name"
 msgstr ""
 
-#: m2/lang.opt:155
+#: m2/lang.opt:167
 #, no-c-format
 msgid ""
 "display statistics about the amount of source lines compiled and symbols used"
 msgstr ""
 
-#: m2/lang.opt:159
+#: m2/lang.opt:171
 #, no-c-format
 msgid "experimental flag to turn on the new strict type checker"
 msgstr ""
 
-#: m2/lang.opt:163
+#: m2/lang.opt:175
 #, no-c-format
 msgid "compile all implementation modules and program module at once"
 msgstr ""
 
-#: m2/lang.opt:167
+#: m2/lang.opt:179
 #, no-c-format
 msgid "recognise the specified suffix as implementation and module filenames"
 msgstr ""
 
-#: m2/lang.opt:171
+#: m2/lang.opt:183
 #, no-c-format
 msgid ""
 "turns on runtime checking to detect accessing data through a NIL value "
 "pointer"
 msgstr ""
 
-#: m2/lang.opt:175
+#: m2/lang.opt:187
 #, no-c-format
 msgid "use PIM [234] dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:179
+#: m2/lang.opt:191
 #, no-c-format
 msgid "use PIM 2 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:183
+#: m2/lang.opt:195
 #, no-c-format
 msgid "use PIM 3 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:187
+#: m2/lang.opt:199
 #, no-c-format
 msgid "use PIM 4 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:191
+#: m2/lang.opt:203
 #, no-c-format
 msgid "force positive result from MOD and DIV result floor"
 msgstr ""
 
-#: m2/lang.opt:195
+#: m2/lang.opt:207
 #, no-c-format
 msgid "link against the pthread library (default on)"
 msgstr ""
 
-#: m2/lang.opt:199
+#: m2/lang.opt:211
 #, no-c-format
 msgid "internal compiler debugging information, dump the list of quadruples"
 msgstr ""
 
-#: m2/lang.opt:207
+#: m2/lang.opt:219
 #, no-c-format
 msgid ""
 "turns on runtime checking for functions which finish without executing a "
 "RETURN statement"
 msgstr ""
 
-#: m2/lang.opt:211
+#: m2/lang.opt:223
 #, no-c-format
 msgid "specify the list of runtime modules and their initialization order"
 msgstr ""
 
-#: m2/lang.opt:215
+#: m2/lang.opt:227
 #, no-c-format
 msgid ""
 "the modules initialization order is dynamically determined by M2RTS and "
 "application dependencies"
 msgstr ""
 
-#: m2/lang.opt:219
+#: m2/lang.opt:231
 #, no-c-format
 msgid "generate a C source scaffold for the current module being compiled"
 msgstr ""
 
-#: m2/lang.opt:223
+#: m2/lang.opt:235
 #, no-c-format
 msgid "generate a C++ source scaffold for the current module being compiled"
 msgstr ""
 
-#: m2/lang.opt:227
+#: m2/lang.opt:239
 #, no-c-format
 msgid "generate the main function"
 msgstr ""
 
-#: m2/lang.opt:231
+#: m2/lang.opt:243
 #, no-c-format
 msgid ""
 "generate static scaffold initialization and finalization for every module "
 "inside main"
 msgstr ""
 
-#: m2/lang.opt:235
+#: m2/lang.opt:247
 #, no-c-format
 msgid "generate a shared library from the module"
 msgstr ""
 
-#: m2/lang.opt:239
+#: m2/lang.opt:251
 #, no-c-format
 msgid ""
 "turns on all software runtime checking (an abbreviation for -fnil -frange -"
 "findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)"
 msgstr ""
 
-#: m2/lang.opt:243
+#: m2/lang.opt:255
 #, no-c-format
 msgid "display the location of module source files as they are compiled"
 msgstr ""
 
-#: m2/lang.opt:247
+#: m2/lang.opt:259
 #, no-c-format
 msgid "create a swig interface file for the module"
 msgstr ""
 
-#: m2/lang.opt:251
+#: m2/lang.opt:263
 #, no-c-format
 msgid ""
 "optimize non var unbounded parameters by passing it by reference, providing "
 "it is not written to within the callee procedure."
 msgstr ""
 
-#: m2/lang.opt:255
+#: m2/lang.opt:267
 #, no-c-format
 msgid ""
 "orders the initialization/finalializations for scaffold-static or force "
 "linking of modules if scaffold-dynamic"
 msgstr ""
 
-#: m2/lang.opt:263
+#: m2/lang.opt:275
 #, no-c-format
 msgid "turns on all division and modulus by zero checking for ordinal values"
 msgstr ""
 
-#: m2/lang.opt:267
+#: m2/lang.opt:279
 #, no-c-format
 msgid ""
 "turns on runtime checking to check whether a whole number will exceed range"
 msgstr ""
 
-#: m2/lang.opt:271
+#: m2/lang.opt:283
 #, no-c-format
 msgid "Link the standard Modula-2 libraries statically in the compilation."
 msgstr ""
 
-#: m2/lang.opt:298
-#, no-c-format
-msgid ""
-"turns on compile time analysis in the first basic block of a procedure "
-"detecting access to uninitialized data."
-msgstr ""
-
-#: m2/lang.opt:302
-#, no-c-format
-msgid ""
-"turns on compile time analysis to detect access to uninitialized variables, "
-"the checking can be specified by: known,cond,all."
-msgstr ""
-
-#: m2/lang.opt:420 m2/lang.opt:424
+#: m2/lang.opt:428 m2/lang.opt:432
 #, no-c-format
 msgid "save temporary preprocessed files"
 msgstr ""
@@ -4857,317 +4994,352 @@ msgstr ""
 
 #: analyzer/analyzer.opt:139
 #, no-c-format
-msgid "Warn about code paths which appear to lead to infinite recursion."
+msgid "Warn about code paths which appear to lead to an infinite loop."
 msgstr ""
 
 #: analyzer/analyzer.opt:143
 #, no-c-format
-msgid "Warn about code paths in which a NULL function pointer is called."
+msgid "Warn about code paths which appear to lead to infinite recursion."
 msgstr ""
 
 #: analyzer/analyzer.opt:147
 #, no-c-format
-msgid "Warn about code paths in which a heap-allocated pointer leaks."
+msgid "Warn about code paths in which a NULL function pointer is called."
 msgstr ""
 
 #: analyzer/analyzer.opt:151
 #, no-c-format
+msgid "Warn about code paths in which a heap-allocated pointer leaks."
+msgstr ""
+
+#: analyzer/analyzer.opt:155
+#, no-c-format
 msgid ""
 "Warn about code paths in which the wrong deallocation function is called."
 msgstr ""
 
-#: analyzer/analyzer.opt:155
+#: analyzer/analyzer.opt:159
 #, no-c-format
 msgid ""
 "Warn about code paths in which a write or read to a buffer is out-of-bounds."
 msgstr ""
 
-#: analyzer/analyzer.opt:159
+#: analyzer/analyzer.opt:163
+#, no-c-format
+msgid ""
+"Warn about code paths in which undefined behavior would occur due to "
+"overlapping buffers."
+msgstr ""
+
+#: analyzer/analyzer.opt:167
 #, no-c-format
 msgid ""
 "Warn about code paths in which a possibly-NULL value is passed to a must-not-"
 "be-NULL function argument."
 msgstr ""
 
-#: analyzer/analyzer.opt:163
+#: analyzer/analyzer.opt:171
 #, no-c-format
 msgid "Warn about code paths in which a possibly-NULL pointer is dereferenced."
 msgstr ""
 
-#: analyzer/analyzer.opt:167
+#: analyzer/analyzer.opt:175
 #, no-c-format
 msgid ""
 "Warn about code paths in which an async-signal-unsafe function is called "
 "from a signal handler."
 msgstr ""
 
-#: analyzer/analyzer.opt:171
+#: analyzer/analyzer.opt:179
 #, no-c-format
 msgid ""
 "Warn about code paths in which NULL is passed to a must-not-be-NULL function "
 "argument."
 msgstr ""
 
-#: analyzer/analyzer.opt:175
+#: analyzer/analyzer.opt:183
 #, no-c-format
 msgid "Warn about code paths in which a NULL pointer is dereferenced."
 msgstr ""
 
-#: analyzer/analyzer.opt:179
+#: analyzer/analyzer.opt:187
 #, no-c-format
 msgid "Warn about code paths in which an on-stack buffer is passed to putenv."
 msgstr ""
 
-#: analyzer/analyzer.opt:183
+#: analyzer/analyzer.opt:191
 #, no-c-format
 msgid ""
 "Warn about code paths in which a shift with negative count is attempted."
 msgstr ""
 
-#: analyzer/analyzer.opt:187
+#: analyzer/analyzer.opt:195
 #, no-c-format
 msgid ""
 "Warn about code paths in which a shift with count >= width of type is "
 "attempted."
 msgstr ""
 
-#: analyzer/analyzer.opt:191
+#: analyzer/analyzer.opt:199
 #, no-c-format
 msgid ""
 "Warn about code paths in which a longjmp rewinds to a jmp_buf saved in a "
 "stack frame that has returned."
 msgstr ""
 
-#: analyzer/analyzer.opt:195
+#: analyzer/analyzer.opt:203
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as an allocation "
 "size."
 msgstr ""
 
-#: analyzer/analyzer.opt:199
+#: analyzer/analyzer.opt:207
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as an array "
 "index."
 msgstr ""
 
-#: analyzer/analyzer.opt:203
+#: analyzer/analyzer.opt:211
 #, no-c-format
 msgid ""
 "Warn about code paths in which an 'assert()' is made involving an "
 "unsanitized value."
 msgstr ""
 
-#: analyzer/analyzer.opt:207
+#: analyzer/analyzer.opt:215
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as a divisor."
 msgstr ""
 
-#: analyzer/analyzer.opt:211
+#: analyzer/analyzer.opt:219
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as a pointer "
 "offset."
 msgstr ""
 
-#: analyzer/analyzer.opt:215
+#: analyzer/analyzer.opt:223
 #, no-c-format
 msgid "Warn about code paths in which an unsanitized value is used as a size."
 msgstr ""
 
-#: analyzer/analyzer.opt:219
+#: analyzer/analyzer.opt:227
+#, no-c-format
+msgid ""
+"Warn about code paths in in which a call is made to strtok with undefined "
+"behavior."
+msgstr ""
+
+#: analyzer/analyzer.opt:231
 #, no-c-format
 msgid "Warn about code paths in which a freed value is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:223
+#: analyzer/analyzer.opt:235
 #, no-c-format
 msgid ""
 "Warn about code paths in which a pointer to a stale stack frame is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:227
+#: analyzer/analyzer.opt:239
 #, no-c-format
 msgid "Warn about code paths in which va_arg uses the wrong type."
 msgstr ""
 
-#: analyzer/analyzer.opt:231
+#: analyzer/analyzer.opt:243
 #, no-c-format
 msgid ""
 "Warn about code paths in which va_arg is used too many times on a va_list."
 msgstr ""
 
-#: analyzer/analyzer.opt:235
+#: analyzer/analyzer.opt:247
 #, no-c-format
 msgid ""
 "Warn about code paths in which va_start or va_copy is used without a "
 "corresponding va_end."
 msgstr ""
 
-#: analyzer/analyzer.opt:239
+#: analyzer/analyzer.opt:251
 #, no-c-format
 msgid "Warn about code paths in which a va_list is used after va_end."
 msgstr ""
 
-#: analyzer/analyzer.opt:243
+#: analyzer/analyzer.opt:255
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a const object."
 msgstr ""
 
-#: analyzer/analyzer.opt:247
+#: analyzer/analyzer.opt:259
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a string literal."
 msgstr ""
 
-#: analyzer/analyzer.opt:251
+#: analyzer/analyzer.opt:263
 #, no-c-format
 msgid "Warn about code paths in which an uninitialized value is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:255
+#: analyzer/analyzer.opt:267
+#, no-c-format
+msgid ""
+"Warn if expressions are too complicated for the analyzer to fully track."
+msgstr ""
+
+#: analyzer/analyzer.opt:271
 #, no-c-format
 msgid "Warn if the code is too complicated for the analyzer to fully explore."
 msgstr ""
 
-#: analyzer/analyzer.opt:259
+#: analyzer/analyzer.opt:275
 #, no-c-format
 msgid "Restrict the analyzer to run just the named checker."
 msgstr ""
 
-#: analyzer/analyzer.opt:263
+#: analyzer/analyzer.opt:279
 #, no-c-format
 msgid "Add extra annotations to diagrams."
 msgstr ""
 
-#: analyzer/analyzer.opt:267
+#: analyzer/analyzer.opt:283
 #, no-c-format
 msgid "Avoid combining multiple statements into one exploded edge."
 msgstr ""
 
-#: analyzer/analyzer.opt:271
+#: analyzer/analyzer.opt:287
 #, no-c-format
 msgid "Verify that paths are feasible when emitting diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:275
+#: analyzer/analyzer.opt:291
 #, no-c-format
 msgid "Issue a note when diagnostics are deduplicated."
 msgstr ""
 
-#: analyzer/analyzer.opt:279
+#: analyzer/analyzer.opt:295
 #, no-c-format
 msgid "Purge unneeded state during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:283
+#: analyzer/analyzer.opt:299
 #, no-c-format
 msgid "Merge similar-enough states during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:287
+#: analyzer/analyzer.opt:303
 #, no-c-format
 msgid "Stop exploring an execution path after certain diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:291
+#: analyzer/analyzer.opt:307
 #, no-c-format
 msgid "Enable transitivity of constraints during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:295
+#: analyzer/analyzer.opt:311
+#, no-c-format
+msgid "Show events within system headers in analyzer execution paths."
+msgstr ""
+
+#: analyzer/analyzer.opt:315
 #, no-c-format
 msgid "Approximate the effect of function calls to simplify analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:299
+#: analyzer/analyzer.opt:319
 #, no-c-format
 msgid "Try to reconstruct function calls and returns after inlining."
 msgstr ""
 
-#: analyzer/analyzer.opt:303
+#: analyzer/analyzer.opt:323
 #, no-c-format
 msgid "Emit more verbose descriptions of control flow in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:307
+#: analyzer/analyzer.opt:327
 #, no-c-format
 msgid "Emit more verbose descriptions of state changes in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:311
+#: analyzer/analyzer.opt:331
 #, no-c-format
 msgid "Control which events are displayed in diagnostic paths."
 msgstr ""
 
-#: analyzer/analyzer.opt:315
+#: analyzer/analyzer.opt:335
 #, no-c-format
 msgid "Dump various analyzer internals to SRCFILE.analyzer.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:319
+#: analyzer/analyzer.opt:339
 #, no-c-format
 msgid "Dump various analyzer internals to stderr."
 msgstr ""
 
-#: analyzer/analyzer.opt:323
+#: analyzer/analyzer.opt:343
 #, no-c-format
 msgid ""
 "Dump analyzer-specific call graph information to a SRCFILE.callgraph.dot "
 "file."
 msgstr ""
 
-#: analyzer/analyzer.opt:327
+#: analyzer/analyzer.opt:347
 #, no-c-format
 msgid "Dump the analyzer exploded graph to a SRCFILE.eg.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:331
+#: analyzer/analyzer.opt:351
 #, no-c-format
 msgid "Emit diagnostics showing the location of nodes in the exploded graph."
 msgstr ""
 
-#: analyzer/analyzer.opt:335
+#: analyzer/analyzer.opt:355
 #, no-c-format
 msgid "Dump a textual representation of the exploded graph to SRCFILE.eg.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:339
+#: analyzer/analyzer.opt:359
 #, no-c-format
 msgid ""
 "Dump a textual representation of the exploded graph to SRCFILE.eg-ID.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:343
+#: analyzer/analyzer.opt:363
 #, no-c-format
 msgid ""
 "Dump a textual representation of each diagnostic's exploded path to SRCFILE."
 "IDX.KIND.epath.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:347
+#: analyzer/analyzer.opt:367
 #, no-c-format
 msgid ""
 "Dump various analyzer internals to SRCFILE.*.fg.dot and SRCFILE.*.tg.dot."
 msgstr ""
 
-#: analyzer/analyzer.opt:351
+#: analyzer/analyzer.opt:371
+#, no-c-format
+msgid "Dump various analyzer internals to SRCFILE.*.infinite-loop.dot."
+msgstr ""
+
+#: analyzer/analyzer.opt:375
 #, no-c-format
 msgid "Dump analyzer-specific data to a SRCFILE.analyzer.json.gz file."
 msgstr ""
 
-#: analyzer/analyzer.opt:355
+#: analyzer/analyzer.opt:379
 #, no-c-format
 msgid "Dump state-purging information to a SRCFILE.state-purge.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:359
+#: analyzer/analyzer.opt:383
 #, no-c-format
 msgid "Dump the analyzer supergraph to a SRCFILE.supergraph.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:363
+#: analyzer/analyzer.opt:387
 #, no-c-format
 msgid ""
 "Emit custom warnings with internal details intended for analyzer developers."
@@ -5655,55 +5827,62 @@ msgstr ""
 
 #: config/darwin.opt:246
 #, no-c-format
-msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable."
+msgid ""
+"Do not add default run paths (for the compiler library directories) to "
+"executables, modules or dynamic libraries."
 msgstr ""
 
 #: config/darwin.opt:250
 #, no-c-format
+msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable."
+msgstr ""
+
+#: config/darwin.opt:254
+#, no-c-format
 msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework."
 msgstr ""
 
-#: config/darwin.opt:254 config/darwin.opt:269 config/darwin.opt:273
+#: config/darwin.opt:258 config/darwin.opt:273 config/darwin.opt:277
 #, no-c-format
 msgid "(Obsolete) LD_PREBIND is no longer supported."
 msgstr ""
 
-#: config/darwin.opt:258
+#: config/darwin.opt:262
 #, no-c-format
 msgid "(Obsolete) This is the default."
 msgstr ""
 
-#: config/darwin.opt:265
+#: config/darwin.opt:269
 #, no-c-format
 msgid ""
 "-pagezero_size <size>\tAllows setting the page 0 size to 4kb when required."
 msgstr ""
 
-#: config/darwin.opt:277
+#: config/darwin.opt:281
 #, no-c-format
 msgid "Produces a Mach-O file suitable for embedded/ROM use."
 msgstr ""
 
-#: config/darwin.opt:281
+#: config/darwin.opt:285
 #, no-c-format
 msgid ""
 "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked "
 "bundle contained a symbol also exported from the main executable."
 msgstr ""
 
-#: config/darwin.opt:288
+#: config/darwin.opt:292
 #, no-c-format
 msgid "Synonym for \"-export-dynamic\" for linker versions that support it."
 msgstr ""
 
-#: config/darwin.opt:292
+#: config/darwin.opt:296
 #, no-c-format
 msgid ""
 "-read_only_relocs <treatment>\tAllow relocations in read-only pages (not "
 "recommended)."
 msgstr ""
 
-#: config/darwin.opt:296
+#: config/darwin.opt:300
 #, no-c-format
 msgid ""
 "-sectalign <segname> <sectname> <value>\tSet section <sectname> in segment "
@@ -5711,64 +5890,64 @@ msgid ""
 "expressed in hexadecimal form."
 msgstr ""
 
-#: config/darwin.opt:300
+#: config/darwin.opt:304
 #, no-c-format
 msgid ""
 "-sectcreate <segname> <sectname> <file>\tCreate section <sectname> in "
 "segment <segname> from the contents of <file>."
 msgstr ""
 
-#: config/darwin.opt:304
+#: config/darwin.opt:308
 #, no-c-format
 msgid ""
 "(Obsolete) -sectobjectsymbols <segname> <sectname>\tSetting a local symbol "
 "at the start of a section is no longer supported."
 msgstr ""
 
-#: config/darwin.opt:308
+#: config/darwin.opt:312
 #, no-c-format
 msgid ""
 "(Obsolete) -sectorder <segname> <sectname> <orderfile>\tReplaced by a more "
 "general option \"-order_file\"."
 msgstr ""
 
-#: config/darwin.opt:312
+#: config/darwin.opt:316
 #, no-c-format
 msgid ""
 "-seg_addr_table <file>\tSpecify the base addresses for dynamic libraries; "
 "<file> contains a line for each library."
 msgstr ""
 
-#: config/darwin.opt:317
+#: config/darwin.opt:321
 #, no-c-format
 msgid "(Obsolete, ld_classic only) -seg_addr_table_filename <path>."
 msgstr ""
 
-#: config/darwin.opt:321
+#: config/darwin.opt:325
 #, no-c-format
 msgid "Synonym for \"image_base\"."
 msgstr ""
 
-#: config/darwin.opt:325
+#: config/darwin.opt:329
 #, no-c-format
 msgid ""
 "-segaddr <name> <address>\tSet the base address of segment <name> to "
 "<address> which must be aligned to a page boundary (currently 4kb)."
 msgstr ""
 
-#: config/darwin.opt:330
+#: config/darwin.opt:334
 #, no-c-format
 msgid ""
 "(Obsolete, ld_classic only) -sectcreate <segname> <sectname> <file>\tAllowed "
 "creation of a section from a file."
 msgstr ""
 
-#: config/darwin.opt:334
+#: config/darwin.opt:338
 #, no-c-format
 msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported."
 msgstr ""
 
-#: config/darwin.opt:338
+#: config/darwin.opt:342
 #, no-c-format
 msgid ""
 "-segprot <segname> <max_prot> <init_prot>\tThe virtual memory protections "
@@ -5777,71 +5956,71 @@ msgid ""
 "\"x\" or \"-\" the latter meaning \"no access\"."
 msgstr ""
 
-#: config/darwin.opt:342
+#: config/darwin.opt:346
 #, no-c-format
 msgid ""
 "-segs_read_only_addr <address>\tSpecify that <address> is the base address "
 "of the read-only segments of a dylib."
 msgstr ""
 
-#: config/darwin.opt:346
+#: config/darwin.opt:350
 #, no-c-format
 msgid ""
 "-segs_read_write_addr <address>\tSpecify that <address> is the base address "
 "address of the read-write segments of a dylib."
 msgstr ""
 
-#: config/darwin.opt:350
+#: config/darwin.opt:354
 #, no-c-format
 msgid "(Obsolete)\tThis is the default."
 msgstr ""
 
-#: config/darwin.opt:354
+#: config/darwin.opt:358
 #, no-c-format
 msgid ""
 "-sub_library <name>\tLibrary named <name> will be re-exported (only useful "
 "for dylibs)."
 msgstr ""
 
-#: config/darwin.opt:358
+#: config/darwin.opt:362
 #, no-c-format
 msgid ""
 "-sub_umbrella <name>\tFramework named <name> will be re-exported (only "
 "useful for dylibs)."
 msgstr ""
 
-#: config/darwin.opt:362
+#: config/darwin.opt:366
 #, no-c-format
 msgid "This is the default."
 msgstr ""
 
-#: config/darwin.opt:366
+#: config/darwin.opt:370
 #, no-c-format
 msgid ""
 "Add extra information to the executable that can speed up dynamic loading "
 "(provided that dependent libraries are unchanged)."
 msgstr ""
 
-#: config/darwin.opt:370
+#: config/darwin.opt:374
 #, no-c-format
 msgid "-umbrella <framework>\tThe specified framework will be re-exported."
 msgstr ""
 
-#: config/darwin.opt:374
+#: config/darwin.opt:378
 #, no-c-format
 msgid ""
 "-undefined <treatment>\tSpecify the handling for undefined symbols (default "
 "is error)."
 msgstr ""
 
-#: config/darwin.opt:378
+#: config/darwin.opt:382
 #, no-c-format
 msgid ""
 "-unexported_symbols_list <filename>\tDo not export the global symbols listed "
 "in <filename>."
 msgstr ""
 
-#: config/darwin.opt:382
+#: config/darwin.opt:386
 #, no-c-format
 msgid ""
 "-weak_reference_mismatches <treatment>\tSpecifies what to do if a symbol "
@@ -5849,22 +6028,22 @@ msgid ""
 "is to treat the symbol as non-weak."
 msgstr ""
 
-#: config/darwin.opt:386
+#: config/darwin.opt:390
 #, no-c-format
 msgid "Logs which object files the linker loads."
 msgstr ""
 
-#: config/darwin.opt:390
+#: config/darwin.opt:394
 #, no-c-format
 msgid "Logs which symbol(s) caused an object to be loaded."
 msgstr ""
 
-#: config/darwin.opt:398
+#: config/darwin.opt:402
 #, no-c-format
 msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"."
 msgstr ""
 
-#: config/darwin.opt:402
+#: config/darwin.opt:406
 #, no-c-format
 msgid ""
 "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable "
@@ -5990,7 +6169,7 @@ msgstr ""
 msgid "Known M68K ISAs (for use with the -march= option):"
 msgstr ""
 
-#: config/m68k/ieee.opt:24 config/i386/i386.opt:374
+#: config/m68k/ieee.opt:24 config/i386/i386.opt:389
 #, no-c-format
 msgid "Use IEEE math for fp comparisons."
 msgstr ""
@@ -6218,7 +6397,7 @@ msgstr ""
 msgid "Specify integer and floating-point calling convention."
 msgstr ""
 
-#: config/riscv/riscv.opt:46 config/i386/i386.opt:429
+#: config/riscv/riscv.opt:46 config/i386/i386.opt:444
 #, no-c-format
 msgid "Attempt to keep stack aligned to this power of 2."
 msgstr ""
@@ -6228,47 +6407,52 @@ msgstr ""
 msgid "Supported ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:75
+#: config/riscv/riscv.opt:78
 #, no-c-format
 msgid "Use hardware floating-point divide and square root instructions."
 msgstr ""
 
-#: config/riscv/riscv.opt:79
+#: config/riscv/riscv.opt:82
 #, no-c-format
 msgid "Use hardware instructions for integer division."
 msgstr ""
 
-#: config/riscv/riscv.opt:83
+#: config/riscv/riscv.opt:86
 #, no-c-format
 msgid ""
 "-march=\tGenerate code for given RISC-V ISA (e.g. RV64IM).  ISA strings must "
 "be lower-case."
 msgstr ""
 
-#: config/riscv/riscv.opt:88 config/mips/mips.opt:409
+#: config/riscv/riscv.opt:91
+#, no-c-format
+msgid "-march=help\tPrint supported -march extensions."
+msgstr ""
+
+#: config/riscv/riscv.opt:103 config/mips/mips.opt:430
 #, no-c-format
 msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR."
 msgstr ""
 
-#: config/riscv/riscv.opt:92
+#: config/riscv/riscv.opt:107
 #, no-c-format
 msgid ""
 "-mcpu=PROCESSOR\tUse architecture of and optimize the output for PROCESSOR."
 msgstr ""
 
-#: config/riscv/riscv.opt:96
+#: config/riscv/riscv.opt:111
 #, no-c-format
 msgid ""
 "-msmall-data-limit=N\tPut global and static data smaller than <number> bytes "
 "into a special section (on some targets)."
 msgstr ""
 
-#: config/riscv/riscv.opt:100
+#: config/riscv/riscv.opt:115
 #, no-c-format
 msgid "Use smaller but slower prologue and epilogue code."
 msgstr ""
 
-#: config/riscv/riscv.opt:104
+#: config/riscv/riscv.opt:119
 #, no-c-format
 msgid ""
 "Convert BASE + LARGE_OFFSET addresses to NEW_BASE + SMALL_OFFSET to allow "
@@ -6276,36 +6460,36 @@ msgid ""
 "targets 32-bit integer load/stores."
 msgstr ""
 
-#: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:98
-#: config/loongarch/loongarch.opt:193
+#: config/riscv/riscv.opt:125 config/aarch64/aarch64.opt:98
+#: config/loongarch/loongarch.opt:241
 #, no-c-format
 msgid "Specify the code model."
 msgstr ""
 
-#: config/riscv/riscv.opt:114 config/loongarch/loongarch.opt:158
+#: config/riscv/riscv.opt:129 config/loongarch/loongarch.opt:181
 #, no-c-format
 msgid "Do not generate unaligned memory accesses."
 msgstr ""
 
-#: config/riscv/riscv.opt:118 config/i386/i386.opt:293
+#: config/riscv/riscv.opt:133 config/i386/i386.opt:308
 #: config/rs6000/aix64.opt:36 config/rs6000/linux64.opt:32
 #, no-c-format
 msgid "Known code models (for use with the -mcmodel= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:128
+#: config/riscv/riscv.opt:146
 #, no-c-format
 msgid "Use %reloc() operators, rather than assembly macros, to load addresses."
 msgstr ""
 
-#: config/riscv/riscv.opt:132
+#: config/riscv/riscv.opt:150 config/loongarch/loongarch.opt:249
 #, no-c-format
 msgid ""
 "Take advantage of linker relaxations to reduce the number of instructions "
 "required to materialize symbol addresses."
 msgstr ""
 
-#: config/riscv/riscv.opt:137
+#: config/riscv/riscv.opt:155
 #, no-c-format
 msgid ""
 "Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The "
@@ -6313,85 +6497,140 @@ msgid ""
 "only CSR can not be written by the CSR instructions."
 msgstr ""
 
-#: config/riscv/riscv.opt:161
+#: config/riscv/riscv.opt:161 config/aarch64/aarch64.opt:141
+#: config/i386/i386.opt:420
+#, no-c-format
+msgid "Omit the frame pointer in leaf functions."
+msgstr ""
+
+#: config/riscv/riscv.opt:183
 #, no-c-format
 msgid "Emit RISC-V ELF attribute."
 msgstr ""
 
-#: config/riscv/riscv.opt:165 config/i386/i386.opt:246
+#: config/riscv/riscv.opt:187 config/i386/i386.opt:261
 #, no-c-format
 msgid "Use the given data alignment."
 msgstr ""
 
-#: config/riscv/riscv.opt:169 config/i386/i386.opt:250
+#: config/riscv/riscv.opt:191 config/i386/i386.opt:265
 #, no-c-format
 msgid "Known data alignment choices (for use with the -malign-data= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:179 config/aarch64/aarch64.opt:276
-#: config/i386/i386.opt:1015 config/arm/arm.opt:352
+#: config/riscv/riscv.opt:201 config/aarch64/aarch64.opt:304
+#: config/i386/i386.opt:1034 config/arm/arm.opt:352
 #: config/rs6000/rs6000.opt:550
 #, no-c-format
 msgid "Use given stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:183 config/aarch64/aarch64.opt:280
+#: config/riscv/riscv.opt:205 config/aarch64/aarch64.opt:308
 #: config/arm/arm.opt:356 config/rs6000/rs6000.opt:554
 #, no-c-format
 msgid "Valid arguments to -mstack-protector-guard=:"
 msgstr ""
 
-#: config/riscv/riscv.opt:193 config/i386/i386.opt:1029
+#: config/riscv/riscv.opt:215 config/i386/i386.opt:1048
 #: config/rs6000/rs6000.opt:564
 #, no-c-format
 msgid "Use the given base register for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:200 config/i386/i386.opt:1036
+#: config/riscv/riscv.opt:222 config/i386/i386.opt:1055
 #: config/rs6000/rs6000.opt:571
 #, no-c-format
 msgid "Use the given offset for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:249
+#: config/riscv/riscv.opt:492
 #, no-c-format
 msgid "Supported ISA specs (for use with the -misa-spec= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:262
+#: config/riscv/riscv.opt:505
 #, no-c-format
 msgid "Set the version of RISC-V ISA spec."
 msgstr ""
 
-#: config/riscv/riscv.opt:266
+#: config/riscv/riscv.opt:509
+#, no-c-format
+msgid "Enable conditional moves unconditionally."
+msgstr ""
+
+#: config/riscv/riscv.opt:513
 #, no-c-format
 msgid "Always inline subword atomic operations."
 msgstr ""
 
-#: config/riscv/riscv.opt:270
+#: config/riscv/riscv.opt:517
+#, no-c-format
+msgid "Inline strcmp calls if possible."
+msgstr ""
+
+#: config/riscv/riscv.opt:521
 #, no-c-format
-msgid "The RISC-V auto-vectorization preference:"
+msgid "Inline strncmp calls if possible."
 msgstr ""
 
-#: config/riscv/riscv.opt:283
+#: config/riscv/riscv.opt:525
+#, no-c-format
+msgid "Inline strlen calls if possible."
+msgstr ""
+
+#: config/riscv/riscv.opt:529
+#, no-c-format
+msgid ""
+"Max number of bytes to compare as part of inlined strcmp/strncmp routines "
+"(default: 64)."
+msgstr ""
+
+#: config/riscv/riscv.opt:533
+#, no-c-format
+msgid "Valid arguments to -param=riscv-autovec-preference=:"
+msgstr ""
+
+#: config/riscv/riscv.opt:546
 #, no-c-format
 msgid ""
 "-param=riscv-autovec-preference=<string>\tSet the preference of auto-"
 "vectorization in the RISC-V port."
 msgstr ""
 
-#: config/riscv/riscv.opt:287
+#: config/riscv/riscv.opt:550
 #, no-c-format
-msgid "The RVV possible LMUL:"
+msgid "The RVV possible LMUL (-param=riscv-autovec-lmul=):"
 msgstr ""
 
-#: config/riscv/riscv.opt:303
+#: config/riscv/riscv.opt:569
 #, no-c-format
 msgid ""
 "-param=riscv-autovec-lmul=<string>\tSet the RVV LMUL of auto-vectorization "
 "in the RISC-V port."
 msgstr ""
 
+#: config/riscv/riscv.opt:576
+#, no-c-format
+msgid "Valid arguments to -param=vsetvl-strategy=:"
+msgstr ""
+
+#: config/riscv/riscv.opt:589
+#, no-c-format
+msgid ""
+"-param=vsetvl-strategy=<string>\tSet the optimization level of VSETVL insert "
+"pass."
+msgstr ""
+
+#: config/riscv/riscv.opt:593 config/i386/i386.opt:496
+#, no-c-format
+msgid "Valid arguments to -mstringop-strategy=:"
+msgstr ""
+
+#: config/riscv/riscv.opt:609
+#, no-c-format
+msgid "Specify stringop expansion strategy."
+msgstr ""
+
 #: config/m32c/m32c.opt:23
 #, no-c-format
 msgid "-msim\tUse simulator runtime."
@@ -6544,17 +6783,17 @@ msgstr ""
 msgid "The possible TLS dialects:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:61 config/loongarch/loongarch.opt:171
+#: config/aarch64/aarch64.opt:61 config/loongarch/loongarch.opt:219
 #, no-c-format
 msgid "The code model option names for -mcmodel:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:78 config/i386/i386.opt:1050
+#: config/aarch64/aarch64.opt:78 config/i386/i386.opt:1069
 #, no-c-format
 msgid "Generate code which uses only the general registers."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:82 config/i386/i386.opt:1142
+#: config/aarch64/aarch64.opt:82 config/i386/i386.opt:1161
 #, no-c-format
 msgid "Generate code to mitigate against straight line speculation."
 msgstr ""
@@ -6584,11 +6823,6 @@ msgstr ""
 msgid "Don't assume that unaligned accesses are handled by the system."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:141 config/i386/i386.opt:405
-#, no-c-format
-msgid "Omit the frame pointer in leaf functions."
-msgstr ""
-
 #: config/aarch64/aarch64.opt:145
 #, no-c-format
 msgid "Specify TLS dialect."
@@ -6678,28 +6912,50 @@ msgid ""
 "double precision."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:242
+#: config/aarch64/aarch64.opt:254
+#, no-c-format
+msgid ""
+"Specify when to enable an early register allocation pass.  The possibilities "
+"are: all functions, functions that have access to strided multi-register "
+"instructions, and no functions."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:260
 #, no-c-format
 msgid "The possible SVE vector lengths:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:264
+#: config/aarch64/aarch64.opt:282
 #, no-c-format
 msgid ""
 "-msve-vector-bits=<number>\tSet the number of bits in an SVE vector register."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:268
+#: config/aarch64/aarch64.opt:286
 #, no-c-format
 msgid "Enables verbose cost model dumping in the debug dump files."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:272
+#: config/aarch64/aarch64.opt:290
 #, no-c-format
 msgid "Generate code to track when the CPU might be speculating incorrectly."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:290
+#: config/aarch64/aarch64.opt:294
+#, no-c-format
+msgid ""
+"Enable the copy of the AArch64 load/store pair fusion pass that runs before "
+"register allocation."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:299
+#, no-c-format
+msgid ""
+"Enable the copy of the AArch64 load/store pair fusion pass that runs after "
+"register allocation."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:318
 #, no-c-format
 msgid ""
 "Use the system register specified on the command line as the stack protector "
@@ -6707,7 +6963,7 @@ msgid ""
 "for use in user-land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:296
+#: config/aarch64/aarch64.opt:324
 #, no-c-format
 msgid ""
 "Use an immediate to offset from the stack protector guard register, sp_el0. "
@@ -6715,20 +6971,19 @@ msgid ""
 "land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:305
+#: config/aarch64/aarch64.opt:333
 #, no-c-format
 msgid "Generate local calls to out-of-line atomic operations."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:309
+#: config/aarch64/aarch64.opt:337
 #, no-c-format
 msgid ""
-"When vectorizing for SVE, consider using unpacked vectors for smaller "
-"elements and use the cost model to pick the cheapest approach.  Also use the "
-"cost model to choose between SVE and Advanced SIMD vectorization."
+"When vectorizing, consider using multiple different approaches and use the "
+"cost model to choose the cheapest one."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:313
+#: config/aarch64/aarch64.opt:342
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for float "
@@ -6736,7 +6991,7 @@ msgid ""
 "approximation is enabled.  The default value is 1."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:317
+#: config/aarch64/aarch64.opt:346
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for double "
@@ -6744,27 +6999,58 @@ msgid ""
 "approximation is enabled.  The default value is 2."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:327
+#: config/aarch64/aarch64.opt:356
 #, no-c-format
 msgid "Constant memcpy size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:331
+#: config/aarch64/aarch64.opt:360
 #, no-c-format
 msgid ""
 "Constant memmove size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:335
+#: config/aarch64/aarch64.opt:364
 #, no-c-format
 msgid "Constant memset size in bytes from which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:339
+#: config/aarch64/aarch64.opt:368
 #, no-c-format
 msgid "Limit how much the autovectorizer may unroll a loop."
 msgstr ""
 
+#: config/aarch64/aarch64.opt:372
+#, no-c-format
+msgid ""
+"--param=aarch64-ldp-policy=[default|always|never|aligned] Fine-grained "
+"policy for load pairs."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:376
+#, no-c-format
+msgid ""
+"--param=aarch64-stp-policy=[default|always|never|aligned] Fine-grained "
+"policy for store pairs."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:395
+#, no-c-format
+msgid ""
+"Limit on number of alias checks performed when attempting to form an ldp/stp."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:399
+#, no-c-format
+msgid ""
+"Param to control which writeback opportunities we try to handle in the load/"
+"store pair fusion pass.  A value of zero disables writeback handling.  One "
+"means we try to form pairs involving one or more existing individual "
+"writeback accesses where possible.  A value of two means we also try to "
+"opportunistically form writeback opportunities by folding in trailing "
+"destructive updates of the base register used by a pair."
+msgstr ""
+
 #: config/linux.opt:24
 #, no-c-format
 msgid "Use Bionic C library."
@@ -6905,7 +7191,7 @@ msgstr ""
 msgid "Specify bit size of immediate TLS offsets."
 msgstr ""
 
-#: config/ia64/ia64.opt:122 config/i386/i386.opt:527 config/s390/s390.opt:203
+#: config/ia64/ia64.opt:122 config/i386/i386.opt:542 config/s390/s390.opt:203
 #: config/sparc/sparc.opt:146 config/visium/visium.opt:49
 #, no-c-format
 msgid "Schedule code for given CPU."
@@ -7101,7 +7387,7 @@ msgstr ""
 msgid "Target the software simulator."
 msgstr ""
 
-#: config/ft32/ft32.opt:27 config/s390/s390.opt:234 config/mips/mips.opt:397
+#: config/ft32/ft32.opt:27 config/s390/s390.opt:234 config/mips/mips.opt:418
 #: config/arc/arc.opt:405
 #, no-c-format
 msgid "Use LRA instead of reload."
@@ -7302,11 +7588,6 @@ msgid ""
 "Set extra memory access cost for L32R instruction, in clock-cycle units."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:42 config/sh/sh.opt:303
-#, no-c-format
-msgid "Use LRA instead of reload (transitional)."
-msgstr ""
-
 #: config/xtensa/xtensa.opt:46
 #, no-c-format
 msgid "Automatically align branch targets to reduce branch penalties."
@@ -7407,153 +7688,153 @@ msgstr ""
 msgid "Use unicode startup and define UNICODE macro."
 msgstr ""
 
-#: config/i386/i386.opt:198
+#: config/i386/i386.opt:213
 #, no-c-format
 msgid "sizeof(long double) is 16."
 msgstr ""
 
-#: config/i386/i386.opt:202 config/i386/i386.opt:370
+#: config/i386/i386.opt:217 config/i386/i386.opt:385
 #, no-c-format
 msgid "Use hardware fp."
 msgstr ""
 
-#: config/i386/i386.opt:206
+#: config/i386/i386.opt:221
 #, no-c-format
 msgid "sizeof(long double) is 12."
 msgstr ""
 
-#: config/i386/i386.opt:210
+#: config/i386/i386.opt:225
 #, no-c-format
 msgid "Use 80-bit long double."
 msgstr ""
 
-#: config/i386/i386.opt:214 config/s390/s390.opt:163
+#: config/i386/i386.opt:229 config/s390/s390.opt:163
 #: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:102
 #, no-c-format
 msgid "Use 64-bit long double."
 msgstr ""
 
-#: config/i386/i386.opt:218 config/s390/s390.opt:159
+#: config/i386/i386.opt:233 config/s390/s390.opt:159
 #: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:98
 #, no-c-format
 msgid "Use 128-bit long double."
 msgstr ""
 
-#: config/i386/i386.opt:222 config/sh/sh.opt:179
+#: config/i386/i386.opt:237 config/sh/sh.opt:179
 #, no-c-format
 msgid "Reserve space for outgoing arguments in the function prologue."
 msgstr ""
 
-#: config/i386/i386.opt:226
+#: config/i386/i386.opt:241
 #, no-c-format
 msgid "Align some doubles on dword boundary."
 msgstr ""
 
-#: config/i386/i386.opt:230
+#: config/i386/i386.opt:245
 #, no-c-format
 msgid "Function starts are aligned to this power of 2."
 msgstr ""
 
-#: config/i386/i386.opt:234
+#: config/i386/i386.opt:249
 #, no-c-format
 msgid "Jump targets are aligned to this power of 2."
 msgstr ""
 
-#: config/i386/i386.opt:238
+#: config/i386/i386.opt:253
 #, no-c-format
 msgid "Loop code aligned to this power of 2."
 msgstr ""
 
-#: config/i386/i386.opt:242
+#: config/i386/i386.opt:257
 #, no-c-format
 msgid "Align destination of the string operations."
 msgstr ""
 
-#: config/i386/i386.opt:263 config/s390/s390.opt:56
+#: config/i386/i386.opt:278 config/s390/s390.opt:56
 #, no-c-format
 msgid "Generate code for given CPU."
 msgstr ""
 
-#: config/i386/i386.opt:267 config/bpf/bpf.opt:94
+#: config/i386/i386.opt:282 config/bpf/bpf.opt:98
 #, no-c-format
 msgid "Use given assembler dialect."
 msgstr ""
 
-#: config/i386/i386.opt:271
+#: config/i386/i386.opt:286
 #, no-c-format
 msgid "Known assembler dialects (for use with the -masm= option):"
 msgstr ""
 
-#: config/i386/i386.opt:281
+#: config/i386/i386.opt:296
 #, no-c-format
 msgid "Branches are this expensive (arbitrary units)."
 msgstr ""
 
-#: config/i386/i386.opt:285
+#: config/i386/i386.opt:300
 #, no-c-format
 msgid ""
 "-mlarge-data-threshold=<number>\tData greater than given threshold will go "
-"into .ldata section in x86-64 medium model."
+"into a large data section in x86-64 medium and large code models."
 msgstr ""
 
-#: config/i386/i386.opt:289
+#: config/i386/i386.opt:304
 #, no-c-format
 msgid "Use given x86-64 code model."
 msgstr ""
 
-#: config/i386/i386.opt:312
+#: config/i386/i386.opt:327
 #, no-c-format
 msgid "Use given address mode."
 msgstr ""
 
-#: config/i386/i386.opt:316
+#: config/i386/i386.opt:331
 #, no-c-format
 msgid "Known address mode (for use with the -maddress-mode= option):"
 msgstr ""
 
-#: config/i386/i386.opt:329
+#: config/i386/i386.opt:344
 #, no-c-format
 msgid "Generate sin, cos, sqrt for FPU."
 msgstr ""
 
-#: config/i386/i386.opt:333
+#: config/i386/i386.opt:348
 #, no-c-format
 msgid "Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack."
 msgstr ""
 
-#: config/i386/i386.opt:337
+#: config/i386/i386.opt:352
 #, no-c-format
 msgid "Return values of functions in FPU registers."
 msgstr ""
 
-#: config/i386/i386.opt:341
+#: config/i386/i386.opt:356
 #, no-c-format
 msgid "Generate floating point mathematics using given instruction set."
 msgstr ""
 
-#: config/i386/i386.opt:345
+#: config/i386/i386.opt:360
 #, no-c-format
 msgid "Valid arguments to -mfpmath=:"
 msgstr ""
 
-#: config/i386/i386.opt:378
+#: config/i386/i386.opt:393
 #, no-c-format
 msgid "Inline all known string operations."
 msgstr ""
 
-#: config/i386/i386.opt:382
+#: config/i386/i386.opt:397
 #, no-c-format
 msgid ""
 "Inline memset/memcpy string operations, but perform inline version only for "
 "small blocks."
 msgstr ""
 
-#: config/i386/i386.opt:389
+#: config/i386/i386.opt:404
 #, no-c-format
 msgid "Use native (MS) bitfield layout."
 msgstr ""
 
-#: config/i386/i386.opt:409
+#: config/i386/i386.opt:424
 #, no-c-format
 msgid ""
 "Relax cmpxchg loop for atomic_fetch_{or,xor,and,nand} by adding load and cmp "
@@ -7561,1000 +7842,1048 @@ msgid ""
 "value is not expected."
 msgstr ""
 
-#: config/i386/i386.opt:413
+#: config/i386/i386.opt:428
 #, no-c-format
 msgid "Set 80387 floating-point precision to 32-bit."
 msgstr ""
 
-#: config/i386/i386.opt:417
+#: config/i386/i386.opt:432
 #, no-c-format
 msgid "Set 80387 floating-point precision to 64-bit."
 msgstr ""
 
-#: config/i386/i386.opt:421
+#: config/i386/i386.opt:436
 #, no-c-format
 msgid "Set 80387 floating-point precision to 80-bit."
 msgstr ""
 
-#: config/i386/i386.opt:425
+#: config/i386/i386.opt:440
 #, no-c-format
 msgid "Set the FTZ and DAZ Flags."
 msgstr ""
 
-#: config/i386/i386.opt:433
+#: config/i386/i386.opt:448
 #, no-c-format
 msgid "Assume incoming stack aligned to this power of 2."
 msgstr ""
 
-#: config/i386/i386.opt:437
+#: config/i386/i386.opt:452
 #, no-c-format
 msgid "Use push instructions to save outgoing arguments."
 msgstr ""
 
-#: config/i386/i386.opt:441
+#: config/i386/i386.opt:456
 #, no-c-format
 msgid "Use red-zone in the x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:445
+#: config/i386/i386.opt:460
 #, no-c-format
 msgid "Number of registers used to pass integer arguments."
 msgstr ""
 
-#: config/i386/i386.opt:449
+#: config/i386/i386.opt:464
 #, no-c-format
 msgid "Alternate calling convention."
 msgstr ""
 
-#: config/i386/i386.opt:453 config/alpha/alpha.opt:23
+#: config/i386/i386.opt:468 config/alpha/alpha.opt:23
 #, no-c-format
 msgid "Do not use hardware fp."
 msgstr ""
 
-#: config/i386/i386.opt:457
+#: config/i386/i386.opt:472
 #, no-c-format
 msgid "Use SSE register passing conventions for SF and DF mode."
 msgstr ""
 
-#: config/i386/i386.opt:461
+#: config/i386/i386.opt:476
 #, no-c-format
 msgid "Realign stack in prologue."
 msgstr ""
 
-#: config/i386/i386.opt:465
+#: config/i386/i386.opt:480
 #, no-c-format
 msgid "Enable stack probing."
 msgstr ""
 
-#: config/i386/i386.opt:469
+#: config/i386/i386.opt:484
 #, no-c-format
 msgid "Specify memcpy expansion strategy when expected size is known."
 msgstr ""
 
-#: config/i386/i386.opt:473
+#: config/i386/i386.opt:488
 #, no-c-format
 msgid "Specify memset expansion strategy when expected size is known."
 msgstr ""
 
-#: config/i386/i386.opt:477
+#: config/i386/i386.opt:492
 #, no-c-format
 msgid "Chose strategy to generate stringop using."
 msgstr ""
 
-#: config/i386/i386.opt:481
-#, no-c-format
-msgid "Valid arguments to -mstringop-strategy=:"
-msgstr ""
-
-#: config/i386/i386.opt:509
+#: config/i386/i386.opt:524
 #, no-c-format
 msgid "Use given thread-local storage dialect."
 msgstr ""
 
-#: config/i386/i386.opt:513
+#: config/i386/i386.opt:528
 #, no-c-format
 msgid "Known TLS dialects (for use with the -mtls-dialect= option):"
 msgstr ""
 
-#: config/i386/i386.opt:523
+#: config/i386/i386.opt:538
 #, no-c-format
 msgid "Use direct references against %gs when accessing tls data."
 msgstr ""
 
-#: config/i386/i386.opt:531
+#: config/i386/i386.opt:546
 #, no-c-format
 msgid "Fine grain control of tune features."
 msgstr ""
 
-#: config/i386/i386.opt:535
+#: config/i386/i386.opt:550
 #, no-c-format
 msgid "Clear all tune features."
 msgstr ""
 
-#: config/i386/i386.opt:542
+#: config/i386/i386.opt:557
 #, no-c-format
 msgid "Generate code that conforms to Intel MCU psABI."
 msgstr ""
 
-#: config/i386/i386.opt:546
+#: config/i386/i386.opt:561
 #, no-c-format
 msgid "Generate code that conforms to the given ABI."
 msgstr ""
 
-#: config/i386/i386.opt:550 config/nds32/nds32.opt:51
+#: config/i386/i386.opt:565 config/nds32/nds32.opt:51
 #, no-c-format
 msgid "Known ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/i386/i386.opt:560
+#: config/i386/i386.opt:575
 #, no-c-format
 msgid ""
 "Use libgcc stubs to save and restore registers clobbered by 64-bit Microsoft "
 "to System V ABI calls."
 msgstr ""
 
-#: config/i386/i386.opt:564 config/rs6000/rs6000.opt:195
+#: config/i386/i386.opt:579 config/rs6000/rs6000.opt:195
 #, no-c-format
 msgid "Vector library ABI to use."
 msgstr ""
 
-#: config/i386/i386.opt:568
+#: config/i386/i386.opt:583
 #, no-c-format
 msgid ""
 "Known vectorization library ABIs (for use with the -mveclibabi= option):"
 msgstr ""
 
-#: config/i386/i386.opt:578
+#: config/i386/i386.opt:593
 #, no-c-format
 msgid "Return 8-byte vectors in memory."
 msgstr ""
 
-#: config/i386/i386.opt:582
+#: config/i386/i386.opt:597
 #, no-c-format
 msgid "Generate reciprocals instead of divss and sqrtss."
 msgstr ""
 
-#: config/i386/i386.opt:586
+#: config/i386/i386.opt:601 config/loongarch/loongarch.opt:214
 #, no-c-format
 msgid "Control generation of reciprocal estimates."
 msgstr ""
 
-#: config/i386/i386.opt:590
+#: config/i386/i386.opt:605
 #, no-c-format
 msgid "Generate cld instruction in the function prologue."
 msgstr ""
 
-#: config/i386/i386.opt:594
+#: config/i386/i386.opt:609
 #, no-c-format
 msgid ""
 "Generate vzeroupper instruction before a transfer of control flow out of the "
 "function."
 msgstr ""
 
-#: config/i386/i386.opt:599
+#: config/i386/i386.opt:614
 #, no-c-format
 msgid ""
 "Disable Scalar to Vector optimization pass transforming 64-bit integer "
 "computations into a vector ones."
 msgstr ""
 
-#: config/i386/i386.opt:604
+#: config/i386/i386.opt:619
 #, no-c-format
 msgid ""
 "The maximum number of use and def visits when discovering a STV chain before "
 "the discovery is aborted."
 msgstr ""
 
-#: config/i386/i386.opt:608
+#: config/i386/i386.opt:623
 #, no-c-format
 msgid ""
 "Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or "
 "znver1 and Haifa scheduling is selected."
 msgstr ""
 
-#: config/i386/i386.opt:613
+#: config/i386/i386.opt:628
 #, no-c-format
 msgid ""
 "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-"
 "vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:617
+#: config/i386/i386.opt:632
 #, no-c-format
 msgid ""
 "Use given register vector width instructions instead of maximum register "
 "width in the auto-vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:621
+#: config/i386/i386.opt:636
 #, no-c-format
 msgid ""
 "Known preferred register vector length (to use with the -mprefer-vector-"
 "width= option):"
 msgstr ""
 
-#: config/i386/i386.opt:637
+#: config/i386/i386.opt:652
+#, no-c-format
+msgid ""
+"Enable floating-point status flags setting SSE vector operations on partial "
+"vectors."
+msgstr ""
+
+#: config/i386/i386.opt:656
 #, no-c-format
 msgid ""
 "Maximum number of bits that can be moved from memory to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:641
+#: config/i386/i386.opt:660
 #, no-c-format
 msgid "Maximum number of bits that can be stored to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:647
+#: config/i386/i386.opt:666
 #, no-c-format
 msgid "Generate 32bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:651
+#: config/i386/i386.opt:670
 #, no-c-format
 msgid "Generate 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:655
+#: config/i386/i386.opt:674
 #, no-c-format
 msgid "Generate 32bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:659
+#: config/i386/i386.opt:678
 #, no-c-format
 msgid "Generate 16bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:663
+#: config/i386/i386.opt:682
 #, no-c-format
 msgid "Support MMX built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:667
+#: config/i386/i386.opt:686
 #, no-c-format
 msgid "Support 3DNow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:671
+#: config/i386/i386.opt:690
 #, no-c-format
 msgid "Support Athlon 3Dnow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:675
+#: config/i386/i386.opt:694
 #, no-c-format
 msgid "Support MMX and SSE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:679
+#: config/i386/i386.opt:698
 #, no-c-format
 msgid "Support MMX, SSE and SSE2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:683
+#: config/i386/i386.opt:702
 #, no-c-format
 msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:687
+#: config/i386/i386.opt:706
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:691
+#: config/i386/i386.opt:710
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:695 config/i386/i386.opt:699
+#: config/i386/i386.opt:714 config/i386/i386.opt:718
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions "
 "and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:703
+#: config/i386/i386.opt:722
 #, no-c-format
 msgid ""
 "Do not support SSE4.1 and SSE4.2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:711
+#: config/i386/i386.opt:730
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in "
 "functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:715
+#: config/i386/i386.opt:734
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in "
 "functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:719
+#: config/i386/i386.opt:738
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:723
+#: config/i386/i386.opt:742
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512PF built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:727
+#: config/i386/i386.opt:746
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512ER built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:731
+#: config/i386/i386.opt:750
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512CD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:735
+#: config/i386/i386.opt:754
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512DQ built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:739
+#: config/i386/i386.opt:758
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512BW built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:743
+#: config/i386/i386.opt:762
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512VL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:747
+#: config/i386/i386.opt:766
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512IFMA built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:751
+#: config/i386/i386.opt:770
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F "
 "and AVX512VBMI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:755
+#: config/i386/i386.opt:774
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX5124FMAPS built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:759
+#: config/i386/i386.opt:778
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX5124VNNIW built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:763
+#: config/i386/i386.opt:782
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX512VPOPCNTDQ built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:767
+#: config/i386/i386.opt:786
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX512VBMI2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:771
+#: config/i386/i386.opt:790
 #, no-c-format
 msgid "Support AVX512VNNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:775
+#: config/i386/i386.opt:794
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX512BITALG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:779
+#: config/i386/i386.opt:798
 #, no-c-format
 msgid "Support AVX512VP2INTERSECT built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:783
+#: config/i386/i386.opt:802
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in "
 "functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:787
+#: config/i386/i386.opt:806
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:791
+#: config/i386/i386.opt:810
 #, no-c-format
 msgid "Support FMA4 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:795
+#: config/i386/i386.opt:814
 #, no-c-format
 msgid "Support XOP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:799
+#: config/i386/i386.opt:818
 #, no-c-format
 msgid "Support LWP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:803
+#: config/i386/i386.opt:822
 #, no-c-format
 msgid ""
 "Support code generation of Advanced Bit Manipulation (ABM) instructions."
 msgstr ""
 
-#: config/i386/i386.opt:807
+#: config/i386/i386.opt:826
 #, no-c-format
 msgid "Support code generation of popcnt instruction."
 msgstr ""
 
-#: config/i386/i386.opt:811
+#: config/i386/i386.opt:830
 #, no-c-format
 msgid "Support PCONFIG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:815
+#: config/i386/i386.opt:834
 #, no-c-format
 msgid "Support WBNOINVD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:819
+#: config/i386/i386.opt:838
 #, no-c-format
 msgid "Support PTWRITE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:823
+#: config/i386/i386.opt:842
 #, no-c-format
 msgid "Support UINTR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:827
+#: config/i386/i386.opt:846
 #, no-c-format
 msgid "Support SGX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:831
+#: config/i386/i386.opt:850
 #, no-c-format
 msgid "Support RDPID built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:835
+#: config/i386/i386.opt:854
 #, no-c-format
 msgid "Support GFNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:839
+#: config/i386/i386.opt:858
 #, no-c-format
 msgid "Support VAES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:843
+#: config/i386/i386.opt:862
 #, no-c-format
 msgid "Support VPCLMULQDQ built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:847
+#: config/i386/i386.opt:866
 #, no-c-format
 msgid "Support BMI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:851
+#: config/i386/i386.opt:870
 #, no-c-format
 msgid "Support BMI2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:855
+#: config/i386/i386.opt:874
 #, no-c-format
 msgid "Support LZCNT built-in function and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:859
+#: config/i386/i386.opt:878
 #, no-c-format
 msgid "Support Hardware Lock Elision prefixes."
 msgstr ""
 
-#: config/i386/i386.opt:863
+#: config/i386/i386.opt:882
 #, no-c-format
 msgid "Support RDSEED instruction."
 msgstr ""
 
-#: config/i386/i386.opt:867
+#: config/i386/i386.opt:886
 #, no-c-format
 msgid "Support PREFETCHW instruction."
 msgstr ""
 
-#: config/i386/i386.opt:871
+#: config/i386/i386.opt:890
 #, no-c-format
 msgid "Support flag-preserving add-carry instructions."
 msgstr ""
 
-#: config/i386/i386.opt:875
+#: config/i386/i386.opt:894
 #, no-c-format
 msgid "Support CLFLUSHOPT instructions."
 msgstr ""
 
-#: config/i386/i386.opt:879
+#: config/i386/i386.opt:898
 #, no-c-format
 msgid "Support CLWB instruction."
 msgstr ""
 
-#: config/i386/i386.opt:886
+#: config/i386/i386.opt:905
 #, no-c-format
 msgid "Support FXSAVE and FXRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:890
+#: config/i386/i386.opt:909
 #, no-c-format
 msgid "Support XSAVE and XRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:894
+#: config/i386/i386.opt:913
 #, no-c-format
 msgid "Support XSAVEOPT instruction."
 msgstr ""
 
-#: config/i386/i386.opt:898
+#: config/i386/i386.opt:917
 #, no-c-format
 msgid "Support XSAVEC instructions."
 msgstr ""
 
-#: config/i386/i386.opt:902
+#: config/i386/i386.opt:921
 #, no-c-format
 msgid "Support XSAVES and XRSTORS instructions."
 msgstr ""
 
-#: config/i386/i386.opt:906
+#: config/i386/i386.opt:925
 #, no-c-format
 msgid "Support TBM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:910
+#: config/i386/i386.opt:929
 #, no-c-format
 msgid "Support code generation of cmpxchg16b instruction."
 msgstr ""
 
-#: config/i386/i386.opt:914
+#: config/i386/i386.opt:933
 #, no-c-format
 msgid "Support code generation of sahf instruction in 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:918
+#: config/i386/i386.opt:937
 #, no-c-format
 msgid "Support code generation of movbe instruction."
 msgstr ""
 
-#: config/i386/i386.opt:922
+#: config/i386/i386.opt:941
 #, no-c-format
 msgid "Support code generation of crc32 instruction."
 msgstr ""
 
-#: config/i386/i386.opt:926
+#: config/i386/i386.opt:945
 #, no-c-format
 msgid "Support AES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:930
+#: config/i386/i386.opt:949
 #, no-c-format
 msgid "Support SHA1 and SHA256 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:934
+#: config/i386/i386.opt:953
 #, no-c-format
 msgid "Support PCLMUL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:938
+#: config/i386/i386.opt:957
 #, no-c-format
 msgid "Encode SSE instructions with VEX prefix."
 msgstr ""
 
-#: config/i386/i386.opt:942
+#: config/i386/i386.opt:961
 #, no-c-format
 msgid "Support FSGSBASE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:946
+#: config/i386/i386.opt:965
 #, no-c-format
 msgid "Support RDRND built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:950
+#: config/i386/i386.opt:969
 #, no-c-format
 msgid "Support F16C built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:954
+#: config/i386/i386.opt:973
 #, no-c-format
 msgid "Support PREFETCHWT1 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:958
+#: config/i386/i386.opt:977
 #, no-c-format
 msgid "Emit profiling counter call at function entry before prologue."
 msgstr ""
 
-#: config/i386/i386.opt:962
+#: config/i386/i386.opt:981
 #, no-c-format
 msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
 msgstr ""
 
-#: config/i386/i386.opt:966 config/s390/s390.opt:311
+#: config/i386/i386.opt:985 config/s390/s390.opt:311
 #, no-c-format
 msgid ""
 "Generate mcount/__fentry__ calls as nops. To activate they need to be "
 "patched in."
 msgstr ""
 
-#: config/i386/i386.opt:971
+#: config/i386/i386.opt:990
 #, no-c-format
 msgid "Set name of __fentry__ symbol called at function entry."
 msgstr ""
 
-#: config/i386/i386.opt:975
+#: config/i386/i386.opt:994
 #, no-c-format
 msgid "Set name of section to record mrecord-mcount calls."
 msgstr ""
 
-#: config/i386/i386.opt:979
+#: config/i386/i386.opt:998
 #, no-c-format
 msgid "Skip setting up RAX register when passing variable arguments."
 msgstr ""
 
-#: config/i386/i386.opt:983
+#: config/i386/i386.opt:1002
 #, no-c-format
 msgid ""
 "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-"
 "time check."
 msgstr ""
 
-#: config/i386/i386.opt:987
+#: config/i386/i386.opt:1006
 #, no-c-format
 msgid "Split 32-byte AVX unaligned load."
 msgstr ""
 
-#: config/i386/i386.opt:991
+#: config/i386/i386.opt:1010
 #, no-c-format
 msgid "Split 32-byte AVX unaligned store."
 msgstr ""
 
-#: config/i386/i386.opt:995
+#: config/i386/i386.opt:1014
 #, no-c-format
 msgid "Support RTM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1003
+#: config/i386/i386.opt:1022
 #, no-c-format
 msgid "Support MWAITX and MONITORX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1007
+#: config/i386/i386.opt:1026
 #, no-c-format
 msgid "Support CLZERO built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1011
+#: config/i386/i386.opt:1030
 #, no-c-format
 msgid "Support PKU built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1019
+#: config/i386/i386.opt:1038
 #, no-c-format
 msgid ""
 "Known stack protector guard (for use with the -mstack-protector-guard= "
 "option):"
 msgstr ""
 
-#: config/i386/i386.opt:1043
+#: config/i386/i386.opt:1062
 #, no-c-format
 msgid "Use the given symbol for addressing the stack-protector guard."
 msgstr ""
 
-#: config/i386/i386.opt:1054
+#: config/i386/i386.opt:1073
 #, no-c-format
 msgid ""
 "Enable shadow stack built-in functions from Control-flow Enforcement "
 "Technology (CET)."
 msgstr ""
 
-#: config/i386/i386.opt:1059
+#: config/i386/i386.opt:1078
 #, no-c-format
 msgid ""
 "Turn on CET instrumentation for switch statements that use a jump table and "
 "an indirect jump."
 msgstr ""
 
-#: config/i386/i386.opt:1064
+#: config/i386/i386.opt:1083
 #, no-c-format
 msgid ""
 "Insert ENDBR instruction at function entry only via cf_check attribute for "
 "CET instrumentation."
 msgstr ""
 
-#: config/i386/i386.opt:1069
+#: config/i386/i386.opt:1088
 #, no-c-format
 msgid "Make all function calls indirect."
 msgstr ""
 
-#: config/i386/i386.opt:1073
+#: config/i386/i386.opt:1092
 #, no-c-format
 msgid "Convert indirect call and jump to call and return thunks."
 msgstr ""
 
-#: config/i386/i386.opt:1077
+#: config/i386/i386.opt:1096
 #, no-c-format
 msgid "Convert function return to call and return thunk."
 msgstr ""
 
-#: config/i386/i386.opt:1081 config/s390/s390.opt:277
+#: config/i386/i386.opt:1100 config/s390/s390.opt:277
 #, no-c-format
 msgid ""
 "Known indirect branch choices (for use with the -mindirect-branch=/-"
 "mfunction-return= options):"
 msgstr ""
 
-#: config/i386/i386.opt:1097
+#: config/i386/i386.opt:1116
 #, no-c-format
 msgid ""
 "Add CS prefix to call and jmp to indirect thunk with branch target in r8-r15 "
 "registers."
 msgstr ""
 
-#: config/i386/i386.opt:1101
+#: config/i386/i386.opt:1120
 #, no-c-format
 msgid "Force indirect call and jump via register."
 msgstr ""
 
-#: config/i386/i386.opt:1105
+#: config/i386/i386.opt:1124
 #, no-c-format
 msgid "Support MOVDIRI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1109
+#: config/i386/i386.opt:1128
 #, no-c-format
 msgid "Support MOVDIR64B built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1113
+#: config/i386/i386.opt:1132
 #, no-c-format
 msgid "Support WAITPKG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1117
+#: config/i386/i386.opt:1136
 #, no-c-format
 msgid "Support CLDEMOTE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1121
+#: config/i386/i386.opt:1140
 #, no-c-format
 msgid "Instrument function exit in instrumented functions with __fentry__."
 msgstr ""
 
-#: config/i386/i386.opt:1125
+#: config/i386/i386.opt:1144
 #, no-c-format
 msgid "Known choices for return instrumentation with -minstrument-return=:"
 msgstr ""
 
-#: config/i386/i386.opt:1138
+#: config/i386/i386.opt:1157
 #, no-c-format
 msgid ""
 "Generate a __return_loc section pointing to all return instrumentation code."
 msgstr ""
 
-#: config/i386/i386.opt:1146
+#: config/i386/i386.opt:1165
 #, no-c-format
 msgid ""
 "Known choices for mitigation against straight line speculation with -mharden-"
 "sls=:"
 msgstr ""
 
-#: config/i386/i386.opt:1162
+#: config/i386/i386.opt:1181
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX512BF16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1167
+#: config/i386/i386.opt:1186
 #, no-c-format
 msgid "Support ENQCMD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1171
+#: config/i386/i386.opt:1190
 #, no-c-format
 msgid "Support SERIALIZE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1175
+#: config/i386/i386.opt:1194
 #, no-c-format
 msgid "Support TSXLDTRK built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1179
+#: config/i386/i386.opt:1198
 #, no-c-format
 msgid "Support AMX-TILE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1183
+#: config/i386/i386.opt:1202
 #, no-c-format
 msgid "Support AMX-INT8 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1187
+#: config/i386/i386.opt:1206
 #, no-c-format
 msgid "Support AMX-BF16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1191
+#: config/i386/i386.opt:1210
 #, no-c-format
 msgid "Support HRESET built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1195
+#: config/i386/i386.opt:1214
 #, no-c-format
 msgid "Support KL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1199
+#: config/i386/i386.opt:1218
 #, no-c-format
 msgid "Support WIDEKL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1203
+#: config/i386/i386.opt:1222
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXVNNI "
 "built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1208
+#: config/i386/i386.opt:1227
 #, no-c-format
 msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property."
 msgstr ""
 
-#: config/i386/i386.opt:1212
+#: config/i386/i386.opt:1231
 #, no-c-format
 msgid "Support MWAIT and MONITOR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1216
+#: config/i386/i386.opt:1235
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
 "AVX512-FP16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1220
+#: config/i386/i386.opt:1239
 #, no-c-format
 msgid "Do not use GOT to access external symbols."
 msgstr ""
 
-#: config/i386/i386.opt:1224
+#: config/i386/i386.opt:1243
 #, no-c-format
 msgid "Instructions number above which STFL stall penalty can be compensated."
 msgstr ""
 
-#: config/i386/i386.opt:1228
+#: config/i386/i386.opt:1247
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXIFMA "
 "built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1233
+#: config/i386/i386.opt:1252
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and "
 "AVXVNNIINT8 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1238
+#: config/i386/i386.opt:1257
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and "
 "AVXNECONVERT build-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1243
+#: config/i386/i386.opt:1262
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and "
 "CMPCCXADD build-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1248
+#: config/i386/i386.opt:1267
 #, no-c-format
 msgid "Support AMX-FP16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1252
+#: config/i386/i386.opt:1271
 #, no-c-format
 msgid "Support PREFETCHI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1256
+#: config/i386/i386.opt:1275
 #, no-c-format
 msgid "Support RAOINT built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1260
+#: config/i386/i386.opt:1279
 #, no-c-format
 msgid "Enable conservative small loop unrolling."
 msgstr ""
 
-#: config/i386/i386.opt:1264
+#: config/i386/i386.opt:1283
 #, no-c-format
 msgid ""
 "-mlam=[none|u48|u57] Instrument meta data position in user data pointers."
 msgstr ""
 
-#: config/i386/i386.opt:1280
+#: config/i386/i386.opt:1299
 #, no-c-format
 msgid "Support AMX-COMPLEX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1284
+#: config/i386/i386.opt:1303
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and "
 "AVXVNNIINT16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1289
+#: config/i386/i386.opt:1308
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM3 built-in "
 "functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1294
+#: config/i386/i386.opt:1313
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SHA512 built-in "
 "functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1299
+#: config/i386/i386.opt:1318
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM4 built-in "
 "functions and code generation."
 msgstr ""
 
+#: config/i386/i386.opt:1323
+#, no-c-format
+msgid "Enable vectorization for gather instruction."
+msgstr ""
+
+#: config/i386/i386.opt:1327
+#, no-c-format
+msgid "Enable vectorization for scatter instruction."
+msgstr ""
+
+#: config/i386/i386.opt:1331
+#, no-c-format
+msgid ""
+"Support code generation for APX features, including EGPR, PUSH2POP2, NDD and "
+"PPX."
+msgstr ""
+
+#: config/i386/i386.opt:1360
+#, no-c-format
+msgid "Enable GPR32 in inline asm when APX_F enabled."
+msgstr ""
+
+#: config/i386/i386.opt:1364
+#, no-c-format
+msgid "Support 512 bit vector built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1368
+#, no-c-format
+msgid "Support USER_MSR built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1372 config/i386/i386.opt:1382
+#, no-c-format
+msgid ""
+"Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1 "
+"built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1377
+#, no-c-format
+msgid ""
+"Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and "
+"AVX10.1-512 built-in functions and code generation."
+msgstr ""
+
 #: config/pa/pa64-hpux.opt:23
 #, no-c-format
 msgid "Assume code will be linked by GNU ld."
@@ -8910,17 +9239,17 @@ msgstr ""
 msgid "Alias:"
 msgstr ""
 
-#: config/nvptx/nvptx.opt:116
+#: config/nvptx/nvptx.opt:122
 #, no-c-format
 msgid "Known PTX ISA versions (for use with the -mptx= option):"
 msgstr ""
 
-#: config/nvptx/nvptx.opt:135
+#: config/nvptx/nvptx.opt:141
 #, no-c-format
 msgid "Specify the PTX ISA version to use."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:139
+#: config/nvptx/nvptx.opt:145
 #, no-c-format
 msgid "Initialize ptx registers."
 msgstr ""
@@ -9031,7 +9360,19 @@ msgid ""
 "such an addressing mode for X."
 msgstr ""
 
-#: config/avr/avr.opt:100
+#: config/avr/avr.opt:99
+#, no-c-format
+msgid ""
+"The device has the bitfield NVMCTRL_CTRLB.FLMAP.  This option is used "
+"internally."
+msgstr ""
+
+#: config/avr/avr.opt:103
+#, no-c-format
+msgid "The device has the .rodata section located in the RAM area."
+msgstr ""
+
+#: config/avr/avr.opt:108
 #, no-c-format
 msgid ""
 "The device has no SPH special function register. This option will be "
@@ -9039,53 +9380,53 @@ msgid ""
 "absence of SPH can be deduced from -mmcu=MCU."
 msgstr ""
 
-#: config/avr/avr.opt:104
+#: config/avr/avr.opt:112
 #, no-c-format
 msgid "Warn if the address space of an address is changed."
 msgstr ""
 
-#: config/avr/avr.opt:108
+#: config/avr/avr.opt:116
 #, no-c-format
 msgid ""
 "Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by "
 "default."
 msgstr ""
 
-#: config/avr/avr.opt:112
+#: config/avr/avr.opt:120
 #, no-c-format
 msgid ""
 "Allow to use truncation instead of rounding towards zero for fractional "
 "fixed-point types."
 msgstr ""
 
-#: config/avr/avr.opt:116
+#: config/avr/avr.opt:124
 #, no-c-format
 msgid ""
 "Assume that all data in static storage can be accessed by LDS / STS.  This "
 "option is only useful for reduced Tiny devices."
 msgstr ""
 
-#: config/avr/avr.opt:120
+#: config/avr/avr.opt:128
 #, no-c-format
 msgid "-mdouble=<BITS>\tUse <BITS> bits wide double type."
 msgstr ""
 
-#: config/avr/avr.opt:124
+#: config/avr/avr.opt:132
 #, no-c-format
 msgid "-mlong-double=<BITS>\tUse <BITS> bits wide long double type."
 msgstr ""
 
-#: config/avr/avr.opt:128
+#: config/avr/avr.opt:136
 #, no-c-format
 msgid "Do not link against the device-specific library lib<MCU>.a."
 msgstr ""
 
-#: config/avr/avr.opt:132
+#: config/avr/avr.opt:140
 #, no-c-format
 msgid "Do not use the device-specific specs file device-specs/specs-<MCU>."
 msgstr ""
 
-#: config/avr/avr.opt:136
+#: config/avr/avr.opt:144
 #, no-c-format
 msgid "Available BITS selections:"
 msgstr ""
@@ -9426,6 +9767,14 @@ msgstr ""
 msgid "Store all argument registers on the stack."
 msgstr ""
 
+#: config/s390/s390.opt:335
+#, no-c-format
+msgid ""
+"Assume external symbols to be potentially unaligned.  By default all symbols "
+"without explicit alignment are assumed to reside on a 2 byte boundary as "
+"mandated by the IBM Z ABI."
+msgstr ""
+
 #: config/rl78/rl78.opt:27 config/rx/elf.opt:26 config/csky/csky.opt:198
 #, no-c-format
 msgid "Use the simulator runtime."
@@ -9491,12 +9840,12 @@ msgstr ""
 msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):"
 msgstr ""
 
-#: config/arm/arm-tables.opt:302
+#: config/arm/arm-tables.opt:305
 #, no-c-format
 msgid "Known ARM architectures (for use with the -march= option):"
 msgstr ""
 
-#: config/arm/arm-tables.opt:408
+#: config/arm/arm-tables.opt:411
 #, no-c-format
 msgid "Known ARM FPUs (for use with the -mfpu= option):"
 msgstr ""
@@ -10496,7 +10845,7 @@ msgid ""
 "and penalize only if it's satisfied.  The default value is 20."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:670
+#: config/rs6000/rs6000.opt:670 config/loongarch/loongarch.opt:263
 #, no-c-format
 msgid ""
 "Indicate how many non memory access vector instructions can be issued per "
@@ -10770,109 +11119,183 @@ msgstr ""
 msgid "Enable user-defined instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:47
+#: config/loongarch/loongarch.opt:41
 #, no-c-format
 msgid "Basic ISAs of LoongArch:"
 msgstr ""
 
-#: config/loongarch/loongarch.opt:56
+#: config/loongarch/loongarch.opt:49
 #, no-c-format
 msgid "FPU types of LoongArch:"
 msgstr ""
 
-#: config/loongarch/loongarch.opt:69
+#: config/loongarch/loongarch.opt:62
 #, no-c-format
 msgid "-mfpu=FPU\tGenerate code for the given FPU."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:76 config/mips/mips.opt:377
+#: config/loongarch/loongarch.opt:69 config/mips/mips.opt:398
 #, no-c-format
 msgid "Prevent the use of all hardware floating-point instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:80 config/mips/mips.opt:369
+#: config/loongarch/loongarch.opt:73 config/mips/mips.opt:390
 #, no-c-format
 msgid ""
 "Restrict the use of hardware floating-point instructions to 32-bit "
 "operations."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:84 config/mips/mips.opt:116
+#: config/loongarch/loongarch.opt:77 config/mips/mips.opt:116
 #, no-c-format
 msgid ""
 "Allow hardware floating-point instructions to cover both 32-bit and 64-bit "
 "operations."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:90
+#: config/loongarch/loongarch.opt:81
+#, no-c-format
+msgid "SIMD extension levels of LoongArch:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:94
+#, no-c-format
+msgid "-msimd=SIMD\tGenerate code for the given SIMD extension."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:98
+#, no-c-format
+msgid "Enable LoongArch SIMD Extension (LSX, 128-bit)."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:102
+#, no-c-format
+msgid "Enable LoongArch Advanced SIMD Extension (LASX, 256-bit)."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:107
 #, no-c-format
 msgid "LoongArch CPU types:"
 msgstr ""
 
-#: config/loongarch/loongarch.opt:103
+#: config/loongarch/loongarch.opt:126
 #, no-c-format
 msgid "-march=PROCESSOR\tGenerate code for the given PROCESSOR ISA."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:107
+#: config/loongarch/loongarch.opt:130
 #, no-c-format
 msgid "-mtune=PROCESSOR\tGenerate optimized code for PROCESSOR."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:116
+#: config/loongarch/loongarch.opt:139
 #, no-c-format
 msgid "Base ABI types for LoongArch:"
 msgstr ""
 
-#: config/loongarch/loongarch.opt:129
+#: config/loongarch/loongarch.opt:152
 #, no-c-format
 msgid "-mabi=BASEABI\tGenerate code that conforms to the given BASEABI."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:138 config/mips/mips.opt:71
+#: config/loongarch/loongarch.opt:161 config/mips/mips.opt:71
 #, no-c-format
 msgid ""
 "-mbranch-cost=COST\tSet the cost of branches to roughly COST instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:142 config/mips/mips.opt:83
+#: config/loongarch/loongarch.opt:165 config/mips/mips.opt:83
 #, no-c-format
 msgid "Trap on integer divide by zero."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:146
+#: config/loongarch/loongarch.opt:169
 #, no-c-format
 msgid "Conditional moves for integral are enabled."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:150
+#: config/loongarch/loongarch.opt:173
 #, no-c-format
 msgid "Conditional moves for float are enabled."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:154
+#: config/loongarch/loongarch.opt:177
 #, no-c-format
 msgid ""
 "Prevent optimizing block moves, which is also the default behavior of -Os."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:162
+#: config/loongarch/loongarch.opt:185
 #, no-c-format
 msgid ""
 "-mmax-inline-memcpy-size=SIZE\tSet the max size of memcpy to inline, default "
 "is 1024."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:166
+#: config/loongarch/loongarch.opt:189 config/mips/mips.opt:150
+#, no-c-format
+msgid "The code model option names for -mexplicit-relocs:"
+msgstr ""
+
+#: config/loongarch/loongarch.opt:202 config/mips/mips.opt:163
 #, no-c-format
 msgid "Use %reloc() assembly operators."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:197
+#: config/loongarch/loongarch.opt:206 config/mips/mips.opt:167
+#, no-c-format
+msgid "Use %reloc() assembly operators (for backward compatibility)."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:210
+#, no-c-format
+msgid ""
+"Generate approximate reciprocal divide and square root for better throughput."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:245
 #, no-c-format
 msgid "Avoid using the GOT to access external symbols."
 msgstr ""
 
+#: config/loongarch/loongarch.opt:254
+#, no-c-format
+msgid "Pass -mrelax or -mno-relax option to the assembler."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:258
+#, no-c-format
+msgid ""
+"Used to limit unroll factor which indicates how much the autovectorizer may "
+"unroll a loop.  The default value is 6."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:276
+#, no-c-format
+msgid "Support frecipe.{s/d} and frsqrte.{s/d} instructions."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:280
+#, no-c-format
+msgid ""
+"Support div.w[u] and mod.w[u] instructions with inputs not sign-extended."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:284
+#, no-c-format
+msgid "Support am{swap/add}[_db].{b/h} instructions."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:288
+#, no-c-format
+msgid "Support amcas[_db].{b/h/w/d} instructions."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:292
+#, no-c-format
+msgid "Do not need load-load barriers (dbar 0x700)."
+msgstr ""
+
 #: config/or1k/elf.opt:28
 #, no-c-format
 msgid "Configure the newlib board specific runtime.  The default is or1ksim."
@@ -12501,7 +12924,7 @@ msgstr ""
 msgid "No default crt0.o."
 msgstr ""
 
-#: config/iq2000/iq2000.opt:74 config/mips/mips.opt:417
+#: config/iq2000/iq2000.opt:74 config/mips/mips.opt:438
 #, no-c-format
 msgid "Put uninitialized constants in ROM (needs -membedded-data)."
 msgstr ""
@@ -13090,59 +13513,66 @@ msgstr ""
 msgid "Enable the use of the fsrra instruction."
 msgstr ""
 
+#: config/sh/sh.opt:303
+#, no-c-format
+msgid "Use LRA instead of reload (transitional)."
+msgstr ""
+
 #: config/gcn/gcn.opt:26
 #, no-c-format
 msgid "GCN GPU type to use:"
 msgstr ""
 
-#: config/gcn/gcn.opt:45 config/gcn/gcn.opt:49
+#: config/gcn/gcn.opt:51 config/gcn/gcn.opt:55
 #, no-c-format
 msgid "Specify the name of the target GPU."
 msgstr ""
 
-#: config/gcn/gcn.opt:53
+#: config/gcn/gcn.opt:59
 #, no-c-format
 msgid "Generate code for a 32-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:57
+#: config/gcn/gcn.opt:63
 #, no-c-format
 msgid "Generate code for a 64-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:61
+#: config/gcn/gcn.opt:67
 #, no-c-format
 msgid "Enable OpenMP GPU offloading."
 msgstr ""
 
-#: config/gcn/gcn.opt:72
+#: config/gcn/gcn.opt:78
 #, no-c-format
 msgid "Obsolete; use GCN_STACK_SIZE at runtime."
 msgstr ""
 
-#: config/gcn/gcn.opt:78
+#: config/gcn/gcn.opt:84
 #, no-c-format
 msgid ""
 "Amount of local data-share (LDS) memory to reserve for gang-private "
 "variables."
 msgstr ""
 
-#: config/gcn/gcn.opt:82
+#: config/gcn/gcn.opt:88
 #, no-c-format
 msgid "Warn about invalid OpenACC dimensions."
 msgstr ""
 
-#: config/gcn/gcn.opt:86
+#: config/gcn/gcn.opt:92
 #, no-c-format
 msgid "SRAM-ECC and XNACK modes:"
 msgstr ""
 
-#: config/gcn/gcn.opt:99
+#: config/gcn/gcn.opt:108
 #, no-c-format
-msgid "Compile for devices requiring XNACK enabled. Default \"off\"."
+msgid ""
+"Compile for devices requiring XNACK enabled. Default \"any\" if USM is "
+"supported."
 msgstr ""
 
-#: config/gcn/gcn.opt:103
+#: config/gcn/gcn.opt:112
 #, no-c-format
 msgid ""
 "Compile for devices with the SRAM ECC feature enabled, or not. Default "
@@ -13210,7 +13640,12 @@ msgstr ""
 msgid "Enable signed division and modulus instructions."
 msgstr ""
 
-#: config/bpf/bpf.opt:98
+#: config/bpf/bpf.opt:76
+#, no-c-format
+msgid "Enable signed move and memory load instructions."
+msgstr ""
+
+#: config/bpf/bpf.opt:102
 #, no-c-format
 msgid "Known assembler dialects (for use with the -masm= option)"
 msgstr ""
@@ -13297,376 +13732,376 @@ msgstr ""
 msgid "Use Enhanced Virtual Addressing instructions."
 msgstr ""
 
-#: config/mips/mips.opt:150
+#: config/mips/mips.opt:171
 #, no-c-format
-msgid "Use NewABI-style %reloc() assembly operators."
+msgid "Don't use %reloc() assembly operators (for backward compatibility)."
 msgstr ""
 
-#: config/mips/mips.opt:154
+#: config/mips/mips.opt:175
 #, no-c-format
 msgid "Use -G for data that is not defined by the current object."
 msgstr ""
 
-#: config/mips/mips.opt:158
+#: config/mips/mips.opt:179
 #, no-c-format
 msgid "Work around certain 24K errata."
 msgstr ""
 
-#: config/mips/mips.opt:162
+#: config/mips/mips.opt:183
 #, no-c-format
 msgid "Work around certain R4000 errata."
 msgstr ""
 
-#: config/mips/mips.opt:166
+#: config/mips/mips.opt:187
 #, no-c-format
 msgid "Work around certain R4400 errata."
 msgstr ""
 
-#: config/mips/mips.opt:170
+#: config/mips/mips.opt:191
 #, no-c-format
 msgid "Work around the R5900 short loop erratum."
 msgstr ""
 
-#: config/mips/mips.opt:174
+#: config/mips/mips.opt:195
 #, no-c-format
 msgid "Work around certain RM7000 errata."
 msgstr ""
 
-#: config/mips/mips.opt:178
+#: config/mips/mips.opt:199
 #, no-c-format
 msgid "Work around certain R10000 errata."
 msgstr ""
 
-#: config/mips/mips.opt:182
+#: config/mips/mips.opt:203
 #, no-c-format
 msgid "Work around errata for early SB-1 revision 2 cores."
 msgstr ""
 
-#: config/mips/mips.opt:186
+#: config/mips/mips.opt:207
 #, no-c-format
 msgid "Work around certain VR4120 errata."
 msgstr ""
 
-#: config/mips/mips.opt:190
+#: config/mips/mips.opt:211
 #, no-c-format
 msgid "Work around VR4130 mflo/mfhi errata."
 msgstr ""
 
-#: config/mips/mips.opt:194
+#: config/mips/mips.opt:215
 #, no-c-format
 msgid "Work around an early 4300 hardware bug."
 msgstr ""
 
-#: config/mips/mips.opt:198
+#: config/mips/mips.opt:219
 #, no-c-format
 msgid "FP exceptions are enabled."
 msgstr ""
 
-#: config/mips/mips.opt:202
+#: config/mips/mips.opt:223
 #, no-c-format
 msgid "Use 32-bit floating-point registers."
 msgstr ""
 
-#: config/mips/mips.opt:206
+#: config/mips/mips.opt:227
 #, no-c-format
 msgid "Conform to the o32 FPXX ABI."
 msgstr ""
 
-#: config/mips/mips.opt:210
+#: config/mips/mips.opt:231
 #, no-c-format
 msgid "Use 64-bit floating-point registers."
 msgstr ""
 
-#: config/mips/mips.opt:214
+#: config/mips/mips.opt:235
 #, no-c-format
 msgid ""
 "-mflush-func=FUNC\tUse FUNC to flush the cache before calling stack "
 "trampolines."
 msgstr ""
 
-#: config/mips/mips.opt:218
+#: config/mips/mips.opt:239
 #, no-c-format
 msgid "-mabs=MODE\tSelect the IEEE 754 ABS/NEG instruction execution mode."
 msgstr ""
 
-#: config/mips/mips.opt:222
+#: config/mips/mips.opt:243
 #, no-c-format
 msgid "-mnan=ENCODING\tSelect the IEEE 754 NaN data encoding."
 msgstr ""
 
-#: config/mips/mips.opt:226
+#: config/mips/mips.opt:247
 #, no-c-format
 msgid ""
 "Known MIPS IEEE 754 settings (for use with the -mabs= and -mnan= options):"
 msgstr ""
 
-#: config/mips/mips.opt:236
+#: config/mips/mips.opt:257
 #, no-c-format
 msgid "Use 32-bit general registers."
 msgstr ""
 
-#: config/mips/mips.opt:240
+#: config/mips/mips.opt:261
 #, no-c-format
 msgid "Use 64-bit general registers."
 msgstr ""
 
-#: config/mips/mips.opt:244
+#: config/mips/mips.opt:265
 #, no-c-format
 msgid "Use GP-relative addressing to access small data."
 msgstr ""
 
-#: config/mips/mips.opt:248
+#: config/mips/mips.opt:269
 #, no-c-format
 msgid ""
 "When generating -mabicalls code, allow executables to use PLTs and copy "
 "relocations."
 msgstr ""
 
-#: config/mips/mips.opt:252
+#: config/mips/mips.opt:273
 #, no-c-format
 msgid "Allow the use of hardware floating-point ABI and instructions."
 msgstr ""
 
-#: config/mips/mips.opt:256
+#: config/mips/mips.opt:277
 #, no-c-format
 msgid "Generate code that is link-compatible with MIPS16 and microMIPS code."
 msgstr ""
 
-#: config/mips/mips.opt:260
+#: config/mips/mips.opt:281
 #, no-c-format
 msgid "An alias for minterlink-compressed provided for backward-compatibility."
 msgstr ""
 
-#: config/mips/mips.opt:264
+#: config/mips/mips.opt:285
 #, no-c-format
 msgid "-mipsN\tGenerate code for ISA level N."
 msgstr ""
 
-#: config/mips/mips.opt:268
+#: config/mips/mips.opt:289
 #, no-c-format
 msgid "Generate MIPS16 code."
 msgstr ""
 
-#: config/mips/mips.opt:272
+#: config/mips/mips.opt:293
 #, no-c-format
 msgid "Use MIPS-3D instructions."
 msgstr ""
 
-#: config/mips/mips.opt:276
+#: config/mips/mips.opt:297
 #, no-c-format
 msgid "Use ll, sc and sync instructions."
 msgstr ""
 
-#: config/mips/mips.opt:280
+#: config/mips/mips.opt:301
 #, no-c-format
 msgid "Use -G for object-local data."
 msgstr ""
 
-#: config/mips/mips.opt:284
+#: config/mips/mips.opt:305
 #, no-c-format
 msgid "Use indirect calls."
 msgstr ""
 
-#: config/mips/mips.opt:288
+#: config/mips/mips.opt:309
 #, no-c-format
 msgid "Use a 32-bit long type."
 msgstr ""
 
-#: config/mips/mips.opt:292
+#: config/mips/mips.opt:313
 #, no-c-format
 msgid "Use a 64-bit long type."
 msgstr ""
 
-#: config/mips/mips.opt:296
+#: config/mips/mips.opt:317
 #, no-c-format
 msgid "Pass the address of the ra save location to _mcount in $12."
 msgstr ""
 
-#: config/mips/mips.opt:300
+#: config/mips/mips.opt:321
 #, no-c-format
 msgid "Don't optimize block moves."
 msgstr ""
 
-#: config/mips/mips.opt:304
+#: config/mips/mips.opt:325
 #, no-c-format
 msgid "Use microMIPS instructions."
 msgstr ""
 
-#: config/mips/mips.opt:308
+#: config/mips/mips.opt:329
 #, no-c-format
 msgid "Use MIPS MSA Extension instructions."
 msgstr ""
 
-#: config/mips/mips.opt:312
+#: config/mips/mips.opt:333
 #, no-c-format
 msgid "Allow the use of MT instructions."
 msgstr ""
 
-#: config/mips/mips.opt:316
+#: config/mips/mips.opt:337
 #, no-c-format
 msgid "Prevent the use of all floating-point operations."
 msgstr ""
 
-#: config/mips/mips.opt:320
+#: config/mips/mips.opt:341
 #, no-c-format
 msgid "Use MCU instructions."
 msgstr ""
 
-#: config/mips/mips.opt:324
+#: config/mips/mips.opt:345
 #, no-c-format
 msgid "Do not use a cache-flushing function before calling stack trampolines."
 msgstr ""
 
-#: config/mips/mips.opt:328
+#: config/mips/mips.opt:349
 #, no-c-format
 msgid "Do not use MDMX instructions."
 msgstr ""
 
-#: config/mips/mips.opt:332
+#: config/mips/mips.opt:353
 #, no-c-format
 msgid "Generate normal-mode code."
 msgstr ""
 
-#: config/mips/mips.opt:336
+#: config/mips/mips.opt:357
 #, no-c-format
 msgid "Do not use MIPS-3D instructions."
 msgstr ""
 
-#: config/mips/mips.opt:340
+#: config/mips/mips.opt:361
 #, no-c-format
 msgid "Use paired-single floating-point instructions."
 msgstr ""
 
-#: config/mips/mips.opt:344
+#: config/mips/mips.opt:365
 #, no-c-format
 msgid ""
 "-mr10k-cache-barrier=SETTING\tSpecify when r10k cache barriers should be "
 "inserted."
 msgstr ""
 
-#: config/mips/mips.opt:348
+#: config/mips/mips.opt:369
 #, no-c-format
 msgid "Valid arguments to -mr10k-cache-barrier=:"
 msgstr ""
 
-#: config/mips/mips.opt:361
+#: config/mips/mips.opt:382
 #, no-c-format
 msgid "Try to allow the linker to turn PIC calls into direct calls."
 msgstr ""
 
-#: config/mips/mips.opt:365
+#: config/mips/mips.opt:386
 #, no-c-format
 msgid ""
 "When generating -mabicalls code, make the code suitable for use in shared "
 "libraries."
 msgstr ""
 
-#: config/mips/mips.opt:373
+#: config/mips/mips.opt:394
 #, no-c-format
 msgid "Use SmartMIPS instructions."
 msgstr ""
 
-#: config/mips/mips.opt:381
+#: config/mips/mips.opt:402
 #, no-c-format
 msgid "Optimize lui/addiu address loads."
 msgstr ""
 
-#: config/mips/mips.opt:385
+#: config/mips/mips.opt:406
 #, no-c-format
 msgid "Enable the MIPS16e V2 instructions."
 msgstr ""
 
-#: config/mips/mips.opt:389
+#: config/mips/mips.opt:410
 #, no-c-format
 msgid "Assume all symbols have 32-bit values."
 msgstr ""
 
-#: config/mips/mips.opt:393
+#: config/mips/mips.opt:414
 #, no-c-format
 msgid "Use synci instruction to invalidate i-cache."
 msgstr ""
 
-#: config/mips/mips.opt:401
+#: config/mips/mips.opt:422
 #, no-c-format
 msgid "Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable."
 msgstr ""
 
-#: config/mips/mips.opt:405
+#: config/mips/mips.opt:426
 #, no-c-format
 msgid "Use 4-operand madd.s/madd.d and related instructions where applicable."
 msgstr ""
 
-#: config/mips/mips.opt:413
+#: config/mips/mips.opt:434
 #, no-c-format
 msgid "Generate code with unaligned load store, valid for MIPS R6."
 msgstr ""
 
-#: config/mips/mips.opt:421
+#: config/mips/mips.opt:442
 #, no-c-format
 msgid "Use Virtualization (VZ) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:425
+#: config/mips/mips.opt:446
 #, no-c-format
 msgid "Use eXtended Physical Address (XPA) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:429
+#: config/mips/mips.opt:450
 #, no-c-format
 msgid "Use Cyclic Redundancy Check (CRC) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:433
+#: config/mips/mips.opt:454
 #, no-c-format
 msgid "Use Global INValidate (GINV) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:437
+#: config/mips/mips.opt:458
 #, no-c-format
 msgid "Perform VR4130-specific alignment optimizations."
 msgstr ""
 
-#: config/mips/mips.opt:441
+#: config/mips/mips.opt:462
 #, no-c-format
 msgid "Lift restrictions on GOT size."
 msgstr ""
 
-#: config/mips/mips.opt:445
+#: config/mips/mips.opt:466
 #, no-c-format
 msgid "Enable use of odd-numbered single-precision registers."
 msgstr ""
 
-#: config/mips/mips.opt:449
+#: config/mips/mips.opt:470
 #, no-c-format
 msgid "Optimize frame header."
 msgstr ""
 
-#: config/mips/mips.opt:456
+#: config/mips/mips.opt:477
 #, no-c-format
 msgid "Enable load/store bonding."
 msgstr ""
 
-#: config/mips/mips.opt:460
+#: config/mips/mips.opt:481
 #, no-c-format
 msgid "Specify the compact branch usage policy."
 msgstr ""
 
-#: config/mips/mips.opt:464
+#: config/mips/mips.opt:485
 #, no-c-format
 msgid "Policies available for use with -mcompact-branches=:"
 msgstr ""
 
-#: config/mips/mips.opt:477
+#: config/mips/mips.opt:498
 #, no-c-format
 msgid "Use Loongson MultiMedia extensions Instructions (MMI) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:481
+#: config/mips/mips.opt:502
 #, no-c-format
 msgid "Use Loongson EXTension (EXT) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:485
+#: config/mips/mips.opt:506
 #, no-c-format
 msgid "Use Loongson EXTension R2 (EXT2) instructions."
 msgstr ""
@@ -13896,23 +14331,11 @@ msgstr ""
 msgid "Don't use less than 25 bit addressing range for calls."
 msgstr ""
 
-#: config/arc/arc.opt:304
-#, no-c-format
-msgid ""
-"Explain what alignment considerations lead to the decision to make an insn "
-"short or long."
-msgstr ""
-
 #: config/arc/arc.opt:322
 #, no-c-format
 msgid "Enable pre-reload use of cbranchsi pattern."
 msgstr ""
 
-#: config/arc/arc.opt:326
-#, no-c-format
-msgid "Enable bbit peephole2."
-msgstr ""
-
 #: config/arc/arc.opt:330
 #, no-c-format
 msgid ""
@@ -14074,6 +14497,11 @@ msgstr ""
 msgid "Enable ENTER_S and LEAVE_S opcodes for ARCv2."
 msgstr ""
 
+#: config/vxworks-smp.opt:25
+#, no-c-format
+msgid "Select VxWorks SMP C runtimes for linking."
+msgstr ""
+
 #: lto/lang.opt:50
 #, no-c-format
 msgid "Set linker output type (used internally during LTO optimization)."
@@ -14346,664 +14774,688 @@ msgstr ""
 msgid "Warn when attempting to free a non-heap object."
 msgstr ""
 
-#: common.opt:646
+#: common.opt:639
+#, no-c-format
+msgid "Warn when -fhardened did not enable an option from its set."
+msgstr ""
+
+#: common.opt:650
 #, no-c-format
 msgid "Warn when a switch case falls through."
 msgstr ""
 
-#: common.opt:654
+#: common.opt:658
 #, no-c-format
 msgid "Warn when an inlined function cannot be inlined."
 msgstr ""
 
-#: common.opt:658
+#: common.opt:662
 #, no-c-format
 msgid ""
 "Warn when an atomic memory model parameter is known to be outside the valid "
 "range."
 msgstr ""
 
-#: common.opt:665
+#: common.opt:669
 #, no-c-format
 msgid ""
 "-Wlarger-than=<byte-size>\tWarn if an object's size exceeds <byte-size>."
 msgstr ""
 
-#: common.opt:669
+#: common.opt:673
 #, no-c-format
 msgid ""
 "Disable -Wlarger-than= warning.  Equivalent to -Wlarger-than=<SIZE_MAX> or "
 "larger."
 msgstr ""
 
-#: common.opt:673
+#: common.opt:677
 #, no-c-format
 msgid "Warn if comparing pointer parameter with nonnull attribute with NULL."
 msgstr ""
 
-#: common.opt:677
+#: common.opt:681
 #, no-c-format
 msgid ""
 "Warn if dereferencing a NULL pointer may lead to erroneous or undefined "
 "behavior."
 msgstr ""
 
-#: common.opt:688
+#: common.opt:692
 #, no-c-format
 msgid ""
 "Warn about some C++ One Definition Rule violations during link time "
 "optimization."
 msgstr ""
 
-#: common.opt:692
+#: common.opt:696
 #, no-c-format
 msgid "Warn about overflow in arithmetic expressions."
 msgstr ""
 
-#: common.opt:696
+#: common.opt:700
 #, no-c-format
 msgid ""
 "During link time optimization warn about mismatched types of global "
 "declarations."
 msgstr ""
 
-#: common.opt:700
+#: common.opt:704
 #, no-c-format
 msgid "Warn when the packed attribute has no effect on struct layout."
 msgstr ""
 
-#: common.opt:704
+#: common.opt:708
 #, no-c-format
 msgid "Warn when padding is required to align structure members."
 msgstr ""
 
-#: common.opt:708
+#: common.opt:712
 #, no-c-format
 msgid "Issue warnings needed for strict compliance to the standard."
 msgstr ""
 
-#: common.opt:712
+#: common.opt:716
 #, no-c-format
 msgid ""
 "Warn about returning a pointer/reference to a local or temporary variable."
 msgstr ""
 
-#: common.opt:716
+#: common.opt:720
 #, no-c-format
 msgid "Warn when one variable shadows another.  Same as -Wshadow=global."
 msgstr ""
 
-#: common.opt:720
+#: common.opt:724
 #, no-c-format
 msgid "Warn when one variable shadows another (globally)."
 msgstr ""
 
-#: common.opt:724
+#: common.opt:728
 #, no-c-format
 msgid ""
 "Warn when one local variable shadows another local variable or parameter."
 msgstr ""
 
-#: common.opt:731
+#: common.opt:735
 #, no-c-format
 msgid ""
 "Warn when one local variable shadows another local variable or parameter of "
 "compatible type."
 msgstr ""
 
-#: common.opt:738
+#: common.opt:742
 #, no-c-format
 msgid "Warn when not issuing stack smashing protection for some reason."
 msgstr ""
 
-#: common.opt:742
+#: common.opt:746
 #, no-c-format
 msgid ""
 "-Wstack-usage=<byte-size>\tWarn if stack usage might exceed <byte-size>."
 msgstr ""
 
-#: common.opt:746
+#: common.opt:750
 #, no-c-format
 msgid ""
 "Disable Wstack-usage= warning.  Equivalent to Wstack-usage=<SIZE_MAX> or "
 "larger."
 msgstr ""
 
-#: common.opt:750 common.opt:754
+#: common.opt:754 common.opt:758
 #, no-c-format
 msgid "Warn about code which might break strict aliasing rules."
 msgstr ""
 
-#: common.opt:758 common.opt:762
+#: common.opt:762 common.opt:766
 #, no-c-format
 msgid "Warn about optimizations that assume that signed overflow is undefined."
 msgstr ""
 
-#: common.opt:766
+#: common.opt:770
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((cold))."
 msgstr ""
 
-#: common.opt:770
+#: common.opt:774
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((const))."
 msgstr ""
 
-#: common.opt:774
+#: common.opt:778
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((pure))."
 msgstr ""
 
-#: common.opt:778
+#: common.opt:782
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((noreturn))."
 msgstr ""
 
-#: common.opt:782
+#: common.opt:786
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((malloc))."
 msgstr ""
 
-#: common.opt:786
+#: common.opt:790
+#, no-c-format
+msgid ""
+"Warn about functions which might be candidates for "
+"__attribute__((returns_nonnull))."
+msgstr ""
+
+#: common.opt:794
 #, no-c-format
 msgid ""
 "Warn about C++ polymorphic types where adding final keyword would improve "
 "code quality."
 msgstr ""
 
-#: common.opt:790
+#: common.opt:798
 #, no-c-format
 msgid ""
 "Warn about C++ virtual methods where adding final keyword would improve code "
 "quality."
 msgstr ""
 
-#: common.opt:794
+#: common.opt:802
 #, no-c-format
 msgid ""
 "Warn about statements between switch's controlling expression and the first "
 "case."
 msgstr ""
 
-#: common.opt:799
+#: common.opt:807
 #, no-c-format
 msgid "Do not suppress warnings from system headers."
 msgstr ""
 
-#: common.opt:803
+#: common.opt:811
 #, no-c-format
 msgid "Warn whenever a trampoline is generated."
 msgstr ""
 
-#: common.opt:807
+#: common.opt:815
 #, no-c-format
 msgid ""
 "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto "
 "variable."
 msgstr ""
 
-#: common.opt:811
+#: common.opt:819
 #, 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:815
+#: common.opt:823
 #, no-c-format
 msgid "Warn about uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:819
+#: common.opt:827
 #, no-c-format
 msgid "Warn about maybe uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:827
+#: common.opt:835
 #, no-c-format
 msgid "Enable all -Wunused- warnings."
 msgstr ""
 
-#: common.opt:831
+#: common.opt:839
 #, no-c-format
 msgid "Warn when a function parameter is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:835
+#: common.opt:843
 #, no-c-format
 msgid "Warn when a variable is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:839
+#: common.opt:847
 #, no-c-format
 msgid "Warn when a function is unused."
 msgstr ""
 
-#: common.opt:843
+#: common.opt:851
 #, no-c-format
 msgid "Warn when a label is unused."
 msgstr ""
 
-#: common.opt:847
+#: common.opt:855
 #, no-c-format
 msgid "Warn when a function parameter is unused."
 msgstr ""
 
-#: common.opt:851
+#: common.opt:859
 #, no-c-format
 msgid "Warn when an expression value is unused."
 msgstr ""
 
-#: common.opt:855
+#: common.opt:863
 #, no-c-format
 msgid "Warn when a variable is unused."
 msgstr ""
 
-#: common.opt:859
+#: common.opt:867
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not match."
 msgstr ""
 
-#: common.opt:863
+#: common.opt:871
 #, no-c-format
 msgid ""
 "Warn in case a function ends earlier than it begins due to an invalid "
 "linenum macros."
 msgstr ""
 
-#: common.opt:867
+#: common.opt:875
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not exist."
 msgstr ""
 
-#: common.opt:871
+#: common.opt:879
 #, no-c-format
 msgid "Warn when a vector operation is compiled outside the SIMD."
 msgstr ""
 
-#: common.opt:875
+#: common.opt:883
 #, no-c-format
 msgid "Warn about unsupported features in ThreadSanitizer."
 msgstr ""
 
-#: common.opt:891
+#: common.opt:899
 #, no-c-format
 msgid "-aux-info <file>\tEmit declaration information into <file>."
 msgstr ""
 
-#: common.opt:904
+#: common.opt:912
 #, no-c-format
 msgid "-d<letters>\tEnable dumps from specific passes of the compiler."
 msgstr ""
 
-#: common.opt:908
+#: common.opt:916
 #, no-c-format
 msgid "-dumpbase <file>\tSet the file basename to be used for dumps."
 msgstr ""
 
-#: common.opt:912
+#: common.opt:920
 #, no-c-format
 msgid ""
 "-dumpbase-ext .<ext>    Drop a trailing .<ext> from the dump basename to "
 "name auxiliary output files."
 msgstr ""
 
-#: common.opt:916
+#: common.opt:924
 #, no-c-format
 msgid "-dumpdir <dir>\tSet the directory name to be used for dumps."
 msgstr ""
 
-#: common.opt:1017
+#: common.opt:1030
 #, no-c-format
 msgid "The version of the C++ ABI in use."
 msgstr ""
 
-#: common.opt:1021
+#: common.opt:1034
 #, no-c-format
 msgid "Aggressively optimize loops using language constraints."
 msgstr ""
 
-#: common.opt:1025
+#: common.opt:1038
 #, no-c-format
 msgid "Align the start of functions."
 msgstr ""
 
-#: common.opt:1035
+#: common.opt:1045
 #, no-c-format
 msgid "Align labels which are only reached by jumping."
 msgstr ""
 
-#: common.opt:1042
+#: common.opt:1052
 #, no-c-format
 msgid "Align all labels."
 msgstr ""
 
-#: common.opt:1049
+#: common.opt:1059
 #, no-c-format
 msgid "Align the start of loops."
 msgstr ""
 
-#: common.opt:1056
+#: common.opt:1066
 #, no-c-format
 msgid "Allow the compiler to introduce new data races on stores."
 msgstr ""
 
-#: common.opt:1060
+#: common.opt:1070
 #, no-c-format
 msgid "Enable static analysis pass."
 msgstr ""
 
-#: common.opt:1080
+#: common.opt:1090
 #, no-c-format
 msgid "Select what to sanitize."
 msgstr ""
 
-#: common.opt:1084
+#: common.opt:1094
 #, no-c-format
 msgid "Select type of coverage sanitization."
 msgstr ""
 
-#: common.opt:1097
+#: common.opt:1107
 #, no-c-format
 msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
 msgstr ""
 
-#: common.opt:1101
+#: common.opt:1111
 #, no-c-format
 msgid ""
 "-fsanitize-sections=<sec1,sec2,...>\tSanitize global variables in user-"
 "defined sections."
 msgstr ""
 
-#: common.opt:1106
+#: common.opt:1116
 #, no-c-format
 msgid "After diagnosing undefined behavior attempt to continue execution."
 msgstr ""
 
-#: common.opt:1110
+#: common.opt:1120
 #, no-c-format
 msgid "This switch is deprecated; use -fsanitize-recover= instead."
 msgstr ""
 
-#: common.opt:1114
+#: common.opt:1124
 #, no-c-format
 msgid "Use traps instead of diagnostics of undefined behavior sanitizers."
 msgstr ""
 
-#: common.opt:1124
+#: common.opt:1134
 #, no-c-format
 msgid "This switch is deprecated; use -fsanitize-trap= instead."
 msgstr ""
 
-#: common.opt:1128
+#: common.opt:1138
 #, no-c-format
 msgid "Generate unwind tables that are exact at each instruction boundary."
 msgstr ""
 
-#: common.opt:1132
+#: common.opt:1142
 #, no-c-format
 msgid "Generate auto-inc/dec instructions."
 msgstr ""
 
-#: common.opt:1136
+#: common.opt:1146
 #, 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:1141
+#: common.opt:1151
 #, no-c-format
 msgid ""
 "Use sample profile information for call graph node weights. The profile file "
 "is specified in the argument."
 msgstr ""
 
-#: common.opt:1150
+#: common.opt:1160
 #, no-c-format
 msgid "Generate code to check bounds before indexing arrays."
 msgstr ""
 
-#: common.opt:1154
+#: common.opt:1164
 #, no-c-format
 msgid "Replace add, compare, branch with branch on count register."
 msgstr ""
 
-#: common.opt:1158
+#: common.opt:1168
 #, no-c-format
 msgid "Use profiling information for branch probabilities."
 msgstr ""
 
-#: common.opt:1174
+#: common.opt:1184
 #, no-c-format
 msgid "Output callgraph information on a per-file basis."
 msgstr ""
 
-#: common.opt:1178
+#: common.opt:1188
 #, no-c-format
 msgid "Output callgraph information on a per-file basis with decorations."
 msgstr ""
 
-#: common.opt:1182
+#: common.opt:1192
 #, no-c-format
 msgid ""
 "-fcall-saved-<register>\tMark <register> as being preserved across functions."
 msgstr ""
 
-#: common.opt:1186
+#: common.opt:1196
 #, no-c-format
 msgid ""
 "-fcall-used-<register>\tMark <register> as being corrupted by function calls."
 msgstr ""
 
-#: common.opt:1193
+#: common.opt:1203
 #, no-c-format
 msgid "Save registers around function calls."
 msgstr ""
 
-#: common.opt:1197
+#: common.opt:1207
 #, no-c-format
 msgid "This switch is deprecated; do not use."
 msgstr ""
 
-#: common.opt:1201
+#: common.opt:1211
 #, no-c-format
 msgid "Check the return value of new in C++."
 msgstr ""
 
-#: common.opt:1205 common.opt:1209
+#: common.opt:1215 common.opt:1219
 #, no-c-format
 msgid "Perform internal consistency checkings."
 msgstr ""
 
-#: common.opt:1213
+#: common.opt:1223
 #, no-c-format
 msgid ""
 "For -f*-prefix-map= options compare canonicalized pathnames rather than just "
 "strings."
 msgstr ""
 
-#: common.opt:1217
+#: common.opt:1227
 #, no-c-format
 msgid "Enable code hoisting."
 msgstr ""
 
-#: common.opt:1221
+#: common.opt:1231
 #, no-c-format
 msgid ""
 "Looks for opportunities to reduce stack adjustments and stack references."
 msgstr ""
 
-#: common.opt:1225
+#: common.opt:1235
 #, no-c-format
 msgid "Put uninitialized globals in the common section."
 msgstr ""
 
-#: common.opt:1233
+#: common.opt:1243
 #, no-c-format
 msgid ""
 "-fcompare-debug[=<opts>]\tCompile with and without e.g. -gtoggle, and "
 "compare the final-insns dump."
 msgstr ""
 
-#: common.opt:1237
+#: common.opt:1247
 #, no-c-format
 msgid "Run only the second compilation of -fcompare-debug."
 msgstr ""
 
-#: common.opt:1241
+#: common.opt:1251
 #, no-c-format
 msgid "Perform comparison elimination after register allocation has finished."
 msgstr ""
 
-#: common.opt:1245
+#: common.opt:1255
 #, no-c-format
 msgid "Do not perform optimizations increasing noticeably stack usage."
 msgstr ""
 
-#: common.opt:1249
+#: common.opt:1259
 #, no-c-format
 msgid "Perform a register copy-propagation optimization pass."
 msgstr ""
 
-#: common.opt:1253
+#: common.opt:1263
+#, no-c-format
+msgid ""
+"Fold instructions calculating memory offsets to the memory access "
+"instruction if possible."
+msgstr ""
+
+#: common.opt:1267
 #, no-c-format
 msgid "Perform cross-jumping optimization."
 msgstr ""
 
-#: common.opt:1257
+#: common.opt:1271
 #, no-c-format
 msgid "When running CSE, follow jumps to their targets."
 msgstr ""
 
-#: common.opt:1265
+#: common.opt:1279
 #, no-c-format
 msgid "Omit range reduction step when performing complex division."
 msgstr ""
 
-#: common.opt:1269
+#: common.opt:1283
 #, no-c-format
 msgid "Complex multiplication and division follow Fortran rules."
 msgstr ""
 
-#: common.opt:1273
+#: common.opt:1287
 #, no-c-format
 msgid "Place data items into their own section."
 msgstr ""
 
-#: common.opt:1277
+#: common.opt:1291
 #, no-c-format
 msgid "List all available debugging counters with their limits and counts."
 msgstr ""
 
-#: common.opt:1281
+#: common.opt:1295
 #, no-c-format
 msgid ""
 "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-"
 "<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
 msgstr ""
 
-#: common.opt:1285
+#: common.opt:1299
 #, no-c-format
 msgid ""
 "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug "
 "information."
 msgstr ""
 
-#: common.opt:1289
+#: common.opt:1303
 #, no-c-format
 msgid ""
 "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in "
 "compilation result."
 msgstr ""
 
-#: common.opt:1293
+#: common.opt:1307
 #, no-c-format
 msgid "Output .debug_types section when using DWARF v4 debuginfo."
 msgstr ""
 
-#: common.opt:1299
+#: common.opt:1313
 #, no-c-format
 msgid "Defer popping functions args from stack until later."
 msgstr ""
 
-#: common.opt:1303
+#: common.opt:1317
 #, no-c-format
 msgid "Attempt to fill delay slots of branch instructions."
 msgstr ""
 
-#: common.opt:1307
+#: common.opt:1321
 #, no-c-format
 msgid "Delete dead instructions that may throw exceptions."
 msgstr ""
 
-#: common.opt:1311
+#: common.opt:1325
 #, no-c-format
 msgid "Delete useless null pointer checks."
 msgstr ""
 
-#: common.opt:1315
+#: common.opt:1329
 #, no-c-format
 msgid ""
 "Stream extra data to support more aggressive devirtualization in LTO local "
 "transformation mode."
 msgstr ""
 
-#: common.opt:1319
+#: common.opt:1333
 #, no-c-format
 msgid "Perform speculative devirtualization."
 msgstr ""
 
-#: common.opt:1323
+#: common.opt:1337
 #, no-c-format
 msgid "Try to convert virtual calls to direct ones."
 msgstr ""
 
-#: common.opt:1327
+#: common.opt:1341
 #, 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:1344
+#: common.opt:1358
 #, no-c-format
 msgid "Show the source line with a caret indicating the column."
 msgstr ""
 
-#: common.opt:1348
+#: common.opt:1362
 #, no-c-format
 msgid "Show labels annotating ranges of source code when showing source."
 msgstr ""
 
-#: common.opt:1352
+#: common.opt:1366
 #, no-c-format
 msgid "Show line numbers in the left margin when showing source."
 msgstr ""
 
-#: common.opt:1360
+#: common.opt:1374
 #, no-c-format
 msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
 msgstr ""
 
-#: common.opt:1380
+#: common.opt:1394
+#, no-c-format
+msgid "Enable formatting of JSON output."
+msgstr ""
+
+#: common.opt:1398
 #, no-c-format
 msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
 msgstr ""
 
-#: common.opt:1400
+#: common.opt:1418
 #, 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:1404
+#: common.opt:1422
 #, no-c-format
 msgid ""
 "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  "
@@ -15011,456 +15463,498 @@ msgid ""
 "based, for example."
 msgstr ""
 
-#: common.opt:1408
+#: common.opt:1426
 #, no-c-format
 msgid ""
 "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-"
 "file]\tSelect output format."
 msgstr ""
 
-#: common.opt:1412
+#: common.opt:1430
 #, 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:1459
+#: common.opt:1477
 #, no-c-format
 msgid "Print fix-it hints in machine-readable form."
 msgstr ""
 
-#: common.opt:1463
+#: common.opt:1481
 #, no-c-format
 msgid "Print fix-it hints to stderr in unified diff format."
 msgstr ""
 
-#: common.opt:1467
+#: common.opt:1485
 #, no-c-format
 msgid ""
 "Amend appropriate diagnostic messages with the command line option that "
 "controls them."
 msgstr ""
 
-#: common.opt:1471
+#: common.opt:1489
 #, no-c-format
 msgid "Print CWE identifiers for diagnostic messages, where available."
 msgstr ""
 
-#: common.opt:1475
+#: common.opt:1493
 #, no-c-format
 msgid "Print any rules associated with diagnostic messages."
 msgstr ""
 
-#: common.opt:1479
+#: common.opt:1497
 #, no-c-format
 msgid ""
 "Specify how to print any control-flow path associated with a diagnostic."
 msgstr ""
 
-#: common.opt:1483
+#: common.opt:1501
 #, no-c-format
 msgid ""
 "Turn off any diagnostics features that complicate the output, such as line "
 "numbers, color, and warning URLs."
 msgstr ""
 
-#: common.opt:1487
+#: common.opt:1505
 #, no-c-format
 msgid ""
 "-ftabstop=<number>      Distance between tab stops for column reporting."
 msgstr ""
 
-#: common.opt:1503
+#: common.opt:1521
 #, no-c-format
 msgid "Show stack depths of events in paths."
 msgstr ""
 
-#: common.opt:1507
+#: common.opt:1525
 #, no-c-format
 msgid ""
 "-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]\tDetermine which "
 "characters to use in text arg diagrams."
 msgstr ""
 
-#: common.opt:1530
+#: common.opt:1544
 #, no-c-format
 msgid "Set minimum width of left margin of source code when showing source."
 msgstr ""
 
-#: common.opt:1534
+#: common.opt:1548
 #, no-c-format
 msgid ""
 "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
 msgstr ""
 
-#: common.opt:1538
+#: common.opt:1552
 #, no-c-format
 msgid ""
 "-fenable-[tree|rtl|ipa]-<pass>=range1+range2\tEnable an optimization pass."
 msgstr ""
 
-#: common.opt:1542
+#: common.opt:1556
 #, no-c-format
 msgid "-fdump-<type>\tDump various compiler internals to a file."
 msgstr ""
 
-#: common.opt:1549
+#: common.opt:1563
 #, no-c-format
 msgid ""
 "-fdump-final-insns=filename\tDump to filename the insns at the end of "
 "translation."
 msgstr ""
 
-#: common.opt:1553
+#: common.opt:1567
 #, no-c-format
 msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code."
 msgstr ""
 
-#: common.opt:1557
+#: common.opt:1571
 #, no-c-format
 msgid "Suppress output of addresses in debugging dumps."
 msgstr ""
 
-#: common.opt:1561
+#: common.opt:1575
 #, no-c-format
 msgid ""
 "Collect and dump debug information into temporary file if ICE in C/C++ "
 "compiler occurred."
 msgstr ""
 
-#: common.opt:1566
+#: common.opt:1580
 #, no-c-format
 msgid ""
 "Dump detailed information on GCC's internal representation of source code "
 "locations."
 msgstr ""
 
-#: common.opt:1570
+#: common.opt:1584
 #, no-c-format
 msgid "Dump optimization passes."
 msgstr ""
 
-#: common.opt:1574
+#: common.opt:1588
 #, no-c-format
 msgid ""
 "Suppress output of instruction numbers, line number notes and addresses in "
 "debugging dumps."
 msgstr ""
 
-#: common.opt:1578
+#: common.opt:1592
 #, no-c-format
 msgid "Suppress output of previous and next insn numbers in debugging dumps."
 msgstr ""
 
-#: common.opt:1582
+#: common.opt:1596
 #, no-c-format
 msgid "Enable CFI tables via GAS assembler directives."
 msgstr ""
 
-#: common.opt:1586
+#: common.opt:1600
 #, no-c-format
 msgid "Perform early inlining."
 msgstr ""
 
-#: common.opt:1594
+#: common.opt:1608
 #, no-c-format
 msgid "Perform interprocedural reduction of aggregates."
 msgstr ""
 
-#: common.opt:1598
+#: common.opt:1612
 #, no-c-format
 msgid "Perform unused symbol elimination in debug info."
 msgstr ""
 
-#: common.opt:1602
+#: common.opt:1616
 #, no-c-format
 msgid "Perform unused type elimination in debug info."
 msgstr ""
 
-#: common.opt:1606
+#: common.opt:1620
 #, no-c-format
 msgid "Do not suppress C++ class debug information."
 msgstr ""
 
-#: common.opt:1610
+#: common.opt:1624
 #, no-c-format
 msgid "Enable exception handling."
 msgstr ""
 
-#: common.opt:1614
+#: common.opt:1628
 #, no-c-format
 msgid "Perform a number of minor, expensive optimizations."
 msgstr ""
 
-#: common.opt:1618
+#: common.opt:1632
 #, no-c-format
 msgid ""
 "-fexcess-precision=[fast|standard|16]\tSpecify handling of excess floating-"
 "point precision."
 msgstr ""
 
-#: common.opt:1636
+#: common.opt:1650
 #, no-c-format
 msgid ""
 "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of "
 "FLT_EVAL_METHOD are permitted."
 msgstr ""
 
-#: common.opt:1652
+#: common.opt:1666
 #, no-c-format
 msgid ""
 "Output lto objects containing both the intermediate language and binary "
 "output."
 msgstr ""
 
-#: common.opt:1656
+#: common.opt:1670
 #, no-c-format
 msgid "Assume no NaNs or infinities are generated."
 msgstr ""
 
-#: common.opt:1660
+#: common.opt:1674
 #, no-c-format
 msgid ""
 "Assume that loops with an exit will terminate and not loop indefinitely."
 msgstr ""
 
-#: common.opt:1664
+#: common.opt:1678
 #, no-c-format
 msgid ""
 "-ffixed-<register>\tMark <register> as being unavailable to the compiler."
 msgstr ""
 
-#: common.opt:1668
+#: common.opt:1682
 #, no-c-format
 msgid "Don't allocate floats and doubles in extended-precision registers."
 msgstr ""
 
-#: common.opt:1676
+#: common.opt:1690
 #, no-c-format
 msgid "Perform a forward propagation pass on RTL."
 msgstr ""
 
-#: common.opt:1680
+#: common.opt:1694
 #, no-c-format
 msgid ""
 "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
 msgstr ""
 
-#: common.opt:1696
+#: common.opt:1710
 #, no-c-format
 msgid ""
 "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" "
 "exceptions."
 msgstr ""
 
-#: common.opt:1703
+#: common.opt:1717
 #, no-c-format
 msgid "Allow function addresses to be held in registers."
 msgstr ""
 
-#: common.opt:1707
+#: common.opt:1721
 #, no-c-format
 msgid "Place each function into its own section."
 msgstr ""
 
-#: common.opt:1711
+#: common.opt:1725
 #, no-c-format
 msgid "Perform global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1715
+#: common.opt:1729
 #, no-c-format
 msgid ""
 "Perform enhanced load motion during global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1719
+#: common.opt:1733
 #, no-c-format
 msgid "Perform store motion after global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1723
+#: common.opt:1737
 #, no-c-format
 msgid ""
 "Perform redundant load after store elimination in global common "
 "subexpression elimination."
 msgstr ""
 
-#: common.opt:1728
+#: common.opt:1742
 #, no-c-format
 msgid ""
 "Perform global common subexpression elimination after register allocation "
 "has finished."
 msgstr ""
 
-#: common.opt:1745
+#: common.opt:1759
 #, 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:1750
+#: common.opt:1764
 #, no-c-format
 msgid "Enable in and out of Graphite representation."
 msgstr ""
 
-#: common.opt:1754
+#: common.opt:1768
 #, no-c-format
 msgid "Enable Graphite Identity transformation."
 msgstr ""
 
-#: common.opt:1758
+#: common.opt:1772
 #, no-c-format
 msgid ""
 "Enable hoisting adjacent loads to encourage generating conditional move "
 "instructions."
 msgstr ""
 
-#: common.opt:1767
+#: common.opt:1781
 #, 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:1772
+#: common.opt:1786
 #, no-c-format
 msgid "Mark all loops as parallel."
 msgstr ""
 
-#: common.opt:1776 common.opt:1784 common.opt:3001
+#: common.opt:1790 common.opt:1798 common.opt:3139
 #, no-c-format
 msgid "Enable loop nest transforms.  Same as -floop-nest-optimize."
 msgstr ""
 
-#: common.opt:1780
+#: common.opt:1794
 #, no-c-format
 msgid "Enable loop interchange on trees."
 msgstr ""
 
-#: common.opt:1788
+#: common.opt:1802
 #, no-c-format
 msgid "Perform unroll-and-jam on loops."
 msgstr ""
 
-#: common.opt:1792
+#: common.opt:1806
 #, no-c-format
 msgid "Enable support for GNU transactional memory."
 msgstr ""
 
-#: common.opt:1796
+#: common.opt:1810
 #, no-c-format
 msgid "Use STB_GNU_UNIQUE if supported by the assembler."
 msgstr ""
 
-#: common.opt:1804
+#: common.opt:1818
 #, no-c-format
 msgid "Enable the loop nest optimizer."
 msgstr ""
 
-#: common.opt:1808
+#: common.opt:1822
 #, no-c-format
 msgid "Force bitfield accesses to match their type width."
 msgstr ""
 
-#: common.opt:1812
+#: common.opt:1826
 #, no-c-format
 msgid "Merge adjacent stores."
 msgstr ""
 
-#: common.opt:1816
+#: common.opt:1830
 #, no-c-format
 msgid "Enable guessing of branch probabilities."
 msgstr ""
 
-#: common.opt:1820
+#: common.opt:1834
+#, no-c-format
+msgid "Enable various security-relevant flags."
+msgstr ""
+
+#: common.opt:1838
 #, no-c-format
 msgid "Harden conditionals not used in branches, checking reversed conditions."
 msgstr ""
 
-#: common.opt:1824
+#: common.opt:1842
 #, no-c-format
 msgid "Harden conditional branches by checking reversed conditions."
 msgstr ""
 
-#: common.opt:1832
+#: common.opt:1846
+#, no-c-format
+msgid "Harden control flow by recording and checking execution paths."
+msgstr ""
+
+#: common.opt:1850
+#, no-c-format
+msgid "Disable CFR in leaf functions."
+msgstr ""
+
+#: common.opt:1854
+#, no-c-format
+msgid ""
+"Check CFR execution paths also before calls followed by returns of their "
+"results."
+msgstr ""
+
+#: common.opt:1858
+#, no-c-format
+msgid ""
+"Check CFR execution paths also when exiting a function through an exception."
+msgstr ""
+
+#: common.opt:1862
+#, no-c-format
+msgid ""
+"-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]\tCheck CFR "
+"execution paths also before calling noreturn functions."
+msgstr ""
+
+#: common.opt:1885
 #, no-c-format
 msgid "Process #ident directives."
 msgstr ""
 
-#: common.opt:1836
+#: common.opt:1889
 #, no-c-format
 msgid "Perform conversion of conditional jumps to branchless equivalents."
 msgstr ""
 
-#: common.opt:1840
+#: common.opt:1893
 #, no-c-format
 msgid "Perform conversion of conditional jumps to conditional execution."
 msgstr ""
 
-#: common.opt:1844
+#: common.opt:1897
 #, no-c-format
 msgid ""
 "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local "
 "variables."
 msgstr ""
 
-#: common.opt:1860
+#: common.opt:1913
 #, no-c-format
 msgid "Convert conditional jumps in innermost loops to branchless equivalents."
 msgstr ""
 
-#: common.opt:1872
+#: common.opt:1925
 #, no-c-format
 msgid "Do not generate .size directives."
 msgstr ""
 
-#: common.opt:1876
+#: common.opt:1929
 #, no-c-format
 msgid "Perform indirect inlining."
 msgstr ""
 
-#: common.opt:1882
+#: common.opt:1935
 #, no-c-format
 msgid ""
 "Enable inlining of function declared \"inline\", disabling disables all "
 "inlining."
 msgstr ""
 
-#: common.opt:1886
+#: common.opt:1939
 #, no-c-format
 msgid ""
 "Integrate functions into their callers when code size is known not to grow."
 msgstr ""
 
-#: common.opt:1890
+#: common.opt:1943
 #, no-c-format
 msgid ""
 "Integrate functions not declared \"inline\" into their callers when "
 "profitable."
 msgstr ""
 
-#: common.opt:1894
+#: common.opt:1947
 #, no-c-format
 msgid "Integrate functions only required by their single caller."
 msgstr ""
 
-#: common.opt:1901
+#: common.opt:1954
 #, no-c-format
 msgid ""
 "-finline-limit=<number>\tLimit the size of inlined functions to <number>."
 msgstr ""
 
-#: common.opt:1905
+#: common.opt:1958
 #, no-c-format
 msgid ""
 "Inline __atomic operations when a lock free instruction sequence is "
 "available."
 msgstr ""
 
-#: common.opt:1912
+#: common.opt:1968
+#, no-c-format
+msgid ""
+"-finline-stringops[=memcmp|memcpy|memmove|memset] Expand supported mem/str "
+"operations inline, even if against optimization."
+msgstr ""
+
+#: common.opt:1999
 #, no-c-format
 msgid ""
 "-fcf-protection=[full|branch|return|none|check]\tInstrument functions with "
@@ -15468,599 +15962,604 @@ msgid ""
 "valid targets."
 msgstr ""
 
-#: common.opt:1935
+#: common.opt:2022
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls."
 msgstr ""
 
-#: common.opt:1939
+#: common.opt:2026
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls invoked once."
 msgstr ""
 
-#: common.opt:1943
+#: common.opt:2030
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-function-list=name,...\tDo not instrument "
 "listed functions."
 msgstr ""
 
-#: common.opt:1947
+#: common.opt:2034
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-file-list=filename,...\tDo not instrument "
 "functions listed in files."
 msgstr ""
 
-#: common.opt:1951
+#: common.opt:2038
 #, no-c-format
 msgid "Perform interprocedural constant propagation."
 msgstr ""
 
-#: common.opt:1955
+#: common.opt:2042
 #, no-c-format
 msgid "Perform cloning to make Interprocedural constant propagation stronger."
 msgstr ""
 
-#: common.opt:1963
+#: common.opt:2050
 #, no-c-format
 msgid "Perform interprocedural bitwise constant propagation."
 msgstr ""
 
-#: common.opt:1967
+#: common.opt:2054
 #, no-c-format
 msgid "Perform interprocedural modref analysis."
 msgstr ""
 
-#: common.opt:1971
+#: common.opt:2058
 #, no-c-format
 msgid "Perform interprocedural profile propagation."
 msgstr ""
 
-#: common.opt:1975
+#: common.opt:2062
 #, no-c-format
 msgid "Perform interprocedural points-to analysis."
 msgstr ""
 
-#: common.opt:1979
+#: common.opt:2066
 #, no-c-format
 msgid "Discover pure and const functions."
 msgstr ""
 
-#: common.opt:1983
+#: common.opt:2070
 #, no-c-format
 msgid "Perform Identical Code Folding for functions and read-only variables."
 msgstr ""
 
-#: common.opt:1987
+#: common.opt:2074
 #, no-c-format
 msgid "Perform Identical Code Folding for functions."
 msgstr ""
 
-#: common.opt:1991
+#: common.opt:2078
 #, no-c-format
 msgid "Perform Identical Code Folding for variables."
 msgstr ""
 
-#: common.opt:1995
+#: common.opt:2082
 #, no-c-format
 msgid "Discover read-only and non addressable static variables."
 msgstr ""
 
-#: common.opt:1999
+#: common.opt:2086
 #, no-c-format
 msgid "Discover read-only, write-only and non-addressable static variables."
 msgstr ""
 
-#: common.opt:2003
+#: common.opt:2090
 #, no-c-format
 msgid "Reduce stack alignment on call sites if possible."
 msgstr ""
 
-#: common.opt:2015
+#: common.opt:2102
 #, no-c-format
 msgid "Perform IPA Value Range Propagation."
 msgstr ""
 
-#: common.opt:2019
+#: common.opt:2106
 #, no-c-format
 msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
 msgstr ""
 
-#: common.opt:2023
+#: common.opt:2110
 #, no-c-format
 msgid ""
 "Assume strict aliasing rules apply across (uninlined) function boundaries."
 msgstr ""
 
-#: common.opt:2036
+#: common.opt:2123
 #, no-c-format
 msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
 msgstr ""
 
-#: common.opt:2052
+#: common.opt:2139
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
 msgstr ""
 
-#: common.opt:2057
+#: common.opt:2144
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL loop optimizations."
 msgstr ""
 
-#: common.opt:2062
+#: common.opt:2149
 #, no-c-format
 msgid "Share slots for saving different hard registers."
 msgstr ""
 
-#: common.opt:2066
+#: common.opt:2153
 #, no-c-format
 msgid "Share stack slots for spilled pseudo-registers."
 msgstr ""
 
-#: common.opt:2070
+#: common.opt:2157
 #, no-c-format
 msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
 msgstr ""
 
-#: common.opt:2074
+#: common.opt:2161
 #, no-c-format
 msgid "Optimize induction variables on trees."
 msgstr ""
 
-#: common.opt:2078
+#: common.opt:2165
 #, no-c-format
 msgid "Use jump tables for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2082
+#: common.opt:2169
 #, no-c-format
 msgid "Use bit tests for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2086
+#: common.opt:2173
 #, no-c-format
 msgid "Generate code for functions even if they are fully inlined."
 msgstr ""
 
-#: common.opt:2090
+#: common.opt:2177
 #, no-c-format
 msgid "Generate code for static functions even if they are never called."
 msgstr ""
 
-#: common.opt:2094
+#: common.opt:2181
 #, no-c-format
 msgid "Emit static const variables even if they are not used."
 msgstr ""
 
-#: common.opt:2098
+#: common.opt:2185
 #, no-c-format
 msgid "Give external symbols a leading underscore."
 msgstr ""
 
-#: common.opt:2106
+#: common.opt:2193
 #, no-c-format
 msgid "Do CFG-sensitive rematerialization in LRA."
 msgstr ""
 
-#: common.opt:2110
+#: common.opt:2197
 #, no-c-format
 msgid "Enable link-time optimization."
 msgstr ""
 
-#: common.opt:2114
+#: common.opt:2201
 #, no-c-format
 msgid "Link-time optimization with number of parallel jobs or jobserver."
 msgstr ""
 
-#: common.opt:2136
+#: common.opt:2223
 #, no-c-format
 msgid "Specify the algorithm to partition symbols and vars at linktime."
 msgstr ""
 
-#: common.opt:2141
+#: common.opt:2228
 #, no-c-format
 msgid "Use zlib/zstd compression level <number> for IL."
 msgstr ""
 
-#: common.opt:2149
+#: common.opt:2236
 #, no-c-format
 msgid "Report various link-time optimization statistics."
 msgstr ""
 
-#: common.opt:2153
+#: common.opt:2240
 #, no-c-format
 msgid "Report various link-time optimization statistics for WPA only."
 msgstr ""
 
-#: common.opt:2157
+#: common.opt:2244
 #, no-c-format
 msgid "Set errno after built-in math functions."
 msgstr ""
 
-#: common.opt:2161
+#: common.opt:2248
 #, no-c-format
 msgid "-fmax-errors=<number>\tMaximum number of errors to report."
 msgstr ""
 
-#: common.opt:2165
+#: common.opt:2252
 #, no-c-format
 msgid "Report on permanent memory allocation."
 msgstr ""
 
-#: common.opt:2169
+#: common.opt:2256
 #, no-c-format
 msgid "Report on permanent memory allocation in WPA only."
 msgstr ""
 
-#: common.opt:2176
+#: common.opt:2263
 #, no-c-format
 msgid "Attempt to merge identical constants and constant variables."
 msgstr ""
 
-#: common.opt:2180
+#: common.opt:2267
 #, no-c-format
 msgid "Attempt to merge identical constants across compilation units."
 msgstr ""
 
-#: common.opt:2184
+#: common.opt:2271
 #, no-c-format
 msgid "Attempt to merge identical debug strings across compilation units."
 msgstr ""
 
-#: common.opt:2188
+#: common.opt:2275
 #, no-c-format
 msgid ""
 "-fmessage-length=<number>\tLimit diagnostics to <number> characters per "
 "line.  0 suppresses line-wrapping."
 msgstr ""
 
-#: common.opt:2192
+#: common.opt:2279
+#, no-c-format
+msgid "Align the start of every function."
+msgstr ""
+
+#: common.opt:2283
 #, no-c-format
 msgid "Perform SMS based modulo scheduling before the first scheduling pass."
 msgstr ""
 
-#: common.opt:2196
+#: common.opt:2287
 #, no-c-format
 msgid "Perform SMS based modulo scheduling with register moves allowed."
 msgstr ""
 
-#: common.opt:2200
+#: common.opt:2291
 #, no-c-format
 msgid "Move loop invariant computations out of loops."
 msgstr ""
 
-#: common.opt:2204
+#: common.opt:2295
 #, no-c-format
 msgid "Move stores out of loops."
 msgstr ""
 
-#: common.opt:2208
+#: common.opt:2299
 #, no-c-format
 msgid "Building block for specs-based multilib-aware TFLAGS."
 msgstr ""
 
-#: common.opt:2212
+#: common.opt:2303
 #, no-c-format
 msgid "Use the RTL dead code elimination pass."
 msgstr ""
 
-#: common.opt:2216
+#: common.opt:2307
 #, no-c-format
 msgid "Use the RTL dead store elimination pass."
 msgstr ""
 
-#: common.opt:2220
+#: common.opt:2311
 #, no-c-format
 msgid ""
 "Enable/Disable the traditional scheduling in loops that already passed "
 "modulo scheduling."
 msgstr ""
 
-#: common.opt:2224
+#: common.opt:2315
 #, no-c-format
 msgid "Support synchronous non-call exceptions."
 msgstr ""
 
-#: common.opt:2231
+#: common.opt:2322
 #, no-c-format
 msgid ""
 "-foffload-options=<targets>=<options>\tSpecify options for the offloading "
 "targets."
 msgstr ""
 
-#: common.opt:2235
+#: common.opt:2326
 #, no-c-format
 msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
 msgstr ""
 
-#: common.opt:2248
+#: common.opt:2339
 #, no-c-format
 msgid "When possible do not generate stack frames."
 msgstr ""
 
-#: common.opt:2255
+#: common.opt:2346
 #, no-c-format
 msgid ""
 "Generate SIMD clones for functions with the OpenMP declare target directive."
 msgstr ""
 
-#: common.opt:2274
+#: common.opt:2365
 #, no-c-format
 msgid "Enable all optimization info dumps on stderr."
 msgstr ""
 
-#: common.opt:2278
+#: common.opt:2369
 #, no-c-format
 msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
 msgstr ""
 
-#: common.opt:2282
+#: common.opt:2373
 #, no-c-format
 msgid ""
 "Write a SRCFILE.opt-record.json file detailing what optimizations were "
 "performed."
 msgstr ""
 
-#: common.opt:2290
+#: common.opt:2381
 #, no-c-format
 msgid "Optimize sibling and tail recursive calls."
 msgstr ""
 
-#: common.opt:2294
+#: common.opt:2385
 #, no-c-format
 msgid "Perform partial inlining."
 msgstr ""
 
-#: common.opt:2298 common.opt:2302
+#: common.opt:2389 common.opt:2393
 #, no-c-format
 msgid "Report on memory allocation before interprocedural optimization."
 msgstr ""
 
-#: common.opt:2306
+#: common.opt:2397
 #, no-c-format
 msgid "Pack structure members together without holes."
 msgstr ""
 
-#: common.opt:2310
+#: common.opt:2401
 #, no-c-format
 msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
 msgstr ""
 
-#: common.opt:2314
+#: common.opt:2405
 #, no-c-format
 msgid "Return small aggregates in memory, not registers."
 msgstr ""
 
-#: common.opt:2318
+#: common.opt:2409
 #, no-c-format
 msgid "Perform loop peeling."
 msgstr ""
 
-#: common.opt:2322
+#: common.opt:2413
 #, no-c-format
 msgid "Enable machine specific peephole optimizations."
 msgstr ""
 
-#: common.opt:2326
+#: common.opt:2417
 #, no-c-format
 msgid "Enable an RTL peephole pass before sched2."
 msgstr ""
 
-#: common.opt:2330
+#: common.opt:2421
 #, no-c-format
 msgid "Generate position-independent code if possible (large mode)."
 msgstr ""
 
-#: common.opt:2334
+#: common.opt:2425
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (large mode)."
 msgstr ""
 
-#: common.opt:2338
+#: common.opt:2429
 #, no-c-format
 msgid "Generate position-independent code if possible (small mode)."
 msgstr ""
 
-#: common.opt:2342
+#: common.opt:2433
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (small mode)."
 msgstr ""
 
-#: common.opt:2346
+#: common.opt:2437
 #, no-c-format
 msgid ""
 "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
 msgstr ""
 
-#: common.opt:2350
+#: common.opt:2441
 #, no-c-format
 msgid "Specify a plugin to load."
 msgstr ""
 
-#: common.opt:2354
+#: common.opt:2445
 #, no-c-format
 msgid ""
 "-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for "
 "plugin <name>."
 msgstr ""
 
-#: common.opt:2358
+#: common.opt:2449
 #, no-c-format
 msgid "Run predictive commoning optimization."
 msgstr ""
 
-#: common.opt:2362
+#: common.opt:2453
 #, no-c-format
 msgid "Generate prefetch instructions, if available, for arrays in loops."
 msgstr ""
 
-#: common.opt:2366
+#: common.opt:2457
 #, no-c-format
 msgid "Enable basic program profiling code."
 msgstr ""
 
-#: common.opt:2370
+#: common.opt:2461
 #, no-c-format
 msgid "Generate absolute source path names for gcov."
 msgstr ""
 
-#: common.opt:2374
+#: common.opt:2465
 #, no-c-format
 msgid "Insert arc-based program profiling code."
 msgstr ""
 
-#: common.opt:2378
+#: common.opt:2469
 #, no-c-format
 msgid ""
 "Set the top-level directory for storing the profile data. The default is "
 "'pwd'."
 msgstr ""
 
-#: common.opt:2383
+#: common.opt:2474
 #, no-c-format
 msgid "Select the name for storing the profile note file."
 msgstr ""
 
-#: common.opt:2387
+#: common.opt:2478
 #, no-c-format
 msgid "Enable correction of flow inconsistent profile data input."
 msgstr ""
 
-#: common.opt:2391
+#: common.opt:2482
 #, no-c-format
 msgid ""
 "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update "
 "method."
 msgstr ""
 
-#: common.opt:2395
+#: common.opt:2486
 #, no-c-format
 msgid ""
 "Instrument only functions from files whose name matches any of the regular "
 "expressions (separated by semi-colons)."
 msgstr ""
 
-#: common.opt:2399
+#: common.opt:2490
 #, 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:2415
+#: common.opt:2506
 #, no-c-format
 msgid ""
 "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level "
 "of reproducibility of profile gathered by -fprofile-generate."
 msgstr ""
 
-#: common.opt:2431
+#: common.opt:2522
 #, no-c-format
 msgid ""
 "Remove prefix from absolute path before mangling name for -fprofile-"
 "generate= and -fprofile-use=."
 msgstr ""
 
-#: common.opt:2435
+#: common.opt:2526
 #, no-c-format
 msgid ""
 "-fprofile-prefix-map=<old>=<new>\tMap one directory name to another in GCOV "
 "coverage result."
 msgstr ""
 
-#: common.opt:2439
+#: common.opt:2530
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations."
 msgstr ""
 
-#: common.opt:2443
+#: common.opt:2534
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2447
+#: common.opt:2538
 #, no-c-format
 msgid ""
 "Register the profile information in the .gcov_info section instead of using "
 "a constructor/destructor."
 msgstr ""
 
-#: common.opt:2451
+#: common.opt:2542
 #, no-c-format
 msgid ""
 "Register the profile information in the specified section instead of using a "
 "constructor/destructor."
 msgstr ""
 
-#: common.opt:2455
+#: common.opt:2546
 #, no-c-format
 msgid ""
 "Do not assume that functions never executed during the train run are cold."
 msgstr ""
 
-#: common.opt:2459
+#: common.opt:2550
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed optimizations."
 msgstr ""
 
-#: common.opt:2463
+#: common.opt:2554
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed "
 "optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2467
+#: common.opt:2558
 #, no-c-format
 msgid "Insert code to profile values of expressions."
 msgstr ""
 
-#: common.opt:2471
+#: common.opt:2562
 #, no-c-format
 msgid "Report on consistency of profile."
 msgstr ""
 
-#: common.opt:2475
+#: common.opt:2566
 #, no-c-format
 msgid "Enable function reordering that improves code placement."
 msgstr ""
 
-#: common.opt:2479
+#: common.opt:2570
 #, no-c-format
 msgid "Insert NOP instructions at each function entry."
 msgstr ""
 
-#: common.opt:2486
+#: common.opt:2577
 #, no-c-format
 msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
 msgstr ""
 
-#: common.opt:2496
+#: common.opt:2587
 #, no-c-format
 msgid "Record gcc command line switches in the object file."
 msgstr ""
 
-#: common.opt:2500
+#: common.opt:2591
 #, no-c-format
 msgid "Return small aggregates in registers."
 msgstr ""
 
-#: common.opt:2508
+#: common.opt:2599
 #, 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:2519
+#: common.opt:2613
 #, no-c-format
 msgid ""
 "-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations "
@@ -16068,483 +16567,520 @@ msgid ""
 "multiple-level control on the enabled IPA optimizations."
 msgstr ""
 
-#: common.opt:2534
+#: common.opt:2628
 #, no-c-format
 msgid "Tell DCE to remove unused C++ allocations."
 msgstr ""
 
-#: common.opt:2538
+#: common.opt:2632
 #, no-c-format
 msgid "Relief of register pressure through live range shrinkage."
 msgstr ""
 
-#: common.opt:2542
+#: common.opt:2636
 #, no-c-format
 msgid "Perform a register renaming optimization pass."
 msgstr ""
 
-#: common.opt:2546
+#: common.opt:2640
 #, no-c-format
 msgid "Perform a target dependent instruction fusion optimization pass."
 msgstr ""
 
-#: common.opt:2550
+#: common.opt:2644
 #, no-c-format
 msgid "Reorder basic blocks to improve code placement."
 msgstr ""
 
-#: common.opt:2554
+#: common.opt:2648
 #, no-c-format
 msgid ""
 "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering "
 "algorithm."
 msgstr ""
 
-#: common.opt:2567
+#: common.opt:2661
 #, no-c-format
 msgid "Reorder basic blocks and partition into hot and cold sections."
 msgstr ""
 
-#: common.opt:2571
+#: common.opt:2665
 #, no-c-format
 msgid "Reorder functions to improve code placement."
 msgstr ""
 
-#: common.opt:2575
+#: common.opt:2669
 #, no-c-format
 msgid "Add a common subexpression elimination pass after loop optimizations."
 msgstr ""
 
-#: common.opt:2583
+#: common.opt:2677
 #, no-c-format
 msgid "Disable optimizations that assume default FP rounding behavior."
 msgstr ""
 
-#: common.opt:2587
+#: common.opt:2681
 #, no-c-format
 msgid "Enable scheduling across basic blocks."
 msgstr ""
 
-#: common.opt:2591
+#: common.opt:2685
 #, no-c-format
 msgid "Enable register pressure sensitive insn scheduling."
 msgstr ""
 
-#: common.opt:2595
+#: common.opt:2689
 #, no-c-format
 msgid "Allow speculative motion of non-loads."
 msgstr ""
 
-#: common.opt:2599
+#: common.opt:2693
 #, no-c-format
 msgid "Allow speculative motion of some loads."
 msgstr ""
 
-#: common.opt:2603
+#: common.opt:2697
 #, no-c-format
 msgid "Allow speculative motion of more loads."
 msgstr ""
 
-#: common.opt:2607
+#: common.opt:2701
 #, no-c-format
 msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
 msgstr ""
 
-#: common.opt:2611
+#: common.opt:2705
 #, no-c-format
 msgid "If scheduling post reload, do superblock scheduling."
 msgstr ""
 
-#: common.opt:2619
+#: common.opt:2713
 #, no-c-format
 msgid "Reschedule instructions before register allocation."
 msgstr ""
 
-#: common.opt:2623
+#: common.opt:2717
 #, no-c-format
 msgid "Reschedule instructions after register allocation."
 msgstr ""
 
-#: common.opt:2630
+#: common.opt:2724
 #, no-c-format
 msgid "Schedule instructions using selective scheduling algorithm."
 msgstr ""
 
-#: common.opt:2634
+#: common.opt:2728
 #, no-c-format
 msgid "Run selective scheduling after reload."
 msgstr ""
 
-#: common.opt:2638
+#: common.opt:2732
 #, no-c-format
 msgid "Run self-tests, using the given path to locate test files."
 msgstr ""
 
-#: common.opt:2642
+#: common.opt:2736
 #, no-c-format
 msgid "Perform software pipelining of inner loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2646
+#: common.opt:2740
 #, no-c-format
 msgid "Perform software pipelining of outer loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2650
+#: common.opt:2744
 #, no-c-format
 msgid "Reschedule pipelined regions without pipelining."
 msgstr ""
 
-#: common.opt:2654
+#: common.opt:2748
 #, no-c-format
 msgid ""
 "Allow interposing function (or variables) by ones with different semantics "
 "(or initializer) respectively by dynamic linker."
 msgstr ""
 
-#: common.opt:2660
+#: common.opt:2754
 #, no-c-format
 msgid "Allow premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2664
+#: common.opt:2758
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns=<number>\tSet number of queued insns that can be "
 "prematurely scheduled."
 msgstr ""
 
-#: common.opt:2672
+#: common.opt:2766
 #, no-c-format
 msgid ""
 "Set dependence distance checking in premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2676
+#: common.opt:2770
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in "
 "premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2680
+#: common.opt:2774
 #, no-c-format
 msgid "Enable the group heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2684
+#: common.opt:2778
 #, no-c-format
 msgid "Enable the critical path heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2688
+#: common.opt:2782
 #, no-c-format
 msgid "Enable the speculative instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2692
+#: common.opt:2786
 #, no-c-format
 msgid "Enable the rank heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2696
+#: common.opt:2790
 #, no-c-format
 msgid "Enable the last instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2700
+#: common.opt:2794
 #, no-c-format
 msgid "Enable the dependent count heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2704
+#: common.opt:2798
 #, no-c-format
 msgid "Access data in the same section from shared anchor points."
 msgstr ""
 
-#: common.opt:2716
+#: common.opt:2810
 #, no-c-format
 msgid "Turn on Redundant Extensions Elimination pass."
 msgstr ""
 
-#: common.opt:2720
+#: common.opt:2814
 #, no-c-format
 msgid "Show column numbers in diagnostics, when available.  Default on."
 msgstr ""
 
-#: common.opt:2724
+#: common.opt:2818
 #, 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:2729
+#: common.opt:2823
 #, no-c-format
 msgid "Shrink-wrap parts of the prologue and epilogue separately."
 msgstr ""
 
-#: common.opt:2733
+#: common.opt:2827
 #, no-c-format
 msgid "Disable optimizations observable by IEEE signaling NaNs."
 msgstr ""
 
-#: common.opt:2737
+#: common.opt:2831
 #, no-c-format
 msgid ""
 "Disable floating point optimizations that ignore the IEEE signedness of zero."
 msgstr ""
 
-#: common.opt:2741
+#: common.opt:2835
 #, no-c-format
 msgid "Convert floating point constants to single precision constants."
 msgstr ""
 
-#: common.opt:2745
+#: common.opt:2839
 #, no-c-format
 msgid "Split lifetimes of induction variables when loops are unrolled."
 msgstr ""
 
-#: common.opt:2749
+#: common.opt:2843
 #, no-c-format
 msgid "Generate discontiguous stack frames."
 msgstr ""
 
-#: common.opt:2753
+#: common.opt:2847
 #, no-c-format
 msgid "Split wide types into independent registers."
 msgstr ""
 
-#: common.opt:2757
+#: common.opt:2851
 #, no-c-format
 msgid "Split wide types into independent registers earlier."
 msgstr ""
 
-#: common.opt:2761
+#: common.opt:2855
 #, no-c-format
 msgid "Enable backward propagation of use properties at the SSA level."
 msgstr ""
 
-#: common.opt:2765
+#: common.opt:2859
 #, no-c-format
 msgid "Optimize conditional patterns using SSA PHI nodes."
 msgstr ""
 
-#: common.opt:2769
+#: common.opt:2863
 #, no-c-format
 msgid ""
 "Optimize amount of stdarg registers saved to stack at start of function."
 msgstr ""
 
-#: common.opt:2773
+#: common.opt:2867
 #, no-c-format
 msgid "Apply variable expansion when loops are unrolled."
 msgstr ""
 
-#: common.opt:2777
+#: common.opt:2871
 #, no-c-format
 msgid ""
 "-fstack-check=[no|generic|specific]\tInsert stack checking code into the "
 "program."
 msgstr ""
 
-#: common.opt:2781
+#: common.opt:2875
 #, no-c-format
 msgid ""
 "Insert stack checking code into the program.  Same as -fstack-check=specific."
 msgstr ""
 
-#: common.opt:2785
+#: common.opt:2879
 #, 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:2793
+#: common.opt:2887
 #, no-c-format
 msgid ""
 "-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
 msgstr ""
 
-#: common.opt:2797
+#: common.opt:2891
 #, no-c-format
 msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
 msgstr ""
 
-#: common.opt:2801
+#: common.opt:2895
 #, no-c-format
 msgid "Use propolice as a stack protection method."
 msgstr ""
 
-#: common.opt:2805
+#: common.opt:2899
 #, no-c-format
 msgid "Use a stack protection method for every function."
 msgstr ""
 
-#: common.opt:2809
+#: common.opt:2903
 #, no-c-format
 msgid "Use a smart stack protection method for certain functions."
 msgstr ""
 
-#: common.opt:2813
+#: common.opt:2907
 #, no-c-format
 msgid ""
 "Use stack protection method only for functions with the stack_protect "
 "attribute."
 msgstr ""
 
-#: common.opt:2817
+#: common.opt:2911
 #, no-c-format
 msgid "Output stack usage information on a per-function basis."
 msgstr ""
 
-#: common.opt:2829
+#: common.opt:2923
 #, no-c-format
 msgid "Assume strict aliasing rules apply."
 msgstr ""
 
-#: common.opt:2833
+#: common.opt:2927
 #, no-c-format
 msgid ""
 "Treat signed overflow as undefined.  Negated as -fwrapv -fwrapv-pointer."
 msgstr ""
 
-#: common.opt:2837
+#: common.opt:2931
+#, no-c-format
+msgid "Disable stack scrub entirely, disregarding strub attributes."
+msgstr ""
+
+#: common.opt:2935
+#, no-c-format
+msgid "Enable stack scrub as per attributes, with strict call checking."
+msgstr ""
+
+#: common.opt:2944
+#, no-c-format
+msgid "Restore default strub mode: as per attributes, with relaxed checking."
+msgstr ""
+
+#: common.opt:2948
+#, no-c-format
+msgid "Enable stack scrubbing for all viable functions."
+msgstr ""
+
+#: common.opt:2952
+#, no-c-format
+msgid "Enable at-calls stack scrubbing for all viable functions."
+msgstr ""
+
+#: common.opt:2956
+#, no-c-format
+msgid "Enable internal stack scrubbing for all viable functions."
+msgstr ""
+
+#: common.opt:2960
 #, no-c-format
 msgid "Implement __atomic operations via libcalls to legacy __sync functions."
 msgstr ""
 
-#: common.opt:2841
+#: common.opt:2964
 #, no-c-format
 msgid "Check for syntax errors, then stop."
 msgstr ""
 
-#: common.opt:2845
+#: common.opt:2968
 #, no-c-format
 msgid "Create data files needed by \"gcov\"."
 msgstr ""
 
-#: common.opt:2849
+#: common.opt:2972
 #, no-c-format
 msgid "Perform jump threading optimizations."
 msgstr ""
 
-#: common.opt:2853
+#: common.opt:2976
 #, no-c-format
 msgid "Report the time taken by each compiler pass."
 msgstr ""
 
-#: common.opt:2857
+#: common.opt:2980
 #, no-c-format
 msgid "Record times taken by sub-phases separately."
 msgstr ""
 
-#: common.opt:2861
+#: common.opt:2984
 #, 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:2880
+#: common.opt:3003
 #, no-c-format
 msgid "Reorder top level functions, variables, and asms."
 msgstr ""
 
-#: common.opt:2884
+#: common.opt:3007
 #, no-c-format
 msgid "Perform superblock formation via tail duplication."
 msgstr ""
 
-#: common.opt:2888
+#: common.opt:3011
 #, no-c-format
 msgid ""
 "For targets that normally need trampolines for nested functions, always "
 "generate them instead of using descriptors."
 msgstr ""
 
-#: common.opt:2896
+#: common.opt:3016
+#, no-c-format
+msgid ""
+"Whether trampolines are generated in executable memory rather than "
+"executable stack."
+msgstr ""
+
+#: common.opt:3034
 #, no-c-format
 msgid "Assume floating-point operations can trap."
 msgstr ""
 
-#: common.opt:2900
+#: common.opt:3038
 #, no-c-format
 msgid "Trap for signed overflow in addition, subtraction and multiplication."
 msgstr ""
 
-#: common.opt:2904
+#: common.opt:3042
 #, no-c-format
 msgid "Enable SSA-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2908
+#: common.opt:3046
 #, no-c-format
 msgid "Enable SSA-BIT-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2916
+#: common.opt:3054
 #, no-c-format
 msgid "Enable loop header copying on trees."
 msgstr ""
 
-#: common.opt:2924
+#: common.opt:3062
 #, no-c-format
 msgid "Enable SSA coalescing of user variables."
 msgstr ""
 
-#: common.opt:2932
+#: common.opt:3070
 #, no-c-format
 msgid "Enable copy propagation on trees."
 msgstr ""
 
-#: common.opt:2940
+#: common.opt:3078
 #, no-c-format
 msgid "Transform condition stores into unconditional ones."
 msgstr ""
 
-#: common.opt:2944
+#: common.opt:3082
 #, no-c-format
 msgid "Perform conversions of switch initializations."
 msgstr ""
 
-#: common.opt:2948
+#: common.opt:3086
 #, no-c-format
 msgid "Enable SSA dead code elimination optimization on trees."
 msgstr ""
 
-#: common.opt:2952
+#: common.opt:3090
 #, no-c-format
 msgid "Enable dominator optimizations."
 msgstr ""
 
-#: common.opt:2956
+#: common.opt:3094
 #, no-c-format
 msgid "Enable tail merging on trees."
 msgstr ""
 
-#: common.opt:2960
+#: common.opt:3098
 #, no-c-format
 msgid "Enable dead store elimination."
 msgstr ""
 
-#: common.opt:2964
+#: common.opt:3102
 #, no-c-format
 msgid "Enable forward propagation on trees."
 msgstr ""
 
-#: common.opt:2968
+#: common.opt:3106
 #, no-c-format
 msgid "Enable Full Redundancy Elimination (FRE) on trees."
 msgstr ""
 
-#: common.opt:2972
+#: common.opt:3110
 #, no-c-format
 msgid "Enable string length optimizations on trees."
 msgstr ""
 
-#: common.opt:2976
+#: common.opt:3114
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to "
@@ -16552,7 +17088,7 @@ msgid ""
 "flow and turn the statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2982
+#: common.opt:3120
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to a null "
@@ -16561,521 +17097,521 @@ msgid ""
 "statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2989
+#: common.opt:3127
 #, no-c-format
 msgid "Enable loop distribution on trees."
 msgstr ""
 
-#: common.opt:2993
+#: common.opt:3131
 #, no-c-format
 msgid "Enable loop distribution for patterns transformed into a library call."
 msgstr ""
 
-#: common.opt:2997
+#: common.opt:3135
 #, no-c-format
 msgid "Enable loop invariant motion on trees."
 msgstr ""
 
-#: common.opt:3005
+#: common.opt:3143
 #, no-c-format
 msgid "Create canonical induction variables in loops."
 msgstr ""
 
-#: common.opt:3009
+#: common.opt:3147
 #, no-c-format
 msgid "Enable loop optimizations on tree level."
 msgstr ""
 
-#: common.opt:3013
+#: common.opt:3151
 #, no-c-format
 msgid ""
 "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
 msgstr ""
 
-#: common.opt:3017
+#: common.opt:3155
 #, no-c-format
 msgid "Enable hoisting loads from conditional pointers."
 msgstr ""
 
-#: common.opt:3021
+#: common.opt:3159
 #, no-c-format
 msgid "Enable SSA-PRE optimization on trees."
 msgstr ""
 
-#: common.opt:3025
+#: common.opt:3163
 #, no-c-format
 msgid ""
 "In SSA-PRE optimization on trees, enable partial-partial redundancy "
 "elimination."
 msgstr ""
 
-#: common.opt:3029
+#: common.opt:3167
 #, no-c-format
 msgid "Perform function-local points-to analysis on trees."
 msgstr ""
 
-#: common.opt:3033
+#: common.opt:3171
 #, no-c-format
 msgid "Enable reassociation on tree level."
 msgstr ""
 
-#: common.opt:3041
+#: common.opt:3179
 #, no-c-format
 msgid "Enable SSA code sinking on trees."
 msgstr ""
 
-#: common.opt:3045
+#: common.opt:3183
 #, no-c-format
 msgid "Perform straight-line strength reduction."
 msgstr ""
 
-#: common.opt:3049
+#: common.opt:3187
 #, no-c-format
 msgid "Perform scalar replacement of aggregates."
 msgstr ""
 
-#: common.opt:3053
+#: common.opt:3191
 #, no-c-format
 msgid "Replace temporary expressions in the SSA->normal pass."
 msgstr ""
 
-#: common.opt:3057
+#: common.opt:3195
 #, no-c-format
 msgid "Perform live range splitting during the SSA->normal pass."
 msgstr ""
 
-#: common.opt:3061
+#: common.opt:3199
 #, no-c-format
 msgid "Perform Value Range Propagation on trees."
 msgstr ""
 
-#: common.opt:3065
+#: common.opt:3203
 #, no-c-format
 msgid "Split paths leading to loop backedges."
 msgstr ""
 
-#: common.opt:3069
+#: common.opt:3207
 #, no-c-format
 msgid ""
 "Assume common declarations may be overridden with ones with a larger "
 "trailing array."
 msgstr ""
 
-#: common.opt:3074
+#: common.opt:3212
 #, no-c-format
 msgid "Compile whole compilation unit at a time."
 msgstr ""
 
-#: common.opt:3078
+#: common.opt:3216
 #, no-c-format
 msgid "Trap on __builtin_unreachable instead of using it for optimization."
 msgstr ""
 
-#: common.opt:3082
+#: common.opt:3220
 #, no-c-format
 msgid "Perform loop unrolling when iteration count is known."
 msgstr ""
 
-#: common.opt:3086
+#: common.opt:3224
 #, no-c-format
 msgid "Perform loop unrolling for all loops."
 msgstr ""
 
-#: common.opt:3101
+#: common.opt:3239
 #, no-c-format
 msgid ""
 "Allow optimization for floating-point arithmetic which may change the result "
 "of the operation due to rounding."
 msgstr ""
 
-#: common.opt:3106
+#: common.opt:3244
 #, no-c-format
 msgid "Same as -fassociative-math for expressions which include division."
 msgstr ""
 
-#: common.opt:3114
+#: common.opt:3252
 #, no-c-format
 msgid "Allow math optimizations that may violate IEEE or ISO standards."
 msgstr ""
 
-#: common.opt:3118
+#: common.opt:3256
 #, no-c-format
 msgid "Perform loop unswitching."
 msgstr ""
 
-#: common.opt:3122
+#: common.opt:3260
 #, no-c-format
 msgid "Perform loop splitting."
 msgstr ""
 
-#: common.opt:3126
+#: common.opt:3264
 #, no-c-format
 msgid "Version loops based on whether indices have a stride of one."
 msgstr ""
 
-#: common.opt:3130
+#: common.opt:3268
 #, no-c-format
 msgid "Just generate unwind tables for exception handling."
 msgstr ""
 
-#: common.opt:3134
+#: common.opt:3272
 #, no-c-format
 msgid "Use the bfd linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3138
+#: common.opt:3276
 #, no-c-format
 msgid "Use the gold linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3142
+#: common.opt:3280
 #, no-c-format
 msgid "Use the lld LLVM linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3146
+#: common.opt:3284
 #, no-c-format
 msgid "Use the Modern linker (MOLD) linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3156
+#: common.opt:3294
 #, no-c-format
 msgid "Perform variable tracking."
 msgstr ""
 
-#: common.opt:3163
+#: common.opt:3301
 #, no-c-format
 msgid "Perform variable tracking by annotating assignments."
 msgstr ""
 
-#: common.opt:3169
+#: common.opt:3307
 #, no-c-format
 msgid "Toggle -fvar-tracking-assignments."
 msgstr ""
 
-#: common.opt:3176
+#: common.opt:3314
 #, no-c-format
 msgid ""
 "Perform variable tracking and also tag variables that are uninitialized."
 msgstr ""
 
-#: common.opt:3181
+#: common.opt:3319
 #, no-c-format
 msgid "Enable vectorization on trees."
 msgstr ""
 
-#: common.opt:3189
+#: common.opt:3327
 #, no-c-format
 msgid "Enable loop vectorization on trees."
 msgstr ""
 
-#: common.opt:3193
+#: common.opt:3331
 #, no-c-format
 msgid "Enable basic block vectorization (SLP) on trees."
 msgstr ""
 
-#: common.opt:3197
+#: common.opt:3335
 #, no-c-format
 msgid ""
 "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost "
 "model for vectorization."
 msgstr ""
 
-#: common.opt:3201
+#: common.opt:3339
 #, 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:3220
+#: common.opt:3358
 #, no-c-format
 msgid ""
 "Enables the dynamic vectorizer cost model.  Preserved for backward "
 "compatibility."
 msgstr ""
 
-#: common.opt:3228
+#: common.opt:3366
 #, no-c-format
 msgid "Enable copy propagation of scalar-evolution information."
 msgstr ""
 
-#: common.opt:3232
+#: common.opt:3370
 #, no-c-format
 msgid ""
 "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to "
 "automatic variables."
 msgstr ""
 
-#: common.opt:3254
+#: common.opt:3392
 #, no-c-format
 msgid "Add extra commentary to assembler output."
 msgstr ""
 
-#: common.opt:3258
+#: common.opt:3396
 #, no-c-format
 msgid ""
 "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: common.opt:3277
+#: common.opt:3415
 #, no-c-format
 msgid "Validate vtable pointers before using them."
 msgstr ""
 
-#: common.opt:3293
+#: common.opt:3431
 #, no-c-format
 msgid "Output vtable verification counters."
 msgstr ""
 
-#: common.opt:3297
+#: common.opt:3435
 #, no-c-format
 msgid "Output vtable verification pointer sets information."
 msgstr ""
 
-#: common.opt:3301
+#: common.opt:3439
 #, no-c-format
 msgid "Use expression value profiles in optimizations."
 msgstr ""
 
-#: common.opt:3305
+#: common.opt:3443
 #, no-c-format
 msgid "Construct webs and split unrelated uses of single variable."
 msgstr ""
 
-#: common.opt:3309
+#: common.opt:3447
 #, no-c-format
 msgid "Enable conditional dead code elimination for builtin calls."
 msgstr ""
 
-#: common.opt:3313
+#: common.opt:3451
 #, no-c-format
 msgid "Perform whole program optimizations."
 msgstr ""
 
-#: common.opt:3317
+#: common.opt:3455
 #, no-c-format
 msgid "Assume pointer overflow wraps around."
 msgstr ""
 
-#: common.opt:3321
+#: common.opt:3459
 #, no-c-format
 msgid "Assume signed arithmetic overflow wraps around."
 msgstr ""
 
-#: common.opt:3325
+#: common.opt:3463
 #, no-c-format
 msgid "Put zero initialized data in the bss section."
 msgstr ""
 
-#: common.opt:3329
+#: common.opt:3467
 #, no-c-format
 msgid "Clear call-used registers upon function return."
 msgstr ""
 
-#: common.opt:3333
+#: common.opt:3471
 #, no-c-format
 msgid "Generate debug information in default format."
 msgstr ""
 
-#: common.opt:3337
+#: common.opt:3475
 #, no-c-format
 msgid "Assume assembler support for (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3341
+#: common.opt:3479
 #, no-c-format
 msgid "Assume assembler support for view in (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3345
+#: common.opt:3483
 #, no-c-format
 msgid "Generate debug information in CodeView format."
 msgstr ""
 
-#: common.opt:3365
+#: common.opt:3503
 #, no-c-format
 msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
 msgstr ""
 
-#: common.opt:3371
+#: common.opt:3509
 #, no-c-format
 msgid "Generate CTF debug information at default level."
 msgstr ""
 
-#: common.opt:3375
+#: common.opt:3513
 #, no-c-format
 msgid "Generate BTF debug information at default level."
 msgstr ""
 
-#: common.opt:3379
+#: common.opt:3517
 #, no-c-format
 msgid "Generate debug information in default version of DWARF format."
 msgstr ""
 
-#: common.opt:3383
+#: common.opt:3521
 #, no-c-format
 msgid "Generate debug information in DWARF v2 (or later) format."
 msgstr ""
 
-#: common.opt:3387
+#: common.opt:3525
 #, no-c-format
 msgid "Use 32-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3391
+#: common.opt:3529
 #, no-c-format
 msgid "Use 64-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3395
+#: common.opt:3533
 #, no-c-format
 msgid "Generate debug information in default extended format."
 msgstr ""
 
-#: common.opt:3399
+#: common.opt:3537
 #, no-c-format
 msgid "Generate extended entry point information for inlined functions."
 msgstr ""
 
-#: common.opt:3403
+#: common.opt:3541
 #, no-c-format
 msgid "Compute locview reset points based on insn length estimates."
 msgstr ""
 
-#: common.opt:3411
+#: common.opt:3549
 #, no-c-format
 msgid "Don't generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3415
+#: common.opt:3553
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3419
+#: common.opt:3557
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
 msgstr ""
 
-#: common.opt:3423
+#: common.opt:3561
 #, no-c-format
 msgid "Record gcc command line switches in DWARF DW_AT_producer."
 msgstr ""
 
-#: common.opt:3427
+#: common.opt:3565
 #, no-c-format
 msgid "Generate debug information in separate .dwo files."
 msgstr ""
 
-#: common.opt:3439
+#: common.opt:3577
 #, no-c-format
 msgid "Emit progressive recommended breakpoint locations."
 msgstr ""
 
-#: common.opt:3443
+#: common.opt:3581
 #, no-c-format
 msgid "Don't emit DWARF additions beyond selected version."
 msgstr ""
 
-#: common.opt:3447
+#: common.opt:3585
 #, no-c-format
 msgid ""
 "Add description attributes to some DWARF DIEs that have no name attribute."
 msgstr ""
 
-#: common.opt:3451
+#: common.opt:3589
 #, no-c-format
 msgid "Toggle debug information generation."
 msgstr ""
 
-#: common.opt:3455
+#: common.opt:3593
 #, no-c-format
 msgid "Augment variable location lists with progressive views."
 msgstr ""
 
-#: common.opt:3462
+#: common.opt:3600
 #, no-c-format
 msgid "Generate debug information in VMS format."
 msgstr ""
 
-#: common.opt:3491
+#: common.opt:3629
 #, no-c-format
 msgid "Generate compressed debug sections."
 msgstr ""
 
-#: common.opt:3495
+#: common.opt:3633
 #, no-c-format
 msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
 msgstr ""
 
-#: common.opt:3502
+#: common.opt:3640
 #, no-c-format
 msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
 msgstr ""
 
-#: common.opt:3506
+#: common.opt:3644
 #, no-c-format
 msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
 msgstr ""
 
-#: common.opt:3534
+#: common.opt:3672
 #, no-c-format
 msgid "-o <file>\tPlace output into <file>."
 msgstr ""
 
-#: common.opt:3538
+#: common.opt:3676
 #, no-c-format
 msgid "Enable function profiling."
 msgstr ""
 
-#: common.opt:3548
+#: common.opt:3686
 #, no-c-format
 msgid "Like -pedantic but issue them as errors."
 msgstr ""
 
-#: common.opt:3588
+#: common.opt:3726
 #, no-c-format
 msgid "Do not display functions compiled or elapsed time."
 msgstr ""
 
-#: common.opt:3620
+#: common.opt:3758
 #, no-c-format
 msgid "Enable verbose output."
 msgstr ""
 
-#: common.opt:3624
+#: common.opt:3762
 #, no-c-format
 msgid "Display the compiler's version."
 msgstr ""
 
-#: common.opt:3628
+#: common.opt:3766
 #, no-c-format
 msgid "Suppress warnings."
 msgstr ""
 
-#: common.opt:3638
+#: common.opt:3776
 #, no-c-format
 msgid "Create a shared library."
 msgstr ""
 
-#: common.opt:3698
+#: common.opt:3836
 #, no-c-format
 msgid "Don't create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3702
+#: common.opt:3840
 #, no-c-format
 msgid "Create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3706
+#: common.opt:3844
 #, no-c-format
 msgid "Create a static position independent executable."
 msgstr ""
 
-#: common.opt:3713
+#: common.opt:3851
 #, no-c-format
 msgid "Use caller save register across calls if possible."
 msgstr ""
@@ -17249,73 +17785,92 @@ msgstr ""
 #: params.opt:139
 #, no-c-format
 msgid ""
+"Whether the target fully pipelines FMA instructions.  If non-zero, "
+"reassociation considers the benefit of parallelizing FMA's multiplication "
+"part and addition part, assuming FMUL and FMA use the same units that can "
+"also do FADD."
+msgstr ""
+
+#: params.opt:146
+#, no-c-format
+msgid ""
 "The threshold ratio of critical edges execution count that permit performing "
 "redundancy elimination after reload."
 msgstr ""
 
-#: params.opt:143
+#: params.opt:150
 #, no-c-format
 msgid ""
 "The threshold ratio for performing partial redundancy elimination after "
 "reload."
 msgstr ""
 
-#: params.opt:147
+#: params.opt:154
 #, no-c-format
 msgid ""
 "Scaling factor in calculation of maximum distance an expression can be moved "
 "by GCSE optimizations."
 msgstr ""
 
-#: params.opt:151
+#: params.opt:158
 #, no-c-format
 msgid ""
 "Cost at which GCSE optimizations will not constraint the distance an "
 "expression can travel."
 msgstr ""
 
-#: params.opt:155
+#: params.opt:162
 #, no-c-format
 msgid ""
 "Minimum heap expansion to trigger garbage collection, as a percentage of the "
 "total size of the heap."
 msgstr ""
 
-#: params.opt:159
+#: params.opt:166
 #, no-c-format
 msgid "Minimum heap size before we start collecting garbage, in kilobytes."
 msgstr ""
 
-#: params.opt:163
+#: params.opt:170
 #, no-c-format
 msgid ""
 "The number of executions of a basic block which is considered hot. The "
 "parameter is used only in GIMPLE FE."
 msgstr ""
 
-#: params.opt:167
+#: params.opt:174
 #, no-c-format
 msgid "Whether codegen errors should be ICEs when -fchecking."
 msgstr ""
 
-#: params.opt:171
+#: params.opt:178
 #, no-c-format
 msgid "Maximum number of arrays per SCoP."
 msgstr ""
 
-#: params.opt:175
+#: params.opt:182
 #, no-c-format
 msgid "Maximum number of parameters in a SCoP."
 msgstr ""
 
-#: params.opt:179
+#: params.opt:186
+#, no-c-format
+msgid "Maximum number of blocks for -fharden-control-flow-redundancy."
+msgstr ""
+
+#: params.opt:190
+#, no-c-format
+msgid "Maximum number of blocks for in-line -fharden-control-flow-redundancy."
+msgstr ""
+
+#: params.opt:194
 #, no-c-format
 msgid ""
 "The number of elements for which hash table verification is done for each "
 "searched element."
 msgstr ""
 
-#: params.opt:183
+#: params.opt:198
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the maximal execution count of a basic "
@@ -17323,7 +17878,7 @@ msgid ""
 "order to be considered hot (used in non-LTO mode)."
 msgstr ""
 
-#: params.opt:187
+#: params.opt:202
 #, no-c-format
 msgid ""
 "The number of most executed permilles of the profiled execution of the "
@@ -17331,7 +17886,7 @@ msgid ""
 "in order to be considered hot (used in LTO mode)."
 msgstr ""
 
-#: params.opt:191
+#: params.opt:206
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the execution frequency of the entry "
@@ -17339,168 +17894,168 @@ msgid ""
 "have in order to be considered hot."
 msgstr ""
 
-#: params.opt:195
+#: params.opt:210
 #, no-c-format
 msgid ""
 "The scale (in percents) applied to inline-insns-single and auto limits when "
 "heuristics hints that inlining is very profitable."
 msgstr ""
 
-#: params.opt:199
+#: params.opt:214
 #, no-c-format
 msgid ""
 "The minimal estimated speedup allowing inliner to ignore inline-insns-single "
 "and inline-insns-auto."
 msgstr ""
 
-#: params.opt:203
+#: params.opt:218
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the inlining (in "
 "percent)."
 msgstr ""
 
-#: params.opt:207
+#: params.opt:222
 #, no-c-format
 msgid "The upper bound for sharing integer constants."
 msgstr ""
 
-#: params.opt:211
+#: params.opt:226
 #, no-c-format
 msgid ""
 "Threshold ipa-cp opportunity evaluation that is still considered beneficial "
 "to clone."
 msgstr ""
 
-#: params.opt:215
+#: params.opt:230
 #, no-c-format
 msgid ""
 "Compile-time bonus IPA-CP assigns to candidates which make loop bounds or "
 "strides known."
 msgstr ""
 
-#: params.opt:219
+#: params.opt:234
 #, no-c-format
 msgid "Maximum depth of recursive cloning for self-recursive function."
 msgstr ""
 
-#: params.opt:223
+#: params.opt:238
 #, no-c-format
 msgid ""
 "Recursive cloning only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:227
+#: params.opt:242
 #, no-c-format
 msgid ""
 "When propagating IPA-CP effect estimates, multiply frequencies of recursive "
 "edges that bring back an unchanged value by this factor."
 msgstr ""
 
-#: params.opt:231
+#: params.opt:246
 #, no-c-format
 msgid ""
 "Percentage penalty the recursive functions will receive when they are "
 "evaluated for cloning."
 msgstr ""
 
-#: params.opt:235
+#: params.opt:250
 #, no-c-format
 msgid ""
 "Percentage penalty functions containing a single call to another function "
 "will receive when they are evaluated for cloning."
 msgstr ""
 
-#: params.opt:239
+#: params.opt:254
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the interprocedural "
 "constant propagation (in percent)."
 msgstr ""
 
-#: params.opt:243
+#: params.opt:258
 #, no-c-format
 msgid "The size of translation unit that IPA-CP pass considers large."
 msgstr ""
 
-#: params.opt:247
+#: params.opt:262
 #, no-c-format
 msgid ""
 "Maximum size of a list of values associated with each parameter for "
 "interprocedural constant propagation."
 msgstr ""
 
-#: params.opt:251
+#: params.opt:266
 #, no-c-format
 msgid ""
 "When using profile feedback, use the edge at this percentage position in "
 "frequncy histogram as the bases for IPA-CP heuristics."
 msgstr ""
 
-#: params.opt:255
+#: params.opt:270
 #, no-c-format
 msgid ""
 "Maximum number of statements visited during jump function offset discovery."
 msgstr ""
 
-#: params.opt:259
+#: params.opt:274
 #, no-c-format
 msgid ""
 "Maximum number of statements that will be visited by IPA formal parameter "
 "analysis based on alias analysis in any given function."
 msgstr ""
 
-#: params.opt:263
+#: params.opt:278
 #, no-c-format
 msgid ""
 "Maximum number of aggregate content items for a parameter in jump functions "
 "and lattices."
 msgstr ""
 
-#: params.opt:267
+#: params.opt:282
 #, no-c-format
 msgid ""
 "Maximum number of operations in a parameter expression that can be handled "
 "by IPA analysis."
 msgstr ""
 
-#: params.opt:271
+#: params.opt:286
 #, no-c-format
 msgid ""
 "Maximum number of different predicates used to track properties of loops in "
 "IPA analysis."
 msgstr ""
 
-#: params.opt:275
+#: params.opt:290
 #, no-c-format
 msgid ""
 "Maximal number of boundary endpoints of case ranges of switch statement used "
 "during IPA function summary generation."
 msgstr ""
 
-#: params.opt:279
+#: params.opt:294
 #, no-c-format
 msgid ""
 "Minimum probability (in percent) of dereferencing of a function pointer "
 "parameter for it to be considered for replacement with simple values."
 msgstr ""
 
-#: params.opt:283
+#: params.opt:298
 #, no-c-format
 msgid ""
 "Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, "
 "also the maximum number of replacements of a formal parameter."
 msgstr ""
 
-#: params.opt:287
+#: params.opt:302
 #, no-c-format
 msgid ""
 "Maximum allowed growth of total size of new parameters that ipa-sra replaces "
 "a pointer to an aggregate with."
 msgstr ""
 
-#: params.opt:291
+#: params.opt:306
 #, no-c-format
 msgid ""
 "Additional maximum allowed growth of total size of new parameters that ipa-"
@@ -17509,29 +18064,29 @@ msgid ""
 "functions."
 msgstr ""
 
-#: params.opt:295
+#: params.opt:310
 #, no-c-format
 msgid ""
 "The number of registers in each class kept unused by loop invariant motion."
 msgstr ""
 
-#: params.opt:299
+#: params.opt:314
 #, no-c-format
 msgid "Max size of conflict table in MB."
 msgstr ""
 
-#: params.opt:303
+#: params.opt:318
 #, no-c-format
 msgid ""
 "Approximate function insn number in 1K units triggering simple local RA."
 msgstr ""
 
-#: params.opt:307
+#: params.opt:322
 #, no-c-format
 msgid "Max loops number for regional RA."
 msgstr ""
 
-#: params.opt:311
+#: params.opt:326
 #, no-c-format
 msgid ""
 "Control ira to consider matching constraint (duplicated operand number) "
@@ -17543,45 +18098,45 @@ msgid ""
 "class and respect the found qualified matching constraint."
 msgstr ""
 
-#: params.opt:315
+#: params.opt:330
 #, no-c-format
 msgid ""
 "If number of candidates in the set is smaller, we always try to remove "
 "unused ivs during its optimization."
 msgstr ""
 
-#: params.opt:319
+#: params.opt:334
 #, no-c-format
 msgid ""
 "Bound on number of candidates below that all candidates are considered in iv "
 "optimizations."
 msgstr ""
 
-#: params.opt:323
+#: params.opt:338
 #, no-c-format
 msgid "Bound on number of iv uses in loop optimized in iv optimizations."
 msgstr ""
 
-#: params.opt:327
+#: params.opt:342
 #, no-c-format
 msgid ""
 "The maximum code size growth ratio when expanding into a jump table (in "
 "percent).  The parameter is used when optimizing for size."
 msgstr ""
 
-#: params.opt:331
+#: params.opt:346
 #, no-c-format
 msgid ""
 "The maximum code size growth ratio when expanding into a jump table (in "
 "percent).  The parameter is used when optimizing for speed."
 msgstr ""
 
-#: params.opt:335
+#: params.opt:350
 #, no-c-format
 msgid "The size of L1 cache line."
 msgstr ""
 
-#: params.opt:339
+#: params.opt:354
 #, no-c-format
 msgid ""
 "The minimum recommended offset between two concurrently-accessed objects to "
@@ -17592,7 +18147,7 @@ msgid ""
 "discouraged from doing so in public ABIs."
 msgstr ""
 
-#: params.opt:348
+#: params.opt:363
 #, no-c-format
 msgid ""
 "The maximum recommended size of contiguous memory occupied by two objects "
@@ -17601,737 +18156,737 @@ msgid ""
 "processors with different cache line sizes."
 msgstr ""
 
-#: params.opt:355
+#: params.opt:370
 #, no-c-format
 msgid "The size of L1 cache."
 msgstr ""
 
-#: params.opt:359
+#: params.opt:374
 #, no-c-format
 msgid "The size of L2 cache."
 msgstr ""
 
-#: params.opt:363
+#: params.opt:378
 #, no-c-format
 msgid "Maximal growth due to inlining of large function (in percent)."
 msgstr ""
 
-#: params.opt:367
+#: params.opt:382
 #, no-c-format
 msgid "The size of function body to be considered large."
 msgstr ""
 
-#: params.opt:371
+#: params.opt:386
 #, no-c-format
 msgid "The size of stack frame to be considered large."
 msgstr ""
 
-#: params.opt:375
+#: params.opt:390
 #, no-c-format
 msgid "Maximal stack frame growth due to inlining (in percent)."
 msgstr ""
 
-#: params.opt:379
+#: params.opt:394
 #, no-c-format
 msgid "The size of translation unit to be considered large."
 msgstr ""
 
-#: params.opt:383
+#: params.opt:398
 #, no-c-format
 msgid "Maximum number of concurrently open C++ module files when lazy loading."
 msgstr ""
 
-#: params.opt:387
+#: params.opt:402
 #, no-c-format
 msgid ""
 "The minimum cost of an expensive expression in the loop invariant motion."
 msgstr ""
 
-#: params.opt:391
+#: params.opt:406
 #, no-c-format
 msgid "True if a non-short-circuit operation is optimal."
 msgstr ""
 
-#: params.opt:395
+#: params.opt:410
 #, no-c-format
 msgid "Size of tiles for loop blocking."
 msgstr ""
 
-#: params.opt:399
+#: params.opt:414
 #, no-c-format
 msgid "The maximum number of stmts in loop nest for loop interchange."
 msgstr ""
 
-#: params.opt:403
+#: params.opt:418
 #, no-c-format
 msgid "The minimum stride ratio for loop interchange to be profitable."
 msgstr ""
 
-#: params.opt:407
+#: params.opt:422
 #, no-c-format
 msgid "Max basic blocks number in loop for loop invariant motion."
 msgstr ""
 
-#: params.opt:411
+#: params.opt:426
 #, no-c-format
 msgid "Maximum number of datarefs in loop for building loop data dependencies."
 msgstr ""
 
-#: params.opt:415
+#: params.opt:430
 #, no-c-format
 msgid ""
 "The maximum number of instructions in an inner loop that is being considered "
 "for versioning."
 msgstr ""
 
-#: params.opt:419
+#: params.opt:434
 #, no-c-format
 msgid ""
 "The maximum number of instructions in an outer loop that is being considered "
 "for versioning, on top of the instructions in inner loops."
 msgstr ""
 
-#: params.opt:423
+#: params.opt:438
 #, no-c-format
 msgid ""
 "Minimal fall-through edge probability in percentage used to add BB to "
 "inheritance EBB in LRA."
 msgstr ""
 
-#: params.opt:427
+#: params.opt:442
 #, no-c-format
 msgid ""
 "The max number of reload pseudos which are considered during spilling a non-"
 "reload pseudo."
 msgstr ""
 
-#: params.opt:431
+#: params.opt:446
 #, no-c-format
 msgid "Maximal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:435
+#: params.opt:450
 #, no-c-format
 msgid "maximal number of LTO partitions streamed in parallel."
 msgstr ""
 
-#: params.opt:439
+#: params.opt:454
 #, no-c-format
 msgid "Minimal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:443
+#: params.opt:458
 #, no-c-format
 msgid "Number of partitions the program should be split to."
 msgstr ""
 
-#: params.opt:447
+#: params.opt:462
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to unroll in a loop on "
 "average."
 msgstr ""
 
-#: params.opt:451
+#: params.opt:466
 #, no-c-format
 msgid "The maximum number of insns combine tries to combine."
 msgstr ""
 
-#: params.opt:455
+#: params.opt:470
 #, no-c-format
 msgid "The maximum depth of a loop nest we completely peel."
 msgstr ""
 
-#: params.opt:459
+#: params.opt:474
 #, no-c-format
 msgid ""
 "The maximum number of peelings of a single loop that is peeled completely."
 msgstr ""
 
-#: params.opt:463
+#: params.opt:478
 #, no-c-format
 msgid "The maximum number of insns of a completely peeled loop."
 msgstr ""
 
-#: params.opt:467
+#: params.opt:482
 #, no-c-format
 msgid "The maximum number of incoming edges to consider for crossjumping."
 msgstr ""
 
-#: params.opt:471
+#: params.opt:486
 #, no-c-format
 msgid "The maximum instructions CSE process before flushing."
 msgstr ""
 
-#: params.opt:475
+#: params.opt:490
 #, no-c-format
 msgid "The maximum length of path considered in cse."
 msgstr ""
 
-#: params.opt:479
+#: params.opt:494
 #, no-c-format
 msgid "The maximum memory locations recorded by cselib."
 msgstr ""
 
-#: params.opt:483
+#: params.opt:498
 #, no-c-format
 msgid "Max. count of debug markers to expand or inline."
 msgstr ""
 
-#: params.opt:487
+#: params.opt:502
 #, no-c-format
 msgid "The maximum number of instructions to consider to fill a delay slot."
 msgstr ""
 
-#: params.opt:491
+#: params.opt:506
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to find accurate live "
 "register information."
 msgstr ""
 
-#: params.opt:495
+#: params.opt:510
 #, no-c-format
 msgid "Maximum number of active local stores in RTL dead store elimination."
 msgstr ""
 
-#: params.opt:499
+#: params.opt:514
 #, no-c-format
 msgid ""
 "The maximum number of nested indirect inlining performed by early inliner."
 msgstr ""
 
-#: params.opt:503
+#: params.opt:518
 #, no-c-format
 msgid ""
 "Maximum number of fields in a structure before pointer analysis treats the "
 "structure as a single variable."
 msgstr ""
 
-#: params.opt:507
+#: params.opt:522
 #, no-c-format
 msgid ""
 "Maximum number of instructions to copy when duplicating blocks on a finite "
 "state automaton jump thread path."
 msgstr ""
 
-#: params.opt:511
+#: params.opt:526
 #, no-c-format
 msgid "The maximum ratio of insertions to deletions of expressions in GCSE."
 msgstr ""
 
-#: params.opt:515
+#: params.opt:530
 #, no-c-format
 msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes."
 msgstr ""
 
-#: params.opt:519
+#: params.opt:534
 #, no-c-format
 msgid ""
 "The maximum number of insns to duplicate when unfactoring computed gotos."
 msgstr ""
 
-#: params.opt:523
+#: params.opt:538
 #, no-c-format
 msgid "The maximum expansion factor when copying basic blocks."
 msgstr ""
 
-#: params.opt:527
+#: params.opt:542
 #, no-c-format
 msgid "Maximum depth of search in the dominator tree for expressions to hoist."
 msgstr ""
 
-#: params.opt:531
+#: params.opt:546
 #, no-c-format
 msgid ""
 "Maximum loop depth of a call which is considered for inlining functions "
 "called once."
 msgstr ""
 
-#: params.opt:535
+#: params.opt:550
 #, no-c-format
 msgid ""
 "Maximum combined size of caller and callee which is inlined if callee is "
 "called once."
 msgstr ""
 
-#: params.opt:539
+#: params.opt:554
 #, no-c-format
 msgid "The maximum number of instructions when automatically inlining."
 msgstr ""
 
-#: params.opt:543
+#: params.opt:558
 #, no-c-format
 msgid ""
 "The maximum number of instructions inline function can grow to via recursive "
 "inlining."
 msgstr ""
 
-#: params.opt:547
+#: params.opt:562
 #, no-c-format
 msgid ""
 "The maximum number of instructions non-inline function can grow to via "
 "recursive inlining."
 msgstr ""
 
-#: params.opt:551
+#: params.opt:566
 #, no-c-format
 msgid ""
 "The maximum number of instructions in a single function eligible for "
 "inlining."
 msgstr ""
 
-#: params.opt:555
+#: params.opt:570
 #, no-c-format
 msgid "The maximum number of instructions when inlining for size."
 msgstr ""
 
-#: params.opt:559
+#: params.opt:574
 #, no-c-format
 msgid ""
 "The maximum number of instructions when automatically inlining small "
 "functions."
 msgstr ""
 
-#: params.opt:563
+#: params.opt:578
 #, no-c-format
 msgid "The maximum depth of recursive inlining for inline functions."
 msgstr ""
 
-#: params.opt:567
+#: params.opt:582
 #, no-c-format
 msgid "The maximum depth of recursive inlining for non-inline functions."
 msgstr ""
 
-#: params.opt:571
+#: params.opt:586
 #, no-c-format
 msgid "Maximum number of isl operations, 0 means unlimited."
 msgstr ""
 
-#: params.opt:575
+#: params.opt:590
 #, no-c-format
 msgid "Bound on the cost of an expression to compute the number of iterations."
 msgstr ""
 
-#: params.opt:579
+#: params.opt:594
 #, no-c-format
 msgid ""
 "Bound on the number of iterations the brute force # of iterations analysis "
 "algorithm evaluates."
 msgstr ""
 
-#: params.opt:583
+#: params.opt:598
 #, no-c-format
 msgid ""
 "Maximum number of statements allowed in a block that needs to be duplicated "
 "when threading jumps."
 msgstr ""
 
-#: params.opt:587
+#: params.opt:602
 #, no-c-format
 msgid "Search space limit for the backwards jump threader."
 msgstr ""
 
-#: params.opt:591
+#: params.opt:606
 #, no-c-format
 msgid ""
 "The maximum number of RTL nodes that can be recorded as combiner's last "
 "value."
 msgstr ""
 
-#: params.opt:595
+#: params.opt:610
 #, no-c-format
 msgid ""
 "The maximum number of insns in loop header duplicated by the copy loop "
 "headers pass."
 msgstr ""
 
-#: params.opt:599
+#: params.opt:614
 #, no-c-format
 msgid ""
 "The maximum number of backtrack attempts the scheduler should make when "
 "modulo scheduling a loop."
 msgstr ""
 
-#: params.opt:603
+#: params.opt:618
 #, no-c-format
 msgid "Minimum page size for warning purposes."
 msgstr ""
 
-#: params.opt:607
+#: params.opt:622
 #, no-c-format
 msgid ""
 "Maximum length of partial antic set when performing tree pre optimization."
 msgstr ""
 
-#: params.opt:611
+#: params.opt:626
 #, no-c-format
 msgid "The maximum number of branches on the path through the peeled sequence."
 msgstr ""
 
-#: params.opt:615
+#: params.opt:630
 #, no-c-format
 msgid "The maximum number of peelings of a single loop."
 msgstr ""
 
-#: params.opt:619
+#: params.opt:634
 #, no-c-format
 msgid "The maximum number of insns of a peeled loop."
 msgstr ""
 
-#: params.opt:623
+#: params.opt:638
 #, no-c-format
 msgid "The maximum length of scheduling's pending operations list."
 msgstr ""
 
-#: params.opt:627 params.opt:671
+#: 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 ""
 
-#: params.opt:631 params.opt:675
+#: 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 ""
 
-#: params.opt:635
+#: params.opt:650
 #, no-c-format
 msgid ""
 "Maximum depth of sqrt chains to use when synthesizing exponentiation by a "
 "real constant."
 msgstr ""
 
-#: params.opt:639
+#: params.opt:654
 #, no-c-format
 msgid "The maximum number of loop iterations we predict statically."
 msgstr ""
 
-#: params.opt:643
+#: params.opt:658
 #, no-c-format
 msgid ""
 "The maximum number of instructions to search backward when looking for "
 "equivalent reload."
 msgstr ""
 
-#: params.opt:647
+#: params.opt:662
 #, no-c-format
 msgid ""
 "Maximum number of insns in a basic block to consider for RTL if-conversion."
 msgstr ""
 
-#: params.opt:651
+#: 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:655
+#: 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:659
+#: params.opt:674
 #, no-c-format
 msgid "The maximum number of iterations through CFG to extend regions."
 msgstr ""
 
-#: params.opt:663
+#: params.opt:678
 #, no-c-format
 msgid ""
 "The maximum conflict delay for an insn to be considered for speculative "
 "motion."
 msgstr ""
 
-#: params.opt:667
+#: 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 ""
 
-#: params.opt:679
+#: params.opt:694
 #, no-c-format
 msgid "Maximum length of candidate scans for straight-line strength reduction."
 msgstr ""
 
-#: params.opt:683
+#: params.opt:698
 #, no-c-format
 msgid "Maximum number of may-defs visited when devirtualizing speculatively."
 msgstr ""
 
-#: params.opt:687
+#: params.opt:702
 #, no-c-format
 msgid ""
 "Maximum recursion depth allowed when querying a property of an SSA name."
 msgstr ""
 
-#: params.opt:691
+#: params.opt:706
 #, no-c-format
 msgid "Maximum number of constant stores to merge in the store merging pass."
 msgstr ""
 
-#: params.opt:695
+#: params.opt:710
 #, no-c-format
 msgid "Maximum number of conditional store pairs that can be sunk."
 msgstr ""
 
-#: params.opt:699 params.opt:703
+#: params.opt:714 params.opt:718
 #, no-c-format
 msgid ""
 "Maximum number of store chains to track at the same time in the store "
 "merging pass."
 msgstr ""
 
-#: params.opt:707
+#: params.opt:722
 #, no-c-format
 msgid "Maximum amount of similar bbs to compare a bb with."
 msgstr ""
 
-#: params.opt:711
+#: params.opt:726
 #, no-c-format
 msgid "Maximum amount of iterations of the pass over a function."
 msgstr ""
 
-#: params.opt:715
+#: params.opt:730
 #, no-c-format
 msgid ""
 "Maximum number of strings for which strlen optimization pass will track "
 "string lengths."
 msgstr ""
 
-#: params.opt:719
+#: 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:723
+#: params.opt:738
 #, no-c-format
 msgid "The maximum number of unrollings of a single loop."
 msgstr ""
 
-#: params.opt:727
+#: params.opt:742
 #, no-c-format
 msgid "The maximum number of instructions to consider to unroll in a loop."
 msgstr ""
 
-#: params.opt:731
+#: params.opt:746
 #, no-c-format
 msgid "The maximum number of insns of an unswitched loop."
 msgstr ""
 
-#: params.opt:735
+#: params.opt:750
 #, no-c-format
 msgid "The maximum depth of a loop nest to be unswitched."
 msgstr ""
 
-#: params.opt:739
+#: 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 ""
 
-#: params.opt:743
+#: params.opt:758
 #, no-c-format
 msgid "Max. recursion depth for expanding var tracking expressions."
 msgstr ""
 
-#: params.opt:747
+#: params.opt:762
 #, no-c-format
 msgid "Max. size of loc list for which reverse ops should be added."
 msgstr ""
 
-#: params.opt:751
+#: params.opt:766
 #, no-c-format
 msgid "Max. size of var tracking hash tables."
 msgstr ""
 
-#: params.opt:755
+#: params.opt:770
 #, no-c-format
 msgid "Maximum number of VALUEs handled during a single find_base_term call."
 msgstr ""
 
-#: params.opt:759
+#: params.opt:774
 #, no-c-format
 msgid ""
 "The minimum number of matching instructions to consider for crossjumping."
 msgstr ""
 
-#: params.opt:763
+#: params.opt:778
 #, no-c-format
 msgid ""
 "Inline recursively only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:767
+#: params.opt:782
 #, no-c-format
 msgid ""
 "Min. ratio of insns to prefetches to enable prefetching for a loop with an "
 "unknown trip count."
 msgstr ""
 
-#: params.opt:771
+#: params.opt:786
 #, no-c-format
 msgid ""
 "The minimum threshold for probability of semi-invariant condition statement "
 "to trigger loop split."
 msgstr ""
 
-#: params.opt:775
+#: params.opt:790
 #, no-c-format
 msgid "The minimum UID to be used for a nondebug insn."
 msgstr ""
 
-#: params.opt:779
+#: params.opt:794
 #, no-c-format
 msgid ""
 "The minimum size of variables taking part in stack slot sharing when not "
 "optimizing."
 msgstr ""
 
-#: params.opt:783
+#: params.opt:798
 #, no-c-format
 msgid ""
 "The minimum probability of reaching a source block for interblock "
 "speculative scheduling."
 msgstr ""
 
-#: params.opt:787
+#: params.opt:802
 #, no-c-format
 msgid ""
 "If -ftree-vectorize is used, the minimal loop bound of a loop to be "
 "considered for vectorization."
 msgstr ""
 
-#: params.opt:791
+#: params.opt:806
 #, no-c-format
 msgid ""
 "--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC "
 "'kernels' constructs handling."
 msgstr ""
 
-#: params.opt:804
+#: params.opt:819
 #, no-c-format
 msgid ""
 "--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC "
 "privatization diagnostics."
 msgstr ""
 
-#: params.opt:817
+#: params.opt:832
 #, no-c-format
 msgid "Chunk size of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:821
+#: params.opt:836
 #, no-c-format
 msgid ""
 "Minimum number of iterations per thread of an innermost parallelized loop."
 msgstr ""
 
-#: params.opt:825
+#: params.opt:840
 #, 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:847
+#: params.opt:862
 #, 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:851
+#: params.opt:866
 #, no-c-format
 msgid "Maximal estimated outcome of branch considered predictable."
 msgstr ""
 
-#: params.opt:855
+#: params.opt:870
 #, no-c-format
 msgid ""
 "Whether software prefetch hints should be issued for non-constant strides."
 msgstr ""
 
-#: params.opt:859
+#: params.opt:874
 #, no-c-format
 msgid "The number of insns executed before prefetch is completed."
 msgstr ""
 
-#: params.opt:863
+#: params.opt:878
 #, no-c-format
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
 msgstr ""
 
-#: params.opt:867
+#: params.opt:882
 #, no-c-format
 msgid ""
 "The minimum constant stride beyond which we should use prefetch hints for."
 msgstr ""
 
-#: params.opt:871
+#: params.opt:886
 #, no-c-format
 msgid "Use internal function id in profile lookup."
 msgstr ""
 
-#: params.opt:875
+#: params.opt:890
 #, no-c-format
 msgid ""
 "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the "
 "output mode for debugging ranger."
 msgstr ""
 
-#: params.opt:900
+#: params.opt:915
 #, no-c-format
 msgid ""
 "Maximum depth of logical expression evaluation ranger will look through when "
 "evaluating outgoing edge ranges."
 msgstr ""
 
-#: params.opt:905
+#: params.opt:920
 #, no-c-format
 msgid ""
 "Maximum depth of instruction chains to consider for recomputation in the "
 "outgoing range calculator."
 msgstr ""
 
-#: params.opt:910
+#: params.opt:925
 #, no-c-format
 msgid "Maximum number of relations the oracle will register in a basic block."
 msgstr ""
 
-#: params.opt:914
+#: params.opt:929
 #, no-c-format
 msgid "Maximum depth of a loop nest to fully value-number optimistically."
 msgstr ""
 
-#: params.opt:918
+#: params.opt:933
 #, no-c-format
 msgid "Maximum number of disambiguations to perform per memory access."
 msgstr ""
 
-#: params.opt:922
+#: params.opt:937
 #, no-c-format
 msgid ""
 "Bound on the complexity of the expressions in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:926
+#: params.opt:941
 #, no-c-format
 msgid "Bound on size of expressions used in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:930
+#: params.opt:945
 #, no-c-format
 msgid ""
 "Hardware autoprefetcher scheduler model control flag.  Number of lookahead "
@@ -18339,285 +18894,297 @@ msgid ""
 "heuristic.  Disabled by default."
 msgstr ""
 
-#: params.opt:934
+#: params.opt:949
 #, no-c-format
 msgid "Minimal distance between possibly conflicting store and load."
 msgstr ""
 
-#: params.opt:938
+#: params.opt:953
 #, no-c-format
 msgid "Which -fsched-pressure algorithm to apply."
 msgstr ""
 
-#: params.opt:942
+#: params.opt:957
 #, no-c-format
 msgid ""
 "The minimal probability of speculation success (in percents), so that "
 "speculative insn will be scheduled."
 msgstr ""
 
-#: params.opt:946
+#: params.opt:961
 #, no-c-format
 msgid ""
 "The minimum probability an edge must have for the scheduler to save its "
 "state across it."
 msgstr ""
 
-#: params.opt:950
+#: params.opt:965
 #, no-c-format
 msgid ""
 "Maximum number of instructions in the ready list that are considered "
 "eligible for renaming."
 msgstr ""
 
-#: params.opt:954
+#: params.opt:969
 #, no-c-format
 msgid "The maximum size of the lookahead window of selective scheduling."
 msgstr ""
 
-#: params.opt:958
+#: params.opt:973
 #, no-c-format
 msgid "Maximum number of times that an insn could be scheduled."
 msgstr ""
 
-#: params.opt:962
+#: params.opt:977
 #, no-c-format
 msgid "The number of prefetches that can run at the same time."
 msgstr ""
 
-#: params.opt:966
+#: params.opt:981
 #, no-c-format
 msgid ""
 "Target block's relative execution frequency (as a percentage) required to "
 "sink a statement."
 msgstr ""
 
-#: params.opt:970
+#: params.opt:985
 #, no-c-format
 msgid ""
 "The number of cycles the swing modulo scheduler considers when checking "
 "conflicts using DFA."
 msgstr ""
 
-#: params.opt:974
+#: params.opt:989
 #, no-c-format
 msgid ""
 "A threshold on the average loop count considered by the swing modulo "
 "scheduler."
 msgstr ""
 
-#: params.opt:978
+#: params.opt:993
 #, no-c-format
 msgid ""
 "A factor for tuning the upper bound that swing modulo scheduler uses for "
 "scheduling a loop."
 msgstr ""
 
-#: params.opt:982
+#: params.opt:997
 #, no-c-format
 msgid ""
 "The minimum value of stage count that swing modulo scheduler will generate."
 msgstr ""
 
-#: params.opt:986
+#: params.opt:1001
 #, 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:990
+#: params.opt:1005
 #, 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:994
+#: params.opt:1009
 #, 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:998
+#: params.opt:1013
 #, no-c-format
 msgid ""
 "The maximum number of SSA_NAME assignments to follow in determining a value."
 msgstr ""
 
-#: params.opt:1002
+#: params.opt:1017
 #, no-c-format
 msgid ""
 "The lower bound for a buffer to be considered for stack smashing protection."
 msgstr ""
 
-#: params.opt:1006
+#: params.opt:1021
 #, no-c-format
 msgid "Size of the stack guard expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1010
+#: params.opt:1025
 #, no-c-format
 msgid ""
 "Interval in which to probe the stack expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1014
+#: params.opt:1029
 #, no-c-format
 msgid ""
 "Allow the store merging pass to introduce unaligned stores if it is legal to "
 "do so."
 msgstr ""
 
-#: params.opt:1018
+#: params.opt:1033
 #, no-c-format
 msgid "Maximum size of a single store merging region in bytes."
 msgstr ""
 
-#: params.opt:1022
+#: params.opt:1037
 #, no-c-format
 msgid ""
 "The maximum ratio between array size and switch branches for a switch "
 "conversion to take place."
 msgstr ""
 
-#: params.opt:1026
+#: params.opt:1041
 #, no-c-format
 msgid "Maximum number of bases stored in each modref tree."
 msgstr ""
 
-#: params.opt:1030
+#: params.opt:1045
 #, no-c-format
 msgid "Maximum number of references stored in each modref base."
 msgstr ""
 
-#: params.opt:1034
+#: params.opt:1049
 #, no-c-format
 msgid "Maximum number of accesses stored in each modref reference."
 msgstr ""
 
-#: params.opt:1038
+#: params.opt:1053
 #, no-c-format
 msgid "Maximum number of tests performed by modref query."
 msgstr ""
 
-#: params.opt:1042
+#: params.opt:1057
 #, no-c-format
 msgid "Maximum depth of DFS walk used by modref escape analysis."
 msgstr ""
 
-#: params.opt:1046
+#: params.opt:1061
 #, no-c-format
 msgid "Maximum number of escape points tracked by modref per SSA-name."
 msgstr ""
 
-#: params.opt:1050
+#: params.opt:1065
 #, no-c-format
 msgid "Maximum number of times a given range is adjusted during the dataflow."
 msgstr ""
 
-#: params.opt:1054
+#: params.opt:1069
 #, no-c-format
 msgid ""
 "--param=threader-debug=[none|all] Enables verbose dumping of the threader "
 "solver."
 msgstr ""
 
-#: params.opt:1067
+#: params.opt:1082
 #, 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:1071
+#: params.opt:1086
 #, 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 ""
 
-#: params.opt:1075
+#: params.opt:1090
 #, 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 ""
 
-#: params.opt:1079
+#: params.opt:1094
 #, no-c-format
 msgid "Maximal code growth caused by tail duplication (in percent)."
 msgstr ""
 
-#: params.opt:1083
+#: params.opt:1098
 #, 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 ""
 
-#: params.opt:1087
+#: params.opt:1102
 #, 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 ""
 
-#: params.opt:1091
+#: params.opt:1106
 #, no-c-format
 msgid ""
 "Stop reverse growth if the reverse probability of best edge is less than "
 "this threshold (in percent)."
 msgstr ""
 
-#: params.opt:1095
+#: params.opt:1110
 #, 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:1099
+#: params.opt:1114
 #, no-c-format
 msgid "Emit special instrumentation for accesses to volatiles."
 msgstr ""
 
-#: params.opt:1103
+#: params.opt:1118
 #, no-c-format
 msgid ""
 "Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
 msgstr ""
 
-#: params.opt:1107
+#: params.opt:1122
 #, no-c-format
 msgid ""
 "Maximum number of nested calls to search for control dependencies during "
 "uninitialized variable analysis."
 msgstr ""
 
-#: params.opt:1111
+#: params.opt:1126
+#, no-c-format
+msgid ""
+"Maximum number of predicates anded for each predicate ored in the normalized "
+"predicate chain."
+msgstr ""
+
+#: params.opt:1131
+#, no-c-format
+msgid "Maximum number of predicates ored in the normalized predicate chain."
+msgstr ""
+
+#: params.opt:1135
 #, no-c-format
 msgid ""
 "Instruction accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1115
+#: params.opt:1139
 #, no-c-format
 msgid "Time accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1119
+#: params.opt:1143
 #, no-c-format
 msgid "Instruction accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1123
+#: params.opt:1147
 #, no-c-format
 msgid "Time accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1127
+#: params.opt:1151
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the number of profiled runs of the "
@@ -18625,64 +19192,64 @@ msgid ""
 "order for the basic block to be considered unlikely."
 msgstr ""
 
-#: params.opt:1131
+#: params.opt:1155
 #, no-c-format
 msgid "Maximum unroll factor for the unroll-and-jam transformation."
 msgstr ""
 
-#: params.opt:1135
+#: params.opt:1159
 #, no-c-format
 msgid ""
 "Minimum percentage of memrefs that must go away for unroll-and-jam to be "
 "considered profitable."
 msgstr ""
 
-#: params.opt:1139
+#: params.opt:1163
 #, no-c-format
 msgid ""
 "Use direct poisoning/unpoisoning instructions for variables smaller or equal "
 "to this number."
 msgstr ""
 
-#: params.opt:1143
+#: params.opt:1167
 #, no-c-format
 msgid "Whether to use canonical types."
 msgstr ""
 
-#: params.opt:1147
+#: params.opt:1171
 #, no-c-format
 msgid "Enable loop epilogue vectorization using smaller vector size."
 msgstr ""
 
-#: params.opt:1151
+#: params.opt:1175
 #, no-c-format
 msgid ""
 "Maximum number of possible vector layouts (such as permutations) to consider "
 "when optimizing to-be-vectorized code."
 msgstr ""
 
-#: params.opt:1155
+#: params.opt:1179
 #, no-c-format
 msgid ""
 "Maximum number of loop peels to enhance alignment of data references in a "
 "loop."
 msgstr ""
 
-#: params.opt:1159
+#: params.opt:1183
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alias check."
 msgstr ""
 
-#: params.opt:1163
+#: params.opt:1187
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alignment check."
 msgstr ""
 
-#: params.opt:1167
+#: params.opt:1191
 #, no-c-format
 msgid ""
 "Controls how loop vectorizer uses partial vectors.  0 means never, 1 means "
@@ -18690,43 +19257,43 @@ msgid ""
 "The default value is 2."
 msgstr ""
 
-#: params.opt:1171
+#: params.opt:1195
 #, 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:1175
+#: params.opt:1199
 #, no-c-format
 msgid "Enable loop vectorization of floating point inductions."
 msgstr ""
 
-#: params.opt:1179
+#: params.opt:1203
 #, no-c-format
 msgid "Maximum number of basic blocks before VRP uses a sparse bitmap cache."
 msgstr ""
 
-#: params.opt:1183
+#: params.opt:1207
 #, no-c-format
 msgid ""
 "Maximum number of outgoing edges in a switch before VRP will not process it."
 msgstr ""
 
-#: params.opt:1187
+#: params.opt:1211
 #, no-c-format
 msgid "Maximum number of basic blocks for VRP to use a basic cache vector."
 msgstr ""
 
-#: cfgrtl.cc:2796
+#: cfgrtl.cc:2822
 msgid "flow control insn inside a basic block"
 msgstr ""
 
-#: cfgrtl.cc:3088
+#: cfgrtl.cc:3114
 msgid "insn outside basic block"
 msgstr ""
 
-#: cfgrtl.cc:3096
+#: cfgrtl.cc:3122
 msgid "return not followed by barrier"
 msgstr ""
 
@@ -18735,45 +19302,45 @@ msgstr ""
 msgid "[cannot find %s]"
 msgstr ""
 
-#: collect2.cc:1557
+#: collect2.cc:1560
 #, c-format
 msgid "collect2 version %s\n"
 msgstr ""
 
-#: collect2.cc:1662
+#: collect2.cc:1665
 #, c-format
 msgid "%d constructor found\n"
 msgid_plural "%d constructors found\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: collect2.cc:1666
+#: collect2.cc:1669
 #, c-format
 msgid "%d destructor found\n"
 msgid_plural "%d destructors found\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: collect2.cc:1670
+#: collect2.cc:1673
 #, c-format
 msgid "%d frame table found\n"
 msgid_plural "%d frame tables found\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: collect2.cc:1825
+#: collect2.cc:1828
 #, c-format
 msgid "[Leaving %s]\n"
 msgstr ""
 
-#: collect2.cc:2055
+#: collect2.cc:2058
 #, c-format
 msgid ""
 "\n"
 "write_c_file - output name is %s, prefix is %s\n"
 msgstr ""
 
-#: collect2.cc:2579
+#: collect2.cc:2582
 #, c-format
 msgid ""
 "\n"
@@ -18784,7 +19351,7 @@ msgstr ""
 msgid "const/copy propagation disabled"
 msgstr ""
 
-#: diagnostic-format-json.cc:317 diagnostic-format-sarif.cc:1687
+#: diagnostic-format-json.cc:339 diagnostic-format-sarif.cc:1776
 #, c-format
 msgid "error: unable to open '%s' for writing: %s\n"
 msgstr ""
@@ -18794,142 +19361,142 @@ msgstr ""
 #. stderr.  Hopefully this will be helpful to the user in
 #. indicating what's gone wrong (also for DejaGnu, for pruning
 #. those messages).
-#: diagnostic-format-sarif.cc:1712
+#: diagnostic-format-sarif.cc:1699
 #, c-format
 msgid "Internal compiler error:\n"
 msgstr ""
 
-#: diagnostic.cc:164
-#, c-format
-msgid "%s: all warnings being treated as errors"
-msgstr ""
-
-#: diagnostic.cc:169
-#, c-format
-msgid "%s: some warnings being treated as errors"
-msgstr ""
-
-#: diagnostic.cc:646
+#: diagnostic.cc:729
 #, c-format
 msgid "compilation terminated due to -fmax-errors=%u.\n"
 msgstr ""
 
-#: diagnostic.cc:674
+#: diagnostic.cc:756
 #, c-format
 msgid "compilation terminated due to -Wfatal-errors.\n"
 msgstr ""
 
-#: diagnostic.cc:707
+#: diagnostic.cc:788
 #, c-format
 msgid "Please submit a full bug report, with preprocessed source.\n"
 msgstr ""
 
-#: diagnostic.cc:710
+#: diagnostic.cc:791
 #, c-format
 msgid ""
 "Please submit a full bug report, with preprocessed source (by using -freport-"
 "bug).\n"
 msgstr ""
 
-#: diagnostic.cc:714
+#: diagnostic.cc:795
 #, c-format
 msgid "Please include the complete backtrace with any bug report.\n"
 msgstr ""
 
-#: diagnostic.cc:716
+#: diagnostic.cc:797
 #, c-format
 msgid "See %s for instructions.\n"
 msgstr ""
 
-#: diagnostic.cc:725
+#: diagnostic.cc:806
 #, c-format
 msgid "compilation terminated.\n"
 msgstr ""
 
-#: diagnostic.cc:819
+#: diagnostic.cc:881
 msgid "                 from"
 msgstr ""
 
-#: diagnostic.cc:820
+#: diagnostic.cc:882
 msgid "In file included from"
 msgstr ""
 
 #. 2
-#: diagnostic.cc:821
+#: diagnostic.cc:883
 msgid "        included from"
 msgstr ""
 
-#: diagnostic.cc:822
+#: diagnostic.cc:884
 msgid "In module"
 msgstr ""
 
 #. 4
-#: diagnostic.cc:823
+#: diagnostic.cc:885
 msgid "of module"
 msgstr ""
 
-#: diagnostic.cc:824
+#: diagnostic.cc:886
 msgid "In module imported at"
 msgstr ""
 
 #. 6
-#: diagnostic.cc:825
+#: diagnostic.cc:887
 msgid "imported at"
 msgstr ""
 
-#: diagnostic.cc:1584
+#: diagnostic.cc:1585
 #, c-format
 msgid "%s:%d: confused by earlier errors, bailing out\n"
 msgstr ""
 
-#: diagnostic.cc:2246
+#: diagnostic.cc:2286
 #, c-format
 msgid "internal compiler error: error reporting routines re-entered.\n"
 msgstr ""
 
-#: diagnostic.cc:2277 diagnostic.cc:2296
+#: diagnostic.cc:2317 diagnostic.cc:2336
 #, gcc-internal-format, gfc-internal-format
 msgid "in %s, at %s:%d"
 msgstr ""
 
-#: final.cc:1096
+#: diagnostic.cc:2387
+#, c-format
+msgid "%s: all warnings being treated as errors"
+msgstr ""
+
+#: diagnostic.cc:2392
+#, c-format
+msgid "%s: some warnings being treated as errors"
+msgstr ""
+
+#: final.cc:1097
 msgid "negative insn length"
 msgstr ""
 
-#: final.cc:2808
+#: final.cc:2807
 msgid "could not split insn"
 msgstr ""
 
-#: final.cc:3183
+#: final.cc:3182
 msgid "invalid 'asm': "
 msgstr ""
 
-#: final.cc:3316
+#: final.cc:3315
 #, c-format
 msgid "nested assembly dialect alternatives"
 msgstr ""
 
-#: final.cc:3344 final.cc:3356
+#: final.cc:3343 final.cc:3355
 #, c-format
 msgid "unterminated assembly dialect alternative"
 msgstr ""
 
-#: final.cc:3498
+#: final.cc:3497
 #, c-format
 msgid "operand number missing after %%-letter"
 msgstr ""
 
-#: final.cc:3501 final.cc:3542
+#: final.cc:3500 final.cc:3541
 #, c-format
 msgid "operand number out of range"
 msgstr ""
 
-#: final.cc:3559
+#: final.cc:3558
 #, c-format
 msgid "invalid %%-code"
 msgstr ""
 
-#: final.cc:3593
+#: final.cc:3592
 #, c-format
 msgid "'%%l' operand isn't a label"
 msgstr ""
@@ -18938,13 +19505,13 @@ msgstr ""
 #. PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. TARGET_PRINT_OPERAND must handle them.
-#: final.cc:3729 config/arc/arc.cc:6410 config/i386/i386.cc:12350
+#: final.cc:3728 config/arc/arc.cc:6310 config/i386/i386.cc:12905
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.cc:3787 config/arc/arc.cc:6507 config/i386/i386.cc:12441
-#: config/pdp11/pdp11.cc:1871
+#: final.cc:3786 config/arc/arc.cc:6407 config/i386/i386.cc:12996
+#: config/pdp11/pdp11.cc:1872
 #, c-format
 msgid "invalid expression as operand"
 msgstr ""
@@ -18954,282 +19521,282 @@ msgstr ""
 msgid "%s\n"
 msgstr ""
 
-#: gcc.cc:1844
+#: gcc.cc:1860
 #, c-format
 msgid "Using built-in specs.\n"
 msgstr ""
 
-#: gcc.cc:2089
+#: gcc.cc:2105
 #, c-format
 msgid ""
 "Setting spec %s to '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:2294
+#: gcc.cc:2310
 #, c-format
 msgid "Reading specs from %s\n"
 msgstr ""
 
-#: gcc.cc:2426
+#: gcc.cc:2440
 #, c-format
 msgid "could not find specs file %s\n"
 msgstr ""
 
-#: gcc.cc:2501
+#: gcc.cc:2511
 #, c-format
 msgid "rename spec %s to %s\n"
 msgstr ""
 
-#: gcc.cc:2503
+#: gcc.cc:2513
 #, c-format
 msgid ""
 "spec is '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:3364
+#: gcc.cc:3374
 #, c-format
 msgid ""
 "\n"
 "Go ahead? (y or n) "
 msgstr ""
 
-#: gcc.cc:3536
+#: gcc.cc:3546
 #, c-format
 msgid "# %s %.2f %.2f\n"
 msgstr ""
 
-#: gcc.cc:3716
+#: gcc.cc:3726
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr ""
 
-#: gcc.cc:3717
+#: gcc.cc:3727
 msgid "Options:\n"
 msgstr ""
 
-#: gcc.cc:3719
+#: gcc.cc:3729
 msgid "  -pass-exit-codes         Exit with highest error code from a phase.\n"
 msgstr ""
 
-#: gcc.cc:3720
+#: gcc.cc:3730
 msgid "  --help                   Display this information.\n"
 msgstr ""
 
-#: gcc.cc:3721
+#: gcc.cc:3731
 msgid ""
 "  --target-help            Display target specific command line options "
 "(including assembler and linker options).\n"
 msgstr ""
 
-#: gcc.cc:3723
+#: gcc.cc:3733
 msgid ""
 "  --help={common|optimizers|params|target|warnings|[^]{joined|separate|"
 "undocumented}}[,...].\n"
 msgstr ""
 
-#: gcc.cc:3724
+#: gcc.cc:3734
 msgid ""
 "                           Display specific types of command line options.\n"
 msgstr ""
 
-#: gcc.cc:3726
+#: gcc.cc:3736
 msgid "  (Use '-v --help' to display command line options of sub-processes).\n"
 msgstr ""
 
-#: gcc.cc:3727
+#: gcc.cc:3737
 msgid "  --version                Display compiler version information.\n"
 msgstr ""
 
-#: gcc.cc:3728
+#: gcc.cc:3738
 msgid "  -dumpspecs               Display all of the built in spec strings.\n"
 msgstr ""
 
-#: gcc.cc:3729
+#: gcc.cc:3739
 msgid "  -dumpversion             Display the version of the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3730
+#: gcc.cc:3740
 msgid "  -dumpmachine             Display the compiler's target processor.\n"
 msgstr ""
 
-#: gcc.cc:3731
+#: gcc.cc:3741
 msgid "  -foffload=<targets>      Specify offloading targets.\n"
 msgstr ""
 
-#: gcc.cc:3732
+#: gcc.cc:3742
 msgid ""
 "  -print-search-dirs       Display the directories in the compiler's search "
 "path.\n"
 msgstr ""
 
-#: gcc.cc:3733
+#: gcc.cc:3743
 msgid ""
 "  -print-libgcc-file-name  Display the name of the compiler's companion "
 "library.\n"
 msgstr ""
 
-#: gcc.cc:3734
+#: gcc.cc:3744
 msgid "  -print-file-name=<lib>   Display the full path to library <lib>.\n"
 msgstr ""
 
-#: gcc.cc:3735
+#: gcc.cc:3745
 msgid ""
 "  -print-prog-name=<prog>  Display the full path to compiler component "
 "<prog>.\n"
 msgstr ""
 
-#: gcc.cc:3736
+#: gcc.cc:3746
 msgid ""
 "  -print-multiarch         Display the target's normalized GNU triplet, used "
 "as\n"
 "                           a component in the library path.\n"
 msgstr ""
 
-#: gcc.cc:3739
+#: gcc.cc:3749
 msgid ""
 "  -print-multi-directory   Display the root directory for versions of "
 "libgcc.\n"
 msgstr ""
 
-#: gcc.cc:3740
+#: gcc.cc:3750
 msgid ""
 "  -print-multi-lib         Display the mapping between command line options "
 "and\n"
 "                           multiple library search directories.\n"
 msgstr ""
 
-#: gcc.cc:3743
+#: gcc.cc:3753
 msgid ""
 "  -print-multi-os-directory Display the relative path to OS libraries.\n"
 msgstr ""
 
-#: gcc.cc:3744
+#: gcc.cc:3754
 msgid "  -print-sysroot           Display the target libraries directory.\n"
 msgstr ""
 
-#: gcc.cc:3745
+#: gcc.cc:3755
 msgid ""
 "  -print-sysroot-headers-suffix Display the sysroot suffix used to find "
 "headers.\n"
 msgstr ""
 
-#: gcc.cc:3746
+#: gcc.cc:3756
 msgid ""
 "  -Wa,<options>            Pass comma-separated <options> on to the "
 "assembler.\n"
 msgstr ""
 
-#: gcc.cc:3747
+#: gcc.cc:3757
 msgid ""
 "  -Wp,<options>            Pass comma-separated <options> on to the "
 "preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3748
+#: gcc.cc:3758
 msgid ""
 "  -Wl,<options>            Pass comma-separated <options> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3749
+#: gcc.cc:3759
 msgid "  -Xassembler <arg>        Pass <arg> on to the assembler.\n"
 msgstr ""
 
-#: gcc.cc:3750
+#: gcc.cc:3760
 msgid "  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3751
+#: gcc.cc:3761
 msgid "  -Xlinker <arg>           Pass <arg> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3752
+#: gcc.cc:3762
 msgid "  -save-temps              Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3753
+#: gcc.cc:3763
 msgid "  -save-temps=<arg>        Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3754
+#: gcc.cc:3764
 msgid ""
 "  -no-canonical-prefixes   Do not canonicalize paths when building relative\n"
 "                           prefixes to other gcc components.\n"
 msgstr ""
 
-#: gcc.cc:3757
+#: gcc.cc:3767
 msgid "  -pipe                    Use pipes rather than intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3758
+#: gcc.cc:3768
 msgid "  -time                    Time the execution of each subprocess.\n"
 msgstr ""
 
-#: gcc.cc:3759
+#: gcc.cc:3769
 msgid ""
 "  -specs=<file>            Override built-in specs with the contents of "
 "<file>.\n"
 msgstr ""
 
-#: gcc.cc:3760
+#: gcc.cc:3770
 msgid ""
 "  -std=<standard>          Assume that the input sources are for "
 "<standard>.\n"
 msgstr ""
 
-#: gcc.cc:3761
+#: gcc.cc:3771
 msgid ""
 "  --sysroot=<directory>    Use <directory> as the root directory for "
 "headers\n"
 "                           and libraries.\n"
 msgstr ""
 
-#: gcc.cc:3764
+#: gcc.cc:3774
 msgid ""
 "  -B <directory>           Add <directory> to the compiler's search paths.\n"
 msgstr ""
 
-#: gcc.cc:3765
+#: gcc.cc:3775
 msgid ""
 "  -v                       Display the programs invoked by the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3766
+#: gcc.cc:3776
 msgid ""
 "  -###                     Like -v but options quoted and commands not "
 "executed.\n"
 msgstr ""
 
-#: gcc.cc:3767
+#: gcc.cc:3777
 msgid ""
 "  -E                       Preprocess only; do not compile, assemble or "
 "link.\n"
 msgstr ""
 
-#: gcc.cc:3768
+#: gcc.cc:3778
 msgid "  -S                       Compile only; do not assemble or link.\n"
 msgstr ""
 
-#: gcc.cc:3769
+#: gcc.cc:3779
 msgid "  -c                       Compile and assemble, but do not link.\n"
 msgstr ""
 
-#: gcc.cc:3770
+#: gcc.cc:3780
 msgid "  -o <file>                Place the output into <file>.\n"
 msgstr ""
 
-#: gcc.cc:3771
+#: gcc.cc:3781
 msgid ""
 "  -pie                     Create a dynamically linked position independent\n"
 "                           executable.\n"
 msgstr ""
 
-#: gcc.cc:3773
+#: gcc.cc:3783
 msgid "  -shared                  Create a shared library.\n"
 msgstr ""
 
-#: gcc.cc:3774
+#: gcc.cc:3784
 msgid ""
 "  -x <language>            Specify the language of the following input "
 "files.\n"
@@ -19240,7 +19807,7 @@ msgid ""
 "extension.\n"
 msgstr ""
 
-#: gcc.cc:3781
+#: gcc.cc:3791
 #, c-format
 msgid ""
 "\n"
@@ -19249,96 +19816,96 @@ msgid ""
 " other options on to these processes the -W<letter> options must be used.\n"
 msgstr ""
 
-#: gcc.cc:6832
+#: gcc.cc:6910
 #, c-format
 msgid "Processing spec (%s), which is '%s'\n"
 msgstr ""
 
-#: gcc.cc:7593
+#: gcc.cc:7671
 #, c-format
 msgid "Target: %s\n"
 msgstr ""
 
-#: gcc.cc:7594
+#: gcc.cc:7672
 #, c-format
 msgid "Configured with: %s\n"
 msgstr ""
 
-#: gcc.cc:7608
+#: gcc.cc:7686
 #, c-format
 msgid "Thread model: %s\n"
 msgstr ""
 
-#: gcc.cc:7609
+#: gcc.cc:7687
 #, c-format
 msgid "Supported LTO compression algorithms: zlib"
 msgstr ""
 
-#: gcc.cc:7611
+#: gcc.cc:7689
 #, c-format
 msgid " zstd"
 msgstr ""
 
-#: gcc.cc:7613 gcov.cc:1536 gcov.cc:1594 gcov.cc:1606 gcov.cc:2929
+#: gcc.cc:7691 gcov.cc:1523 gcov.cc:1581 gcov.cc:1593 gcov.cc:2916
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: gcc.cc:7624
+#: gcc.cc:7702
 #, c-format
 msgid "gcc version %s %s\n"
 msgstr ""
 
-#: gcc.cc:7627
+#: gcc.cc:7705
 #, c-format
 msgid "gcc driver version %s %sexecuting gcc version %s\n"
 msgstr ""
 
-#: gcc.cc:7700 gcc.cc:7910
+#: gcc.cc:7778 gcc.cc:7988
 #, c-format
 msgid ""
 "The bug is not reproducible, so it is likely a hardware or OS problem.\n"
 msgstr ""
 
-#: gcc.cc:7834
+#: gcc.cc:7912
 #, c-format
 msgid ""
 "Preprocessed source stored into %s file, please attach this to your "
 "bugreport.\n"
 msgstr ""
 
-#: gcc.cc:8685
+#: gcc.cc:8764
 #, c-format
 msgid "install: %s%s\n"
 msgstr ""
 
-#: gcc.cc:8688
+#: gcc.cc:8767
 #, c-format
 msgid "programs: %s\n"
 msgstr ""
 
-#: gcc.cc:8690
+#: gcc.cc:8769
 #, c-format
 msgid "libraries: %s\n"
 msgstr ""
 
-#: gcc.cc:8807
+#: gcc.cc:8886
 #, c-format
 msgid ""
 "\n"
 "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: gcc.cc:8823 gcov-tool.cc:594
+#: gcc.cc:8902 gcov-tool.cc:594
 #, c-format
 msgid "%s %s%s\n"
 msgstr ""
 
-#: gcc.cc:8826 gcov-tool.cc:596 gcov.cc:971 fortran/gfortranspec.cc:282
+#: gcc.cc:8905 gcov-tool.cc:596 gcov.cc:971 fortran/gfortranspec.cc:282
 msgid "(C)"
 msgstr ""
 
-#: gcc.cc:8827 gcov-tool.cc:598 gcov.cc:973 fortran/gfortranspec.cc:283
+#: gcc.cc:8906 gcov-tool.cc:598 gcov.cc:973 fortran/gfortranspec.cc:283
 #, c-format
 msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
@@ -19346,7 +19913,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9170
+#: gcc.cc:9249
 #, c-format
 msgid ""
 "\n"
@@ -19355,14 +19922,14 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9171
+#: gcc.cc:9250
 #, c-format
 msgid ""
 "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:10572
+#: gcc.cc:10651
 #, c-format
 msgid ""
 "Assembler options\n"
@@ -19370,7 +19937,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:10573
+#: gcc.cc:10652
 #, c-format
 msgid ""
 "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
@@ -19530,7 +20097,7 @@ msgstr ""
 
 #: gcov-tool.cc:595
 #, c-format
-msgid "Copyright %s 2023 Free Software Foundation, Inc.\n"
+msgid "Copyright %s 2024 Free Software Foundation, Inc.\n"
 msgstr ""
 
 #: gcov.cc:927
@@ -19702,212 +20269,212 @@ msgstr ""
 msgid "JSON format version: %s\n"
 msgstr ""
 
-#: gcov.cc:1380
+#: gcov.cc:1367
 #, c-format
 msgid "'%s' file is already processed\n"
 msgstr ""
 
-#: gcov.cc:1496 gcov.cc:1625
+#: gcov.cc:1483 gcov.cc:1612
 #, c-format
 msgid "Creating '%s'\n"
 msgstr ""
 
-#: gcov.cc:1500
+#: gcov.cc:1487
 #, c-format
 msgid "Error writing output file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1508
+#: gcov.cc:1495
 #, c-format
 msgid "Could not open output file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1515
+#: gcov.cc:1502
 #, c-format
 msgid "Removing '%s'\n"
 msgstr ""
 
-#: gcov.cc:1630
+#: gcov.cc:1617
 #, c-format
 msgid "Cannot open JSON output file %s\n"
 msgstr ""
 
-#: gcov.cc:1639
+#: gcov.cc:1626
 #, c-format
 msgid "Error writing JSON output file %s\n"
 msgstr ""
 
-#: gcov.cc:1804
+#: gcov.cc:1791
 #, c-format
 msgid "%s:source file is newer than notes file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1809
+#: gcov.cc:1796
 #, c-format
 msgid "(the message is displayed only once per source file)\n"
 msgstr ""
 
-#: gcov.cc:1829
+#: gcov.cc:1816
 #, c-format
 msgid "%s:cannot open notes file\n"
 msgstr ""
 
-#: gcov.cc:1836
+#: gcov.cc:1823
 #, c-format
 msgid "%s:not a gcov notes file\n"
 msgstr ""
 
-#: gcov.cc:1850
+#: gcov.cc:1837
 #, c-format
 msgid "%s:version '%.4s', prefer '%.4s'\n"
 msgstr ""
 
-#: gcov.cc:1903
+#: gcov.cc:1890
 #, c-format
 msgid "%s:already seen blocks for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2019 gcov.cc:2133
+#: gcov.cc:2006 gcov.cc:2120
 #, c-format
 msgid "%s:corrupted\n"
 msgstr ""
 
-#: gcov.cc:2027
+#: gcov.cc:2014
 #, c-format
 msgid "%s:no functions found\n"
 msgstr ""
 
-#: gcov.cc:2045
+#: gcov.cc:2032
 #, c-format
 msgid "%s:cannot open data file, assuming not executed\n"
 msgstr ""
 
-#: gcov.cc:2052
+#: gcov.cc:2039
 #, c-format
 msgid "%s:not a gcov data file\n"
 msgstr ""
 
-#: gcov.cc:2066
+#: gcov.cc:2053
 #, c-format
 msgid "%s:version '%.4s', prefer version '%.4s'\n"
 msgstr ""
 
-#: gcov.cc:2073
+#: gcov.cc:2060
 #, c-format
 msgid "%s:stamp mismatch with notes file\n"
 msgstr ""
 
-#: gcov.cc:2110
+#: gcov.cc:2097
 #, c-format
 msgid "%s:profile mismatch for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2132
+#: gcov.cc:2119
 #, c-format
 msgid "%s:overflowed\n"
 msgstr ""
 
-#: gcov.cc:2180
+#: gcov.cc:2167
 #, c-format
 msgid "%s:'%s' lacks entry and/or exit blocks\n"
 msgstr ""
 
-#: gcov.cc:2185
+#: gcov.cc:2172
 #, c-format
 msgid "%s:'%s' has arcs to entry block\n"
 msgstr ""
 
-#: gcov.cc:2193
+#: gcov.cc:2180
 #, c-format
 msgid "%s:'%s' has arcs from exit block\n"
 msgstr ""
 
-#: gcov.cc:2402
+#: gcov.cc:2389
 #, c-format
 msgid "%s:graph is unsolvable for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2518
+#: gcov.cc:2505
 #, c-format
 msgid "Lines executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2521
+#: gcov.cc:2508
 #, c-format
 msgid "No executable lines\n"
 msgstr ""
 
-#: gcov.cc:2529 gcov.cc:2538
+#: gcov.cc:2516 gcov.cc:2525
 #, c-format
 msgid "%s '%s'\n"
 msgstr ""
 
-#: gcov.cc:2545
+#: gcov.cc:2532
 #, c-format
 msgid "Branches executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2549
+#: gcov.cc:2536
 #, c-format
 msgid "Taken at least once:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2555
+#: gcov.cc:2542
 #, c-format
 msgid "No branches\n"
 msgstr ""
 
-#: gcov.cc:2557
+#: gcov.cc:2544
 #, c-format
 msgid "Calls executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2561
+#: gcov.cc:2548
 #, c-format
 msgid "No calls\n"
 msgstr ""
 
-#: gcov.cc:2781
+#: gcov.cc:2768
 #, c-format
 msgid "%s:no lines for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2907
+#: gcov.cc:2894
 #, c-format
 msgid "call   %2d returned %s\n"
 msgstr ""
 
-#: gcov.cc:2912
+#: gcov.cc:2899
 #, c-format
 msgid "call   %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:2917
+#: gcov.cc:2904
 #, c-format
 msgid "branch %2d taken %s%s"
 msgstr ""
 
-#: gcov.cc:2922
+#: gcov.cc:2909
 #, c-format
 msgid "branch %2d never executed%s"
 msgstr ""
 
-#: gcov.cc:2927
+#: gcov.cc:2914
 #, c-format
 msgid " (BB %d)"
 msgstr ""
 
-#: gcov.cc:2934
+#: gcov.cc:2921
 #, c-format
 msgid "unconditional %2d taken %s\n"
 msgstr ""
 
-#: gcov.cc:2937
+#: gcov.cc:2924
 #, c-format
 msgid "unconditional %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:3187
+#: gcov.cc:3174
 #, c-format
 msgid "Cannot open source file %s\n"
 msgstr ""
@@ -19991,134 +20558,134 @@ msgstr ""
 msgid "    inlined from %qs"
 msgstr ""
 
-#: lra-assigns.cc:1860 reload1.cc:2073
+#: lra-assigns.cc:1862 reload1.cc:2073
 msgid "this is the insn:"
 msgstr ""
 
-#: lra-constraints.cc:3216
+#: lra-constraints.cc:3266
 msgid "unable to generate reloads for impossible constraints:"
 msgstr ""
 
-#: lra-constraints.cc:4275 reload.cc:3844
+#: lra-constraints.cc:4234 reload.cc:3839
 msgid "unable to generate reloads for:"
 msgstr ""
 
 #. What to print when a switch has no documentation.
-#: opts.cc:326
+#: opts.cc:329
 msgid "This option lacks documentation."
 msgstr ""
 
-#: opts.cc:327
+#: opts.cc:330
 msgid "Uses of this option are diagnosed."
 msgstr ""
 
-#: opts.cc:1653
+#: opts.cc:1688
 #, c-format
 msgid "Same as %s%s (or, in negated form, %s%s)."
 msgstr ""
 
-#: opts.cc:1658
+#: opts.cc:1693
 #, c-format
 msgid "Same as %s%s."
 msgstr ""
 
-#: opts.cc:1663
+#: opts.cc:1698
 #, c-format
 msgid "Same as %s."
 msgstr ""
 
-#: opts.cc:1671
+#: opts.cc:1706
 #, c-format
 msgid "%s  Same as %s."
 msgstr ""
 
-#: opts.cc:1734
+#: opts.cc:1769
 msgid "[available in "
 msgstr ""
 
-#: opts.cc:1766
+#: opts.cc:1801
 msgid "[default]"
 msgstr ""
 
-#: opts.cc:1775
+#: opts.cc:1810
 #, c-format
 msgid "%llu bytes"
 msgstr ""
 
-#: opts.cc:1812
+#: opts.cc:1847
 msgid "[enabled]"
 msgstr ""
 
-#: opts.cc:1814
+#: opts.cc:1849
 msgid "[disabled]"
 msgstr ""
 
-#: opts.cc:1850
+#: opts.cc:1885
 #, c-format
 msgid " No options with the desired characteristics were found\n"
 msgstr ""
 
-#: opts.cc:1859
+#: opts.cc:1894
 #, c-format
 msgid ""
 " None found.  Use --help=%s to show *all* the options supported by the %s "
 "front-end.\n"
 msgstr ""
 
-#: opts.cc:1865
+#: opts.cc:1900
 #, c-format
 msgid ""
 " All options with the desired characteristics have already been displayed\n"
 msgstr ""
 
-#: opts.cc:1910
+#: opts.cc:1945
 #, c-format
 msgid ""
 "  Known valid arguments for %s option:\n"
 "   "
 msgstr ""
 
-#: opts.cc:1960
+#: opts.cc:1995
 msgid "The following options are target specific"
 msgstr ""
 
-#: opts.cc:1963
+#: opts.cc:1998
 msgid "The following options control compiler warning messages"
 msgstr ""
 
-#: opts.cc:1966
+#: opts.cc:2001
 msgid "The following options control optimizations"
 msgstr ""
 
-#: opts.cc:1969 opts.cc:2009
+#: opts.cc:2004 opts.cc:2044
 msgid "The following options are language-independent"
 msgstr ""
 
-#: opts.cc:1972
+#: opts.cc:2007
 msgid "The following options control parameters"
 msgstr ""
 
-#: opts.cc:1978
+#: opts.cc:2013
 msgid "The following options are specific to just the language "
 msgstr ""
 
-#: opts.cc:1980
+#: opts.cc:2015
 msgid "The following options are supported by the language "
 msgstr ""
 
-#: opts.cc:1991
+#: opts.cc:2026
 msgid "The following options are not documented"
 msgstr ""
 
-#: opts.cc:1993
+#: opts.cc:2028
 msgid "The following options take separate arguments"
 msgstr ""
 
-#: opts.cc:1995
+#: opts.cc:2030
 msgid "The following options take joined arguments"
 msgstr ""
 
-#: opts.cc:2007
+#: opts.cc:2042
 msgid "The following options are language-related"
 msgstr ""
 
@@ -20147,7 +20714,7 @@ msgid ""
 "you can reproduce it without enabling any plugins.\n"
 msgstr ""
 
-#: postreload-gcse.cc:1355
+#: postreload-gcse.cc:1356
 msgid "using simple load CSE after register allocation"
 msgstr ""
 
@@ -20173,54 +20740,54 @@ msgstr ""
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.cc:2342
+#: targhooks.cc:2374
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.cc:2357
+#: targhooks.cc:2389
 msgid "created and used with different settings of %<-fpic%>"
 msgstr ""
 
-#: targhooks.cc:2359
+#: targhooks.cc:2391
 msgid "created and used with different settings of %<-fpie%>"
 msgstr ""
 
-#: toplev.cc:310
+#: toplev.cc:313
 #, c-format
 msgid "unrecoverable error"
 msgstr ""
 
-#: toplev.cc:603
+#: toplev.cc:606
 #, c-format
 msgid ""
 "%s%s%s %sversion %s (%s)\n"
 "%s\tcompiled by GNU C version %s, "
 msgstr ""
 
-#: toplev.cc:605
+#: toplev.cc:608
 #, c-format
 msgid "%s%s%s %sversion %s (%s) compiled by CC, "
 msgstr ""
 
-#: toplev.cc:609
+#: toplev.cc:612
 #, c-format
 msgid "GMP version %s, MPFR version %s, MPC version %s, isl version %s\n"
 msgstr ""
 
-#: toplev.cc:611
+#: toplev.cc:614
 #, c-format
 msgid "%s%swarning: %s header version %s differs from library version %s.\n"
 msgstr ""
 
-#: toplev.cc:613
+#: toplev.cc:616
 #, c-format
 msgid ""
 "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 msgstr ""
 
-#: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6345
-#: c/c-typeck.cc:8033 cp/error.cc:1183 c-family/c-pretty-print.cc:426
+#: tree-diagnostic-path.cc:342 tree-diagnostic.cc:294 c/c-decl.cc:6532
+#: c/c-typeck.cc:8234 cp/error.cc:1189 c-family/c-pretty-print.cc:446
 #, gcc-internal-format
 msgid "<anonymous>"
 msgstr ""
@@ -20237,642 +20804,663 @@ msgstr ""
 msgid "field precision specifier"
 msgstr ""
 
-#: c-family/c-format.cc:569 c-family/c-format.cc:593
+#: c-family/c-format.cc:571 c-family/c-format.cc:595
 #: config/i386/msformat-c.cc:45
 msgid "' ' flag"
 msgstr ""
 
-#: c-family/c-format.cc:569 c-family/c-format.cc:593
+#: c-family/c-format.cc:571 c-family/c-format.cc:595
 #: config/i386/msformat-c.cc:45
 msgid "the ' ' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625
-#: c-family/c-format.cc:691 config/i386/msformat-c.cc:46
+#: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:627
+#: c-family/c-format.cc:693 config/i386/msformat-c.cc:46
 msgid "'+' flag"
 msgstr ""
 
-#: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625
+#: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:627
 #: config/i386/msformat-c.cc:46
 msgid "the '+' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626
-#: c-family/c-format.cc:666 config/i386/msformat-c.cc:47
+#: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:628
+#: c-family/c-format.cc:668 config/i386/msformat-c.cc:47
 #: config/i386/msformat-c.cc:82
 msgid "'#' flag"
 msgstr ""
 
-#: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626
+#: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:628
 #: config/i386/msformat-c.cc:47
 msgid "the '#' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:664
+#: c-family/c-format.cc:574 c-family/c-format.cc:598 c-family/c-format.cc:666
 #: config/i386/msformat-c.cc:48
 msgid "'0' flag"
 msgstr ""
 
-#: c-family/c-format.cc:572 c-family/c-format.cc:596
+#: c-family/c-format.cc:574 c-family/c-format.cc:598
 #: config/i386/msformat-c.cc:48
 msgid "the '0' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:663
-#: c-family/c-format.cc:694 config/i386/msformat-c.cc:49
+#: c-family/c-format.cc:575 c-family/c-format.cc:599 c-family/c-format.cc:665
+#: c-family/c-format.cc:696 config/i386/msformat-c.cc:49
 msgid "'-' flag"
 msgstr ""
 
-#: c-family/c-format.cc:573 c-family/c-format.cc:597
+#: c-family/c-format.cc:575 c-family/c-format.cc:599
 #: config/i386/msformat-c.cc:49
 msgid "the '-' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:574 c-family/c-format.cc:646
+#: c-family/c-format.cc:576 c-family/c-format.cc:648
 #: config/i386/msformat-c.cc:50 config/i386/msformat-c.cc:70
 msgid "''' flag"
 msgstr ""
 
-#: c-family/c-format.cc:574 config/i386/msformat-c.cc:50
+#: c-family/c-format.cc:576 config/i386/msformat-c.cc:50
 msgid "the ''' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:575 c-family/c-format.cc:647
+#: c-family/c-format.cc:577 c-family/c-format.cc:649
 msgid "'I' flag"
 msgstr ""
 
-#: c-family/c-format.cc:575
+#: c-family/c-format.cc:577
 msgid "the 'I' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:576 c-family/c-format.cc:598 c-family/c-format.cc:644
-#: c-family/c-format.cc:667 c-family/c-format.cc:695 config/sol2-c.cc:43
+#: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:646
+#: c-family/c-format.cc:669 c-family/c-format.cc:697 config/sol2-c.cc:43
 #: config/i386/msformat-c.cc:51 config/i386/msformat-c.cc:68
 msgid "field width"
 msgstr ""
 
-#: c-family/c-format.cc:576 c-family/c-format.cc:598 config/sol2-c.cc:43
+#: c-family/c-format.cc:578 c-family/c-format.cc:600 config/sol2-c.cc:43
 #: config/i386/msformat-c.cc:51
 msgid "field width in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628
+#: c-family/c-format.cc:579 c-family/c-format.cc:601 c-family/c-format.cc:630
 #: config/i386/msformat-c.cc:52
 msgid "precision"
 msgstr ""
 
-#: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628
+#: c-family/c-format.cc:579 c-family/c-format.cc:601 c-family/c-format.cc:630
 #: config/i386/msformat-c.cc:52
 msgid "precision in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629
-#: c-family/c-format.cc:645 c-family/c-format.cc:698 config/sol2-c.cc:44
+#: c-family/c-format.cc:580 c-family/c-format.cc:602 c-family/c-format.cc:631
+#: c-family/c-format.cc:647 c-family/c-format.cc:700 config/sol2-c.cc:44
 #: config/i386/msformat-c.cc:53 config/i386/msformat-c.cc:69
 msgid "length modifier"
 msgstr ""
 
-#: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629
+#: c-family/c-format.cc:580 c-family/c-format.cc:602 c-family/c-format.cc:631
 #: config/sol2-c.cc:44 config/i386/msformat-c.cc:53
 msgid "length modifier in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:627
+#: c-family/c-format.cc:629
 msgid "'q' flag"
 msgstr ""
 
-#: c-family/c-format.cc:627
+#: c-family/c-format.cc:629
 msgid "the 'q' diagnostic flag"
 msgstr ""
 
-#: c-family/c-format.cc:641 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:643 config/i386/msformat-c.cc:66
 msgid "assignment suppression"
 msgstr ""
 
-#: c-family/c-format.cc:641 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:643 config/i386/msformat-c.cc:66
 msgid "the assignment suppression scanf feature"
 msgstr ""
 
-#: c-family/c-format.cc:642 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:644 config/i386/msformat-c.cc:67
 msgid "'a' flag"
 msgstr ""
 
-#: c-family/c-format.cc:642 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:644 config/i386/msformat-c.cc:67
 msgid "the 'a' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:643
+#: c-family/c-format.cc:645
 msgid "'m' flag"
 msgstr ""
 
-#: c-family/c-format.cc:643
+#: c-family/c-format.cc:645
 msgid "the 'm' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:644 config/i386/msformat-c.cc:68
+#: c-family/c-format.cc:646 config/i386/msformat-c.cc:68
 msgid "field width in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:645 config/i386/msformat-c.cc:69
+#: c-family/c-format.cc:647 config/i386/msformat-c.cc:69
 msgid "length modifier in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:646 config/i386/msformat-c.cc:70
+#: c-family/c-format.cc:648 config/i386/msformat-c.cc:70
 msgid "the ''' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:647
+#: c-family/c-format.cc:649
 msgid "the 'I' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:662
+#: c-family/c-format.cc:664
 msgid "'_' flag"
 msgstr ""
 
-#: c-family/c-format.cc:662
+#: c-family/c-format.cc:664
 msgid "the '_' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:663
+#: c-family/c-format.cc:665
 msgid "the '-' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:664
+#: c-family/c-format.cc:666
 msgid "the '0' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:665 c-family/c-format.cc:690
+#: c-family/c-format.cc:667 c-family/c-format.cc:692
 msgid "'^' flag"
 msgstr ""
 
-#: c-family/c-format.cc:665
+#: c-family/c-format.cc:667
 msgid "the '^' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:666 config/i386/msformat-c.cc:82
+#: c-family/c-format.cc:668 config/i386/msformat-c.cc:82
 msgid "the '#' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:667
+#: c-family/c-format.cc:669
 msgid "field width in strftime format"
 msgstr ""
 
-#: c-family/c-format.cc:668
+#: c-family/c-format.cc:670
 msgid "'E' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:668
+#: c-family/c-format.cc:670
 msgid "the 'E' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:669
+#: c-family/c-format.cc:671
 msgid "'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:669
+#: c-family/c-format.cc:671
 msgid "the 'O' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:670 c-family/c-format.cc:671
+#: c-family/c-format.cc:672 c-family/c-format.cc:673
 msgid "the 'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:689
+#: c-family/c-format.cc:691
 msgid "fill character"
 msgstr ""
 
-#: c-family/c-format.cc:689
+#: c-family/c-format.cc:691
 msgid "fill character in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:690
+#: c-family/c-format.cc:692
 msgid "the '^' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:691
+#: c-family/c-format.cc:693
 msgid "the '+' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:692
+#: c-family/c-format.cc:694
 msgid "'(' flag"
 msgstr ""
 
-#: c-family/c-format.cc:692
+#: c-family/c-format.cc:694
 msgid "the '(' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:693
+#: c-family/c-format.cc:695
 msgid "'!' flag"
 msgstr ""
 
-#: c-family/c-format.cc:693
+#: c-family/c-format.cc:695
 msgid "the '!' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:694
+#: c-family/c-format.cc:696
 msgid "the '-' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:695
+#: c-family/c-format.cc:697
 msgid "field width in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:696
+#: c-family/c-format.cc:698
 msgid "left precision"
 msgstr ""
 
-#: c-family/c-format.cc:696
+#: c-family/c-format.cc:698
 msgid "left precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:697
+#: c-family/c-format.cc:699
 msgid "right precision"
 msgstr ""
 
-#: c-family/c-format.cc:697
+#: c-family/c-format.cc:699
 msgid "right precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:698
+#: c-family/c-format.cc:700
 msgid "length modifier in strfmon format"
 msgstr ""
 
 #. Handle deferred options from command-line.
-#: c-family/c-opts.cc:1512 fortran/cpp.cc:621
+#: c-family/c-opts.cc:1588 fortran/cpp.cc:621
 msgid "<command-line>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11985 config/loongarch/loongarch.cc:5056
+#: config/aarch64/aarch64.cc:11911 config/loongarch/loongarch.cc:6212
 #, c-format
 msgid "unsupported operand for code '%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11994 config/aarch64/aarch64.cc:12007
-#: config/aarch64/aarch64.cc:12019 config/aarch64/aarch64.cc:12030
-#: config/aarch64/aarch64.cc:12046 config/aarch64/aarch64.cc:12060
-#: config/aarch64/aarch64.cc:12080 config/aarch64/aarch64.cc:12157
-#: config/aarch64/aarch64.cc:12168 config/aarch64/aarch64.cc:12182
-#: config/aarch64/aarch64.cc:12404 config/aarch64/aarch64.cc:12424
-#: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843
+#: config/aarch64/aarch64.cc:11920 config/aarch64/aarch64.cc:11933
+#: config/aarch64/aarch64.cc:11945 config/aarch64/aarch64.cc:11956
+#: config/aarch64/aarch64.cc:11972 config/aarch64/aarch64.cc:11986
+#: config/aarch64/aarch64.cc:12006 config/aarch64/aarch64.cc:12088
+#: config/aarch64/aarch64.cc:12099 config/aarch64/aarch64.cc:12113
+#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12352
+#: config/aarch64/aarch64.cc:12369 config/pru/pru.cc:1794
+#: config/pru/pru.cc:1805 config/pru/pru.cc:1877
 #, c-format
 msgid "invalid operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12098 config/aarch64/aarch64.cc:12109
-#: config/aarch64/aarch64.cc:12264 config/aarch64/aarch64.cc:12275
-#: config/riscv/riscv.cc:4622 config/riscv/riscv.cc:4629
-#: config/riscv/riscv.cc:4636 config/riscv/riscv.cc:4640
-#: config/riscv/riscv.cc:4687 config/riscv/riscv.cc:4706
+#: config/aarch64/aarch64.cc:12024 config/aarch64/aarch64.cc:12035
+#: config/aarch64/aarch64.cc:12199 config/aarch64/aarch64.cc:12210
+#: config/riscv/riscv.cc:5801 config/riscv/riscv.cc:5809
+#: config/riscv/riscv.cc:5816 config/riscv/riscv.cc:5820
+#: config/riscv/riscv.cc:5862 config/riscv/riscv.cc:5880
 #, c-format
 msgid "invalid vector constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12121 config/aarch64/aarch64.cc:12133
+#: config/aarch64/aarch64.cc:12049
 #, c-format
 msgid "incompatible floating point / vector register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12150
+#: config/aarch64/aarch64.cc:12061
+#, c-format
+msgid "incompatible operand for '%%%c'"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:12081
 #, c-format
 msgid "incompatible register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12216 config/arm/arm.cc:24743
+#: config/aarch64/aarch64.cc:12146 config/arm/arm.cc:24757
 #, c-format
 msgid "missing operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12301
+#: config/aarch64/aarch64.cc:12236
 #, c-format
 msgid "invalid constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12304
+#: config/aarch64/aarch64.cc:12239
 #, c-format
 msgid "invalid operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12432 config/aarch64/aarch64.cc:12437
+#: config/aarch64/aarch64.cc:12377 config/aarch64/aarch64.cc:12382
 #, c-format
 msgid "invalid operand prefix '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12457
+#: config/aarch64/aarch64.cc:12402
 #, c-format
 msgid "invalid address mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27409
+#: config/aarch64/aarch64.cc:28858
 msgid "cannot combine GNU and SVE vectors in a binary operation"
 msgstr ""
 
-#: config/alpha/alpha.cc:5081 config/i386/i386.cc:13617
-#: config/rs6000/rs6000.cc:14420 config/sparc/sparc.cc:9370
+#: config/alpha/alpha.cc:5082 config/i386/i386.cc:14172
+#: config/rs6000/rs6000.cc:14665 config/sparc/sparc.cc:9362
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/alpha/alpha.cc:5139 config/bfin/bfin.cc:1428
+#: config/alpha/alpha.cc:5140 config/bfin/bfin.cc:1428
 #, c-format
 msgid "invalid %%J value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5169 config/ia64/ia64.cc:5578 config/or1k/or1k.cc:1251
+#: config/alpha/alpha.cc:5170 config/ia64/ia64.cc:5588 config/or1k/or1k.cc:1252
 #, c-format
 msgid "invalid %%r value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5179 config/ia64/ia64.cc:5532
-#: config/rs6000/rs6000.cc:14115 config/xtensa/xtensa.cc:3042
+#: config/alpha/alpha.cc:5180 config/ia64/ia64.cc:5542
+#: config/rs6000/rs6000.cc:14360 config/xtensa/xtensa.cc:3066
 #, c-format
 msgid "invalid %%R value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5185 config/rs6000/rs6000.cc:14035
-#: config/xtensa/xtensa.cc:3015
+#: config/alpha/alpha.cc:5186 config/rs6000/rs6000.cc:14280
+#: config/xtensa/xtensa.cc:3039
 #, c-format
 msgid "invalid %%N value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5193 config/rs6000/rs6000.cc:14063
+#: config/alpha/alpha.cc:5194 config/rs6000/rs6000.cc:14308
 #, c-format
 msgid "invalid %%P value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5201
+#: config/alpha/alpha.cc:5202
 #, c-format
 msgid "invalid %%h value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5209 config/xtensa/xtensa.cc:3035
+#: config/alpha/alpha.cc:5210 config/xtensa/xtensa.cc:3059
 #, c-format
 msgid "invalid %%L value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5228
+#: config/alpha/alpha.cc:5229
 #, c-format
 msgid "invalid %%m value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5234
+#: config/alpha/alpha.cc:5235
 #, c-format
 msgid "invalid %%M value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5271
+#: config/alpha/alpha.cc:5272
 #, c-format
 msgid "invalid %%U value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5279 config/rs6000/rs6000.cc:14123
+#: config/alpha/alpha.cc:5280 config/rs6000/rs6000.cc:14368
 #, c-format
 msgid "invalid %%s value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5290
+#: config/alpha/alpha.cc:5291
 #, c-format
 msgid "invalid %%C value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5327 config/rs6000/rs6000.cc:13899
+#: config/alpha/alpha.cc:5328 config/rs6000/rs6000.cc:14144
 #, c-format
 msgid "invalid %%E value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5352 config/alpha/alpha.cc:5402
+#: config/alpha/alpha.cc:5353 config/alpha/alpha.cc:5403
 #, c-format
 msgid "unknown relocation unspec"
 msgstr ""
 
-#: config/alpha/alpha.cc:5361 config/gcn/gcn.cc:7214 config/gcn/gcn.cc:7223
-#: config/gcn/gcn.cc:7283 config/gcn/gcn.cc:7291 config/gcn/gcn.cc:7307
-#: config/gcn/gcn.cc:7325 config/gcn/gcn.cc:7376 config/gcn/gcn.cc:7495
-#: config/gcn/gcn.cc:7612 config/rs6000/rs6000.cc:14425
+#: config/alpha/alpha.cc:5362 config/gcn/gcn.cc:7349 config/gcn/gcn.cc:7358
+#: config/gcn/gcn.cc:7418 config/gcn/gcn.cc:7426 config/gcn/gcn.cc:7442
+#: config/gcn/gcn.cc:7460 config/gcn/gcn.cc:7511 config/gcn/gcn.cc:7630
+#: config/gcn/gcn.cc:7747 config/rs6000/rs6000.cc:14670
 #, c-format
 msgid "invalid %%xn code"
 msgstr ""
 
-#: config/alpha/alpha.cc:5467
+#: config/alpha/alpha.cc:5468
 #, c-format
 msgid "invalid operand address"
 msgstr ""
 
-#: config/arc/arc.cc:4547
+#: config/arc/arc.cc:4900
 #, c-format
 msgid "invalid operand to %%Z code"
 msgstr ""
 
-#: config/arc/arc.cc:4555
+#: config/arc/arc.cc:4908
 #, c-format
 msgid "invalid operand to %%z code"
 msgstr ""
 
-#: config/arc/arc.cc:4563
+#: config/arc/arc.cc:4916
 #, c-format
 msgid "invalid operands to %%c code"
 msgstr ""
 
-#: config/arc/arc.cc:4571
+#: config/arc/arc.cc:4924
 #, c-format
 msgid "invalid operand to %%M code"
 msgstr ""
 
-#: config/arc/arc.cc:4579 config/m32r/m32r.cc:2087
+#: config/arc/arc.cc:4932 config/m32r/m32r.cc:2087
 #, c-format
 msgid "invalid operand to %%p code"
 msgstr ""
 
-#: config/arc/arc.cc:4590 config/m32r/m32r.cc:2080
+#: config/arc/arc.cc:4940
+#, c-format
+msgid "invalid operand for %%s code"
+msgstr ""
+
+#: config/arc/arc.cc:4958
+#, c-format
+msgid "invalid operand for %%N code"
+msgstr ""
+
+#: config/arc/arc.cc:4971
+#, c-format
+msgid "invalid operand for %%N or %%S code"
+msgstr ""
+
+#: config/arc/arc.cc:4993 config/m32r/m32r.cc:2080
 #, c-format
 msgid "invalid operand to %%s code"
 msgstr ""
 
-#: config/arc/arc.cc:4738 config/m32r/m32r.cc:2113
+#: config/arc/arc.cc:5113 config/m32r/m32r.cc:2113
 #, c-format
 msgid "invalid operand to %%R code"
 msgstr ""
 
-#: config/arc/arc.cc:4814 config/m32r/m32r.cc:2136
+#: config/arc/arc.cc:5189 config/m32r/m32r.cc:2136
 #, c-format
 msgid "invalid operand to %%H/%%L code"
 msgstr ""
 
-#: config/arc/arc.cc:4882 config/m32r/m32r.cc:2207
+#: config/arc/arc.cc:5257 config/m32r/m32r.cc:2207
 #, c-format
 msgid "invalid operand to %%U code"
 msgstr ""
 
-#: config/arc/arc.cc:4894
+#: config/arc/arc.cc:5269
 #, c-format
 msgid "invalid operand to %%V code"
 msgstr ""
 
-#: config/arc/arc.cc:4951
+#: config/arc/arc.cc:5319
 #, c-format
 msgid "invalid operand to %%O code"
 msgstr ""
 
 #. Unknown flag.
 #. Undocumented flag.
-#: config/arc/arc.cc:4977 config/epiphany/epiphany.cc:1309
-#: config/m32r/m32r.cc:2234 config/nds32/nds32.cc:3520
-#: config/sparc/sparc.cc:9649
+#: config/arc/arc.cc:5342 config/epiphany/epiphany.cc:1308
+#: config/m32r/m32r.cc:2234 config/nds32/nds32.cc:3518
+#: config/sparc/sparc.cc:9641
 #, c-format
 msgid "invalid operand output code"
 msgstr ""
 
-#: config/arc/arc.cc:6495
+#: config/arc/arc.cc:6395
 #, c-format
 msgid "invalid UNSPEC as operand: %d"
 msgstr ""
 
-#: config/arc/arc.cc:6711
+#: config/arc/arc.cc:6611
 msgid "unrecognized supposed constant"
 msgstr ""
 
-#: config/arm/arm.cc:21031 config/arm/arm.cc:21056 config/arm/arm.cc:21066
-#: config/arm/arm.cc:21075 config/arm/arm.cc:21084
+#: config/arm/arm.cc:21045 config/arm/arm.cc:21070 config/arm/arm.cc:21080
+#: config/arm/arm.cc:21089 config/arm/arm.cc:21098
 #, c-format
 msgid "invalid shift operand"
 msgstr ""
 
-#: config/arm/arm.cc:23993 config/arm/arm.cc:24011
+#: config/arm/arm.cc:24007 config/arm/arm.cc:24025
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr ""
 
-#: config/arm/arm.cc:23999
+#: config/arm/arm.cc:24013
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.cc:24120 config/arm/arm.cc:24133 config/arm/arm.cc:24158
-#: config/nios2/nios2.cc:3084
+#: config/arm/arm.cc:24134 config/arm/arm.cc:24147 config/arm/arm.cc:24172
+#: config/nios2/nios2.cc:3085
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:24235 config/arm/arm.cc:24257 config/arm/arm.cc:24267
-#: config/arm/arm.cc:24277 config/arm/arm.cc:24287 config/arm/arm.cc:24326
-#: config/arm/arm.cc:24344 config/arm/arm.cc:24362 config/arm/arm.cc:24389
-#: config/arm/arm.cc:24404 config/arm/arm.cc:24431 config/arm/arm.cc:24438
-#: config/arm/arm.cc:24456 config/arm/arm.cc:24463 config/arm/arm.cc:24471
-#: config/arm/arm.cc:24492 config/arm/arm.cc:24499 config/arm/arm.cc:24690
-#: config/arm/arm.cc:24697 config/arm/arm.cc:24724 config/arm/arm.cc:24731
+#: config/arm/arm.cc:24249 config/arm/arm.cc:24271 config/arm/arm.cc:24281
+#: config/arm/arm.cc:24291 config/arm/arm.cc:24301 config/arm/arm.cc:24340
+#: config/arm/arm.cc:24358 config/arm/arm.cc:24376 config/arm/arm.cc:24403
+#: config/arm/arm.cc:24418 config/arm/arm.cc:24445 config/arm/arm.cc:24452
+#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24485
+#: config/arm/arm.cc:24506 config/arm/arm.cc:24513 config/arm/arm.cc:24704
+#: config/arm/arm.cc:24711 config/arm/arm.cc:24738 config/arm/arm.cc:24745
 #: 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:3546
+#: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 config/nds32/nds32.cc:3544
 #, c-format
 msgid "invalid operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:24339
+#: config/arm/arm.cc:24353
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
 #. Former Maverick support, removed after GCC-4.7.
-#: config/arm/arm.cc:24380
+#: config/arm/arm.cc:24394
 #, c-format
 msgid "obsolete Maverick format code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:34292
+#: config/arm/arm.cc:34364
 msgid "invalid conversion from type %<bfloat16_t%>"
 msgstr ""
 
-#: config/arm/arm.cc:34294
+#: config/arm/arm.cc:34366
 msgid "invalid conversion to type %<bfloat16_t%>"
 msgstr ""
 
-#: config/arm/arm.cc:34309 config/arm/arm.cc:34325
+#: config/arm/arm.cc:34381 config/arm/arm.cc:34397
 msgid "operation not permitted on type %<bfloat16_t%>"
 msgstr ""
 
-#: config/avr/avr.cc:2997
+#: config/avr/avr.cc:3013
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.cc:3180
+#: config/avr/avr.cc:3196
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.cc:3230 config/avr/avr.cc:3297
+#: config/avr/avr.cc:3246 config/avr/avr.cc:3313
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.cc:3239
+#: config/avr/avr.cc:3255
 msgid "bad address, not a constant:"
 msgstr ""
 
-#: config/avr/avr.cc:3257 config/avr/avr.cc:3264
+#: config/avr/avr.cc:3273 config/avr/avr.cc:3280
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.cc:3271
+#: config/avr/avr.cc:3287
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.cc:3283
+#: config/avr/avr.cc:3299
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.cc:3316
+#: config/avr/avr.cc:3332
 #, c-format
 msgid "Unsupported code '%c' for fixed-point:"
 msgstr ""
 
-#: config/avr/avr.cc:3324
+#: config/avr/avr.cc:3340
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.cc:4199 config/avr/avr.cc:5143 config/avr/avr.cc:5590
+#: config/avr/avr.cc:4215 config/avr/avr.cc:5159 config/avr/avr.cc:5606
 msgid "invalid insn:"
 msgstr ""
 
-#: config/avr/avr.cc:4253 config/avr/avr.cc:4365 config/avr/avr.cc:4423
-#: config/avr/avr.cc:4475 config/avr/avr.cc:4494 config/avr/avr.cc:4686
-#: config/avr/avr.cc:4994 config/avr/avr.cc:5279 config/avr/avr.cc:5483
-#: config/avr/avr.cc:5647 config/avr/avr.cc:5740 config/avr/avr.cc:5939
+#: config/avr/avr.cc:4269 config/avr/avr.cc:4381 config/avr/avr.cc:4439
+#: config/avr/avr.cc:4491 config/avr/avr.cc:4510 config/avr/avr.cc:4702
+#: config/avr/avr.cc:5010 config/avr/avr.cc:5295 config/avr/avr.cc:5499
+#: config/avr/avr.cc:5663 config/avr/avr.cc:5756 config/avr/avr.cc:5955
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.cc:4510 config/avr/avr.cc:4785 config/avr/avr.cc:5065
-#: config/avr/avr.cc:5351 config/avr/avr.cc:5529 config/avr/avr.cc:5796
-#: config/avr/avr.cc:5997
+#: config/avr/avr.cc:4526 config/avr/avr.cc:4801 config/avr/avr.cc:5081
+#: config/avr/avr.cc:5367 config/avr/avr.cc:5545 config/avr/avr.cc:5812
+#: config/avr/avr.cc:6013
 msgid "unknown move insn:"
 msgstr ""
 
-#: config/avr/avr.cc:6605
+#: config/avr/avr.cc:6621
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.cc:6713 config/avr/avr.cc:7196 config/avr/avr.cc:7613
+#: config/avr/avr.cc:6729 config/avr/avr.cc:7212 config/avr/avr.cc:7629
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
-#: config/avr/avr.cc:9267
+#: config/avr/avr.cc:9283
 msgid "unsupported fixed-point conversion"
 msgstr ""
 
-#: config/avr/avr.cc:10643
+#: config/avr/avr.cc:10665
 msgid "variable"
 msgstr ""
 
-#: config/avr/avr.cc:10648
+#: config/avr/avr.cc:10670
 msgid "function parameter"
 msgstr ""
 
-#: config/avr/avr.cc:10653
+#: config/avr/avr.cc:10675
 msgid "structure field"
 msgstr ""
 
-#: config/avr/avr.cc:10659
+#: config/avr/avr.cc:10681
 msgid "return type of function"
 msgstr ""
 
-#: config/avr/avr.cc:10664
+#: config/avr/avr.cc:10686
 msgid "pointer"
 msgstr ""
 
@@ -20893,104 +21481,106 @@ msgstr ""
 msgid "invalid const_double operand"
 msgstr ""
 
-#: config/bpf/bpf.cc:960
+#: config/bpf/bpf.cc:884
 msgid "invalid address in operand"
 msgstr ""
 
 #. Fallthrough.
-#: config/bpf/bpf.cc:967
+#: config/bpf/bpf.cc:891
 msgid "unsupported operand"
 msgstr ""
 
 #. Format punctuators via %s to avoid -Wformat-diag.
-#: config/cris/cris.cc:776 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
-#: final.cc:3188 final.cc:3190 fold-const.cc:347 gcc.cc:6184 gcc.cc:6198
-#: rtl-error.cc:101 toplev.cc:314 cp/logic.cc:312 cp/logic.cc:314
-#: cp/typeck.cc:7635 d/d-convert.cc:237 go/go-gcc-diagnostics.cc:28
+#: config/cris/cris.cc:779 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
+#: final.cc:3187 final.cc:3189 fold-const.cc:348 gcc.cc:6261 gcc.cc:6275
+#: rtl-error.cc:101 toplev.cc:317 cp/logic.cc:312 cp/logic.cc:314
+#: cp/typeck.cc:7750 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 lto/lto-object.cc:358 m2/gm2-gcc/m2linemap.cc:182
 #: m2/gm2-gcc/m2linemap.cc:253 m2/gm2-gcc/m2linemap.cc:362
-#: rust/rust-gcc-diagnostics.cc:31 rust/rust-gcc-diagnostics.cc:40
-#: rust/rust-gcc-diagnostics.cc:48 rust/rust-gcc-diagnostics.cc:55
-#: rust/rust-gcc-diagnostics.cc:62 rust/rust-gcc-diagnostics.cc:70
+#: rust/rust-diagnostics.cc:164 rust/rust-diagnostics.cc:182
+#: rust/rust-diagnostics.cc:243 rust/rust-diagnostics.cc:266
+#: rust/rust-diagnostics.cc:287 rust/rust-diagnostics.cc:306
+#: rust/rust-diagnostics.cc:322 rust/rust-diagnostics.cc:338
+#: rust/rust-diagnostics.cc:357 rust/rust-diagnostics.cc:373
 #, gcc-internal-format, gfc-internal-format
 msgid "%s"
 msgstr ""
 
-#: config/cris/cris.cc:827
+#: config/cris/cris.cc:830
 msgid "unexpected index-type in cris_print_index"
 msgstr ""
 
-#: config/cris/cris.cc:841
+#: config/cris/cris.cc:844
 msgid "unexpected base-type in cris_print_base"
 msgstr ""
 
-#: config/cris/cris.cc:896
+#: config/cris/cris.cc:899
 msgid "invalid operand for 'b' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:913
+#: config/cris/cris.cc:916
 msgid "invalid operand for 'o' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:932
+#: config/cris/cris.cc:935
 msgid "invalid operand for 'O' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:965
+#: config/cris/cris.cc:968
 msgid "invalid operand for 'p' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1004
+#: config/cris/cris.cc:1007
 msgid "invalid operand for 'z' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1051 config/cris/cris.cc:1085
+#: config/cris/cris.cc:1054 config/cris/cris.cc:1088
 msgid "invalid operand for 'H' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1061
+#: config/cris/cris.cc:1064
 msgid "bad register"
 msgstr ""
 
-#: config/cris/cris.cc:1105
+#: config/cris/cris.cc:1108
 msgid "invalid operand for 'e' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1122
+#: config/cris/cris.cc:1125
 msgid "invalid operand for 'm' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1147
+#: config/cris/cris.cc:1150
 msgid "invalid operand for 'A' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1202
+#: config/cris/cris.cc:1205
 msgid "invalid operand for 'D' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1219 config/cris/cris.cc:1224
+#: config/cris/cris.cc:1222 config/cris/cris.cc:1227
 msgid "invalid operand for 'T' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1235 config/ft32/ft32.cc:236 config/moxie/moxie.cc:178
+#: config/cris/cris.cc:1238 config/ft32/ft32.cc:236 config/moxie/moxie.cc:178
 msgid "invalid operand modifier letter"
 msgstr ""
 
-#: config/cris/cris.cc:1287
+#: config/cris/cris.cc:1290
 msgid "unexpected multiplicative operand"
 msgstr ""
 
-#: config/cris/cris.cc:1307 config/ft32/ft32.cc:259 config/moxie/moxie.cc:203
+#: config/cris/cris.cc:1310 config/ft32/ft32.cc:259 config/moxie/moxie.cc:203
 msgid "unexpected operand"
 msgstr ""
 
-#: config/cris/cris.cc:1346 config/cris/cris.cc:1356
+#: config/cris/cris.cc:1349 config/cris/cris.cc:1359
 msgid "unrecognized address"
 msgstr ""
 
-#: config/cris/cris.cc:2565 config/cris/cris.cc:2618
+#: config/cris/cris.cc:2591 config/cris/cris.cc:2644
 msgid "unexpected side-effects in address"
 msgstr ""
 
@@ -21040,103 +21630,103 @@ msgstr ""
 msgid "fr30_print_operand: unhandled MEM"
 msgstr ""
 
-#: config/frv/frv.cc:2491
+#: config/frv/frv.cc:2492
 msgid "bad insn to frv_print_operand_address:"
 msgstr ""
 
-#: config/frv/frv.cc:2502
+#: config/frv/frv.cc:2503
 msgid "bad register to frv_print_operand_memory_reference_reg:"
 msgstr ""
 
-#: config/frv/frv.cc:2541 config/frv/frv.cc:2551 config/frv/frv.cc:2560
-#: config/frv/frv.cc:2581 config/frv/frv.cc:2586
+#: config/frv/frv.cc:2542 config/frv/frv.cc:2552 config/frv/frv.cc:2561
+#: config/frv/frv.cc:2582 config/frv/frv.cc:2587
 msgid "bad insn to frv_print_operand_memory_reference:"
 msgstr ""
 
-#: config/frv/frv.cc:2671
+#: config/frv/frv.cc:2672
 #, c-format
 msgid "bad condition code"
 msgstr ""
 
-#: config/frv/frv.cc:2745
+#: config/frv/frv.cc:2746
 msgid "bad insn in frv_print_operand, bad const_double"
 msgstr ""
 
-#: config/frv/frv.cc:2806
+#: config/frv/frv.cc:2807
 msgid "bad insn to frv_print_operand, 'e' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2814
+#: config/frv/frv.cc:2815
 msgid "bad insn to frv_print_operand, 'F' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2830
+#: config/frv/frv.cc:2831
 msgid "bad insn to frv_print_operand, 'f' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2844
+#: config/frv/frv.cc:2845
 msgid "bad insn to frv_print_operand, 'g' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2892
+#: config/frv/frv.cc:2893
 msgid "bad insn to frv_print_operand, 'L' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2905
+#: config/frv/frv.cc:2906
 msgid "bad insn to frv_print_operand, 'M/N' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2926
+#: config/frv/frv.cc:2927
 msgid "bad insn to frv_print_operand, 'O' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2944
+#: config/frv/frv.cc:2945
 msgid "bad insn to frv_print_operand, P modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2964
+#: config/frv/frv.cc:2965
 msgid "bad insn in frv_print_operand, z case"
 msgstr ""
 
-#: config/frv/frv.cc:2995
+#: config/frv/frv.cc:2996
 msgid "bad insn in frv_print_operand, 0 case"
 msgstr ""
 
-#: config/frv/frv.cc:3000
+#: config/frv/frv.cc:3001
 msgid "frv_print_operand: unknown code"
 msgstr ""
 
-#: config/frv/frv.cc:4374
+#: config/frv/frv.cc:4375
 msgid "bad output_move_single operand"
 msgstr ""
 
-#: config/frv/frv.cc:4501
+#: config/frv/frv.cc:4502
 msgid "bad output_move_double operand"
 msgstr ""
 
-#: config/frv/frv.cc:4643
+#: config/frv/frv.cc:4644
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/gcn/gcn.cc:6896 config/gcn/gcn.cc:6916 config/gcn/gcn.cc:6920
-#: config/gcn/gcn.cc:7256 config/gcn/gcn.cc:7267 config/gcn/gcn.cc:7270
+#: config/gcn/gcn.cc:7031 config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7055
+#: config/gcn/gcn.cc:7391 config/gcn/gcn.cc:7402 config/gcn/gcn.cc:7405
 #, c-format
 msgid "bad ADDR_SPACE_GLOBAL address"
 msgstr ""
 
-#: config/gcn/gcn.cc:7036 config/gcn/gcn.cc:7059 config/gcn/gcn.cc:7091
-#: config/gcn/gcn.cc:7107 config/gcn/gcn.cc:7122 config/gcn/gcn.cc:7141
-#: config/gcn/gcn.cc:7205 config/gcn/gcn.cc:7401 config/gcn/gcn.cc:7516
+#: config/gcn/gcn.cc:7171 config/gcn/gcn.cc:7194 config/gcn/gcn.cc:7226
+#: config/gcn/gcn.cc:7242 config/gcn/gcn.cc:7257 config/gcn/gcn.cc:7276
+#: config/gcn/gcn.cc:7340 config/gcn/gcn.cc:7536 config/gcn/gcn.cc:7651
 #, c-format
 msgid "invalid operand %%xn code"
 msgstr ""
 
-#: config/gcn/gcn.cc:7504
+#: config/gcn/gcn.cc:7639
 #, c-format
 msgid "operand %%xn code invalid for QImode"
 msgstr ""
 
-#: config/gcn/gcn.cc:7592
+#: config/gcn/gcn.cc:7727
 #, c-format
 msgid "invalid fp constant"
 msgstr ""
@@ -21148,158 +21738,158 @@ msgstr ""
 msgid "Expected register or constant integer."
 msgstr ""
 
-#: config/i386/i386.cc:12435
+#: config/i386/i386.cc:12990
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.cc:12974
+#: config/i386/i386.cc:13529
 #, c-format
 msgid "invalid use of register '%s'"
 msgstr ""
 
-#: config/i386/i386.cc:12979
+#: config/i386/i386.cc:13534
 #, c-format
 msgid "invalid use of asm flag output"
 msgstr ""
 
-#: config/i386/i386.cc:13212
+#: config/i386/i386.cc:13767
 #, c-format
 msgid "invalid operand size for operand code 'O'"
 msgstr ""
 
-#: config/i386/i386.cc:13247
+#: config/i386/i386.cc:13802
 #, c-format
 msgid "invalid operand size for operand code 'z'"
 msgstr ""
 
-#: config/i386/i386.cc:13322
+#: config/i386/i386.cc:13877
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13327
+#: config/i386/i386.cc:13882
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13405
+#: config/i386/i386.cc:13960
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.cc:13484
+#: config/i386/i386.cc:14039
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.cc:13502
+#: config/i386/i386.cc:14057
 #, c-format
 msgid "operand is not a condition code, invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13515
+#: config/i386/i386.cc:14070
 #, c-format
 msgid ""
 "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.cc:13530
+#: config/i386/i386.cc:14085
 #, c-format
 msgid "operand is not an integer, invalid operand code 'K'"
 msgstr ""
 
-#: config/i386/i386.cc:13558
+#: config/i386/i386.cc:14113
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'r'"
 msgstr ""
 
-#: config/i386/i386.cc:13576
+#: config/i386/i386.cc:14131
 #, c-format
 msgid "operand is not an integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:13599
+#: config/i386/i386.cc:14154
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:13703
+#: config/i386/i386.cc:14258
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13765 config/i386/i386.cc:14154
+#: config/i386/i386.cc:14320 config/i386/i386.cc:14709
 #, c-format
 msgid "invalid constraints for operand"
 msgstr ""
 
-#: config/i386/i386.cc:13866
+#: config/i386/i386.cc:14421
 #, c-format
 msgid "invalid vector immediate"
 msgstr ""
 
-#: config/i386/i386.cc:16978
+#: config/i386/i386.cc:17541
 msgid "unknown insn mode"
 msgstr ""
 
-#: config/i386/i386.cc:22822
+#: config/i386/i386.cc:23578
 msgid "invalid conversion from type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:22825
+#: config/i386/i386.cc:23581
 msgid "invalid conversion from type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:22828
+#: config/i386/i386.cc:23584
 msgid "invalid conversion to type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:22831
+#: config/i386/i386.cc:23587
 msgid "invalid conversion to type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:22869 config/i386/i386.cc:22894
+#: config/i386/i386.cc:23625 config/i386/i386.cc:23650
 msgid "operation not permitted on type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:22872 config/i386/i386.cc:22898
+#: config/i386/i386.cc:23628 config/i386/i386.cc:23654
 msgid "operation not permitted on type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:5460
+#: config/ia64/ia64.cc:5470
 #, c-format
 msgid "invalid %%G mode"
 msgstr ""
 
-#: config/ia64/ia64.cc:5631
+#: config/ia64/ia64.cc:5641
 #, c-format
 msgid "ia64_print_operand: unknown code"
 msgstr ""
 
-#: config/ia64/ia64.cc:11255
+#: config/ia64/ia64.cc:11265
 msgid "invalid conversion from %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11258
+#: config/ia64/ia64.cc:11268
 msgid "invalid conversion to %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11271 config/ia64/ia64.cc:11282
+#: config/ia64/ia64.cc:11281 config/ia64/ia64.cc:11292
 msgid "invalid operation on %<__fpreg%>"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3121
+#: config/iq2000/iq2000.cc:3123
 #, c-format
 msgid "invalid %%P operand"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3129 config/rs6000/rs6000.cc:14053
+#: config/iq2000/iq2000.cc:3131 config/rs6000/rs6000.cc:14298
 #, c-format
 msgid "invalid %%p value"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3188
+#: config/iq2000/iq2000.cc:3190
 #, c-format
 msgid "invalid use of %%d, %%x, or %%X"
 msgstr ""
@@ -21321,26 +21911,29 @@ msgstr ""
 msgid "invalid addressing mode"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:4818 config/loongarch/loongarch.cc:4840
-#: config/loongarch/loongarch.cc:5184 config/mips/mips.cc:9200
-#: config/mips/mips.cc:9227 config/mips/mips.cc:9410
+#: config/loongarch/loongarch.cc:5945 config/loongarch/loongarch.cc:5967
+#: config/loongarch/loongarch.cc:6355 config/mips/mips.cc:9233
+#: config/mips/mips.cc:9260 config/mips/mips.cc:9443
 #, c-format
 msgid "'%%%c' is not a valid operand prefix"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:5068 config/loongarch/loongarch.cc:5106
-#: config/loongarch/loongarch.cc:5141 config/loongarch/loongarch.cc:5144
-#: config/loongarch/loongarch.cc:5156 config/loongarch/loongarch.cc:5163
-#: config/loongarch/loongarch.cc:5173 config/loongarch/loongarch.cc:5176
-#: config/loongarch/loongarch.cc:5200 config/loongarch/loongarch.cc:5215
-#: config/loongarch/loongarch.cc:5224 config/mips/mips.cc:9299
-#: config/mips/mips.cc:9306 config/mips/mips.cc:9313 config/mips/mips.cc:9320
-#: config/mips/mips.cc:9333 config/mips/mips.cc:9340 config/mips/mips.cc:9350
-#: config/mips/mips.cc:9353 config/mips/mips.cc:9365 config/mips/mips.cc:9368
-#: config/mips/mips.cc:9428 config/mips/mips.cc:9435 config/mips/mips.cc:9456
-#: config/mips/mips.cc:9471 config/mips/mips.cc:9490 config/mips/mips.cc:9499
-#: config/riscv/riscv.cc:4472 config/riscv/riscv.cc:4778
-#: config/riscv/riscv.cc:4784 config/riscv/riscv.cc:4793
+#: config/loongarch/loongarch.cc:6204 config/loongarch/loongarch.cc:6224
+#: config/loongarch/loongarch.cc:6270 config/loongarch/loongarch.cc:6277
+#: config/loongarch/loongarch.cc:6312 config/loongarch/loongarch.cc:6315
+#: config/loongarch/loongarch.cc:6327 config/loongarch/loongarch.cc:6334
+#: config/loongarch/loongarch.cc:6344 config/loongarch/loongarch.cc:6347
+#: config/loongarch/loongarch.cc:6368 config/loongarch/loongarch.cc:6375
+#: config/loongarch/loongarch.cc:6402 config/loongarch/loongarch.cc:6413
+#: config/loongarch/loongarch.cc:6428 config/loongarch/loongarch.cc:6437
+#: config/mips/mips.cc:9332 config/mips/mips.cc:9339 config/mips/mips.cc:9346
+#: config/mips/mips.cc:9353 config/mips/mips.cc:9366 config/mips/mips.cc:9373
+#: config/mips/mips.cc:9383 config/mips/mips.cc:9386 config/mips/mips.cc:9398
+#: config/mips/mips.cc:9401 config/mips/mips.cc:9461 config/mips/mips.cc:9468
+#: config/mips/mips.cc:9489 config/mips/mips.cc:9504 config/mips/mips.cc:9523
+#: config/mips/mips.cc:9532 config/riscv/riscv.cc:5605
+#: config/riscv/riscv.cc:5980 config/riscv/riscv.cc:5986
+#: config/riscv/riscv.cc:6002 config/riscv/riscv.cc:6013
 #, c-format
 msgid "invalid use of '%%%c'"
 msgstr ""
@@ -21372,7 +21965,7 @@ msgid "post-increment address is not a register"
 msgstr ""
 
 #: config/m32r/m32r.cc:2337 config/m32r/m32r.cc:2352
-#: config/rs6000/rs6000.cc:20766
+#: config/rs6000/rs6000.cc:21023
 msgid "bad address"
 msgstr ""
 
@@ -21405,7 +21998,7 @@ msgid "insn contains an invalid address !"
 msgstr ""
 
 #: config/microblaze/microblaze.cc:2408 config/microblaze/microblaze.cc:2638
-#: config/xtensa/xtensa.cc:3139
+#: config/xtensa/xtensa.cc:3163
 msgid "invalid address"
 msgstr ""
 
@@ -21414,44 +22007,44 @@ msgstr ""
 msgid "letter %c was found & insn was not CONST_INT"
 msgstr ""
 
-#: config/mmix/mmix.cc:1633 config/mmix/mmix.cc:1754
+#: config/mmix/mmix.cc:1635 config/mmix/mmix.cc:1756
 msgid "MMIX Internal: Expected a CONST_INT, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1712
+#: config/mmix/mmix.cc:1714
 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
 msgstr ""
 
-#: config/mmix/mmix.cc:1722
+#: config/mmix/mmix.cc:1724
 msgid "MMIX Internal: Expected a register, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1732
+#: config/mmix/mmix.cc:1734
 msgid "MMIX Internal: Expected a constant, not this"
 msgstr ""
 
 #. We need the original here.
-#: config/mmix/mmix.cc:1816
+#: config/mmix/mmix.cc:1818
 msgid "MMIX Internal: Cannot decode this operand"
 msgstr ""
 
-#: config/mmix/mmix.cc:1875
+#: config/mmix/mmix.cc:1877
 msgid "MMIX Internal: This is not a recognized address"
 msgstr ""
 
-#: config/mmix/mmix.cc:2767
+#: config/mmix/mmix.cc:2769
 msgid "MMIX Internal: Trying to output invalidly reversed condition:"
 msgstr ""
 
-#: config/mmix/mmix.cc:2774
+#: config/mmix/mmix.cc:2776
 msgid "MMIX Internal: What's the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2778
+#: config/mmix/mmix.cc:2780
 msgid "MMIX Internal: What is the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2820
+#: config/mmix/mmix.cc:2822
 msgid "MMIX Internal: This is not a constant:"
 msgstr ""
 
@@ -21472,67 +22065,67 @@ msgstr ""
 msgid "invalid zero extract"
 msgstr ""
 
-#: config/or1k/or1k.cc:1156 config/or1k/or1k.cc:1164
+#: config/or1k/or1k.cc:1157 config/or1k/or1k.cc:1165
 #, c-format
 msgid "invalid relocation"
 msgstr ""
 
-#: config/or1k/or1k.cc:1258
+#: config/or1k/or1k.cc:1259
 #, c-format
 msgid "invalid %%H value"
 msgstr ""
 
-#: config/or1k/or1k.cc:1271 config/xtensa/xtensa.cc:3056
+#: config/or1k/or1k.cc:1272 config/xtensa/xtensa.cc:3080
 #, c-format
 msgid "invalid %%d value"
 msgstr ""
 
-#: config/or1k/or1k.cc:1319
+#: config/or1k/or1k.cc:1320
 #, c-format
 msgid "unknown operand letter: '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1711 config/pru/pru.cc:1722
+#: config/pru/pru.cc:1745 config/pru/pru.cc:1756
 #, c-format
 msgid "I/O register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1728
+#: config/pru/pru.cc:1762
 #, c-format
 msgid "non 32 bit register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1813
+#: config/pru/pru.cc:1847
 #, c-format
 msgid "unsupported code '%c' for fixed-point:"
 msgstr ""
 
-#: config/pru/pru.cc:1827
+#: config/pru/pru.cc:1861
 #, c-format
 msgid "double constants not supported"
 msgstr ""
 
-#: config/pru/pru.cc:1910
+#: config/pru/pru.cc:1944
 #, c-format
 msgid "unsupported operand %s for code '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1920
+#: config/pru/pru.cc:1954
 #, c-format
 msgid "unexpected text address:"
 msgstr ""
 
-#: config/pru/pru.cc:1939
+#: config/pru/pru.cc:1973
 #, c-format
 msgid "unsupported constant address:"
 msgstr ""
 
-#: config/pru/pru.cc:2000
+#: config/pru/pru.cc:2034
 #, c-format
 msgid "unsupported memory expression:"
 msgstr ""
 
-#: config/riscv/riscv.cc:4603
+#: config/riscv/riscv.cc:5782
 #, c-format
 msgid "invalid vector operand"
 msgstr ""
@@ -21552,270 +22145,270 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3811
+#: config/rs6000/rs6000.cc:3822
 msgid "%<-mvsx%> requires hardware floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3819
+#: config/rs6000/rs6000.cc:3830
 msgid "%<-mvsx%> needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3824
+#: config/rs6000/rs6000.cc:3835
 msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3826
+#: config/rs6000/rs6000.cc:3837
 msgid "%<-mno-altivec%> disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3975
+#: config/rs6000/rs6000.cc:3986
 msgid "%<-mquad-memory%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3978
+#: config/rs6000/rs6000.cc:3989
 msgid "%<-mquad-memory-atomic%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3990
+#: config/rs6000/rs6000.cc:4001
 msgid "%<-mquad-memory%> is not available in little endian mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:11143
+#: config/rs6000/rs6000.cc:11388
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13683
+#: config/rs6000/rs6000.cc:13928
 msgid "Bad 128-bit move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13863
+#: config/rs6000/rs6000.cc:14108
 #, c-format
 msgid "invalid %%A value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13872 config/xtensa/xtensa.cc:2991
+#: config/rs6000/rs6000.cc:14117 config/xtensa/xtensa.cc:3015
 #, c-format
 msgid "invalid %%D value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13887
+#: config/rs6000/rs6000.cc:14132
 #, c-format
 msgid "invalid %%e value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13908
+#: config/rs6000/rs6000.cc:14153
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13917
+#: config/rs6000/rs6000.cc:14162
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13926
+#: config/rs6000/rs6000.cc:14171
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13961
+#: config/rs6000/rs6000.cc:14206
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13971
+#: config/rs6000/rs6000.cc:14216
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13981
+#: config/rs6000/rs6000.cc:14226
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13996 config/xtensa/xtensa.cc:3028
+#: config/rs6000/rs6000.cc:14241 config/xtensa/xtensa.cc:3052
 #, c-format
 msgid "invalid %%K value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14043
+#: config/rs6000/rs6000.cc:14288
 #, c-format
 msgid "invalid %%O value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14090
+#: config/rs6000/rs6000.cc:14335
 #, c-format
 msgid "invalid %%q value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14132
+#: config/rs6000/rs6000.cc:14377
 #, c-format
 msgid "invalid %%t value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14149
+#: config/rs6000/rs6000.cc:14394
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14161
+#: config/rs6000/rs6000.cc:14406
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14175 config/xtensa/xtensa.cc:3003
+#: config/rs6000/rs6000.cc:14420 config/xtensa/xtensa.cc:3027
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14225
+#: config/rs6000/rs6000.cc:14470
 #, c-format
 msgid "invalid %%V value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14241 config/xtensa/xtensa.cc:3049
+#: config/rs6000/rs6000.cc:14486 config/xtensa/xtensa.cc:3073
 #, c-format
 msgid "invalid %%x value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14298
+#: config/rs6000/rs6000.cc:14543
 #, c-format
 msgid "invalid %%z value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14367
+#: config/rs6000/rs6000.cc:14612
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:15297
+#: config/rs6000/rs6000.cc:15554
 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24163
+#: config/rs6000/rs6000.cc:24424
 msgid "AltiVec argument passed to unprototyped function"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27785
+#: config/rs6000/rs6000.cc:28047
 msgid "Could not generate addis value for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27854
+#: config/rs6000/rs6000.cc:28116
 msgid "Unable to generate load/store offset for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27930
+#: config/rs6000/rs6000.cc:28192
 msgid "Bad GPR fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28532
+#: config/rs6000/rs6000.cc:28794
 msgid "invalid conversion from type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28534
+#: config/rs6000/rs6000.cc:28796
 msgid "invalid conversion to type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28536
+#: config/rs6000/rs6000.cc:28798
 msgid "invalid conversion from type %<__vector_pair%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28538
+#: config/rs6000/rs6000.cc:28800
 msgid "invalid conversion to type %<__vector_pair%>"
 msgstr ""
 
-#: config/s390/s390.cc:8324
+#: config/s390/s390.cc:8413
 #, c-format
 msgid "symbolic memory references are only supported on z10 or later"
 msgstr ""
 
-#: config/s390/s390.cc:8335
+#: config/s390/s390.cc:8424
 #, c-format
 msgid "cannot decompose address"
 msgstr ""
 
-#: config/s390/s390.cc:8417
+#: config/s390/s390.cc:8506
 #, c-format
 msgid "invalid comparison operator for 'E' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8440
+#: config/s390/s390.cc:8529
 #, c-format
 msgid "invalid reference for 'J' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8458
+#: config/s390/s390.cc:8547
 #, c-format
 msgid "invalid address for 'O' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8480
+#: config/s390/s390.cc:8569
 #, c-format
 msgid "invalid address for 'R' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8498
+#: config/s390/s390.cc:8587
 #, c-format
 msgid "memory reference expected for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8508
+#: config/s390/s390.cc:8597
 #, c-format
 msgid "invalid address for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8529
+#: config/s390/s390.cc:8618
 #, c-format
 msgid "register or memory expression expected for 'N' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8540
+#: config/s390/s390.cc:8629
 #, c-format
 msgid "register or memory expression expected for 'M' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8649 config/s390/s390.cc:8670
+#: config/s390/s390.cc:8738 config/s390/s390.cc:8759
 #, c-format
 msgid "invalid constant for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:8667
+#: config/s390/s390.cc:8756
 #, c-format
 msgid "invalid constant - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8704
+#: config/s390/s390.cc:8793
 #, c-format
 msgid "invalid constant vector for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:8711
+#: config/s390/s390.cc:8800
 #, c-format
 msgid "invalid expression - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8714
+#: config/s390/s390.cc:8803
 #, c-format
 msgid "invalid expression for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:12562
+#: config/s390/s390.cc:12652
 msgid "vector argument passed to unprototyped function"
 msgstr ""
 
-#: config/s390/s390.cc:16996
+#: config/s390/s390.cc:17089
 msgid "types differ in signedness"
 msgstr ""
 
-#: config/s390/s390.cc:17006
+#: config/s390/s390.cc:17099
 msgid "binary operator does not support two vector bool operands"
 msgstr ""
 
-#: config/s390/s390.cc:17009
+#: config/s390/s390.cc:17102
 msgid "binary operator does not support vector bool operand"
 msgstr ""
 
-#: config/s390/s390.cc:17017
+#: config/s390/s390.cc:17110
 msgid ""
 "binary operator does not support mixing vector bool with floating point "
 "vector operands"
@@ -21843,42 +22436,42 @@ msgstr ""
 msgid "created and used with different endianness"
 msgstr ""
 
-#: config/sparc/sparc.cc:9379 config/sparc/sparc.cc:9385
+#: config/sparc/sparc.cc:9371 config/sparc/sparc.cc:9377
 #, c-format
 msgid "invalid %%Y operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9472
+#: config/sparc/sparc.cc:9464
 #, c-format
 msgid "invalid %%A operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9492
+#: config/sparc/sparc.cc:9484
 #, c-format
 msgid "invalid %%B operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9572
+#: config/sparc/sparc.cc:9564
 #, c-format
 msgid "invalid %%C operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9604
+#: config/sparc/sparc.cc:9596
 #, c-format
 msgid "invalid %%D operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9623
+#: config/sparc/sparc.cc:9615
 #, c-format
 msgid "invalid %%f operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9635
+#: config/sparc/sparc.cc:9627
 #, c-format
 msgid "invalid %%s operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9680
+#: config/sparc/sparc.cc:9672
 #, c-format
 msgid "floating-point constant not a valid immediate operand"
 msgstr ""
@@ -21916,42 +22509,42 @@ msgstr ""
 msgid "output_move_single:"
 msgstr ""
 
-#: config/vax/vax.cc:481
+#: config/vax/vax.cc:483
 #, c-format
 msgid "symbol used with both base and indexed registers"
 msgstr ""
 
-#: config/vax/vax.cc:490
+#: config/vax/vax.cc:492
 #, c-format
 msgid "symbol with offset used in PIC mode"
 msgstr ""
 
-#: config/vax/vax.cc:578
+#: config/vax/vax.cc:580
 #, c-format
 msgid "symbol used as immediate operand"
 msgstr ""
 
-#: config/vax/vax.cc:1680
+#: config/vax/vax.cc:1683
 msgid "illegal operand detected"
 msgstr ""
 
-#: config/visium/visium.cc:3365
+#: config/visium/visium.cc:3366
 msgid "illegal operand "
 msgstr ""
 
-#: config/visium/visium.cc:3416
+#: config/visium/visium.cc:3417
 msgid "illegal operand address (1)"
 msgstr ""
 
-#: config/visium/visium.cc:3423
+#: config/visium/visium.cc:3424
 msgid "illegal operand address (2)"
 msgstr ""
 
-#: config/visium/visium.cc:3438
+#: config/visium/visium.cc:3439
 msgid "illegal operand address (3)"
 msgstr ""
 
-#: config/visium/visium.cc:3446
+#: config/visium/visium.cc:3447
 msgid "illegal operand address (4)"
 msgstr ""
 
@@ -21959,36 +22552,36 @@ msgstr ""
 msgid "Unable to load DLL."
 msgstr ""
 
-#: config/xtensa/xtensa.cc:837 config/xtensa/xtensa.cc:875
+#: config/xtensa/xtensa.cc:833 config/xtensa/xtensa.cc:871
 msgid "bad test"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3023
+#: config/xtensa/xtensa.cc:3047
 msgid "invalid mask"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3075 config/xtensa/xtensa.cc:3085
+#: config/xtensa/xtensa.cc:3099 config/xtensa/xtensa.cc:3109
 #, c-format
 msgid "invalid %%t/%%b value"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3164
+#: config/xtensa/xtensa.cc:3188
 msgid "no register in address"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3172
+#: config/xtensa/xtensa.cc:3196
 msgid "address offset not a constant"
 msgstr ""
 
-#: c/c-objc-common.cc:193
+#: c/c-objc-common.cc:226
 msgid "{erroneous}"
 msgstr ""
 
-#: c/c-objc-common.cc:234
+#: c/c-objc-common.cc:267
 msgid "aka"
 msgstr ""
 
-#: c/c-objc-common.cc:326
+#: c/c-objc-common.cc:359
 msgid "({anonymous})"
 msgstr ""
 
@@ -22001,468 +22594,438 @@ msgstr ""
 #. ;
 #. <~~~~~~~~~ declaration ~~~~~~~~~~>
 #. Use c_parser_require to get an error with a fix-it hint.
-#: c/c-parser.cc:2764 c/c-parser.cc:2886 c/c-parser.cc:2900 c/c-parser.cc:6179
-#: c/c-parser.cc:6802 c/c-parser.cc:7231 c/c-parser.cc:7410 c/c-parser.cc:7443
-#: c/c-parser.cc:7709 c/c-parser.cc:11780 c/c-parser.cc:11815
-#: c/c-parser.cc:11846 c/c-parser.cc:11893 c/c-parser.cc:12074
-#: c/c-parser.cc:12907 c/c-parser.cc:12982 c/c-parser.cc:13025
-#: c/c-parser.cc:19469 c/c-parser.cc:19549 c/c-parser.cc:19878
-#: c/c-parser.cc:19904 c/c-parser.cc:19927 c/c-parser.cc:20392
-#: c/c-parser.cc:20436 c/gimple-parser.cc:405 c/gimple-parser.cc:446
-#: c/gimple-parser.cc:455 c/gimple-parser.cc:664 c/gimple-parser.cc:2260
-#: c/gimple-parser.cc:2297 c/gimple-parser.cc:2376 c/gimple-parser.cc:2403
-#: c/c-parser.cc:3686 c/c-parser.cc:3877 c/c-parser.cc:3912 c/c-parser.cc:12067
-#: c/gimple-parser.cc:2068 c/gimple-parser.cc:2125 cp/parser.cc:15381
-#: cp/parser.cc:33133 cp/parser.cc:33769
+#: c/c-parser.cc:2934 c/c-parser.cc:3059 c/c-parser.cc:3073 c/c-parser.cc:7008
+#: c/c-parser.cc:7763 c/c-parser.cc:8219 c/c-parser.cc:8406 c/c-parser.cc:8439
+#: c/c-parser.cc:8710 c/c-parser.cc:13147 c/c-parser.cc:13182
+#: c/c-parser.cc:13213 c/c-parser.cc:13260 c/c-parser.cc:13441
+#: c/c-parser.cc:14274 c/c-parser.cc:14349 c/c-parser.cc:14392
+#: c/c-parser.cc:21252 c/c-parser.cc:21332 c/c-parser.cc:21661
+#: c/c-parser.cc:21687 c/c-parser.cc:21710 c/c-parser.cc:22246
+#: c/c-parser.cc:22290 c/gimple-parser.cc:411 c/gimple-parser.cc:452
+#: c/gimple-parser.cc:461 c/gimple-parser.cc:670 c/gimple-parser.cc:2351
+#: c/gimple-parser.cc:2388 c/gimple-parser.cc:2467 c/gimple-parser.cc:2494
+#: c/c-parser.cc:3888 c/c-parser.cc:4079 c/c-parser.cc:4114 c/c-parser.cc:13434
+#: c/gimple-parser.cc:2158 c/gimple-parser.cc:2215 cp/parser.cc:15847
+#: cp/parser.cc:33792 cp/parser.cc:34431
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:3370 c/c-parser.cc:4476 c/c-parser.cc:4671 c/c-parser.cc:4729
-#: c/c-parser.cc:4787 c/c-parser.cc:5169 c/c-parser.cc:5192 c/c-parser.cc:5201
-#: c/c-parser.cc:5252 c/c-parser.cc:5261 c/c-parser.cc:9142 c/c-parser.cc:9210
-#: c/c-parser.cc:9720 c/c-parser.cc:9745 c/c-parser.cc:9779 c/c-parser.cc:9891
-#: c/c-parser.cc:10710 c/c-parser.cc:12181 c/c-parser.cc:14565
-#: c/c-parser.cc:15286 c/c-parser.cc:15345 c/c-parser.cc:15400
-#: c/c-parser.cc:17215 c/c-parser.cc:17335 c/c-parser.cc:18692
-#: c/c-parser.cc:19969 c/c-parser.cc:20400 c/c-parser.cc:23520
-#: c/c-parser.cc:23602 c/gimple-parser.cc:195 c/gimple-parser.cc:198
-#: c/gimple-parser.cc:540 c/gimple-parser.cc:574 c/gimple-parser.cc:579
-#: c/gimple-parser.cc:748 c/gimple-parser.cc:845 c/gimple-parser.cc:1047
-#: c/gimple-parser.cc:1073 c/gimple-parser.cc:1076 c/gimple-parser.cc:1207
-#: c/gimple-parser.cc:1334 c/gimple-parser.cc:1461 c/gimple-parser.cc:1477
-#: c/gimple-parser.cc:1493 c/gimple-parser.cc:1515 c/gimple-parser.cc:1545
-#: c/gimple-parser.cc:1571 c/gimple-parser.cc:1778 c/gimple-parser.cc:1990
-#: c/gimple-parser.cc:2010 c/gimple-parser.cc:2170 c/gimple-parser.cc:2333
-#: c/c-parser.cc:7661 cp/parser.cc:33817
+#: c/c-parser.cc:3569 c/c-parser.cc:4679 c/c-parser.cc:4874 c/c-parser.cc:4932
+#: c/c-parser.cc:4990 c/c-parser.cc:5373 c/c-parser.cc:5396 c/c-parser.cc:5405
+#: c/c-parser.cc:5456 c/c-parser.cc:5465 c/c-parser.cc:10147
+#: c/c-parser.cc:10215 c/c-parser.cc:10737 c/c-parser.cc:10763
+#: c/c-parser.cc:10797 c/c-parser.cc:10909 c/c-parser.cc:11728
+#: c/c-parser.cc:13548 c/c-parser.cc:16132 c/c-parser.cc:16867
+#: c/c-parser.cc:16926 c/c-parser.cc:16981 c/c-parser.cc:18840
+#: c/c-parser.cc:18960 c/c-parser.cc:20345 c/c-parser.cc:21752
+#: c/c-parser.cc:22254 c/c-parser.cc:25578 c/c-parser.cc:25660
+#: c/gimple-parser.cc:195 c/gimple-parser.cc:198 c/gimple-parser.cc:546
+#: c/gimple-parser.cc:580 c/gimple-parser.cc:585 c/gimple-parser.cc:754
+#: c/gimple-parser.cc:851 c/gimple-parser.cc:1089 c/gimple-parser.cc:1115
+#: c/gimple-parser.cc:1118 c/gimple-parser.cc:1249 c/gimple-parser.cc:1376
+#: c/gimple-parser.cc:1506 c/gimple-parser.cc:1522 c/gimple-parser.cc:1578
+#: c/gimple-parser.cc:1605 c/gimple-parser.cc:1635 c/gimple-parser.cc:1661
+#: c/gimple-parser.cc:1868 c/gimple-parser.cc:2080 c/gimple-parser.cc:2100
+#: c/gimple-parser.cc:2261 c/gimple-parser.cc:2424 c/c-parser.cc:8662
+#: cp/parser.cc:34479
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:4565 c/c-parser.cc:5312 c/c-parser.cc:5464 c/c-parser.cc:5490
-#: c/c-parser.cc:5491 c/c-parser.cc:5934 c/c-parser.cc:5978 c/c-parser.cc:7760
-#: c/c-parser.cc:9882 c/c-parser.cc:10851 c/c-parser.cc:11205
-#: c/c-parser.cc:13968 c/gimple-parser.cc:1754 cp/parser.cc:33781
+#: c/c-parser.cc:4768 c/c-parser.cc:5516 c/c-parser.cc:5878 c/c-parser.cc:5896
+#: c/c-parser.cc:5897 c/c-parser.cc:6343 c/c-parser.cc:6387 c/c-parser.cc:8761
+#: c/c-parser.cc:10900 c/c-parser.cc:12160 c/c-parser.cc:12531
+#: c/c-parser.cc:15477 c/gimple-parser.cc:1844 cp/parser.cc:34443
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr ""
 
-#: c/c-parser.cc:4767
+#: c/c-parser.cc:4970
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
 #. Look for the two `(' tokens.
-#: c/c-parser.cc:5221 c/c-parser.cc:5226 c/c-parser.cc:14548
-#: c/c-parser.cc:15375 c/c-parser.cc:22796 c/c-parser.cc:23328
-#: c/c-parser.cc:23545 c/gimple-parser.cc:180 c/gimple-parser.cc:487
-#: c/gimple-parser.cc:526 c/gimple-parser.cc:558 c/gimple-parser.cc:815
-#: c/gimple-parser.cc:1041 c/gimple-parser.cc:1067 c/gimple-parser.cc:1194
-#: c/gimple-parser.cc:1329 c/gimple-parser.cc:1451 c/gimple-parser.cc:1511
-#: c/gimple-parser.cc:1529 c/gimple-parser.cc:1564 c/gimple-parser.cc:1959
-#: c/gimple-parser.cc:1970 c/gimple-parser.cc:1976 c/gimple-parser.cc:2159
-#: c/gimple-parser.cc:2330 c/c-parser.cc:14370 cp/parser.cc:33772
+#: c/c-parser.cc:5425 c/c-parser.cc:5430 c/c-parser.cc:16115
+#: c/c-parser.cc:16956 c/c-parser.cc:24722 c/c-parser.cc:25386
+#: c/c-parser.cc:25603 c/gimple-parser.cc:180 c/gimple-parser.cc:493
+#: c/gimple-parser.cc:532 c/gimple-parser.cc:564 c/gimple-parser.cc:821
+#: c/gimple-parser.cc:1083 c/gimple-parser.cc:1109 c/gimple-parser.cc:1236
+#: c/gimple-parser.cc:1371 c/gimple-parser.cc:1496 c/gimple-parser.cc:1601
+#: c/gimple-parser.cc:1619 c/gimple-parser.cc:1654 c/gimple-parser.cc:2049
+#: c/gimple-parser.cc:2060 c/gimple-parser.cc:2066 c/gimple-parser.cc:2249
+#: c/gimple-parser.cc:2421 c/c-parser.cc:15896 cp/parser.cc:34434
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:5460 c/c-parser.cc:5462 c/c-parser.cc:13872 cp/parser.cc:33784
-#: cp/parser.cc:37552 go/gofrontend/embed.cc:440
+#: c/c-parser.cc:5874 c/c-parser.cc:5876 c/c-parser.cc:15382 cp/parser.cc:34446
+#: cp/parser.cc:38315 go/gofrontend/embed.cc:440
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr ""
 
-#: c/c-parser.cc:6115 c/c-parser.cc:12410 c/c-parser.cc:19444
-#: c/c-parser.cc:19530 c/c-parser.cc:20189 c/c-parser.cc:21078
-#: c/c-parser.cc:24776 c/gimple-parser.cc:398 c/gimple-parser.cc:2336
-#: c/c-parser.cc:3673 c/c-parser.cc:3901 c/c-parser.cc:11962 cp/parser.cc:21075
-#: cp/parser.cc:33778 go/gofrontend/embed.cc:371
+#: c/c-parser.cc:6524 c/c-parser.cc:13777 c/c-parser.cc:21227
+#: c/c-parser.cc:21313 c/c-parser.cc:22074 c/c-parser.cc:23034
+#: c/c-parser.cc:26846 c/gimple-parser.cc:404 c/gimple-parser.cc:2427
+#: c/c-parser.cc:3875 c/c-parser.cc:4103 c/c-parser.cc:13329 cp/parser.cc:21607
+#: cp/parser.cc:34440 go/gofrontend/embed.cc:371
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr ""
 
-#: c/c-parser.cc:6410 c/c-parser.cc:6419 c/c-parser.cc:8207 c/c-parser.cc:9347
-#: c/c-parser.cc:12174 c/c-parser.cc:12571 c/c-parser.cc:12635
-#: c/c-parser.cc:13950 c/c-parser.cc:14977 c/c-parser.cc:15203
-#: c/c-parser.cc:15721 c/c-parser.cc:15822 c/c-parser.cc:16356
-#: c/c-parser.cc:16792 c/c-parser.cc:16868 c/c-parser.cc:16985
-#: c/c-parser.cc:17057 c/c-parser.cc:22658 c/c-parser.cc:23385
-#: c/c-parser.cc:23444 c/gimple-parser.cc:581 c/gimple-parser.cc:886
-#: c/gimple-parser.cc:2384 c/gimple-parser.cc:2411 c/c-parser.cc:7668
-#: c/c-parser.cc:14473 c/c-parser.cc:15827 cp/parser.cc:33811
-#: cp/parser.cc:35513 cp/parser.cc:38400 cp/parser.cc:39282
+#: c/c-parser.cc:7370 c/c-parser.cc:7379 c/c-parser.cc:9210 c/c-parser.cc:10352
+#: c/c-parser.cc:13541 c/c-parser.cc:13938 c/c-parser.cc:14002
+#: c/c-parser.cc:15459 c/c-parser.cc:16547 c/c-parser.cc:16784
+#: c/c-parser.cc:17337 c/c-parser.cc:17440 c/c-parser.cc:17981
+#: c/c-parser.cc:18417 c/c-parser.cc:18493 c/c-parser.cc:18610
+#: c/c-parser.cc:18682 c/c-parser.cc:24589 c/c-parser.cc:25443
+#: c/c-parser.cc:25502 c/gimple-parser.cc:587 c/gimple-parser.cc:892
+#: c/gimple-parser.cc:2475 c/gimple-parser.cc:2502 c/c-parser.cc:8669
+#: c/c-parser.cc:16040 c/c-parser.cc:17445 cp/parser.cc:34473
+#: cp/parser.cc:36176 cp/parser.cc:39219 cp/parser.cc:40112
 #: go/gofrontend/embed.cc:404
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:7218 cp/parser.cc:33698
+#: c/c-parser.cc:8201 cp/parser.cc:34360
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
 
-#: c/c-parser.cc:9105 c/c-parser.cc:9298 c/c-parser.cc:9769 c/c-parser.cc:9812
-#: c/c-parser.cc:9953 c/c-parser.cc:10700 c/c-parser.cc:15380
-#: c/c-parser.cc:16937 c/gimple-parser.cc:1044 c/gimple-parser.cc:1070
-#: c/gimple-parser.cc:1198 c/gimple-parser.cc:1201 c/gimple-parser.cc:1533
-#: c/gimple-parser.cc:1539 cp/parser.cc:33131 cp/parser.cc:33787
+#: c/c-parser.cc:10110 c/c-parser.cc:10303 c/c-parser.cc:10787
+#: c/c-parser.cc:10830 c/c-parser.cc:10971 c/c-parser.cc:11718
+#: c/c-parser.cc:16961 c/c-parser.cc:18562 c/gimple-parser.cc:1086
+#: c/gimple-parser.cc:1112 c/gimple-parser.cc:1240 c/gimple-parser.cc:1243
+#: c/gimple-parser.cc:1623 c/gimple-parser.cc:1629 cp/parser.cc:33790
+#: cp/parser.cc:34449
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:9666
+#: c/c-parser.cc:10681
 msgid "expected %<.%>"
 msgstr ""
 
-#: c/c-parser.cc:11633 c/c-parser.cc:11665 c/c-parser.cc:11905
-#: cp/parser.cc:36087 cp/parser.cc:36108
+#: c/c-parser.cc:13000 c/c-parser.cc:13032 c/c-parser.cc:13272
+#: cp/parser.cc:36750 cp/parser.cc:36771
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr ""
 
-#: c/c-parser.cc:12323 c/gimple-parser.cc:1369 cp/parser.cc:33796
+#: c/c-parser.cc:13690 c/gimple-parser.cc:1411 cp/parser.cc:34458
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr ""
 
-#: c/c-parser.cc:15916 c/c-parser.cc:17353 cp/parser.cc:33820
+#: c/c-parser.cc:17535 c/c-parser.cc:18978 cp/parser.cc:34482
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #. All following cases are statements with LHS.
-#: c/c-parser.cc:16784 c/c-parser.cc:19337 c/c-parser.cc:19384
-#: c/c-parser.cc:19541 c/c-parser.cc:19888 c/c-parser.cc:20379
-#: c/c-parser.cc:22865 c/c-parser.cc:23586 c/gimple-parser.cc:739
-#: c/c-parser.cc:6001 c/c-parser.cc:19461 c/c-parser.cc:19684
-#: cp/parser.cc:33799 cp/parser.cc:42192 cp/parser.cc:42365
+#: c/c-parser.cc:18409 c/c-parser.cc:21120 c/c-parser.cc:21167
+#: c/c-parser.cc:21324 c/c-parser.cc:21671 c/c-parser.cc:22233
+#: c/c-parser.cc:24770 c/c-parser.cc:25644 c/gimple-parser.cc:745
+#: c/c-parser.cc:6410 c/c-parser.cc:21244 c/c-parser.cc:21467
+#: cp/parser.cc:34461 cp/parser.cc:43102 cp/parser.cc:43275
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:19472 c/c-parser.cc:19552 c/c-parser.cc:19905
-#: c/c-parser.cc:20257 c/gimple-parser.cc:1587 c/gimple-parser.cc:1619
-#: c/gimple-parser.cc:1629 c/gimple-parser.cc:2421 cp/parser.cc:33775
-#: cp/parser.cc:36297
+#: c/c-parser.cc:21255 c/c-parser.cc:21335 c/c-parser.cc:21688
+#: c/c-parser.cc:22143 c/gimple-parser.cc:1677 c/gimple-parser.cc:1709
+#: c/gimple-parser.cc:1719 c/gimple-parser.cc:2512 cp/parser.cc:34437
+#: cp/parser.cc:36960
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:19565 cp/parser.cc:42290
+#: c/c-parser.cc:21348 cp/parser.cc:43200
 #, gcc-internal-format
 msgid "expected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:21123 c/c-parser.cc:21112 cp/parser.cc:44568
+#: c/c-parser.cc:23081 c/c-parser.cc:23070 cp/parser.cc:45899
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:24146 cp/parser.cc:48441
+#: c/c-parser.cc:26210 cp/parser.cc:49854
 msgid "<message unknown at compile time>"
 msgstr ""
 
-#: c/c-typeck.cc:8830
+#: c/c-typeck.cc:9039
 msgid "(anonymous)"
 msgstr ""
 
-#: c/gimple-parser.cc:1358 cp/parser.cc:18417 cp/parser.cc:33793
+#: c/gimple-parser.cc:1400 cp/parser.cc:18950 cp/parser.cc:34455
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2380 c/gimple-parser.cc:2407 c/gimple-parser.cc:2246
-#: c/gimple-parser.cc:2283
+#: c/gimple-parser.cc:2471 c/gimple-parser.cc:2498 c/gimple-parser.cc:2337
+#: c/gimple-parser.cc:2374
 #, gcc-internal-format
 msgid "expected label"
 msgstr ""
 
-#: cp/call.cc:4065
+#: cp/call.cc:4113
 msgid "candidate:"
 msgstr ""
 
-#: cp/call.cc:8219
+#: cp/call.cc:8309
 msgid "  after user-defined conversion:"
 msgstr ""
 
-#: cp/call.cc:8383 cp/pt.cc:2012 cp/pt.cc:26167
+#: cp/call.cc:8475 cp/pt.cc:2043 cp/pt.cc:26267
 msgid "candidate is:"
 msgid_plural "candidates are:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:12814 cp/call.cc:13240
+#: cp/call.cc:13002 cp/call.cc:13428
 msgid "candidate 1:"
 msgstr ""
 
-#: cp/call.cc:12816 cp/call.cc:13241
+#: cp/call.cc:13004 cp/call.cc:13429
 msgid "candidate 2:"
 msgstr ""
 
-#: cp/decl.cc:3582
-msgid "jump to label %qD"
-msgstr ""
-
-#: cp/decl.cc:3583
-msgid "jump to case label"
-msgstr ""
-
-#: cp/error.cc:462
+#: cp/error.cc:464
 msgid "<missing>"
 msgstr ""
 
-#: cp/error.cc:564
+#: cp/error.cc:566
 msgid "<brace-enclosed initializer list>"
 msgstr ""
 
-#: cp/error.cc:566
+#: cp/error.cc:568
 msgid "<unresolved overloaded function type>"
 msgstr ""
 
-#: cp/error.cc:733
+#: cp/error.cc:735
 msgid "<type error>"
 msgstr ""
 
 #. A lambda's "type" is essentially its signature.
-#: cp/error.cc:840
+#: cp/error.cc:842
 msgid "<lambda"
 msgstr ""
 
-#: cp/error.cc:850 objc/objc-act.cc:6362 cp/cxx-pretty-print.cc:154
-#: cp/cxx-pretty-print.cc:2848
+#: cp/error.cc:856 objc/objc-act.cc:6365 cp/cxx-pretty-print.cc:154
+#: cp/cxx-pretty-print.cc:2862
 #, gcc-internal-format
 msgid "<unnamed>"
 msgstr ""
 
-#: cp/error.cc:852
+#: cp/error.cc:858
 #, c-format
 msgid "<unnamed %s>"
 msgstr ""
 
-#: cp/error.cc:990
+#: cp/error.cc:996
 msgid "<typeprefixerror>"
 msgstr ""
 
-#: cp/error.cc:1131
+#: cp/error.cc:1137
 #, c-format
 msgid "(static initializers for %s)"
 msgstr ""
 
-#: cp/error.cc:1133
+#: cp/error.cc:1139
 #, c-format
 msgid "(static destructors for %s)"
 msgstr ""
 
-#: cp/error.cc:1179
+#: cp/error.cc:1185
 msgid "<structured bindings>"
 msgstr ""
 
-#: cp/error.cc:1305
+#: cp/error.cc:1311
 msgid "vtable for "
 msgstr ""
 
-#: cp/error.cc:1329
+#: cp/error.cc:1335
 msgid "<return value> "
 msgstr ""
 
-#: cp/error.cc:1344
+#: cp/error.cc:1350
 msgid "{anonymous}"
 msgstr ""
 
-#: cp/error.cc:1346
+#: cp/error.cc:1352
 msgid "(anonymous namespace)"
 msgstr ""
 
-#: cp/error.cc:1446
+#: cp/error.cc:1452
 msgid "<template arguments error>"
 msgstr ""
 
-#: cp/error.cc:1471
+#: cp/error.cc:1477
 msgid "<enumerator>"
 msgstr ""
 
-#: cp/error.cc:1535
+#: cp/error.cc:1537
 msgid "<declaration error>"
 msgstr ""
 
-#: cp/error.cc:2101 cp/error.cc:2121
+#: cp/error.cc:2109 cp/error.cc:2129
 msgid "<template parameter error>"
 msgstr ""
 
-#: cp/error.cc:2251
+#: cp/error.cc:2259
 msgid "<statement>"
 msgstr ""
 
-#: cp/error.cc:2281 cp/error.cc:3375 c-family/c-pretty-print.cc:2661
+#: cp/error.cc:2289 cp/error.cc:3390 c-family/c-pretty-print.cc:2707
 #, gcc-internal-format
 msgid "<unknown>"
 msgstr ""
 
 #. While waiting for caret diagnostics, avoid printing
 #. __cxa_allocate_exception, __cxa_throw, and the like.
-#: cp/error.cc:2299
+#: cp/error.cc:2307
 msgid "<throw-expression>"
 msgstr ""
 
-#: cp/error.cc:2400
+#: cp/error.cc:2408
 msgid "<ubsan routine call>"
 msgstr ""
 
-#: cp/error.cc:2890
+#: cp/error.cc:2909
 msgid "<unparsed>"
 msgstr ""
 
-#: cp/error.cc:3047
+#: cp/error.cc:3062
 msgid "<lambda>"
 msgstr ""
 
-#: cp/error.cc:3086
+#: cp/error.cc:3101
 msgid "*this"
 msgstr ""
 
-#: cp/error.cc:3100
+#: cp/error.cc:3115
 msgid "<expression error>"
 msgstr ""
 
-#: cp/error.cc:3115
+#: cp/error.cc:3130
 msgid "<unknown operator>"
 msgstr ""
 
-#: cp/error.cc:3590
+#: cp/error.cc:3605
 msgid "At global scope:"
 msgstr ""
 
-#: cp/error.cc:3649
+#: cp/error.cc:3664
 msgid "    inlined from %qD at %r%s:%d:%d%R"
 msgstr ""
 
-#: cp/error.cc:3654
+#: cp/error.cc:3669
 msgid "    inlined from %qD at %r%s:%d%R"
 msgstr ""
 
-#: cp/error.cc:3660
+#: cp/error.cc:3675
 msgid "    inlined from %qD"
 msgstr ""
 
-#: cp/error.cc:3687
+#: cp/error.cc:3702
 msgid "In static member function %qD"
 msgstr ""
 
-#: cp/error.cc:3689
+#: cp/error.cc:3704
 msgid "In copy constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3691
+#: cp/error.cc:3706
 msgid "In constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3693
+#: cp/error.cc:3708
 msgid "In destructor %qD"
 msgstr ""
 
-#: cp/error.cc:3695
+#: cp/error.cc:3710
 msgid "In lambda function"
 msgstr ""
 
-#: cp/error.cc:3697
+#: cp/error.cc:3712
+msgid "In explicit object member function %qD"
+msgstr ""
+
+#: cp/error.cc:3714
 msgid "In member function %qD"
 msgstr ""
 
-#: cp/error.cc:3700
+#: cp/error.cc:3717
 msgid "In function %qD"
 msgstr ""
 
-#: cp/error.cc:3723
+#: cp/error.cc:3740
 #, c-format
 msgid "%s: In substitution of %qS:\n"
 msgstr ""
 
-#: cp/error.cc:3724
+#: cp/error.cc:3741
 msgid "%s: In instantiation of %q#D:\n"
 msgstr ""
 
-#: cp/error.cc:3749 cp/error.cc:3903
+#: cp/error.cc:3766 cp/error.cc:3922
 msgid "%r%s:%d:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3752 cp/error.cc:3906
+#: cp/error.cc:3769 cp/error.cc:3925
 msgid "%r%s:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3760
+#: cp/error.cc:3777
 #, c-format
 msgid "recursively required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3761
+#: cp/error.cc:3778
 #, c-format
 msgid "required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3766
+#: cp/error.cc:3783
 msgid "recursively required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3767
+#: cp/error.cc:3784
 msgid "required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3774
+#: cp/error.cc:3791
 msgid "recursively required from here\n"
 msgstr ""
 
-#: cp/error.cc:3775
+#: cp/error.cc:3792
 msgid "required from here\n"
 msgstr ""
 
-#: cp/error.cc:3827
+#: cp/error.cc:3846
 msgid ""
 "%r%s:%d:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-"
 "backtrace-limit=0 to disable ]\n"
 msgstr ""
 
-#: cp/error.cc:3833
+#: cp/error.cc:3852
 msgid ""
 "%r%s:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-backtrace-"
 "limit=0 to disable ]\n"
 msgstr ""
 
-#: cp/error.cc:3887
+#: cp/error.cc:3906
 msgid "%r%s:%d:%d:%R   in %<constexpr%> expansion of %qs"
 msgstr ""
 
-#: cp/error.cc:3891
+#: cp/error.cc:3910
 msgid "%r%s:%d:%R   in %<constexpr%> expansion of %qs"
 msgstr ""
 
-#: cp/parser.cc:6140
-msgid "parameter %qD may not appear in this context"
-msgstr ""
-
-#: cp/parser.cc:6141
-msgid "local variable %qD may not appear in this context"
-msgstr ""
-
-#: cp/parser.cc:21922
-msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
-msgstr ""
-
-#: cp/parser.cc:21925
-msgid "%<using enum%> of dependent type %qT"
-msgstr ""
-
-#: cp/parser.cc:21927
-msgid "%<using enum%> of non-enumeration type %q#T"
-msgstr ""
-
-#: cp/parser.cc:21929
-msgid "%<using enum%> of incomplete type %qT"
-msgstr ""
-
-#: cp/parser.cc:21931
-msgid "%<using enum%> of %qT before its enum-specifier"
-msgstr ""
-
-#: cp/pt.cc:2010 cp/semantics.cc:6073
+#: cp/pt.cc:2041 cp/semantics.cc:6237
 msgid "candidates are:"
 msgstr ""
 
@@ -22506,52 +23069,52 @@ msgstr ""
 msgid "source type is not polymorphic"
 msgstr ""
 
-#: cp/typeck.cc:7328 c/c-typeck.cc:4576
+#: cp/typeck.cc:7441 c/c-typeck.cc:4683
 #, gcc-internal-format
 msgid "wrong type argument to unary minus"
 msgstr ""
 
-#: cp/typeck.cc:7329 c/c-typeck.cc:4563
+#: cp/typeck.cc:7442 c/c-typeck.cc:4669
 #, gcc-internal-format
 msgid "wrong type argument to unary plus"
 msgstr ""
 
-#: cp/typeck.cc:7356 c/c-typeck.cc:4620
+#: cp/typeck.cc:7469 c/c-typeck.cc:4728
 #, gcc-internal-format
 msgid "wrong type argument to bit-complement"
 msgstr ""
 
-#: cp/typeck.cc:7373 c/c-typeck.cc:4628
+#: cp/typeck.cc:7486 c/c-typeck.cc:4736
 #, gcc-internal-format
 msgid "wrong type argument to abs"
 msgstr ""
 
-#: cp/typeck.cc:7385 c/c-typeck.cc:4650
+#: cp/typeck.cc:7498 c/c-typeck.cc:4758
 #, gcc-internal-format
 msgid "wrong type argument to conjugation"
 msgstr ""
 
-#: cp/typeck.cc:7407
+#: cp/typeck.cc:7522
 msgid "in argument to unary !"
 msgstr ""
 
-#: cp/typeck.cc:7456
+#: cp/typeck.cc:7571
 msgid "no pre-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7458
+#: cp/typeck.cc:7573
 msgid "no post-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7460
+#: cp/typeck.cc:7575
 msgid "no pre-decrement operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7462
+#: cp/typeck.cc:7577
 msgid "no post-decrement operator for type"
 msgstr ""
 
-#: fortran/arith.cc:1492
+#: fortran/arith.cc:1497
 msgid "elemental binary operation"
 msgstr ""
 
@@ -22559,22 +23122,22 @@ msgstr ""
 msgid " [see %<-fno-allow-invalid-boz%>]"
 msgstr ""
 
-#: fortran/check.cc:3705
+#: fortran/check.cc:3732
 #, c-format
 msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/check.cc:3914 fortran/check.cc:3996 fortran/check.cc:4061
+#: fortran/check.cc:3941 fortran/check.cc:4023 fortran/check.cc:4088
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:4402 fortran/intrinsic.cc:4828
+#: fortran/check.cc:4429 fortran/intrinsic.cc:4831
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3709
+#: fortran/dump-parse-tree.cc:3713
 #, c-format
 msgid ""
 "/* Prototypes for external procedures generated from %s\n"
@@ -22585,35 +23148,43 @@ msgid ""
 "\n"
 msgstr ""
 
-#: fortran/error.cc:984
+#: fortran/error.cc:1043
+msgid "Prohibited in Fortran 2023:"
+msgstr ""
+
+#: fortran/error.cc:1045
+msgid "Fortran 2023:"
+msgstr ""
+
+#: fortran/error.cc:1047
 msgid "Fortran 2018 deleted feature:"
 msgstr ""
 
-#: fortran/error.cc:986
+#: fortran/error.cc:1049
 msgid "Fortran 2018 obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:988
+#: fortran/error.cc:1051
 msgid "Fortran 2018:"
 msgstr ""
 
-#: fortran/error.cc:990
+#: fortran/error.cc:1053
 msgid "Fortran 2008 obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:996
+#: fortran/error.cc:1059
 msgid "GNU Extension:"
 msgstr ""
 
-#: fortran/error.cc:998
+#: fortran/error.cc:1061
 msgid "Legacy Extension:"
 msgstr ""
 
-#: fortran/error.cc:1000
+#: fortran/error.cc:1063
 msgid "Obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:1002
+#: fortran/error.cc:1065
 msgid "Deleted feature:"
 msgstr ""
 
@@ -22645,48 +23216,52 @@ msgstr ""
 msgid "Array bound mismatch for dimension 2 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/gfortranspec.cc:427 m2/gm2spec.cc:920
+#: fortran/gfortranspec.cc:427 m2/gm2spec.cc:916
 #, c-format
 msgid "Driving:"
 msgstr ""
 
-#: fortran/interface.cc:3669 fortran/intrinsic.cc:4506
+#: fortran/interface.cc:3706 fortran/intrinsic.cc:4509
 msgid "actual argument to INTENT = OUT/INOUT"
 msgstr ""
 
-#: fortran/intrinsic.cc:4865
+#: fortran/intrinsic.cc:4868
 msgid "available since Fortran 77"
 msgstr ""
 
-#: fortran/intrinsic.cc:4869
+#: fortran/intrinsic.cc:4872
 msgid "obsolescent in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4873
+#: fortran/intrinsic.cc:4876
 msgid "deleted in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4877
+#: fortran/intrinsic.cc:4880
 msgid "new in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4881
+#: fortran/intrinsic.cc:4884
 msgid "new in Fortran 2003"
 msgstr ""
 
-#: fortran/intrinsic.cc:4885
+#: fortran/intrinsic.cc:4888
 msgid "new in Fortran 2008"
 msgstr ""
 
-#: fortran/intrinsic.cc:4889
+#: fortran/intrinsic.cc:4892
 msgid "new in Fortran 2018"
 msgstr ""
 
-#: fortran/intrinsic.cc:4893
+#: fortran/intrinsic.cc:4896
+msgid "new in Fortran 2023"
+msgstr ""
+
+#: fortran/intrinsic.cc:4900
 msgid "a GNU Fortran extension"
 msgstr ""
 
-#: fortran/intrinsic.cc:4897
+#: fortran/intrinsic.cc:4904
 msgid "for backward compatibility"
 msgstr ""
 
@@ -22740,7 +23315,7 @@ msgstr ""
 msgid "Expected integer"
 msgstr ""
 
-#: fortran/module.cc:1640 fortran/module.cc:2845
+#: fortran/module.cc:1640 fortran/module.cc:2864
 msgid "Expected string"
 msgstr ""
 
@@ -22748,312 +23323,312 @@ msgstr ""
 msgid "find_enum(): Enum not found"
 msgstr ""
 
-#: fortran/module.cc:2235
+#: fortran/module.cc:2238
 msgid "Unsupported: multiple OpenACC 'routine' levels of parallelism"
 msgstr ""
 
-#: fortran/module.cc:2475
+#: fortran/module.cc:2484
 msgid "Expected attribute bit name"
 msgstr ""
 
-#: fortran/module.cc:3474
+#: fortran/module.cc:3493
 msgid "Expected integer string"
 msgstr ""
 
-#: fortran/module.cc:3478
+#: fortran/module.cc:3497
 msgid "Error converting integer"
 msgstr ""
 
-#: fortran/module.cc:3500
+#: fortran/module.cc:3519
 msgid "Expected real string"
 msgstr ""
 
-#: fortran/module.cc:3725
+#: fortran/module.cc:3744
 msgid "Expected expression type"
 msgstr ""
 
-#: fortran/module.cc:3805
+#: fortran/module.cc:3824
 msgid "Bad operator"
 msgstr ""
 
-#: fortran/module.cc:3922
+#: fortran/module.cc:3941
 msgid "Bad type in constant expression"
 msgstr ""
 
-#: fortran/module.cc:7380
+#: fortran/module.cc:7399
 msgid "Unexpected end of module"
 msgstr ""
 
-#: fortran/parse.cc:2086
+#: fortran/parse.cc:2138
 msgid "arithmetic IF"
 msgstr ""
 
-#: fortran/parse.cc:2095
+#: fortran/parse.cc:2147
 msgid "attribute declaration"
 msgstr ""
 
-#: fortran/parse.cc:2131
+#: fortran/parse.cc:2183
 msgid "data declaration"
 msgstr ""
 
-#: fortran/parse.cc:2149
+#: fortran/parse.cc:2201
 msgid "derived type declaration"
 msgstr ""
 
-#: fortran/parse.cc:2276
+#: fortran/parse.cc:2328
 msgid "block IF"
 msgstr ""
 
-#: fortran/parse.cc:2285
+#: fortran/parse.cc:2337
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.cc:2379 fortran/resolve.cc:12450
+#: fortran/parse.cc:2431 fortran/resolve.cc:12499
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.cc:2382 fortran/resolve.cc:12516 fortran/resolve.cc:12519
+#: fortran/parse.cc:2434 fortran/resolve.cc:12565 fortran/resolve.cc:12568
 msgid "pointer assignment"
 msgstr ""
 
-#: fortran/parse.cc:2406
+#: fortran/parse.cc:2458
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.cc:2416 fortran/resolve.cc:2611
+#: fortran/resolve.cc:2432 fortran/resolve.cc:2627
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.cc:2514
+#: fortran/resolve.cc:2530
 msgid "allocatable argument"
 msgstr ""
 
-#: fortran/resolve.cc:2519
+#: fortran/resolve.cc:2535
 msgid "asynchronous argument"
 msgstr ""
 
-#: fortran/resolve.cc:2524
+#: fortran/resolve.cc:2540
 msgid "optional argument"
 msgstr ""
 
-#: fortran/resolve.cc:2529
+#: fortran/resolve.cc:2545
 msgid "pointer argument"
 msgstr ""
 
-#: fortran/resolve.cc:2534
+#: fortran/resolve.cc:2550
 msgid "target argument"
 msgstr ""
 
-#: fortran/resolve.cc:2539
+#: fortran/resolve.cc:2555
 msgid "value argument"
 msgstr ""
 
-#: fortran/resolve.cc:2544
+#: fortran/resolve.cc:2560
 msgid "volatile argument"
 msgstr ""
 
-#: fortran/resolve.cc:2549
+#: fortran/resolve.cc:2565
 msgid "assumed-shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:2554
+#: fortran/resolve.cc:2570
 msgid "assumed-rank argument"
 msgstr ""
 
-#: fortran/resolve.cc:2559
+#: fortran/resolve.cc:2575
 msgid "coarray argument"
 msgstr ""
 
-#: fortran/resolve.cc:2564
+#: fortran/resolve.cc:2580
 msgid "parametrized derived type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2569
+#: fortran/resolve.cc:2585
 msgid "polymorphic argument"
 msgstr ""
 
-#: fortran/resolve.cc:2574
+#: fortran/resolve.cc:2590
 msgid "NO_ARG_CHECK attribute"
 msgstr ""
 
 #. As assumed-type is unlimited polymorphic (cf. above).
 #. See also TS 29113, Note 6.1.
-#: fortran/resolve.cc:2581
+#: fortran/resolve.cc:2597
 msgid "assumed-type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2592
+#: fortran/resolve.cc:2608
 msgid "array result"
 msgstr ""
 
-#: fortran/resolve.cc:2597
+#: fortran/resolve.cc:2613
 msgid "pointer or allocatable result"
 msgstr ""
 
-#: fortran/resolve.cc:2604
+#: fortran/resolve.cc:2620
 msgid "result with non-constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:2616
+#: fortran/resolve.cc:2632
 msgid "bind(c) procedure"
 msgstr ""
 
-#: fortran/resolve.cc:4178
+#: fortran/resolve.cc:4204
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4195
+#: fortran/resolve.cc:4221
 #, c-format
 msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4213 fortran/resolve.cc:4396 fortran/resolve.cc:4551
+#: fortran/resolve.cc:4239 fortran/resolve.cc:4422 fortran/resolve.cc:4577
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4223
+#: fortran/resolve.cc:4249
 #, c-format
 msgid ""
 "Unexpected derived-type entities in binary intrinsic numeric operator "
 "%%<%s%%> at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4228
+#: fortran/resolve.cc:4254
 #, c-format
 msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4243
+#: fortran/resolve.cc:4269
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4286
+#: fortran/resolve.cc:4312
 #, c-format
 msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4309
+#: fortran/resolve.cc:4335
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4323
+#: fortran/resolve.cc:4349
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4432
+#: fortran/resolve.cc:4458
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.cc:4438
+#: fortran/resolve.cc:4464
 #, c-format
 msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4452
+#: fortran/resolve.cc:4478
 #, c-format
 msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?"
 msgstr ""
 
-#: fortran/resolve.cc:4455
+#: fortran/resolve.cc:4481
 #, c-format
 msgid "Unknown operator %%<%s%%> at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4460
+#: fortran/resolve.cc:4486
 #, c-format
 msgid "Operand of user operator %%<%s%%> at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4465
+#: fortran/resolve.cc:4491
 #, c-format
 msgid "Operands of user operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:7450
+#: fortran/resolve.cc:7476
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.cc:7454
+#: fortran/resolve.cc:7480
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.cc:7458
+#: fortran/resolve.cc:7484
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7462
+#: fortran/resolve.cc:7488
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7466
+#: fortran/resolve.cc:7492
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7753 fortran/resolve.cc:7756
+#: fortran/resolve.cc:7779 fortran/resolve.cc:7782
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8134 fortran/resolve.cc:8137
+#: fortran/resolve.cc:8160 fortran/resolve.cc:8163
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8374 fortran/resolve.cc:10355 fortran/resolve.cc:10476
+#: fortran/resolve.cc:8400 fortran/resolve.cc:10404 fortran/resolve.cc:10525
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.cc:8425 fortran/resolve.cc:10367 fortran/resolve.cc:10488
+#: fortran/resolve.cc:8451 fortran/resolve.cc:10416 fortran/resolve.cc:10537
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.cc:10157
+#: fortran/resolve.cc:10206
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.cc:10379
+#: fortran/resolve.cc:10428
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
-#: fortran/trans-array.cc:1918
+#: fortran/trans-array.cc:1936
 #, c-format
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.cc:6236
+#: fortran/trans-array.cc:6363
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
-#: fortran/trans-array.cc:10224
+#: fortran/trans-array.cc:10452
 #, c-format
 msgid ""
 "The value of the PDT LEN parameter '%s' does not agree with that in the "
 "dummy declaration"
 msgstr ""
 
-#: fortran/trans-decl.cc:6240
+#: fortran/trans-decl.cc:6370
 #, c-format
 msgid ""
 "Actual string length does not match the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-decl.cc:6248
+#: fortran/trans-decl.cc:6378
 #, c-format
 msgid ""
 "Actual string length is shorter than the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:10585
+#: fortran/trans-expr.cc:10713
 #, c-format
 msgid "Target of rank remapping is too small (%ld < %ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:12145
+#: fortran/trans-expr.cc:12310
 msgid "Assignment of scalar to unallocated array"
 msgstr ""
 
@@ -23097,46 +23672,46 @@ msgstr ""
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFT"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6894
+#: fortran/trans-intrinsic.cc:6908
 #, c-format
 msgid "SIZE argument (%ld) out of range 1:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6902 fortran/trans-intrinsic.cc:6947
+#: fortran/trans-intrinsic.cc:6916 fortran/trans-intrinsic.cc:6961
 #, c-format
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9300
+#: fortran/trans-intrinsic.cc:9312
 #, c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9332
+#: fortran/trans-intrinsic.cc:9344
 msgid "Argument NCOPIES of REPEAT intrinsic is too large"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12497
+#: fortran/trans-intrinsic.cc:12509
 #, c-format
 msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12509
+#: fortran/trans-intrinsic.cc:12521
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12521
+#: fortran/trans-intrinsic.cc:12533
 #, c-format
 msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12533
+#: fortran/trans-intrinsic.cc:12545
 #, c-format
 msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12541
+#: fortran/trans-intrinsic.cc:12553
 #, c-format
 msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
@@ -23149,24 +23724,24 @@ msgstr ""
 msgid "Unit number in I/O statement too large"
 msgstr ""
 
-#: fortran/trans-stmt.cc:156
+#: fortran/trans-stmt.cc:157
 msgid "Assigned label is not a target label"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1290
+#: fortran/trans-stmt.cc:1291
 #, c-format
 msgid "Invalid image number %d in SYNC IMAGES"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2490
+#: fortran/trans-stmt.cc:2503
 msgid "Loop iterates infinitely"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2510 fortran/trans-stmt.cc:2766
+#: fortran/trans-stmt.cc:2523 fortran/trans-stmt.cc:2779
 msgid "Loop variable has been modified"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2619
+#: fortran/trans-stmt.cc:2632
 msgid "DO step value is zero"
 msgstr ""
 
@@ -23174,489 +23749,498 @@ msgstr ""
 msgid "Array reference out of bounds"
 msgstr ""
 
-#: fortran/trans.cc:770 fortran/trans.cc:845
+#: fortran/trans.cc:770 fortran/trans.cc:854
 #, c-format
 msgid "Error allocating %lu bytes"
 msgstr ""
 
-#: fortran/trans.cc:1054
+#: fortran/trans.cc:1067
 #, c-format
 msgid "Attempting to allocate already allocated variable '%s'"
 msgstr ""
 
-#: fortran/trans.cc:1060
+#: fortran/trans.cc:1073
 msgid "Attempting to allocate already allocated variable"
 msgstr ""
 
-#: fortran/trans.cc:1845 fortran/trans.cc:2005
+#: fortran/trans.cc:1866 fortran/trans.cc:2044
 #, c-format
 msgid "Attempt to DEALLOCATE unallocated '%s'"
 msgstr ""
 
-#: fortran/trans.cc:2163
+#: fortran/trans.cc:2212
 #, c-format
 msgid "Error reallocating to %lu bytes"
 msgstr ""
 
-#: go/go-backend.cc:166 rust/rust-object-export.cc:148
+#: go/go-backend.cc:166 rust/rust-object-export.cc:147
 msgid "lseek failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:173 rust/rust-object-export.cc:155
+#: go/go-backend.cc:173 rust/rust-object-export.cc:154
 msgid "memory allocation failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:181 rust/rust-object-export.cc:163
+#: go/go-backend.cc:181 rust/rust-object-export.cc:162
 msgid "read failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:187 rust/rust-object-export.cc:169
+#: go/go-backend.cc:187 rust/rust-object-export.cc:168
 msgid "short read while reading export data"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:684 cp/cvt.cc:1401
-#: rust/backend/rust-tree.cc:514
+#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:684 cp/cvt.cc:1405
+#: d/toir.cc:225 rust/backend/rust-tree.cc:512
 #, gcc-internal-format
 msgid "value computed is not used"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:930
-msgid "invalid use of type"
+#: go/gofrontend/expressions.cc:1986
+msgid "unexpected reference to package"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3549 go/gofrontend/expressions.cc:3565
+#: go/gofrontend/expressions.cc:3840 go/gofrontend/expressions.cc:3856
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:4677 go/gofrontend/expressions.cc:5176
+#: go/gofrontend/expressions.cc:5062 go/gofrontend/expressions.cc:5483
+#: go/gofrontend/expressions.cc:5642
 msgid "expected pointer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5147
+#: go/gofrontend/expressions.cc:5600
 msgid "expected numeric type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5152
+#: go/gofrontend/expressions.cc:5605
 msgid "expected boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16696 c/c-parser.cc:16703
-#: cp/parser.cc:40042 cp/parser.cc:40049
+#: go/gofrontend/expressions.cc:5610 c/c-parser.cc:18321 c/c-parser.cc:18328
+#: cp/parser.cc:40872 cp/parser.cc:40879
 #, gcc-internal-format
 msgid "expected integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6937
+#: go/gofrontend/expressions.cc:7603
 msgid "invalid comparison of nil with nil"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6943 go/gofrontend/expressions.cc:6961
+#: go/gofrontend/expressions.cc:7609 go/gofrontend/expressions.cc:7627
 msgid "incompatible types in binary expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6981
+#: go/gofrontend/expressions.cc:7647 go/gofrontend/statements.cc:1327
 msgid "integer division by zero"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6989
+#: go/gofrontend/expressions.cc:7657 go/gofrontend/statements.cc:1336
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6992 go/gofrontend/expressions.cc:6995
-#: go/gofrontend/expressions.cc:7003
+#: go/gofrontend/expressions.cc:7660 go/gofrontend/expressions.cc:7663
+#: go/gofrontend/expressions.cc:7671 go/gofrontend/statements.cc:1344
+#: go/gofrontend/statements.cc:1354
 msgid "shift count not integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7008
+#: go/gofrontend/expressions.cc:7676 go/gofrontend/statements.cc:1358
 msgid "negative shift count"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7892
+#: go/gofrontend/expressions.cc:8587
 msgid "object is not a method"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7909
+#: go/gofrontend/expressions.cc:8604
 msgid "method type does not match object type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8323
-msgid "invalid use of %<...%> with builtin function"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:8334
-msgid "invalid use of method value as argument of Offsetof"
+#: go/gofrontend/expressions.cc:9382
+msgid "argument of Offsetof implies indirection of an embedded field"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8348
-msgid "argument of Offsetof implies indirection of an embedded field"
+#: go/gofrontend/expressions.cc:9922
+msgid "len larger than cap"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8373 go/gofrontend/expressions.cc:8409
-#: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206
-#: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397
-#: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508
-#: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12688
-#: go/gofrontend/expressions.cc:12705 go/gofrontend/expressions.cc:12721
+#: go/gofrontend/expressions.cc:11154 go/gofrontend/expressions.cc:11202
+#: go/gofrontend/expressions.cc:11372 go/gofrontend/expressions.cc:11427
+#: go/gofrontend/expressions.cc:11498 go/gofrontend/expressions.cc:11657
+#: go/gofrontend/expressions.cc:11703 go/gofrontend/expressions.cc:11738
+#: go/gofrontend/expressions.cc:11836 go/gofrontend/expressions.cc:13979
+#: go/gofrontend/expressions.cc:14138 go/gofrontend/expressions.cc:14155
+#: go/gofrontend/expressions.cc:14171
 msgid "not enough arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8375 go/gofrontend/expressions.cc:8411
-#: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334
-#: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437
-#: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535
-#: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12693
-#: go/gofrontend/expressions.cc:12707 go/gofrontend/expressions.cc:12728
-#: cp/pt.cc:9217
+#: go/gofrontend/expressions.cc:11159 go/gofrontend/expressions.cc:11207
+#: go/gofrontend/expressions.cc:11377 go/gofrontend/expressions.cc:11500
+#: go/gofrontend/expressions.cc:11627 go/gofrontend/expressions.cc:11662
+#: go/gofrontend/expressions.cc:11743 go/gofrontend/expressions.cc:11838
+#: go/gofrontend/expressions.cc:14014 go/gofrontend/expressions.cc:14143
+#: go/gofrontend/expressions.cc:14157 go/gofrontend/expressions.cc:14178
+#: cp/pt.cc:9348
 #, gcc-internal-format
 msgid "too many arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8413
-msgid "argument 1 must be a map"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:8880
+#: go/gofrontend/expressions.cc:11449
 msgid "invalid type for make function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8893
+#: go/gofrontend/expressions.cc:11459
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8937
-msgid "len larger than cap"
+#: go/gofrontend/expressions.cc:11488
+msgid "too many arguments to make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8946
-msgid "too many arguments to make"
+#: go/gofrontend/expressions.cc:11502
+msgid "argument 1 must be a map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10255
+#: go/gofrontend/expressions.cc:11543
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10265
+#: go/gofrontend/expressions.cc:11553
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10302
+#: go/gofrontend/expressions.cc:11594
 msgid "unsupported argument type to builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10313
+#: go/gofrontend/expressions.cc:11606
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10315
+#: go/gofrontend/expressions.cc:11608
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10326
+#: go/gofrontend/expressions.cc:11619
 msgid "argument to builtin has void type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10342
+#: go/gofrontend/expressions.cc:11645
+msgid "invalid use of method value as argument of Offsetof"
+msgstr ""
+
+#: go/gofrontend/expressions.cc:11648
 msgid "argument must be a field reference"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10372
+#: go/gofrontend/expressions.cc:11678
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10380
+#: go/gofrontend/expressions.cc:11686
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10385
+#: go/gofrontend/expressions.cc:11691
 msgid "first argument must be []byte"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10388
+#: go/gofrontend/expressions.cc:11694
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10500
+#: go/gofrontend/expressions.cc:11806
 msgid "argument must have complex type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10519
+#: go/gofrontend/expressions.cc:11822
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10521
+#: go/gofrontend/expressions.cc:11824
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11181
-msgid "type conversion result count mismatch"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12634
-#: go/gofrontend/expressions.cc:13070
+#: go/gofrontend/expressions.cc:13781 go/gofrontend/expressions.cc:14520
 msgid "expected function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11223
-msgid "multiple-value argument in single-value context"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:11420
-msgid "invalid use of %<...%> with non-slice"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:12642
+#: go/gofrontend/expressions.cc:14097
 msgid "function result count mismatch"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12660
+#: go/gofrontend/expressions.cc:14123
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12678
-msgid "invalid use of %<...%> calling non-variadic function"
+#: go/gofrontend/expressions.cc:14529 go/gofrontend/expressions.cc:14543
+msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13079 go/gofrontend/expressions.cc:13093
-msgid "number of results does not match number of values"
+#: go/gofrontend/expressions.cc:14671
+msgid "invalid 3-index slice of object that is not a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13385 go/gofrontend/expressions.cc:14056
-msgid "index must be integer"
+#: go/gofrontend/expressions.cc:14674
+msgid "attempt to slice object that is not array, slice, or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13394 go/gofrontend/expressions.cc:14065
-msgid "slice end must be integer"
+#: go/gofrontend/expressions.cc:14677
+msgid "attempt to index object that is not array, slice, string, or map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13403
-msgid "slice capacity must be integer"
+#: go/gofrontend/expressions.cc:14730
+msgid "attempt to index type expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13454 go/gofrontend/expressions.cc:14099
-msgid "inverted slice range"
+#: go/gofrontend/expressions.cc:14757
+msgid "invalid 3-index slice of string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13497
-msgid "slice of unaddressable value"
+#: go/gofrontend/expressions.cc:14770
+msgid "invalid slice of map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14355
+#: go/gofrontend/expressions.cc:14779 go/gofrontend/expressions.cc:15970
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14793
+#: go/gofrontend/expressions.cc:16481
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:15579
-msgid "too many expressions for struct"
+#: go/gofrontend/expressions.cc:18212
+msgid ""
+"may only omit types within composite literals of slice, array, or map type"
+msgstr ""
+
+#: go/gofrontend/expressions.cc:18306 go/gofrontend/expressions.cc:18618
+msgid "map composite literal must have keys"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:15592
-msgid "too few expressions for struct"
+#: go/gofrontend/expressions.cc:18651
+msgid "expected struct, slice, array, or map type for composite literal"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17557 go/gofrontend/statements.cc:1921
+#: go/gofrontend/expressions.cc:19266 go/gofrontend/statements.cc:2121
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17569
+#: go/gofrontend/expressions.cc:19278
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17768 go/gofrontend/expressions.cc:17788
-#: go/gofrontend/statements.cc:1768
+#: go/gofrontend/expressions.cc:19480 go/gofrontend/expressions.cc:19500
+#: go/gofrontend/statements.cc:1936
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17793 go/gofrontend/statements.cc:1773
+#: go/gofrontend/expressions.cc:19505 go/gofrontend/statements.cc:1941
+#: go/gofrontend/statements.cc:6847
 msgid "invalid receive on send-only channel"
 msgstr ""
 
-#: go/gofrontend/parse.cc:3274
+#: go/gofrontend/parse.cc:3277
 msgid ""
 "parentheses required around this composite literal to avoid parsing ambiguity"
 msgstr ""
 
-#: go/gofrontend/parse.cc:4848
+#: go/gofrontend/parse.cc:4851
 msgid "cannot fallthrough final case in switch"
 msgstr ""
 
-#: go/gofrontend/statements.cc:1071
+#: go/gofrontend/statements.cc:1288
+msgid "cannot use %<_%> as value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:1300 go/gofrontend/statements.cc:2528
 msgid "invalid left hand side of assignment"
 msgstr ""
 
-#: go/gofrontend/statements.cc:1082 go/gofrontend/statements.cc:1437
+#: go/gofrontend/statements.cc:1309
+msgid "incompatible type in binary expression"
+msgstr ""
+
+#: go/gofrontend/statements.cc:1555
 msgid "use of untyped nil"
 msgstr ""
 
-#: go/gofrontend/statements.cc:1559
+#: go/gofrontend/statements.cc:1689
 msgid "expected map index on right hand side"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3196 go/gofrontend/statements.cc:3226
+#: go/gofrontend/statements.cc:2534
+msgid "increment or decrement of non-numeric type"
+msgstr ""
+
+#: go/gofrontend/statements.cc:3449 go/gofrontend/statements.cc:3464
 msgid "not enough arguments to return"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3204
+#: go/gofrontend/statements.cc:3455
 msgid "return with value in function with no return type"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3232
+#: go/gofrontend/statements.cc:3470
 msgid "too many values in return statement"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3785
+#: go/gofrontend/statements.cc:4062
 msgid "expected boolean expression"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4982
+#: go/gofrontend/statements.cc:5299
 msgid "cannot type switch on non-interface value"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5117
+#: go/gofrontend/statements.cc:5453
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5122
+#: go/gofrontend/statements.cc:5458
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:6440
+#: go/gofrontend/statements.cc:6852
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:6447
+#: go/gofrontend/statements.cc:6860
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
-#: go/gofrontend/types.cc:542
+#: go/gofrontend/types.cc:552
 msgid "invalid comparison of non-ordered type"
 msgstr ""
 
-#: go/gofrontend/types.cc:558
+#: go/gofrontend/types.cc:568
 msgid "slice can only be compared to nil"
 msgstr ""
 
-#: go/gofrontend/types.cc:560
+#: go/gofrontend/types.cc:570
 msgid "map can only be compared to nil"
 msgstr ""
 
-#: go/gofrontend/types.cc:562
+#: go/gofrontend/types.cc:572
 msgid "func can only be compared to nil"
 msgstr ""
 
-#: go/gofrontend/types.cc:568
+#: go/gofrontend/types.cc:578
 #, c-format
 msgid "invalid operation (%s)"
 msgstr ""
 
-#: go/gofrontend/types.cc:591
+#: go/gofrontend/types.cc:601
 msgid "invalid comparison of non-comparable type"
 msgstr ""
 
-#: go/gofrontend/types.cc:604
+#: go/gofrontend/types.cc:614
 msgid "invalid comparison of generated struct"
 msgstr ""
 
-#: go/gofrontend/types.cc:615
+#: go/gofrontend/types.cc:625
 msgid "invalid comparison of non-comparable struct"
 msgstr ""
 
-#: go/gofrontend/types.cc:625
+#: go/gofrontend/types.cc:635
 msgid "invalid comparison of generated array"
 msgstr ""
 
-#: go/gofrontend/types.cc:632
+#: go/gofrontend/types.cc:642
 msgid "invalid comparison of non-comparable array"
 msgstr ""
 
-#: go/gofrontend/types.cc:660
+#: go/gofrontend/types.cc:670
 msgid "multiple-value function call in single-value context"
 msgstr ""
 
-#: go/gofrontend/types.cc:744
+#: go/gofrontend/types.cc:754
 msgid "need explicit conversion"
 msgstr ""
 
-#: go/gofrontend/types.cc:752
+#: go/gofrontend/types.cc:761
 #, c-format
 msgid "cannot use type %s as type %s"
 msgstr ""
 
-#: go/gofrontend/types.cc:788
+#: go/gofrontend/types.cc:796
 msgid "conversion from normal type to notinheap type"
 msgstr ""
 
-#: go/gofrontend/types.cc:4802
+#: go/gofrontend/types.cc:4947
 msgid "different receiver types"
 msgstr ""
 
-#: go/gofrontend/types.cc:4825 go/gofrontend/types.cc:4838
-#: go/gofrontend/types.cc:4852
+#: go/gofrontend/types.cc:4970 go/gofrontend/types.cc:4983
+#: go/gofrontend/types.cc:4997
 msgid "different number of parameters"
 msgstr ""
 
-#: go/gofrontend/types.cc:4845
+#: go/gofrontend/types.cc:4990
 msgid "different parameter types"
 msgstr ""
 
-#: go/gofrontend/types.cc:4860
+#: go/gofrontend/types.cc:5005
 msgid "different varargs"
 msgstr ""
 
-#: go/gofrontend/types.cc:4873 go/gofrontend/types.cc:4886
-#: go/gofrontend/types.cc:4900
+#: go/gofrontend/types.cc:5018 go/gofrontend/types.cc:5031
+#: go/gofrontend/types.cc:5045
 msgid "different number of results"
 msgstr ""
 
-#: go/gofrontend/types.cc:4893
+#: go/gofrontend/types.cc:5038
 msgid "different result types"
 msgstr ""
 
-#: go/gofrontend/types.cc:9294
+#: go/gofrontend/types.cc:9611
 #, c-format
 msgid "need explicit conversion; missing method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9312 go/gofrontend/types.cc:9459
+#: go/gofrontend/types.cc:9629 go/gofrontend/types.cc:9776
 #, c-format
 msgid "incompatible type for method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9316 go/gofrontend/types.cc:9463
+#: go/gofrontend/types.cc:9633 go/gofrontend/types.cc:9780
 #, c-format
 msgid "incompatible type for method %s%s%s (%s)"
 msgstr ""
 
-#: go/gofrontend/types.cc:9399 go/gofrontend/types.cc:9412
+#: go/gofrontend/types.cc:9716 go/gofrontend/types.cc:9729
 msgid "pointer to interface type has no methods"
 msgstr ""
 
-#: go/gofrontend/types.cc:9401 go/gofrontend/types.cc:9414
+#: go/gofrontend/types.cc:9718 go/gofrontend/types.cc:9731
 msgid "type has no methods"
 msgstr ""
 
-#: go/gofrontend/types.cc:9435
+#: go/gofrontend/types.cc:9752
 #, c-format
 msgid "ambiguous method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9438
+#: go/gofrontend/types.cc:9755
 #, c-format
 msgid "missing method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9480
+#: go/gofrontend/types.cc:9797
 #, c-format
 msgid "method %s%s%s requires a pointer receiver"
 msgstr ""
 
-#: go/gofrontend/types.cc:9498
+#: go/gofrontend/types.cc:9815
 #, c-format
 msgid "method %s%s%s is marked go:nointerface"
 msgstr ""
 
+#: rust/resolve/rust-ast-resolve-expr.cc:140
+#, c-format
+msgid "You have broken GCC Rust. This is a feature.\n"
+msgstr ""
+
 #: lto-streamer.h:1033
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
@@ -23672,7 +24256,7 @@ msgstr ""
 #. coalesced sections.  Weak aliases (or any other kind of aliases) are
 #. not supported.  Weak symbols that aren't visible outside the .s file
 #. are not supported.
-#: config/darwin.h:663
+#: config/darwin.h:711
 #, gcc-internal-format
 msgid "alias definitions not supported in Mach-O; ignored"
 msgstr ""
@@ -23694,7 +24278,7 @@ msgid "profiling is not yet implemented for this architecture"
 msgstr ""
 
 #. Definitions for GCC.  Part of the machine description for CRIS.
-#. Copyright (C) 1998-2023 Free Software Foundation, Inc.
+#. Copyright (C) 1998-2024 Free Software Foundation, Inc.
 #. Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 #.
 #. This file is part of GCC.
@@ -23741,7 +24325,7 @@ msgstr ""
 #. See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
 #. TARGET_ASM_FUNCTION_EPILOGUE.
 #. Node: Profiling
-#: config/cris/cris.h:662
+#: config/cris/cris.h:661
 #, gcc-internal-format
 msgid "no %<FUNCTION_PROFILER%> for CRIS"
 msgstr ""
@@ -23771,7 +24355,7 @@ msgstr ""
 #. SPDX-License-Identifier: GPL-3.0-or-later
 #. Definitions of target machine for GNU compiler,
 #. for IBM RS/6000 POWER running AIX V7.1.
-#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -23794,7 +24378,7 @@ msgstr ""
 #. SPDX-License-Identifier: GPL-3.0-or-later
 #. Definitions of target machine for GNU compiler,
 #. for IBM RS/6000 POWER running AIX V7.2.
-#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -23817,7 +24401,7 @@ msgstr ""
 #. SPDX-License-Identifier: GPL-3.0-or-later
 #. Definitions of target machine for GNU compiler,
 #. for IBM RS/6000 POWER running AIX V7.3.
-#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -23855,7 +24439,7 @@ msgid ""
 msgstr ""
 
 #: config/rs6000/aix71.h:48 config/rs6000/aix72.h:48 config/rs6000/aix73.h:48
-#: config/rs6000/rtems.h:124 config/rs6000/rs6000.cc:3466
+#: config/rs6000/rtems.h:124 config/rs6000/rs6000.cc:3477
 #, gcc-internal-format
 msgid "%<-mcmodel%> incompatible with other toc options"
 msgstr ""
@@ -23865,7 +24449,7 @@ msgstr ""
 msgid "%<soft-float%> and long-double-128 are incompatible"
 msgstr ""
 
-#: config/rs6000/rtems.h:117 config/rs6000/rs6000.cc:3458
+#: config/rs6000/rtems.h:117 config/rs6000/rs6000.cc:3469
 #, gcc-internal-format
 msgid "%<-m64%> requires a PowerPC64 cpu"
 msgstr ""
@@ -23924,7 +24508,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC"
 msgstr ""
 
 #. A general purpose syntax error.
-#: fortran/gfortran.h:3356 fortran/io.cc:3727 fortran/io.cc:4413
+#: fortran/gfortran.h:3403 fortran/io.cc:3727 fortran/io.cc:4413
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in %s statement at %C"
 msgstr ""
@@ -23954,32 +24538,37 @@ msgstr ""
 msgid "%s:%d:the value %s is not a BOOLEAN as the value is %d"
 msgstr ""
 
-#: fortran/lang.opt:428
+#: fortran/lang.opt:432
 #, gcc-internal-format
 msgid "Unrecognized option to endianness value: %qs"
 msgstr ""
 
-#: fortran/lang.opt:650
+#: fortran/lang.opt:654
 #, gcc-internal-format
 msgid "Unrecognized option to floating-point init value: %qs"
 msgstr ""
 
-#: fortran/lang.opt:784
+#: fortran/lang.opt:792
 #, gcc-internal-format
 msgid "Unrecognized option: %qs"
 msgstr ""
 
-#: rust/lang.opt:82
+#: rust/lang.opt:90
+#, gcc-internal-format
+msgid "unknown crate type: '%qs'"
+msgstr ""
+
+#: rust/lang.opt:118
 #, gcc-internal-format
 msgid "unknown rust mangling option %qs"
 msgstr ""
 
-#: rust/lang.opt:99
+#: rust/lang.opt:135
 #, gcc-internal-format
 msgid "unknown rust edition %qs"
 msgstr ""
 
-#: rust/lang.opt:127
+#: rust/lang.opt:163
 #, gcc-internal-format
 msgid "unknown rust compile-until %qs"
 msgstr ""
@@ -23990,22 +24579,22 @@ msgid "assertion missing after %qs"
 msgstr ""
 
 #: c-family/c.opt:55 c-family/c.opt:58 c-family/c.opt:163 c-family/c.opt:166
-#: c-family/c.opt:193 c-family/c.opt:264
+#: c-family/c.opt:193 c-family/c.opt:276
 #, gcc-internal-format
 msgid "macro name missing after %qs"
 msgstr ""
 
 #: 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:2305 c-family/c.opt:2313
-#: config/darwin.opt:30 common.opt:329 common.opt:332 common.opt:3533
+#: c-family/c.opt:236 c-family/c.opt:2365 c-family/c.opt:2373
+#: config/darwin.opt:30 common.opt:329 common.opt:332 common.opt:3671
 #, gcc-internal-format
 msgid "missing filename after %qs"
 msgstr ""
 
 #: 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:2301
-#: c-family/c.opt:2321 c-family/c.opt:2325 c-family/c.opt:2329
+#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:268 c-family/c.opt:2361
+#: c-family/c.opt:2381 c-family/c.opt:2385 c-family/c.opt:2389
 #, gcc-internal-format
 msgid "missing path after %qs"
 msgstr ""
@@ -24015,59 +24604,69 @@ msgstr ""
 msgid "missing makefile target after %qs"
 msgstr ""
 
-#: c-family/c.opt:295
+#: c-family/c.opt:260
+#, gcc-internal-format
+msgid "missing format after %qs"
+msgstr ""
+
+#: c-family/c.opt:264
+#, gcc-internal-format
+msgid "missing output path after %qs"
+msgstr ""
+
+#: c-family/c.opt:311
 #, gcc-internal-format
 msgid "argument %qs to %<-Waligned-new%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:386
+#: c-family/c.opt:406
 #, gcc-internal-format
 msgid "argument %qs to %<-Wbidi-chars%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1115
+#: c-family/c.opt:1064
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1680
+#: c-family/c.opt:1728
 #, gcc-internal-format
 msgid "no class name specified with %qs"
 msgstr ""
 
-#: c-family/c.opt:1708
+#: c-family/c.opt:1756
 #, gcc-internal-format
 msgid "argument %qs must be either %<on%> or %<off%>"
 msgstr ""
 
-#: c-family/c.opt:1848
+#: c-family/c.opt:1900
 #, gcc-internal-format
 msgid ""
 "%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by "
 "default)"
 msgstr ""
 
-#: c-family/c.opt:1919
+#: c-family/c.opt:1975
 #, gcc-internal-format
 msgid "missing mapper"
 msgstr ""
 
-#: c-family/c.opt:1943
+#: c-family/c.opt:2003
 #, gcc-internal-format
 msgid "missing header name"
 msgstr ""
 
-#: c-family/c.opt:1951
+#: c-family/c.opt:2011
 #, gcc-internal-format
 msgid "missing module name"
 msgstr ""
 
-#: c-family/c.opt:1998
+#: c-family/c.opt:2058
 #, gcc-internal-format
 msgid "unrecognized ivar visibility value %qs"
 msgstr ""
 
-#: c-family/c.opt:2165
+#: c-family/c.opt:2225
 #, gcc-internal-format
 msgid "unrecognized scalar storage order value %qs"
 msgstr ""
@@ -24092,24 +24691,54 @@ msgstr ""
 msgid "unknown pointer size model %qs"
 msgstr ""
 
-#: config/i386/i386.opt:325
+#: config/aarch64/aarch64.opt:379
+#, gcc-internal-format
+msgid "unknown LDP/STP policy %qs"
+msgstr ""
+
+#: config/i386/i386.opt:340
 #, gcc-internal-format
 msgid "%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead"
 msgstr ""
 
-#: config/i386/i386.opt:385
+#: config/i386/i386.opt:400
 #, gcc-internal-format
 msgid ""
 "%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-"
 "masm=intel%> and %<-masm=att%> instead"
 msgstr ""
 
-#: config/i386/i386.opt:706
+#: config/i386/i386.opt:725
 #, gcc-internal-format
 msgid "%<-msse5%> was removed"
 msgstr ""
 
-#: config/i386/i386.opt:1267
+#: config/i386/i386.opt:741
+#, gcc-internal-format
+msgid "AVX512PF support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386.opt:745
+#, gcc-internal-format
+msgid "AVX512ER support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386.opt:773
+#, gcc-internal-format
+msgid "AVX5124FMAPS support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386.opt:777
+#, gcc-internal-format
+msgid "AVX5124VNNIW support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386.opt:972
+#, gcc-internal-format
+msgid "PREFETCHWT1 support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386.opt:1286
 #, gcc-internal-format
 msgid "unknown lam type %qs"
 msgstr ""
@@ -24167,190 +24796,205 @@ msgstr ""
 msgid "unknown linker output %qs"
 msgstr ""
 
-#: common.opt:1621
+#: common.opt:1635
 #, gcc-internal-format
 msgid "unknown excess precision style %qs"
 msgstr ""
 
-#: common.opt:1639
+#: common.opt:1653
 #, gcc-internal-format
 msgid ""
 "unknown specification for the set of FLT_EVAL_METHOD values to permit %qs"
 msgstr ""
 
-#: common.opt:1683
+#: common.opt:1697
 #, gcc-internal-format
 msgid "unknown floating point contraction style %qs"
 msgstr ""
 
-#: common.opt:1847
+#: common.opt:1865
+#, gcc-internal-format
+msgid "unknown hardcfr noreturn checking level %qs"
+msgstr ""
+
+#: common.opt:1900
 #, gcc-internal-format
 msgid "unknown Stack Reuse Level %qs"
 msgstr ""
 
-#: common.opt:1916
+#: common.opt:1972
+#, gcc-internal-format
+msgid "unavailable stringop for inlining %qs"
+msgstr ""
+
+#: common.opt:2003
 #, gcc-internal-format
 msgid "unknown Control-Flow Protection Level %qs"
 msgstr ""
 
-#: common.opt:2026
+#: common.opt:2113
 #, gcc-internal-format
 msgid "unknown IRA algorithm %qs"
 msgstr ""
 
-#: common.opt:2039
+#: common.opt:2126
 #, gcc-internal-format
 msgid "unknown IRA region %qs"
 msgstr ""
 
-#: common.opt:2117
+#: common.opt:2204
 #, gcc-internal-format
 msgid "unknown LTO partitioning model %qs"
 msgstr ""
 
-#: common.opt:2227
+#: common.opt:2318
 #, gcc-internal-format
 msgid "targets missing after %qs"
 msgstr ""
 
-#: common.opt:2230
+#: common.opt:2321
 #, gcc-internal-format
 msgid "options or targets=options missing after %qs"
 msgstr ""
 
-#: common.opt:2238
+#: common.opt:2329
 #, gcc-internal-format
 msgid "unknown offload ABI %qs"
 msgstr ""
 
-#: common.opt:2402
+#: common.opt:2493
 #, gcc-internal-format
 msgid "unknown profile reproducibility method %qs"
 msgstr ""
 
-#: common.opt:2418
+#: common.opt:2509
 #, gcc-internal-format
 msgid "unknown profile update method %qs"
 msgstr ""
 
-#: common.opt:2524
+#: common.opt:2618
 #, gcc-internal-format
 msgid "unknown Live-Patching Level %qs"
 msgstr ""
 
-#: common.opt:2557
+#: common.opt:2651
 #, gcc-internal-format
 msgid "unknown basic block reordering algorithm %qs"
 msgstr ""
 
-#: common.opt:2864
+#: common.opt:2987
 #, gcc-internal-format
 msgid "unknown TLS model %qs"
 msgstr ""
 
-#: common.opt:3204
+#: common.opt:3020
+#, gcc-internal-format
+msgid "unknown trampoline implementation %qs"
+msgstr ""
+
+#: common.opt:3342
 #, gcc-internal-format
 msgid "unknown vectorizer cost model %qs"
 msgstr ""
 
-#: common.opt:3235
+#: common.opt:3373
 #, gcc-internal-format
 msgid "unrecognized automatic variable initialization type %qs"
 msgstr ""
 
-#: common.opt:3261
+#: common.opt:3399
 #, gcc-internal-format
 msgid "unrecognized visibility value %qs"
 msgstr ""
 
-#: common.opt:3280
+#: common.opt:3418
 #, gcc-internal-format
 msgid "unknown vtable verify initialization priority %qs"
 msgstr ""
 
-#: params.opt:878
+#: params.opt:893
 #, gcc-internal-format
 msgid "unknown ranger debug mode %qs"
 msgstr ""
 
-#: params.opt:1057
+#: params.opt:1072
 #, gcc-internal-format
 msgid "unknown threader debug mode %qs"
 msgstr ""
 
-#: attribs.cc:255 attribs.cc:278 attribs.cc:291
+#: attribs.cc:242 attribs.cc:265 attribs.cc:278
 #, gcc-internal-format
 msgid "wrong argument to ignored attributes"
 msgstr ""
 
-#: attribs.cc:256
+#: attribs.cc:243
 #, gcc-internal-format
 msgid "valid format is %<ns::attr%> or %<ns::%>"
 msgstr ""
 
-#: attribs.cc:541
+#: attribs.cc:519
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %qE in declaration of a built-in function %qD because it "
 "conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:547
+#: attribs.cc:525 c-family/c-attribs.cc:1271 c-family/c-attribs.cc:1315
 #, gcc-internal-format
 msgid "ignoring attribute %qE because it conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439
-#: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790
-#: c-family/c-attribs.cc:4883 cp/decl.cc:15963 cp/decl.cc:16013
-#: cp/friend.cc:318 cp/tree.cc:5237
+#: attribs.cc:531 c-family/c-attribs.cc:995 c-family/c-attribs.cc:2690
+#: c-family/c-attribs.cc:3177 c-family/c-attribs.cc:5054
+#: c-family/c-attribs.cc:5147 cp/decl.cc:16419 cp/decl.cc:16469
+#: cp/friend.cc:318 cp/tree.cc:5245
 #, gcc-internal-format
 msgid "previous declaration here"
 msgstr ""
 
 #. Warn about and ignore all others for now, but store them.
-#: attribs.cc:720 c-family/c-attribs.cc:3956 objc/objc-act.cc:5131
-#: objc/objc-act.cc:7122 objc/objc-act.cc:8320 objc/objc-act.cc:8376
+#: attribs.cc:729 c-family/c-attribs.cc:4203 objc/objc-act.cc:5134
+#: objc/objc-act.cc:7125 objc/objc-act.cc:8323 objc/objc-act.cc:8379
 #, gcc-internal-format
 msgid "%qE attribute directive ignored"
 msgstr ""
 
-#: attribs.cc:724
+#: attribs.cc:739
 #, gcc-internal-format
 msgid "%<%E::%E%> scoped attribute directive ignored"
 msgstr ""
 
-#: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3304
+#: attribs.cc:752 c/c-parser.cc:2084 cp/cp-gimplify.cc:3657
 #, gcc-internal-format
 msgid "wrong number of arguments specified for %qE attribute"
 msgstr ""
 
-#: attribs.cc:740
+#: attribs.cc:755
 #, gcc-internal-format, gfc-internal-format
 msgid "expected %i or more, found %i"
 msgstr ""
 
-#: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3306
+#: attribs.cc:758 c/c-parser.cc:2087 cp/cp-gimplify.cc:3659
 #, gcc-internal-format, gfc-internal-format
 msgid "expected %i, found %i"
 msgstr ""
 
-#: attribs.cc:746
+#: attribs.cc:761
 #, gcc-internal-format, gfc-internal-format
 msgid "expected between %i and %i, found %i"
 msgstr ""
 
-#: attribs.cc:766 c-family/c-attribs.cc:4652
+#: attribs.cc:781 c-family/c-attribs.cc:4916
 #, gcc-internal-format
 msgid "%qE attribute does not apply to types"
 msgstr ""
 
-#: attribs.cc:814
+#: attribs.cc:829
 #, gcc-internal-format
 msgid "%qE attribute only applies to function types"
 msgstr ""
 
-#: attribs.cc:824
+#: attribs.cc:839
 #, gcc-internal-format
 msgid "type attributes ignored after type is already defined"
 msgstr ""
@@ -24363,125 +25007,131 @@ msgstr ""
 #. is a constraint violation if it is not one of the known
 #. standard attributes.  Diagnose it here with a pedwarn and
 #. then discard it to prevent a duplicate warning later.
-#: attribs.cc:898 attribs.cc:1875 attribs.cc:1885 attribs.cc:1895
-#: c-family/c-attribs.cc:965 c-family/c-attribs.cc:1027
-#: c-family/c-attribs.cc:1046 c-family/c-attribs.cc:1064
-#: c-family/c-attribs.cc:1094 c-family/c-attribs.cc:1115
-#: c-family/c-attribs.cc:1136 c-family/c-attribs.cc:1177
-#: c-family/c-attribs.cc:1208 c-family/c-attribs.cc:1224
-#: c-family/c-attribs.cc:1241 c-family/c-attribs.cc:1257
-#: c-family/c-attribs.cc:1274 c-family/c-attribs.cc:1299
-#: c-family/c-attribs.cc:1315 c-family/c-attribs.cc:1330
-#: c-family/c-attribs.cc:1358 c-family/c-attribs.cc:1375
-#: c-family/c-attribs.cc:1393 c-family/c-attribs.cc:1417
-#: c-family/c-attribs.cc:1455 c-family/c-attribs.cc:1478
-#: c-family/c-attribs.cc:1495 c-family/c-attribs.cc:1524
-#: c-family/c-attribs.cc:1545 c-family/c-attribs.cc:1566
-#: c-family/c-attribs.cc:1593 c-family/c-attribs.cc:1624
-#: c-family/c-attribs.cc:1653 c-family/c-attribs.cc:1707
-#: c-family/c-attribs.cc:1760 c-family/c-attribs.cc:1826
-#: c-family/c-attribs.cc:1884 c-family/c-attribs.cc:1973
-#: c-family/c-attribs.cc:2003 c-family/c-attribs.cc:2054
-#: c-family/c-attribs.cc:2582 c-family/c-attribs.cc:2781
-#: c-family/c-attribs.cc:2842 c-family/c-attribs.cc:3083
-#: c-family/c-attribs.cc:3163 c-family/c-attribs.cc:3315
-#: c-family/c-attribs.cc:3770 c-family/c-attribs.cc:3836
-#: c-family/c-attribs.cc:3872 c-family/c-attribs.cc:3927
-#: c-family/c-attribs.cc:4109 c-family/c-attribs.cc:4130
-#: c-family/c-attribs.cc:4219 c-family/c-attribs.cc:4251
-#: c-family/c-attribs.cc:4316 c-family/c-attribs.cc:4519
-#: c-family/c-attribs.cc:4654 c-family/c-attribs.cc:5408
-#: c-family/c-attribs.cc:5431 c-family/c-attribs.cc:5470
-#: c-family/c-attribs.cc:5552 c-family/c-attribs.cc:5625
-#: c-family/c-attribs.cc:5641 c-family/c-attribs.cc:5809
-#: c-family/c-attribs.cc:5821 c-family/c-common.cc:6060
-#: c-family/c-common.cc:6063 config/darwin.cc:2143 config/arm/arm.cc:7470
-#: config/arm/arm.cc:7497 config/arm/arm.cc:7514 config/avr/avr.cc:10285
-#: config/csky/csky.cc:6497 config/csky/csky.cc:6518 config/h8300/h8300.cc:4968
-#: config/h8300/h8300.cc:4992 config/i386/i386-options.cc:3443
-#: config/i386/i386-options.cc:3601 config/i386/i386-options.cc:3833
-#: config/i386/i386-options.cc:3863 config/ia64/ia64.cc:785
-#: config/loongarch/loongarch.cc:6609 config/rs6000/rs6000.cc:20530
-#: ada/gcc-interface/utils.cc:6608 ada/gcc-interface/utils.cc:6624
-#: ada/gcc-interface/utils.cc:6662 ada/gcc-interface/utils.cc:6679
-#: ada/gcc-interface/utils.cc:6696 ada/gcc-interface/utils.cc:6711
-#: ada/gcc-interface/utils.cc:6727 ada/gcc-interface/utils.cc:6753
-#: ada/gcc-interface/utils.cc:6822 ada/gcc-interface/utils.cc:6849
-#: ada/gcc-interface/utils.cc:6870 ada/gcc-interface/utils.cc:6891
-#: ada/gcc-interface/utils.cc:6939 ada/gcc-interface/utils.cc:6955
-#: ada/gcc-interface/utils.cc:7010 c/c-decl.cc:4774 c/c-decl.cc:4777
-#: c/c-decl.cc:4792 c/c-parser.cc:5449 cp/tree.cc:5001 d/d-attribs.cc:480
-#: d/d-attribs.cc:699 d/d-attribs.cc:720 d/d-attribs.cc:736 d/d-attribs.cc:753
-#: d/d-attribs.cc:785 d/d-attribs.cc:914 d/d-attribs.cc:973 d/d-attribs.cc:989
-#: d/d-attribs.cc:1005 d/d-attribs.cc:1154 d/d-attribs.cc:1167
-#: d/d-attribs.cc:1384 d/d-attribs.cc:1402 d/d-attribs.cc:1449
-#: d/d-attribs.cc:1487 d/d-attribs.cc:1503 d/d-attribs.cc:1560
-#: d/d-attribs.cc:1588 jit/dummy-frontend.cc:185 lto/lto-lang.cc:288
+#: attribs.cc:933 attribs.cc:1921 attribs.cc:1931 attribs.cc:1941
+#: c-family/c-attribs.cc:1023 c-family/c-attribs.cc:1175
+#: c-family/c-attribs.cc:1194 c-family/c-attribs.cc:1212
+#: c-family/c-attribs.cc:1242 c-family/c-attribs.cc:1286
+#: c-family/c-attribs.cc:1330 c-family/c-attribs.cc:1371
+#: c-family/c-attribs.cc:1402 c-family/c-attribs.cc:1418
+#: c-family/c-attribs.cc:1435 c-family/c-attribs.cc:1451
+#: c-family/c-attribs.cc:1468 c-family/c-attribs.cc:1493
+#: c-family/c-attribs.cc:1509 c-family/c-attribs.cc:1524
+#: c-family/c-attribs.cc:1621 c-family/c-attribs.cc:1638
+#: c-family/c-attribs.cc:1656 c-family/c-attribs.cc:1681
+#: c-family/c-attribs.cc:1706 c-family/c-attribs.cc:1729
+#: c-family/c-attribs.cc:1746 c-family/c-attribs.cc:1775
+#: c-family/c-attribs.cc:1796 c-family/c-attribs.cc:1817
+#: c-family/c-attribs.cc:1844 c-family/c-attribs.cc:1875
+#: c-family/c-attribs.cc:1904 c-family/c-attribs.cc:1958
+#: c-family/c-attribs.cc:2011 c-family/c-attribs.cc:2077
+#: c-family/c-attribs.cc:2135 c-family/c-attribs.cc:2224
+#: c-family/c-attribs.cc:2254 c-family/c-attribs.cc:2305
+#: c-family/c-attribs.cc:2833 c-family/c-attribs.cc:3032
+#: c-family/c-attribs.cc:3093 c-family/c-attribs.cc:3330
+#: c-family/c-attribs.cc:3410 c-family/c-attribs.cc:3562
+#: c-family/c-attribs.cc:4017 c-family/c-attribs.cc:4083
+#: c-family/c-attribs.cc:4119 c-family/c-attribs.cc:4174
+#: c-family/c-attribs.cc:4356 c-family/c-attribs.cc:4377
+#: c-family/c-attribs.cc:4466 c-family/c-attribs.cc:4498
+#: c-family/c-attribs.cc:4563 c-family/c-attribs.cc:4769
+#: c-family/c-attribs.cc:4918 c-family/c-attribs.cc:5682
+#: c-family/c-attribs.cc:5701 c-family/c-attribs.cc:5724
+#: c-family/c-attribs.cc:5763 c-family/c-attribs.cc:5845
+#: c-family/c-attribs.cc:5877 c-family/c-attribs.cc:5919
+#: c-family/c-attribs.cc:5935 c-family/c-attribs.cc:6103
+#: c-family/c-attribs.cc:6115 c-family/c-common.cc:6137
+#: c-family/c-common.cc:6140 config/darwin.cc:2208 config/arm/arm.cc:7478
+#: config/arm/arm.cc:7505 config/arm/arm.cc:7522 config/avr/avr.cc:10301
+#: config/csky/csky.cc:6497 config/csky/csky.cc:6518 config/h8300/h8300.cc:4972
+#: config/h8300/h8300.cc:4996 config/i386/i386-options.cc:3740
+#: config/i386/i386-options.cc:3898 config/i386/i386-options.cc:4130
+#: config/i386/i386-options.cc:4160 config/ia64/ia64.cc:795
+#: config/loongarch/loongarch.cc:8138 config/rs6000/rs6000.cc:20787
+#: ada/gcc-interface/utils.cc:6746 ada/gcc-interface/utils.cc:6762
+#: ada/gcc-interface/utils.cc:6859 ada/gcc-interface/utils.cc:6876
+#: ada/gcc-interface/utils.cc:6893 ada/gcc-interface/utils.cc:6908
+#: ada/gcc-interface/utils.cc:6924 ada/gcc-interface/utils.cc:6950
+#: ada/gcc-interface/utils.cc:7019 ada/gcc-interface/utils.cc:7046
+#: ada/gcc-interface/utils.cc:7067 ada/gcc-interface/utils.cc:7088
+#: ada/gcc-interface/utils.cc:7136 ada/gcc-interface/utils.cc:7152
+#: ada/gcc-interface/utils.cc:7186 c/c-decl.cc:4902 c/c-decl.cc:4905
+#: c/c-decl.cc:4920 c/c-parser.cc:5836 cp/tree.cc:5001 d/d-attribs.cc:483
+#: d/d-attribs.cc:702 d/d-attribs.cc:723 d/d-attribs.cc:739 d/d-attribs.cc:756
+#: d/d-attribs.cc:788 d/d-attribs.cc:917 d/d-attribs.cc:976 d/d-attribs.cc:992
+#: d/d-attribs.cc:1008 d/d-attribs.cc:1157 d/d-attribs.cc:1170
+#: d/d-attribs.cc:1387 d/d-attribs.cc:1405 d/d-attribs.cc:1452
+#: d/d-attribs.cc:1490 d/d-attribs.cc:1506 d/d-attribs.cc:1563
+#: d/d-attribs.cc:1591 jit/dummy-frontend.cc:270 jit/dummy-frontend.cc:304
+#: jit/dummy-frontend.cc:599 jit/dummy-frontend.cc:684
+#: jit/dummy-frontend.cc:705 jit/dummy-frontend.cc:724
+#: jit/dummy-frontend.cc:755 jit/dummy-frontend.cc:769
+#: jit/dummy-frontend.cc:812 jit/dummy-frontend.cc:832
+#: jit/dummy-frontend.cc:893 lto/lto-lang.cc:302 rust/rust-attribs.cc:171
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr ""
 
-#: attribs.cc:1174
+#: attribs.cc:1209
 #, gcc-internal-format
 msgid "missing %<target%> attribute for multi-versioned %qD"
 msgstr ""
 
-#: attribs.cc:1177 cp/decl.cc:1284 cp/decl.cc:2247 cp/decl.cc:2295
-#: cp/decl.cc:2311 cp/decl.cc:2991 cp/decl.cc:3437
+#: attribs.cc:1212 cp/decl.cc:1337 cp/decl.cc:2351 cp/decl.cc:2399
+#: cp/decl.cc:2415 cp/decl.cc:3095 cp/decl.cc:3533
 #, gcc-internal-format
 msgid "previous declaration of %qD"
 msgstr ""
 
-#: attribs.cc:1284
+#: attribs.cc:1320
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: attribs.cc:1806
+#: attribs.cc:1852
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1818
+#: attribs.cc:1864
 #, gcc-internal-format
 msgid ""
 "%q+D redeclared without dllimport attribute after being referenced with dll "
 "linkage"
 msgstr ""
 
-#: attribs.cc:1832
+#: attribs.cc:1878
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1913
+#: attribs.cc:1959
 #, gcc-internal-format
 msgid "inline function %q+D declared as dllimport: attribute ignored"
 msgstr ""
 
-#: attribs.cc:1921
+#: attribs.cc:1967
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:1929
+#: attribs.cc:1975
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:1960
+#: attribs.cc:2006
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: attribs.cc:1974
+#: attribs.cc:2020
 #, gcc-internal-format
 msgid ""
 "%qE implies default visibility, but %qD has already been declared with a "
 "different visibility"
 msgstr ""
 
-#: attribs.cc:2276
+#: attribs.cc:2322
 #, gcc-internal-format
 msgid "%qD specifies more restrictive attribute than its target %qD: %s"
 msgid_plural ""
@@ -24489,12 +25139,12 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: attribs.cc:2282 attribs.cc:2302
+#: attribs.cc:2328 attribs.cc:2348
 #, gcc-internal-format
 msgid "%qD target declared here"
 msgstr ""
 
-#: attribs.cc:2296
+#: attribs.cc:2342
 #, gcc-internal-format
 msgid "%qD specifies less restrictive attribute than its target %qD: %s"
 msgid_plural ""
@@ -24537,191 +25187,191 @@ msgstr ""
 msgid "cannot read function profile from %s"
 msgstr ""
 
-#: builtins.cc:702
+#: builtins.cc:703
 #, gcc-internal-format
 msgid "offset %qwi outside bounds of constant string"
 msgstr ""
 
-#: builtins.cc:706 cp/name-lookup.cc:6418
+#: builtins.cc:707 cp/name-lookup.cc:6739
 #, gcc-internal-format
 msgid "%qE declared here"
 msgstr ""
 
-#: builtins.cc:1314
+#: builtins.cc:1298
 #, gcc-internal-format
 msgid "second argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1321
+#: builtins.cc:1305
 #, gcc-internal-format
 msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:1329
+#: builtins.cc:1313
 #, gcc-internal-format
 msgid "third argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1336
+#: builtins.cc:1320
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:4044 gimple-fold.cc:2523 gimple-ssa-warn-access.cc:2552
-#: tree-ssa-strlen.cc:3166
+#: builtins.cc:4048 gimple-fold.cc:2522 gimple-ssa-warn-access.cc:2566
+#: tree-ssa-strlen.cc:3177
 #, gcc-internal-format
 msgid "%qD specified bound %E equals destination size"
 msgstr ""
 
-#: builtins.cc:5149 gimplify.cc:3669
+#: builtins.cc:5297 gimplify.cc:3894
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:5249
+#: builtins.cc:5397
 #, gcc-internal-format
 msgid "invalid argument to %qD"
 msgstr ""
 
-#: builtins.cc:5262
+#: builtins.cc:5410
 #, gcc-internal-format
 msgid "unsupported argument to %qD"
 msgstr ""
 
 #. Warn since no effort is made to ensure that any frame
 #. beyond the current one exists or can be safely reached.
-#: builtins.cc:5270
+#: builtins.cc:5418
 #, gcc-internal-format
 msgid "calling %qD with a nonzero argument is unsafe"
 msgstr ""
 
-#: builtins.cc:5622
+#: builtins.cc:6048
 #, gcc-internal-format
 msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
 msgstr ""
 
-#: builtins.cc:5712
+#: builtins.cc:6138
 #, gcc-internal-format
 msgid "trampoline generated for nested function %qD"
 msgstr ""
 
-#: builtins.cc:6086 builtins.cc:6099
+#: builtins.cc:6512 builtins.cc:6525
 #, gcc-internal-format
 msgid "%qD changed semantics in GCC 4.4"
 msgstr ""
 
-#: builtins.cc:6869
+#: builtins.cc:7295
 #, gcc-internal-format
 msgid "non-constant argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:6911
+#: builtins.cc:7337
 #, gcc-internal-format
 msgid "non-integer argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:6975
+#: builtins.cc:7401
 #, gcc-internal-format
 msgid "%<__builtin_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:6995
+#: builtins.cc:7421
 #, gcc-internal-format
 msgid "%<__builtin_set_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:7054
+#: builtins.cc:7480
 #, gcc-internal-format
 msgid "%qs only supported in OpenACC code"
 msgstr ""
 
-#: builtins.cc:7061
+#: builtins.cc:7487
 #, gcc-internal-format
 msgid "non-constant argument 0 to %qs"
 msgstr ""
 
-#: builtins.cc:7073
+#: builtins.cc:7499
 #, gcc-internal-format
 msgid "illegal argument 0 to %qs"
 msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.cc:7583 expr.cc:11839
+#: builtins.cc:8018 expr.cc:12315
 #, gcc-internal-format
 msgid "invalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack_len () are removed during
 #. inlining.
-#: builtins.cc:7589
+#: builtins.cc:8024
 #, gcc-internal-format
 msgid "invalid use of %<__builtin_va_arg_pack_len ()%>"
 msgstr ""
 
-#: builtins.cc:7857
+#: builtins.cc:8313
 #, gcc-internal-format
 msgid "%<__builtin_longjmp%> second argument must be 1"
 msgstr ""
 
-#: builtins.cc:8753
+#: builtins.cc:9216
 #, gcc-internal-format
 msgid "target format does not support infinity"
 msgstr ""
 
-#: builtins.cc:10483
+#: builtins.cc:11227
 #, gcc-internal-format
 msgid "%<va_start%> used in function with fixed arguments"
 msgstr ""
 
-#: builtins.cc:10491
+#: builtins.cc:11235
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:10506
+#: builtins.cc:11250
 #, gcc-internal-format
 msgid "%<__builtin_next_arg%> called without an argument"
 msgstr ""
 
-#: builtins.cc:10511
+#: builtins.cc:11255
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<__builtin_next_arg%>"
 msgstr ""
 
-#: builtins.cc:10544
+#: builtins.cc:11288
 #, gcc-internal-format
 msgid "second parameter of %<va_start%> not last named argument"
 msgstr ""
 
-#: builtins.cc:10557
+#: builtins.cc:11301
 #, gcc-internal-format
 msgid ""
 "undefined behavior when second parameter of %<va_start%> is declared with "
 "%<register%> storage"
 msgstr ""
 
-#: builtins.cc:10586
+#: builtins.cc:11330
 #, gcc-internal-format
 msgid "first argument of %qD must be a pointer, second integer constant"
 msgstr ""
 
-#: builtins.cc:10599
+#: builtins.cc:11343
 #, gcc-internal-format
 msgid "last argument of %qD is not integer constant between 0 and 3"
 msgstr ""
 
-#: calls.cc:1248
+#: calls.cc:1251
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot tail-call: %s"
 msgstr ""
 
-#: calls.cc:2775
+#: calls.cc:2779
 #, gcc-internal-format
 msgid "function call has aggregate value"
 msgstr ""
 
-#: calls.cc:3504
+#: calls.cc:3508
 #, gcc-internal-format
 msgid "passing too large argument on stack"
 msgstr ""
@@ -24731,122 +25381,122 @@ msgstr ""
 msgid "%<verify_marked_backedges%> failed"
 msgstr ""
 
-#: cfgexpand.cc:1816
+#: cfgexpand.cc:1850
 #, gcc-internal-format
 msgid "total size of local objects is too large"
 msgstr ""
 
-#: cfgexpand.cc:1819 function.cc:1014 varasm.cc:2330
+#: cfgexpand.cc:1853 function.cc:1015 varasm.cc:2360
 #, gcc-internal-format
 msgid "size of variable %q+D is too large"
 msgstr ""
 
-#: cfgexpand.cc:1831
+#: cfgexpand.cc:1865
 #, gcc-internal-format
 msgid "cannot allocate stack for variable %q+D, naked function"
 msgstr ""
 
-#: cfgexpand.cc:2923
+#: cfgexpand.cc:2962
 #, gcc-internal-format
 msgid "too many alternatives in %<asm%>"
 msgstr ""
 
-#: cfgexpand.cc:2930
+#: cfgexpand.cc:2969
 #, gcc-internal-format
 msgid "operand constraints for %<asm%> differ in number of alternatives"
 msgstr ""
 
-#: cfgexpand.cc:2952
+#: cfgexpand.cc:2991
 #, gcc-internal-format
 msgid "%<asm%> specifier for variable %qE conflicts with %<asm%> clobber list"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:2983
+#: cfgexpand.cc:3022
 #, gcc-internal-format
 msgid "PIC register clobbered by %qs in %<asm%>"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:2990
+#: cfgexpand.cc:3029
 #, gcc-internal-format
 msgid "the register %qs cannot be clobbered in %<asm%> for the current target"
 msgstr ""
 
-#: cfgexpand.cc:3003
+#: cfgexpand.cc:3042
 #, gcc-internal-format
 msgid "listing the stack pointer register %qs in a clobber list is deprecated"
 msgstr ""
 
-#: cfgexpand.cc:3005
+#: cfgexpand.cc:3044
 #, gcc-internal-format
 msgid ""
 "the value of the stack pointer after an %<asm%> statement must be the same "
 "as it was before the statement"
 msgstr ""
 
-#: cfgexpand.cc:3075
+#: cfgexpand.cc:3114
 #, gcc-internal-format
 msgid "more than %d operands in %<asm%>"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:3128
+#: cfgexpand.cc:3167
 #, gcc-internal-format
 msgid "unknown register name %qs in %<asm%>"
 msgstr ""
 
-#: cfgexpand.cc:3194
+#: cfgexpand.cc:3233
 #, gcc-internal-format
 msgid "invalid hard register usage between output operands"
 msgstr ""
 
-#: cfgexpand.cc:3221
+#: cfgexpand.cc:3260
 #, gcc-internal-format
 msgid ""
 "invalid hard register usage between output operand and matching constraint "
 "operand"
 msgstr ""
 
-#: cfgexpand.cc:3229
+#: cfgexpand.cc:3268
 #, gcc-internal-format
 msgid ""
 "invalid hard register usage between earlyclobber operand and input operand"
 msgstr ""
 
-#: cfgexpand.cc:3314
+#: cfgexpand.cc:3353
 #, gcc-internal-format, gfc-internal-format
 msgid "output number %d not directly addressable"
 msgstr ""
 
-#: cfgexpand.cc:3410
+#: cfgexpand.cc:3449
 #, gcc-internal-format
 msgid "%<asm%> operand %d probably does not match constraints"
 msgstr ""
 
-#: cfgexpand.cc:3595
+#: cfgexpand.cc:3642
 #, gcc-internal-format
 msgid "%<asm%> clobber conflict with output operand"
 msgstr ""
 
-#: cfgexpand.cc:3600
+#: cfgexpand.cc:3647
 #, gcc-internal-format
 msgid "%<asm%> clobber conflict with input operand"
 msgstr ""
 
-#: cfgexpand.cc:6684
+#: cfgexpand.cc:6725
 #, gcc-internal-format
 msgid "stack protector not protecting local variables: variable length buffer"
 msgstr ""
 
-#: cfgexpand.cc:6688
+#: cfgexpand.cc:6729
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "stack protector not protecting function: all local arrays are less than %d "
 "bytes long"
 msgstr ""
 
-#: cfgexpand.cc:6977
+#: cfgexpand.cc:7018
 #, gcc-internal-format
 msgid "patchable function entry %wu exceeds size %wu"
 msgstr ""
@@ -25187,668 +25837,670 @@ msgstr ""
 msgid "%d exits recorded for loop %d (having %d exits)"
 msgstr ""
 
-#: cfgrtl.cc:2400
+#: cfgrtl.cc:2426
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "non-cold basic block %d reachable only by paths crossing the cold partition"
 msgstr ""
 
-#: cfgrtl.cc:2520
+#: cfgrtl.cc:2546
 #, gcc-internal-format, gfc-internal-format
 msgid "multiple hot/cold transitions found (bb %i)"
 msgstr ""
 
-#: cfgrtl.cc:2528
+#: cfgrtl.cc:2554
 #, gcc-internal-format
 msgid "partition found but function partition flag not set"
 msgstr ""
 
-#: cfgrtl.cc:2567
+#: cfgrtl.cc:2593
 #, gcc-internal-format
 msgid "verify_flow_info: REG_BR_PROB is set but cfg probability is not"
 msgstr ""
 
-#: cfgrtl.cc:2576
+#: cfgrtl.cc:2602
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
 msgstr ""
 
-#: cfgrtl.cc:2598
+#: cfgrtl.cc:2624
 #, gcc-internal-format
 msgid "EDGE_CROSSING incorrectly set across same section"
 msgstr ""
 
-#: cfgrtl.cc:2603
+#: cfgrtl.cc:2629
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge crosses section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2609
+#: cfgrtl.cc:2635
 #, gcc-internal-format, gfc-internal-format
 msgid "EH edge crosses section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2615
+#: cfgrtl.cc:2641
 #, gcc-internal-format, gfc-internal-format
 msgid "No region crossing jump at section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2622
+#: cfgrtl.cc:2648
 #, gcc-internal-format
 msgid "EDGE_CROSSING missing across section boundary"
 msgstr ""
 
-#: cfgrtl.cc:2652
+#: cfgrtl.cc:2678
 #, gcc-internal-format, gfc-internal-format
 msgid "Region crossing jump across same section in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2659
+#: cfgrtl.cc:2685
 #, gcc-internal-format, gfc-internal-format
 msgid "missing REG_EH_REGION note at the end of bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2664
+#: cfgrtl.cc:2690
 #, gcc-internal-format, gfc-internal-format
 msgid "too many exception handling edges in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2672
+#: cfgrtl.cc:2698
 #, gcc-internal-format, gfc-internal-format
 msgid "too many outgoing branch edges from bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2677
+#: cfgrtl.cc:2703
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge after unconditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2682
+#: cfgrtl.cc:2708
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of branch edges after unconditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2689
+#: cfgrtl.cc:2715
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong amount of branch edges after conditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2695
+#: cfgrtl.cc:2721
 #, gcc-internal-format, gfc-internal-format
 msgid "abnormal call edges for non-call insn in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2700
+#: cfgrtl.cc:2726
 #, gcc-internal-format, gfc-internal-format
 msgid "sibcall edges for non-call insn in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2710
+#: cfgrtl.cc:2736
 #, gcc-internal-format, gfc-internal-format
 msgid "abnormal edges for no purpose in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2721
+#: cfgrtl.cc:2747
 #, gcc-internal-format, gfc-internal-format
 msgid "EH incoming edge mixed with non-EH incoming edges in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2762 cfgrtl.cc:2772
+#: cfgrtl.cc:2788 cfgrtl.cc:2798
 #, gcc-internal-format, gfc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
 msgstr ""
 
-#: cfgrtl.cc:2785
+#: cfgrtl.cc:2811
 #, gcc-internal-format, gfc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
 msgstr ""
 
-#: cfgrtl.cc:2795
+#: cfgrtl.cc:2821
 #, gcc-internal-format, gfc-internal-format
 msgid "in basic block %d:"
 msgstr ""
 
-#: cfgrtl.cc:2821
+#: cfgrtl.cc:2847
 #, gcc-internal-format, gfc-internal-format
 msgid "BB_RTL flag not set for block %d"
 msgstr ""
 
-#: cfgrtl.cc:2828
+#: cfgrtl.cc:2854
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d basic block pointer is %d, should be %d"
 msgstr ""
 
-#: cfgrtl.cc:2839
+#: cfgrtl.cc:2865
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d in header of bb %d has non-NULL basic block"
 msgstr ""
 
-#: cfgrtl.cc:2847
+#: cfgrtl.cc:2873
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d in footer of bb %d has non-NULL basic block"
 msgstr ""
 
-#: cfgrtl.cc:2923 cfgrtl.cc:2971
+#: cfgrtl.cc:2949 cfgrtl.cc:2997
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d outside of basic blocks has non-NULL bb field"
 msgstr ""
 
-#: cfgrtl.cc:2931
+#: cfgrtl.cc:2957
 #, gcc-internal-format, gfc-internal-format
 msgid "end insn %d for block %d not found in the insn stream"
 msgstr ""
 
-#: cfgrtl.cc:2944
+#: cfgrtl.cc:2970
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d is in multiple basic blocks (%d and %d)"
 msgstr ""
 
-#: cfgrtl.cc:2956
+#: cfgrtl.cc:2982
 #, gcc-internal-format, gfc-internal-format
 msgid "head insn %d for block %d not found in the insn stream"
 msgstr ""
 
-#: cfgrtl.cc:3004
+#: cfgrtl.cc:3030
 #, gcc-internal-format, gfc-internal-format
 msgid "missing barrier after block %i"
 msgstr ""
 
-#: cfgrtl.cc:3020
+#: cfgrtl.cc:3046
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
 msgstr ""
 
-#: cfgrtl.cc:3029
+#: cfgrtl.cc:3055
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Incorrect fallthru %i->%i"
 msgstr ""
 
-#: cfgrtl.cc:3031
+#: cfgrtl.cc:3057
 #, gcc-internal-format
 msgid "wrong insn in the fallthru edge"
 msgstr ""
 
-#: cfgrtl.cc:3065
+#: cfgrtl.cc:3091
 #, gcc-internal-format
 msgid "basic blocks not laid down consecutively"
 msgstr ""
 
-#: cfgrtl.cc:3104
+#: cfgrtl.cc:3130
 #, gcc-internal-format, gfc-internal-format
 msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
 msgstr ""
 
-#: cgraph.cc:3206
+#: cgraph.cc:3260
 #, gcc-internal-format
 msgid "caller edge count invalid"
 msgstr ""
 
-#: cgraph.cc:3303
+#: cgraph.cc:3357
 #, gcc-internal-format
 msgid "missing indirect call in speculative call sequence"
 msgstr ""
 
-#: cgraph.cc:3308
+#: cgraph.cc:3362
 #, gcc-internal-format
 msgid "indirect call in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3338
+#: cgraph.cc:3392
 #, gcc-internal-format
 msgid "speculative edges are not adjacent"
 msgstr ""
 
-#: cgraph.cc:3344
+#: cgraph.cc:3398
 #, gcc-internal-format, gfc-internal-format
 msgid "direct call to %s in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3350 cgraph.cc:3380
+#: cgraph.cc:3404 cgraph.cc:3434
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "direct call to %s in speculative call sequence has speculative_id %i out of "
 "range"
 msgstr ""
 
-#: cgraph.cc:3357
+#: cgraph.cc:3411
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate direct call to %s in speculative call sequence with speculative_id "
 "%i"
 msgstr ""
 
-#: cgraph.cc:3368
+#: cgraph.cc:3422
 #, gcc-internal-format
 msgid ""
 "call stmt hash does not point to first direct edge of speculative call "
 "sequence"
 msgstr ""
 
-#: cgraph.cc:3387
+#: cgraph.cc:3441
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate reference %s in speculative call sequence with speculative_id %i"
 msgstr ""
 
-#: cgraph.cc:3400
+#: cgraph.cc:3454
 #, gcc-internal-format, gfc-internal-format
 msgid "missing direct call for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3405
+#: cgraph.cc:3459
 #, gcc-internal-format, gfc-internal-format
 msgid "missing ref for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3414
+#: cgraph.cc:3468
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "number of speculative targets %i mismatched with "
 "num_speculative_call_targets %i"
 msgstr ""
 
-#: cgraph.cc:3443
+#: cgraph.cc:3497
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for edge %s->%s"
 msgstr ""
 
-#: cgraph.cc:3450
+#: cgraph.cc:3504
 #, gcc-internal-format
 msgid "cgraph count invalid"
 msgstr ""
 
-#: cgraph.cc:3455
+#: cgraph.cc:3509
 #, gcc-internal-format
 msgid "inline clone in same comdat group list"
 msgstr ""
 
-#: cgraph.cc:3460
+#: cgraph.cc:3514
 #, gcc-internal-format
 msgid "inline clone count is not compatible"
 msgstr ""
 
-#: cgraph.cc:3467
+#: cgraph.cc:3521
 #, gcc-internal-format
 msgid "tp_first_run must be non-negative"
 msgstr ""
 
-#: cgraph.cc:3472
+#: cgraph.cc:3526
 #, gcc-internal-format
 msgid "local symbols must be defined"
 msgstr ""
 
-#: cgraph.cc:3477
+#: cgraph.cc:3531
 #, gcc-internal-format
 msgid "externally visible inline clone"
 msgstr ""
 
-#: cgraph.cc:3482
+#: cgraph.cc:3536
 #, gcc-internal-format
 msgid "inline clone with address taken"
 msgstr ""
 
-#: cgraph.cc:3487
+#: cgraph.cc:3541
 #, gcc-internal-format
 msgid "inline clone is forced to output"
 msgstr ""
 
-#: cgraph.cc:3494
+#: cgraph.cc:3548
 #, gcc-internal-format
 msgid "calls_comdat_local is set outside of a comdat group"
 msgstr ""
 
-#: cgraph.cc:3499
+#: cgraph.cc:3553
 #, gcc-internal-format
 msgid "invalid calls_comdat_local flag"
 msgstr ""
 
-#: cgraph.cc:3506
+#: cgraph.cc:3560
 #, gcc-internal-format
 msgid "malloc attribute should be used for a function that returns a pointer"
 msgstr ""
 
-#: cgraph.cc:3518
+#: cgraph.cc:3572
 #, gcc-internal-format
 msgid "semantic interposition mismatch"
 msgstr ""
 
-#: cgraph.cc:3525
+#: cgraph.cc:3579
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for indirect edge from %s"
 msgstr ""
 
-#: cgraph.cc:3531 cgraph.cc:3591
+#: cgraph.cc:3585 cgraph.cc:3645
 #, gcc-internal-format
 msgid "edge count is not compatible with function count"
 msgstr ""
 
-#: cgraph.cc:3539
+#: cgraph.cc:3593
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "An indirect edge from %s is not marked as indirect or has associated "
 "indirect_info, the corresponding statement is: "
 msgstr ""
 
-#: cgraph.cc:3547 cgraph.cc:3619
+#: cgraph.cc:3601 cgraph.cc:3673
 #, gcc-internal-format
 msgid "edge has both call_stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3559
+#: cgraph.cc:3613
 #, gcc-internal-format, gfc-internal-format
 msgid "comdat-local function called by %s outside its comdat"
 msgstr ""
 
-#: cgraph.cc:3569
+#: cgraph.cc:3623
 #, gcc-internal-format
 msgid "inlined_to pointer is wrong"
 msgstr ""
 
-#: cgraph.cc:3574
+#: cgraph.cc:3628
 #, gcc-internal-format
 msgid "multiple inline callers"
 msgstr ""
 
-#: cgraph.cc:3581
+#: cgraph.cc:3635
 #, gcc-internal-format
 msgid "inlined_to pointer set for noninline callers"
 msgstr ""
 
-#: cgraph.cc:3609
+#: cgraph.cc:3663
 #, gcc-internal-format
 msgid "caller edge count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3640
+#: cgraph.cc:3694
 #, gcc-internal-format
 msgid "indirect call count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3657
+#: cgraph.cc:3711
 #, gcc-internal-format
 msgid "reference has both stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3668
+#: cgraph.cc:3722
 #, gcc-internal-format
 msgid "inlined_to pointer is set but no predecessors found"
 msgstr ""
 
-#: cgraph.cc:3673
+#: cgraph.cc:3727
 #, gcc-internal-format
 msgid "inlined_to pointer refers to itself"
 msgstr ""
 
-#: cgraph.cc:3684
+#: cgraph.cc:3738
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone_of"
 msgstr ""
 
-#: cgraph.cc:3697
+#: cgraph.cc:3751
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone list"
 msgstr ""
 
-#: cgraph.cc:3703
+#: cgraph.cc:3757
 #, gcc-internal-format
 msgid "cgraph_node is in clone list but it is not clone"
 msgstr ""
 
-#: cgraph.cc:3708
+#: cgraph.cc:3762
 #, gcc-internal-format
 msgid "cgraph_node has wrong prev_clone pointer"
 msgstr ""
 
-#: cgraph.cc:3713
+#: cgraph.cc:3767
 #, gcc-internal-format
 msgid "double linked list of clones corrupted"
 msgstr ""
 
-#: cgraph.cc:3725
+#: cgraph.cc:3779
 #, gcc-internal-format
 msgid "Alias has call edges"
 msgstr ""
 
-#: cgraph.cc:3731
+#: cgraph.cc:3785
 #, gcc-internal-format
 msgid "Alias has non-alias reference"
 msgstr ""
 
-#: cgraph.cc:3736
+#: cgraph.cc:3790
 #, gcc-internal-format
 msgid "Alias has more than one alias reference"
 msgstr ""
 
-#: cgraph.cc:3743
+#: cgraph.cc:3797
 #, gcc-internal-format
 msgid "Analyzed alias has no reference"
 msgstr ""
 
-#: cgraph.cc:3752
+#: cgraph.cc:3806
 #, gcc-internal-format
 msgid "No edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3757
+#: cgraph.cc:3811
 #, gcc-internal-format
 msgid "More than one edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3762
+#: cgraph.cc:3816
 #, gcc-internal-format
 msgid "Thunk is not supposed to have body"
 msgstr ""
 
-#: cgraph.cc:3798
+#: cgraph.cc:3852
 #, gcc-internal-format
 msgid "shared call_stmt:"
 msgstr ""
 
-#: cgraph.cc:3806
+#: cgraph.cc:3860
 #, gcc-internal-format
 msgid "edge points to wrong declaration:"
 msgstr ""
 
-#: cgraph.cc:3815
+#: cgraph.cc:3869
 #, gcc-internal-format
 msgid ""
 "an indirect edge with unknown callee corresponding to a call_stmt with a "
 "known declaration:"
 msgstr ""
 
-#: cgraph.cc:3825
+#: cgraph.cc:3879
 #, gcc-internal-format
 msgid "missing callgraph edge for call stmt:"
 msgstr ""
 
-#: cgraph.cc:3835
+#: cgraph.cc:3889
 #, gcc-internal-format
 msgid "reference to dead statement"
 msgstr ""
 
-#: cgraph.cc:3848
+#: cgraph.cc:3902
 #, gcc-internal-format, gfc-internal-format
 msgid "edge %s->%s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3860
+#: cgraph.cc:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "an indirect edge from %s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3879 cgraph.cc:3892
+#: cgraph.cc:3933 cgraph.cc:3946
 #, gcc-internal-format
 msgid "missing origin for a node in a nested list"
 msgstr ""
 
-#: cgraph.cc:3884
+#: cgraph.cc:3938
 #, gcc-internal-format
 msgid "origin points to a different parent"
 msgstr ""
 
-#: cgraph.cc:3900
+#: cgraph.cc:3954
 #, gcc-internal-format
 msgid "verify_cgraph_node failed"
 msgstr ""
 
-#: cgraph.cc:4022 varpool.cc:304
+#: cgraph.cc:4076 varpool.cc:304
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: section %s.%d is missing"
 msgstr ""
 
-#: cgraphunit.cc:752
+#: cgraphunit.cc:753
 #, gcc-internal-format
 msgid "duplicate definition of a symbol version"
 msgstr ""
 
-#: cgraphunit.cc:754
+#: cgraphunit.cc:755
 #, gcc-internal-format
 msgid "same version was previously defined here"
 msgstr ""
 
-#: cgraphunit.cc:760
+#: cgraphunit.cc:761
 #, gcc-internal-format
 msgid "symbol needs to be defined to have a version"
 msgstr ""
 
-#: cgraphunit.cc:766
+#: cgraphunit.cc:767
 #, gcc-internal-format
 msgid "common symbol cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:772
+#: cgraphunit.cc:773
 #, gcc-internal-format
 msgid "comdat symbol cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:778
+#: cgraphunit.cc:779
 #, gcc-internal-format
 msgid "%<weakref%> cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:784
+#: cgraphunit.cc:785
 #, gcc-internal-format
 msgid "versioned symbol must be public"
 msgstr ""
 
-#: cgraphunit.cc:790
+#: cgraphunit.cc:791
 #, gcc-internal-format
 msgid "versioned symbol must have default visibility"
 msgstr ""
 
-#: cgraphunit.cc:823
+#: cgraphunit.cc:824
 #, gcc-internal-format
 msgid "%<weakref%> attribute should be accompanied with an %<alias%> attribute"
 msgstr ""
 
-#: cgraphunit.cc:878
+#: cgraphunit.cc:879
 #, gcc-internal-format
 msgid "%<flatten%> attribute is ignored on aliases"
 msgstr ""
 
-#: cgraphunit.cc:886 cgraphunit.cc:937
+#: cgraphunit.cc:887 cgraphunit.cc:939
 #, gcc-internal-format
 msgid "%<externally_visible%> attribute have effect only on public objects"
 msgstr ""
 
-#: cgraphunit.cc:897
+#: cgraphunit.cc:898
 #, gcc-internal-format
 msgid "%<weakref%> attribute ignored because function is defined"
 msgstr ""
 
-#: cgraphunit.cc:912
+#: cgraphunit.cc:913
 #, gcc-internal-format
 msgid "%<alias%> attribute ignored because function is defined"
 msgstr ""
 
-#: cgraphunit.cc:920
+#: cgraphunit.cc:921
 #, gcc-internal-format
-msgid "%<always_inline%> function might not be inlinable"
+msgid ""
+"%<always_inline%> function might not be inlinable unless also declared "
+"%<inline%>"
 msgstr ""
 
-#: cgraphunit.cc:945
+#: cgraphunit.cc:947
 #, gcc-internal-format
 msgid "%<weakref%> attribute ignored because variable is initialized"
 msgstr ""
 
 #. include_self=
 #. TODO: Add OPT_Wundefined-inline.
-#: cgraphunit.cc:1094 c/c-decl.cc:12872
+#: cgraphunit.cc:1096 c/c-decl.cc:13291
 #, gcc-internal-format
 msgid "%q+F used but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1096 c/c-decl.cc:12882
+#: cgraphunit.cc:1098 c/c-decl.cc:13301
 #, gcc-internal-format
 msgid "%q+F declared %<static%> but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1140
+#: cgraphunit.cc:1142
 #, gcc-internal-format
 msgid "%qD defined but not used"
 msgstr ""
 
-#: cgraphunit.cc:1475
+#: cgraphunit.cc:1477
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD must return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1478 cgraphunit.cc:1501
+#: cgraphunit.cc:1480 cgraphunit.cc:1503
 #, gcc-internal-format
 msgid "resolver indirect function declared here"
 msgstr ""
 
-#: cgraphunit.cc:1498
+#: cgraphunit.cc:1500
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD should return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1508
+#: cgraphunit.cc:1510
 #, gcc-internal-format
 msgid "%qD alias between functions of incompatible types %qT and %qT"
 msgstr ""
 
-#: cgraphunit.cc:1511 cgraphunit.cc:1593
+#: cgraphunit.cc:1513 cgraphunit.cc:1595
 #, gcc-internal-format
 msgid "aliased declaration here"
 msgstr ""
 
-#: cgraphunit.cc:1549 c-family/c-pragma.cc:347
+#: cgraphunit.cc:1551 c-family/c-pragma.cc:347
 #, gcc-internal-format
 msgid "%q+D aliased to undefined symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1565
+#: cgraphunit.cc:1567
 #, gcc-internal-format
 msgid "%q+D aliased to external symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1590
+#: cgraphunit.cc:1592
 #, gcc-internal-format
 msgid "%q+D alias between function and variable is not supported"
 msgstr ""
 
-#: cgraphunit.cc:1664
+#: cgraphunit.cc:1666
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function"
 msgstr ""
 
-#: cgraphunit.cc:1692
+#: cgraphunit.cc:1694
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function in same comdat group"
 msgstr ""
 
-#: cgraphunit.cc:1868
+#: cgraphunit.cc:1870
 #, gcc-internal-format
 msgid "size of return value of %q+D is %u bytes"
 msgstr ""
 
-#: cgraphunit.cc:1872
+#: cgraphunit.cc:1874
 #, gcc-internal-format
 msgid "size of return value of %q+D is larger than %wu bytes"
 msgstr ""
 
-#: cgraphunit.cc:2434
+#: cgraphunit.cc:2436
 #, gcc-internal-format
 msgid "nodes with unreleased memory found"
 msgstr ""
@@ -25888,13 +26540,13 @@ msgstr ""
 msgid "cannot find %qs"
 msgstr ""
 
-#: collect-utils.cc:225 collect2.cc:2385 collect2.cc:2555 gcc.cc:3409
-#: gcc.cc:7747
+#: collect-utils.cc:225 collect2.cc:2388 collect2.cc:2558 gcc.cc:3419
+#: gcc.cc:7825
 #, gcc-internal-format
 msgid "%<pex_init%> failed: %m"
 msgstr ""
 
-#: collect-utils.cc:234 collect2.cc:2394 collect2.cc:2563 gcc.cc:2693
+#: collect-utils.cc:234 collect2.cc:2397 collect2.cc:2566 gcc.cc:2703
 #, gcc-internal-format
 msgid "%s: %m"
 msgstr ""
@@ -25909,159 +26561,163 @@ msgstr ""
 msgid "ld returned %d exit status"
 msgstr ""
 
-#: collect2.cc:913 gcc.cc:8266 config/gcn/mkoffload.cc:833
-#: config/nvptx/mkoffload.cc:559
+#: collect2.cc:916 gcc.cc:8345 config/nvptx/mkoffload.cc:644
 #, gcc-internal-format
 msgid "atexit failed"
 msgstr ""
 
-#: collect2.cc:1043
+#: collect2.cc:1046
 #, gcc-internal-format
 msgid "no arguments"
 msgstr ""
 
-#: collect2.cc:1283 opts.cc:1157
+#: collect2.cc:1286 opts.cc:1192
 #, gcc-internal-format
 msgid "LTO support has not been enabled in this configuration"
 msgstr ""
 
-#: collect2.cc:1324 graph.cc:55 lto-wrapper.cc:1720 lto-wrapper.cc:1776
-#: toplev.cc:1514 objc/objc-act.cc:459
+#: collect2.cc:1327 graph.cc:55 lto-wrapper.cc:1720 lto-wrapper.cc:1776
+#: toplev.cc:1518 objc/objc-act.cc:462
 #, gcc-internal-format
 msgid "cannot open %s: %m"
 msgstr ""
 
-#: collect2.cc:1444
+#: collect2.cc:1447
 #, gcc-internal-format
 msgid "unknown demangling style %qs"
 msgstr ""
 
-#: collect2.cc:1546 collect2.cc:1724 collect2.cc:1764
+#: collect2.cc:1549 collect2.cc:1727 collect2.cc:1767
 #, gcc-internal-format
 msgid "fopen %s: %m"
 msgstr ""
 
-#: collect2.cc:1549 collect2.cc:1729 collect2.cc:1767
+#: collect2.cc:1552 collect2.cc:1732 collect2.cc:1770
 #, gcc-internal-format
 msgid "fclose %s: %m"
 msgstr ""
 
-#: collect2.cc:2319 lto-wrapper.cc:1215 lto-wrapper.cc:1230
+#: collect2.cc:2322 lto-wrapper.cc:1215 lto-wrapper.cc:1230
 #: lto/lto-object.cc:148 lto/lto-object.cc:182 lto/lto-object.cc:279
 #: lto/lto-object.cc:336 lto/lto-object.cc:360
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: %s"
 msgstr ""
 
-#: collect2.cc:2359
+#: collect2.cc:2362
 #, gcc-internal-format
 msgid "cannot find %<nm%>"
 msgstr ""
 
-#: collect2.cc:2407
+#: collect2.cc:2410
 #, gcc-internal-format
 msgid "cannot open nm output: %m"
 msgstr ""
 
-#: collect2.cc:2462
+#: collect2.cc:2465
 #, gcc-internal-format, gfc-internal-format
 msgid "init function found in object %s"
 msgstr ""
 
-#: collect2.cc:2473
+#: collect2.cc:2476
 #, gcc-internal-format, gfc-internal-format
 msgid "fini function found in object %s"
 msgstr ""
 
-#: collect2.cc:2530
+#: collect2.cc:2533
 #, gcc-internal-format
 msgid "cannot find %<ldd%>"
 msgstr ""
 
-#: collect2.cc:2576
+#: collect2.cc:2579
 #, gcc-internal-format
 msgid "cannot open ldd output: %m"
 msgstr ""
 
-#: collect2.cc:2594
+#: collect2.cc:2597
 #, gcc-internal-format, gfc-internal-format
 msgid "dynamic dependency %s not found"
 msgstr ""
 
-#: collect2.cc:2606
+#: collect2.cc:2609
 #, gcc-internal-format
 msgid "unable to open dynamic dependency %qs"
 msgstr ""
 
-#: collect2.cc:2758
+#: collect2.cc:2761
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: not a COFF file"
 msgstr ""
 
-#: collect2.cc:2917
+#: collect2.cc:2920
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: cannot open as COFF file"
 msgstr ""
 
-#: collect2.cc:2976
+#: collect2.cc:2979
 #, gcc-internal-format, gfc-internal-format
 msgid "library lib%s not found"
 msgstr ""
 
-#: convert.cc:97
+#: convert.cc:98
 #, gcc-internal-format
 msgid "cannot convert to a pointer type"
 msgstr ""
 
-#: convert.cc:332
+#: convert.cc:334
 #, gcc-internal-format
 msgid "pointer value used where a floating-point was expected"
 msgstr ""
 
-#: convert.cc:336
+#: convert.cc:338
+#, gcc-internal-format
+msgid "vector value used where a floating-point was expected"
+msgstr ""
+
+#: convert.cc:342
 #, gcc-internal-format
 msgid "aggregate value used where a floating-point was expected"
 msgstr ""
 
-#: convert.cc:479
+#: convert.cc:485
 #, gcc-internal-format
 msgid "conversion to incomplete type"
 msgstr ""
 
-#: convert.cc:948
+#: convert.cc:959
 #, gcc-internal-format
 msgid ""
 "cannot convert a vector of type %qT to type %qT which has different size"
 msgstr ""
 
-#: convert.cc:956
+#: convert.cc:967
 #, gcc-internal-format
 msgid "aggregate value used where an integer was expected"
 msgstr ""
 
-#: convert.cc:1044
+#: convert.cc:1061
 #, gcc-internal-format
 msgid "pointer value used where a complex was expected"
 msgstr ""
 
-#: convert.cc:1048
+#: convert.cc:1065
 #, gcc-internal-format
 msgid "aggregate value used where a complex was expected"
 msgstr ""
 
-#: convert.cc:1085
+#: convert.cc:1102
 #, gcc-internal-format
 msgid ""
 "cannot convert a value of type %qT to vector type %qT which has different "
 "size"
 msgstr ""
 
-#: convert.cc:1093
+#: convert.cc:1110
 #, gcc-internal-format
 msgid "cannot convert value to a vector"
 msgstr ""
 
-#: convert.cc:1132
+#: convert.cc:1149
 #, gcc-internal-format
 msgid "aggregate value used where a fixed-point was expected"
 msgstr ""
@@ -26197,7 +26853,7 @@ msgstr ""
 msgid "closed intervals"
 msgstr ""
 
-#: diagnostic.cc:2478
+#: diagnostic.cc:2642
 #, gcc-internal-format
 msgid "debug path"
 msgstr ""
@@ -26217,65 +26873,65 @@ msgstr ""
 msgid "could not open dump file %qs: %m"
 msgstr ""
 
-#: dumpfile.cc:1844
+#: dumpfile.cc:1841
 #, gcc-internal-format
 msgid "ignoring unknown option %q.*s"
 msgstr ""
 
-#: dumpfile.cc:1926
+#: dumpfile.cc:1923
 #, gcc-internal-format
 msgid ""
 "unrecognized command-line option %<-fdump-%s%>; did you mean %<-fdump-%s%>?"
 msgstr ""
 
-#: dumpfile.cc:1929
+#: dumpfile.cc:1926
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-fdump-%s%>"
 msgstr ""
 
-#: dumpfile.cc:2002
+#: dumpfile.cc:1999
 #, gcc-internal-format
 msgid "unknown option %q.*s in %<-fopt-info-%s%>"
 msgstr ""
 
-#: dumpfile.cc:2034
+#: dumpfile.cc:2031
 #, gcc-internal-format
 msgid "ignoring possibly conflicting option %<-fopt-info-%s%>"
 msgstr ""
 
-#: dwarf2out.cc:1140
+#: dwarf2out.cc:1138
 #, gcc-internal-format
 msgid ""
 "multiple EH personalities are supported only with assemblers supporting %<."
 "cfi_personality%> directive"
 msgstr ""
 
-#: dwarf2out.cc:11165
+#: dwarf2out.cc:11187
 #, gcc-internal-format
 msgid "%<-gdwarf-6%> is output as version 5 with incompatibilities"
 msgstr ""
 
-#: dwarf2out.cc:15008
+#: dwarf2out.cc:15069
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
 
-#: emit-rtl.cc:2901
+#: emit-rtl.cc:3042
 #, gcc-internal-format
 msgid "invalid rtl sharing found in the insn"
 msgstr ""
 
-#: emit-rtl.cc:2903
+#: emit-rtl.cc:3044
 #, gcc-internal-format
 msgid "shared rtx"
 msgstr ""
 
-#: emit-rtl.cc:2905
+#: emit-rtl.cc:3046
 #, gcc-internal-format
 msgid "internal consistency failure"
 msgstr ""
 
-#: emit-rtl.cc:4005
+#: emit-rtl.cc:4146
 #, gcc-internal-format
 msgid "ICE: %<emit_insn%> used where %<emit_jump_insn%> needed:"
 msgstr ""
@@ -26290,94 +26946,94 @@ msgstr ""
 msgid "argument of %<__builtin_eh_return_regno%> must be constant"
 msgstr ""
 
-#: except.cc:2301
+#: except.cc:2312
 #, gcc-internal-format
 msgid "%<__builtin_eh_return%> not supported on this target"
 msgstr ""
 
-#: except.cc:3425 except.cc:3450
+#: except.cc:3448 except.cc:3473
 #, gcc-internal-format
 msgid "%<region_array%> is corrupted for region %i"
 msgstr ""
 
-#: except.cc:3438 except.cc:3469
+#: except.cc:3461 except.cc:3492
 #, gcc-internal-format
 msgid "%<lp_array%> is corrupted for lp %i"
 msgstr ""
 
-#: except.cc:3455
+#: except.cc:3478
 #, gcc-internal-format, gfc-internal-format
 msgid "outer block of region %i is wrong"
 msgstr ""
 
-#: except.cc:3460
+#: except.cc:3483
 #, gcc-internal-format, gfc-internal-format
 msgid "negative nesting depth of region %i"
 msgstr ""
 
-#: except.cc:3474
+#: except.cc:3497
 #, gcc-internal-format, gfc-internal-format
 msgid "region of lp %i is wrong"
 msgstr ""
 
-#: except.cc:3501
+#: except.cc:3524
 #, gcc-internal-format, gfc-internal-format
 msgid "tree list ends on depth %i"
 msgstr ""
 
-#: except.cc:3506
+#: except.cc:3529
 #, gcc-internal-format
 msgid "%<region_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3511
+#: except.cc:3534
 #, gcc-internal-format
 msgid "%<lp_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3518 tree.cc:14286 value-prof.cc:529
+#: except.cc:3541 tree.cc:14394 value-prof.cc:529
 #, gcc-internal-format
 msgid "%qs failed"
 msgstr ""
 
-#: explow.cc:1556
+#: explow.cc:1563
 #, gcc-internal-format
 msgid "stack limits not supported on this target"
 msgstr ""
 
-#: expmed.cc:359
+#: expmed.cc:360
 #, gcc-internal-format
 msgid "reverse scalar storage order"
 msgstr ""
 
-#: expmed.cc:376
+#: expmed.cc:377
 #, gcc-internal-format
 msgid "reverse floating-point scalar storage order"
 msgstr ""
 
-#: expmed.cc:418
+#: expmed.cc:419
 #, gcc-internal-format, gfc-internal-format
 msgid "reverse storage order for %smode"
 msgstr ""
 
-#: expmed.cc:671
+#: expmed.cc:672
 #, gcc-internal-format
 msgid ""
 "write of %wu-bit data outside the bound of destination object, data "
 "truncated into %wu-bit"
 msgstr ""
 
-#: expr.cc:11851
+#: expr.cc:12327
 #, gcc-internal-format
 msgid "call to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.cc:11865
+#: expr.cc:12341
 #, gcc-internal-format
 msgid "call to %qs declared with attribute warning: %s"
 msgstr ""
 
-#: expr.cc:12903
+#: expr.cc:13387
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when simplifying %<X - Y %s 0%> to "
@@ -26389,17 +27045,17 @@ msgstr ""
 msgid "invalid argument %qs to %qs"
 msgstr ""
 
-#: final.cc:1771
+#: final.cc:1769
 #, gcc-internal-format
 msgid "the frame size of %wu bytes is larger than %wu bytes"
 msgstr ""
 
-#: final.cc:4392 toplev.cc:1394 tree-cfgcleanup.cc:1540
+#: final.cc:4391 toplev.cc:1398 tree-cfgcleanup.cc:1540
 #, gcc-internal-format
 msgid "could not open final insn dump file %qs: %m"
 msgstr ""
 
-#: final.cc:4461 tree-cfgcleanup.cc:1557
+#: final.cc:4460 tree-cfgcleanup.cc:1557
 #, gcc-internal-format
 msgid "could not close final insn dump file %qs: %m"
 msgstr ""
@@ -26409,267 +27065,270 @@ msgstr ""
 msgid "large fixed-point constant implicitly truncated to fixed-point type"
 msgstr ""
 
-#: fold-const.cc:4762 fold-const.cc:4772
+#: fold-const.cc:4882 fold-const.cc:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d due to width of bit-field"
 msgstr ""
 
-#: fold-const.cc:6150 tree-ssa-reassoc.cc:2878 tree-ssa-reassoc.cc:3962
+#: fold-const.cc:6277 tree-ssa-reassoc.cc:2885 tree-ssa-reassoc.cc:3969
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying range test"
 msgstr ""
 
-#: fold-const.cc:6614 fold-const.cc:6630
+#: fold-const.cc:6741 fold-const.cc:6757
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d"
 msgstr ""
 
-#: fold-const.cc:6778
+#: fold-const.cc:6905
 #, gcc-internal-format
 msgid "%<or%> of unmatched not-equal tests is always 1"
 msgstr ""
 
-#: fold-const.cc:6783
+#: fold-const.cc:6910
 #, gcc-internal-format
 msgid "%<and%> of mutually exclusive equal-tests is always 0"
 msgstr ""
 
-#: fold-const.cc:9906
+#: fold-const.cc:10104
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when reducing constant in comparison"
 msgstr ""
 
-#: fold-const.cc:10313
+#: fold-const.cc:10511
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when combining constants around a "
 "comparison"
 msgstr ""
 
-#: fold-const.cc:13516
+#: fold-const.cc:13892
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
 msgstr ""
 
-#: function.cc:253
+#: function.cc:254
 #, gcc-internal-format
 msgid "total size of local objects %wu exceeds maximum %wu"
 msgstr ""
 
-#: function.cc:257
+#: function.cc:258
 #, gcc-internal-format
 msgid "total size of local objects exceeds maximum %wu"
 msgstr ""
 
-#: function.cc:1787 gimplify.cc:6690 gimplify.cc:6852
+#: function.cc:1788 gimplify.cc:6920 gimplify.cc:7082
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.cc:4285
+#: function.cc:4288
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4306
+#: function.cc:4309
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4973
+#: function.cc:4976
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: gcc.cc:2197
+#: gcc.cc:2213
 #, gcc-internal-format
 msgid "cannot open nested response file"
 msgstr ""
 
-#: gcc.cc:2234
+#: gcc.cc:2250
 #, gcc-internal-format
 msgid "cannot close nonexistent response file"
 msgstr ""
 
-#: gcc.cc:2257
+#: gcc.cc:2273
 #, gcc-internal-format, gfc-internal-format
 msgid "could not open temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2264
+#: gcc.cc:2280
 #, gcc-internal-format, gfc-internal-format
 msgid "could not write to temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2270
+#: gcc.cc:2286
 #, gcc-internal-format, gfc-internal-format
 msgid "could not close temporary response file %s"
 msgstr ""
 
 #. This leaves DESC open, but the OS will save us.
-#: gcc.cc:2302
+#: gcc.cc:2318
 #, gcc-internal-format
 msgid "cannot read spec file %qs: %m"
 msgstr ""
 
-#: gcc.cc:2396 gcc.cc:2417
-#, gcc-internal-format, gfc-internal-format
-msgid "specs %%include syntax malformed after %ld characters"
+#: gcc.cc:2412 gcc.cc:2432
+msgid "specs %%include syntax malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2444 gcc.cc:2454 gcc.cc:2465 gcc.cc:2476
-#, gcc-internal-format, gfc-internal-format
-msgid "specs %%rename syntax malformed after %ld characters"
+#: gcc.cc:2458 gcc.cc:2467 gcc.cc:2477 gcc.cc:2487
+msgid "specs %%rename syntax malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2487
+#: gcc.cc:2497
 #, gcc-internal-format, gfc-internal-format
 msgid "specs %s spec was not found to be renamed"
 msgstr ""
 
-#: gcc.cc:2495
+#: gcc.cc:2505
 #, gcc-internal-format
 msgid "%s: attempt to rename spec %qs to already defined spec %qs"
 msgstr ""
 
-#: gcc.cc:2517
-#, gcc-internal-format, gfc-internal-format
-msgid "specs unknown %% command after %ld characters"
+#: gcc.cc:2527
+msgid "specs unknown %% command after %td characters"
 msgstr ""
 
-#: gcc.cc:2529 gcc.cc:2543
-#, gcc-internal-format, gfc-internal-format
-msgid "specs file malformed after %ld characters"
+#: gcc.cc:2539 gcc.cc:2553
+msgid "specs file malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2598
+#: gcc.cc:2608
 #, gcc-internal-format
 msgid "spec file has no spec for linking"
 msgstr ""
 
-#: gcc.cc:3162 gcc.cc:3199
+#: gcc.cc:3172 gcc.cc:3209
 #, gcc-internal-format
 msgid "system path %qs is not absolute"
 msgstr ""
 
-#: gcc.cc:3288
+#: gcc.cc:3298
 #, gcc-internal-format
 msgid "%<-pipe%> not supported"
 msgstr ""
 
-#: gcc.cc:3426 gcc.cc:7756
+#: gcc.cc:3436 gcc.cc:7834
 #, gcc-internal-format
 msgid "cannot execute %qs: %s: %m"
 msgstr ""
 
-#: gcc.cc:3427 gcc.cc:7757
+#: gcc.cc:3437 gcc.cc:7835
 #, gcc-internal-format
 msgid "cannot execute %qs: %s"
 msgstr ""
 
-#: gcc.cc:3446
+#: gcc.cc:3456
 #, gcc-internal-format
 msgid "failed to get exit status: %m"
 msgstr ""
 
-#: gcc.cc:3452
+#: gcc.cc:3462
 #, gcc-internal-format
 msgid "failed to get process times: %m"
 msgstr ""
 
 #. The inferior failed to catch the signal.
-#: gcc.cc:3478 gcc.cc:3502
+#: gcc.cc:3488 gcc.cc:3512
 #, gcc-internal-format, gfc-internal-format
 msgid "%s signal terminated program %s"
 msgstr ""
 
-#: gcc.cc:3946 opts-common.cc:1575 opts-common.cc:1607
+#: gcc.cc:3956 opts-common.cc:1597 opts-common.cc:1629
 #, gcc-internal-format
 msgid "unrecognized command-line option %qs"
 msgstr ""
 
-#: gcc.cc:3988
+#: gcc.cc:3998
 #, gcc-internal-format
 msgid "GCC is not configured to support %qs as %<-foffload=%> argument"
 msgstr ""
 
-#: gcc.cc:3995
+#: gcc.cc:4005
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s; did you mean %qs?"
 msgstr ""
 
-#: gcc.cc:3998
+#: gcc.cc:4008
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s"
 msgstr ""
 
-#: gcc.cc:4018
+#: gcc.cc:4028
 #, gcc-internal-format
 msgid "%<=%>options missing after %<-foffload-options=%>target"
 msgstr ""
 
-#: gcc.cc:4467
+#: gcc.cc:4477
 #, gcc-internal-format
 msgid "%qs is an unknown %<-save-temps%> option"
 msgstr ""
 
-#: gcc.cc:4998 toplev.cc:709
+#: gcc.cc:5024
+#, gcc-internal-format
+msgid ""
+"linker hardening options not enabled by %<-fhardened%> because other link "
+"options were specified on the command line"
+msgstr ""
+
+#: gcc.cc:5048 toplev.cc:712
 #, gcc-internal-format
 msgid "input file %qs is the same as output file"
 msgstr ""
 
-#: gcc.cc:5003
+#: gcc.cc:5053
 #, gcc-internal-format
 msgid "output filename may not be empty"
 msgstr ""
 
-#: gcc.cc:5388
+#: gcc.cc:5438
 #, gcc-internal-format
 msgid "%<-pipe%> ignored because %<-save-temps%> specified"
 msgstr ""
 
-#: gcc.cc:5476
+#: gcc.cc:5526
 #, gcc-internal-format
 msgid "%<-x %s%> after last input file has no effect"
 msgstr ""
 
-#: gcc.cc:5679
+#: gcc.cc:5729
 #, gcc-internal-format
 msgid "unable to locate default linker script %qs in the library search paths"
 msgstr ""
 
-#: gcc.cc:5886
+#: gcc.cc:5936
 #, gcc-internal-format
 msgid "switch %qs does not start with %<-%>"
 msgstr ""
 
-#: gcc.cc:5890
+#: gcc.cc:5940
 #, gcc-internal-format
 msgid "spec-generated switch is just %<-%>"
 msgstr ""
 
-#: gcc.cc:6111
+#: gcc.cc:6172
 #, gcc-internal-format
 msgid "spec %qs invalid"
 msgstr ""
 
-#: gcc.cc:6272
+#: gcc.cc:6349
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%0%c%>"
 msgstr ""
 
-#: gcc.cc:6563
+#: gcc.cc:6641
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%W%c%>"
 msgstr ""
 
-#: gcc.cc:6579
+#: gcc.cc:6657
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%@%c%>"
 msgstr ""
 
-#: gcc.cc:6598
+#: gcc.cc:6676
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%x%c%>"
 msgstr ""
@@ -26677,138 +27336,138 @@ msgstr ""
 #. Catch the case where a spec string contains something like
 #. '%{foo:%*}'.  i.e. there is no * in the pattern on the left
 #. hand side of the :.
-#: gcc.cc:6809
+#: gcc.cc:6887
 #, gcc-internal-format
 msgid "spec failure: %<%%*%> has not been initialized by pattern match"
 msgstr ""
 
-#: gcc.cc:6860
+#: gcc.cc:6938
 #, gcc-internal-format
 msgid "spec failure: unrecognized spec option %qc"
 msgstr ""
 
-#: gcc.cc:6926
+#: gcc.cc:7004
 #, gcc-internal-format
 msgid "unknown spec function %qs"
 msgstr ""
 
-#: gcc.cc:6956
+#: gcc.cc:7034
 #, gcc-internal-format
 msgid "error in arguments to spec function %qs"
 msgstr ""
 
-#: gcc.cc:7015
+#: gcc.cc:7093
 #, gcc-internal-format
 msgid "malformed spec function name"
 msgstr ""
 
 #. )
-#: gcc.cc:7018
+#: gcc.cc:7096
 #, gcc-internal-format
 msgid "no arguments for spec function"
 msgstr ""
 
-#: gcc.cc:7037
+#: gcc.cc:7115
 #, gcc-internal-format
 msgid "malformed spec function arguments"
 msgstr ""
 
-#: gcc.cc:7216
+#: gcc.cc:7294
 #, gcc-internal-format
 msgid "braced spec %qs ends in escape"
 msgstr ""
 
-#: gcc.cc:7351
+#: gcc.cc:7429
 #, gcc-internal-format
 msgid "braced spec %qs is invalid at %qc"
 msgstr ""
 
-#: gcc.cc:7446
+#: gcc.cc:7524
 #, gcc-internal-format
 msgid "braced spec body %qs is invalid"
 msgstr ""
 
-#: gcc.cc:8055
+#: gcc.cc:8133
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not determine length of compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8066
+#: gcc.cc:8144
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure (length)"
 msgstr ""
 
-#: gcc.cc:8076 gcc.cc:8117
+#: gcc.cc:8154 gcc.cc:8195
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not open compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8096 gcc.cc:8133
+#: gcc.cc:8174 gcc.cc:8211
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure"
 msgstr ""
 
-#: gcc.cc:8436
+#: gcc.cc:8515
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8461
+#: gcc.cc:8540
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_HEADERS_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8668
+#: gcc.cc:8747
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: gcc.cc:8672
+#: gcc.cc:8751
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>"
 msgstr ""
 
-#: gcc.cc:8798
+#: gcc.cc:8877
 #, gcc-internal-format
 msgid "not configured with sysroot headers suffix"
 msgstr ""
 
-#: gcc.cc:8859
+#: gcc.cc:8938
 #, gcc-internal-format
 msgid "no input files"
 msgstr ""
 
-#: gcc.cc:8910
+#: gcc.cc:8989
 #, gcc-internal-format
 msgid "cannot specify %<-o%> with %<-c%>, %<-S%> or %<-E%> with multiple files"
 msgstr ""
 
-#: gcc.cc:8952
+#: gcc.cc:9031
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: %s compiler not installed on this system"
 msgstr ""
 
-#: gcc.cc:8977
+#: gcc.cc:9056
 #, gcc-internal-format
 msgid "recompiling with %<-fcompare-debug%>"
 msgstr ""
 
-#: gcc.cc:8993
+#: gcc.cc:9072
 #, gcc-internal-format
 msgid "during %<-fcompare-debug%> recompilation"
 msgstr ""
 
-#: gcc.cc:9002
+#: gcc.cc:9081
 #, gcc-internal-format
 msgid "comparing final insns dumps"
 msgstr ""
 
-#: gcc.cc:9155
+#: gcc.cc:9234
 #, gcc-internal-format
 msgid "%<-fuse-linker-plugin%>, but %s not found"
 msgstr ""
 
-#: gcc.cc:9189
+#: gcc.cc:9268
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: linker input file unused because linking not done"
 msgstr ""
@@ -26816,92 +27475,92 @@ msgstr ""
 #. This is can be an indication the user specifed an errorneous
 #. separated option value, (or used the wrong prefix for an
 #. option).
-#: gcc.cc:9195
+#: gcc.cc:9274
 #, gcc-internal-format
 msgid "%s: linker input file not found: %m"
 msgstr ""
 
-#: gcc.cc:9262 c-family/c-opts.cc:798
+#: gcc.cc:9341 c-family/c-opts.cc:820
 #, gcc-internal-format
 msgid "cannot use %<-%> as input filename for a precompiled header"
 msgstr ""
 
-#: gcc.cc:9268
+#: gcc.cc:9347
 #, gcc-internal-format, gfc-internal-format
 msgid "language %s not recognized"
 msgstr ""
 
-#: gcc.cc:9511
+#: gcc.cc:9590
 #, gcc-internal-format
 msgid "multilib spec %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9713
+#: gcc.cc:9792
 #, gcc-internal-format
 msgid "multilib exclusions %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9777 common/config/riscv/riscv-common.cc:1868
+#: gcc.cc:9856 common/config/riscv/riscv-common.cc:2129
 #, gcc-internal-format
 msgid "multilib select %qs %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9951
+#: gcc.cc:10030
 #, gcc-internal-format
 msgid "multilib select %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9991
+#: gcc.cc:10070
 #, gcc-internal-format
 msgid "multilib exclusion %qs is invalid"
 msgstr ""
 
-#: gcc.cc:10242
+#: gcc.cc:10321
 #, gcc-internal-format
 msgid "environment variable %qs not defined"
 msgstr ""
 
-#: gcc.cc:10410 gcc.cc:10415
+#: gcc.cc:10489 gcc.cc:10494
 #, gcc-internal-format
 msgid "invalid version number %qs"
 msgstr ""
 
-#: gcc.cc:10458
+#: gcc.cc:10537
 #, gcc-internal-format, gfc-internal-format
 msgid "too few arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10464
+#: gcc.cc:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10506
+#: gcc.cc:10585
 #, gcc-internal-format
 msgid "unknown operator %qs in %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10630
+#: gcc.cc:10709
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-dump-opt"
 msgstr ""
 
-#: gcc.cc:10698
+#: gcc.cc:10777
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-self-opt"
 msgstr ""
 
-#: gcc.cc:10785
+#: gcc.cc:10864
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments for %%:dumps"
 msgstr ""
 
-#: gcc.cc:10889
+#: gcc.cc:10968
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:debug-level-gt"
 msgstr ""
 
-#: gcc.cc:10910
+#: gcc.cc:10989
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:dwarf-version-gt"
 msgstr ""
@@ -26998,46 +27657,46 @@ msgstr ""
 msgid "duplicate definition of '%s'"
 msgstr ""
 
-#: ggc-common.cc:419 ggc-common.cc:427 ggc-common.cc:555 ggc-common.cc:573
-#: ggc-common.cc:693 ggc-common.cc:704 ggc-common.cc:719 ggc-page.cc:2499
-#: ggc-page.cc:2530 ggc-page.cc:2537
+#: ggc-common.cc:431 ggc-common.cc:439 ggc-common.cc:567 ggc-common.cc:585
+#: ggc-common.cc:705 ggc-common.cc:716 ggc-common.cc:731 ggc-page.cc:2503
+#: ggc-page.cc:2534 ggc-page.cc:2541
 #, gcc-internal-format
 msgid "cannot write PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:537
+#: ggc-common.cc:549
 #, gcc-internal-format
 msgid "cannot write PCH file: required memory segment unavailable"
 msgstr ""
 
-#: ggc-common.cc:566 config/i386/host-cygwin.cc:57
+#: ggc-common.cc:578 config/i386/host-cygwin.cc:57
 #, gcc-internal-format
 msgid "cannot get position in PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:576
+#: ggc-common.cc:588
 #, gcc-internal-format
 msgid "cannot write padding to PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:758 ggc-common.cc:774 ggc-common.cc:777 ggc-common.cc:800
-#: ggc-common.cc:803 ggc-common.cc:807 ggc-common.cc:842 ggc-common.cc:871
-#: ggc-common.cc:879 ggc-common.cc:889 ggc-common.cc:900 ggc-page.cc:2601
+#: ggc-common.cc:770 ggc-common.cc:786 ggc-common.cc:789 ggc-common.cc:812
+#: ggc-common.cc:815 ggc-common.cc:819 ggc-common.cc:854 ggc-common.cc:883
+#: ggc-common.cc:891 ggc-common.cc:901 ggc-common.cc:912 ggc-page.cc:2605
 #, gcc-internal-format
 msgid "cannot read PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:787
+#: ggc-common.cc:799
 #, gcc-internal-format
 msgid "PCH allocation failure"
 msgstr ""
 
-#: ggc-page.cc:1744
+#: ggc-page.cc:1748
 #, gcc-internal-format
 msgid "open /dev/zero: %m"
 msgstr ""
 
-#: ggc-page.cc:2515 ggc-page.cc:2521
+#: ggc-page.cc:2519 ggc-page.cc:2525
 #, gcc-internal-format
 msgid "cannot write PCH file"
 msgstr ""
@@ -27120,53 +27779,74 @@ msgstr ""
 msgid "array subscript %wu is above array bounds of %qT"
 msgstr ""
 
-#: gimple-fold.cc:2079 gimple-fold.cc:3131 gimple-ssa-warn-restrict.cc:2079
+#: gimple-fold.cc:2078 gimple-fold.cc:3130 gimple-ssa-warn-restrict.cc:2080
 #, gcc-internal-format
 msgid "%qD source argument is the same as destination"
 msgstr ""
 
-#: gimple-fold.cc:2145
+#: gimple-fold.cc:2144
 #, gcc-internal-format
 msgid ""
 "%qD destination unchanged after copying no bytes from a string of length %E"
 msgstr ""
 
-#: gimple-fold.cc:2150
+#: gimple-fold.cc:2149
 #, gcc-internal-format
 msgid "%qD destination unchanged after copying no bytes"
 msgstr ""
 
-#: gimple-fold.cc:2525 gimple-ssa-warn-access.cc:859
+#: gimple-fold.cc:2524 gimple-ssa-warn-access.cc:859
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-fold.cc:2544
+#: gimple-fold.cc:2543
 #, gcc-internal-format
 msgid "%qD specified bound %E equals source length"
 msgstr ""
 
-#: gimple-fold.cc:4543 gimple-fold.cc:4747
+#: gimple-fold.cc:4547 gimple-fold.cc:4774
 #, gcc-internal-format
 msgid ""
 "flexible array member %qD does not have well defined padding bits for %qs"
 msgstr ""
 
-#: gimple-fold.cc:4696 cp/constexpr.cc:4678
+#: gimple-fold.cc:4723 cp/constexpr.cc:4890
 #, gcc-internal-format
 msgid "PDP11 bit-field handling unsupported in %qs"
 msgstr ""
 
-#: gimple-fold.cc:4924
+#: gimple-fold.cc:5004
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported for variable length aggregates"
 msgstr ""
 
-#: gimple-fold.cc:4930
+#: gimple-fold.cc:5010
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported on this target"
 msgstr ""
 
+#: gimple-harden-control-flow.cc:97
+#, gcc-internal-format
+msgid ""
+"%qD calls %<setjmp%> or similar, %<-fharden-control-flow-redundancy%> is not "
+"supported"
+msgstr ""
+
+#: gimple-harden-control-flow.cc:110
+#, gcc-internal-format
+msgid ""
+"%qD receives nonlocal gotos, %<-fharden-control-flow-redundancy%> is not "
+"supported"
+msgstr ""
+
+#: gimple-harden-control-flow.cc:121
+#, gcc-internal-format
+msgid ""
+"%qD has more than %u blocks, the requested maximum for %<-fharden-control-"
+"flow-redundancy%>"
+msgstr ""
+
 #: gimple-ssa-isolate-paths.cc:290
 #, gcc-internal-format
 msgid "potential null pointer dereference"
@@ -27182,23 +27862,24 @@ msgstr ""
 msgid "function may return address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11382
+#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11585
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2040
-#: gimple-ssa-warn-access.cc:3712 tree.cc:12354 tree.cc:12391 tree.cc:12432
-#: tree.cc:12465 c/c-typeck.cc:3066 c/c-typeck.cc:3161 c/c-typeck.cc:5744
-#: c/c-typeck.cc:11288 c/c-typeck.cc:11305 c/gimple-parser.cc:2483
-#: c/gimple-parser.cc:2491 cp/call.cc:8090 cp/call.cc:10248 cp/class.cc:9076
-#: cp/constexpr.cc:894 cp/constexpr.cc:4116 cp/constexpr.cc:5757 cp/cvt.cc:1079
-#: cp/cvt.cc:1117 cp/decl.cc:8879 cp/decl.cc:16160 cp/decl.cc:16527
-#: cp/decl2.cc:5716 cp/decl2.cc:5771 cp/parser.cc:21943 cp/pt.cc:9025
-#: cp/semantics.cc:2208 cp/semantics.cc:3565 cp/semantics.cc:4681
-#: cp/typeck.cc:2143 cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10583
-#: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623
-#: rust/backend/rust-tree.cc:3765
+#: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2054
+#: gimple-ssa-warn-access.cc:3712 tree.cc:12441 tree.cc:12478 tree.cc:12519
+#: tree.cc:12552 c/c-parser.cc:20560 c/c-parser.cc:20701 c/c-typeck.cc:3157
+#: c/c-typeck.cc:3252 c/c-typeck.cc:5869 c/c-typeck.cc:11491
+#: c/c-typeck.cc:11508 c/gimple-parser.cc:2574 c/gimple-parser.cc:2582
+#: cp/call.cc:8180 cp/call.cc:10380 cp/class.cc:9399 cp/constexpr.cc:894
+#: cp/constexpr.cc:1321 cp/constexpr.cc:4311 cp/constexpr.cc:5982
+#: cp/constexpr.cc:6353 cp/cvt.cc:1081 cp/cvt.cc:1119 cp/decl.cc:9108
+#: cp/decl2.cc:5848 cp/decl2.cc:5903 cp/method.cc:1234 cp/parser.cc:22475
+#: cp/pt.cc:9156 cp/semantics.cc:2309 cp/semantics.cc:3713 cp/semantics.cc:4831
+#: cp/typeck.cc:2143 cp/typeck.cc:2363 cp/typeck.cc:4508 cp/typeck.cc:10690
+#: rust/backend/rust-constexpr.cc:4407 rust/backend/rust-tree.cc:621
+#: rust/backend/rust-tree.cc:3813
 #, gcc-internal-format
 msgid "declared here"
 msgstr ""
@@ -27208,34 +27889,34 @@ msgstr ""
 msgid "%<nonnull%> argument %qD compared to NULL"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2829 gimple-ssa-sprintf.cc:2949
+#: gimple-ssa-sprintf.cc:2836 gimple-ssa-sprintf.cc:2956
 #, gcc-internal-format
 msgid "%qE output may be truncated before the last format character"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2831 gimple-ssa-sprintf.cc:2951
+#: gimple-ssa-sprintf.cc:2838 gimple-ssa-sprintf.cc:2958
 #, gcc-internal-format
 msgid "%qE output truncated before the last format character"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2834 gimple-ssa-sprintf.cc:2954
+#: gimple-ssa-sprintf.cc:2841 gimple-ssa-sprintf.cc:2961
 #, gcc-internal-format
 msgid "%qE may write a terminating nul past the end of the destination"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2836 gimple-ssa-sprintf.cc:2956
+#: gimple-ssa-sprintf.cc:2843 gimple-ssa-sprintf.cc:2963
 #, gcc-internal-format
 msgid "%qE writing a terminating nul past the end of the destination"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2846
+#: gimple-ssa-sprintf.cc:2853
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing %wu byte into a region of size %wu"
 msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2853
+#: gimple-ssa-sprintf.cc:2860
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu byte into a region of "
@@ -27246,7 +27927,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2860
+#: gimple-ssa-sprintf.cc:2867
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu byte into a region of size "
@@ -27257,86 +27938,86 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2871
+#: gimple-ssa-sprintf.cc:2878
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing up to %wu bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2874
+#: gimple-ssa-sprintf.cc:2881
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing up to %wu bytes into a region of "
 "size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2876
+#: gimple-ssa-sprintf.cc:2883
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2888
+#: gimple-ssa-sprintf.cc:2895
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing likely %wu or more bytes "
 "into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2891
+#: gimple-ssa-sprintf.cc:2898
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing likely %wu or more bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2894
+#: gimple-ssa-sprintf.cc:2901
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2903
+#: gimple-ssa-sprintf.cc:2910
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes "
 "into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2906
+#: gimple-ssa-sprintf.cc:2913
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2909
+#: gimple-ssa-sprintf.cc:2916
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing between %wu and %wu bytes into a region of size "
 "%wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2918
+#: gimple-ssa-sprintf.cc:2925
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu or more bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2921
+#: gimple-ssa-sprintf.cc:2928
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu or more bytes into a region "
 "of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2923
+#: gimple-ssa-sprintf.cc:2930
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2965
+#: gimple-ssa-sprintf.cc:2972
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu"
@@ -27346,7 +28027,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2972
+#: gimple-ssa-sprintf.cc:2979
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu byte into a region of "
@@ -27357,7 +28038,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2980
+#: gimple-ssa-sprintf.cc:2987
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu byte into a region of size "
@@ -27368,281 +28049,281 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2992
+#: gimple-ssa-sprintf.cc:2999
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing up to %wu bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2995
+#: gimple-ssa-sprintf.cc:3002
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing up to %wu bytes into a region of "
 "size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2998
+#: gimple-ssa-sprintf.cc:3005
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu "
 "and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3011
+#: gimple-ssa-sprintf.cc:3018
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing likely %wu or more bytes "
 "into a region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3014
+#: gimple-ssa-sprintf.cc:3021
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing likely %wu or more bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3017
+#: gimple-ssa-sprintf.cc:3024
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing likely %wu or more bytes into a region of size "
 "between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3027
+#: gimple-ssa-sprintf.cc:3034
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes "
 "into a region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3030
+#: gimple-ssa-sprintf.cc:3037
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3033
+#: gimple-ssa-sprintf.cc:3040
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing between %wu and %wu bytes into a region of size "
 "between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3042
+#: gimple-ssa-sprintf.cc:3049
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu or more bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3045
+#: gimple-ssa-sprintf.cc:3052
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu or more bytes into a region "
 "of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3048
+#: gimple-ssa-sprintf.cc:3055
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing %wu or more bytes into a region of size between "
 "%wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3170
+#: gimple-ssa-sprintf.cc:3177
 #, gcc-internal-format
 msgid "%<%.*s%> directive argument is null"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3248
+#: gimple-ssa-sprintf.cc:3255
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3254
+#: gimple-ssa-sprintf.cc:3261
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required "
 "size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3261
+#: gimple-ssa-sprintf.cc:3268
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum "
 "required size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3291
+#: gimple-ssa-sprintf.cc:3298
 #, gcc-internal-format
 msgid "%<%.*s%> directive output of %wu bytes exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3297
+#: gimple-ssa-sprintf.cc:3304
 #, gcc-internal-format
 msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3308
+#: gimple-ssa-sprintf.cc:3315
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output of %wu bytes causes result to exceed %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3314
+#: gimple-ssa-sprintf.cc:3321
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed "
 "%<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3325
+#: gimple-ssa-sprintf.cc:3332
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes may cause result to "
 "exceed %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3335
+#: gimple-ssa-sprintf.cc:3342
 #, gcc-internal-format
 msgid "%<%.*s%> directive argument is not a nul-terminated string"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3341 gimple-ssa-warn-access.cc:234
+#: gimple-ssa-sprintf.cc:3348 gimple-ssa-warn-access.cc:234
 #, gcc-internal-format
 msgid "referenced argument declared here"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3348
+#: gimple-ssa-sprintf.cc:3355
 #, gcc-internal-format
 msgid "assuming directive output of %wu byte"
 msgid_plural "assuming directive output of %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3355
+#: gimple-ssa-sprintf.cc:3362
 #, gcc-internal-format
 msgid "directive argument %qE"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3357
+#: gimple-ssa-sprintf.cc:3364
 #, gcc-internal-format
 msgid "directive argument in the range [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3361
+#: gimple-ssa-sprintf.cc:3368
 #, gcc-internal-format
 msgid "using the range [%E, %E] for directive argument"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3381
+#: gimple-ssa-sprintf.cc:3388
 #, gcc-internal-format
 msgid "%qE output %wu byte into a destination of size %wu"
 msgid_plural "%qE output %wu bytes into a destination of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3386
+#: gimple-ssa-sprintf.cc:3393
 #, gcc-internal-format
 msgid "%qE output between %wu and %wu bytes into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3391
+#: gimple-ssa-sprintf.cc:3398
 #, gcc-internal-format
 msgid ""
 "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3396
+#: gimple-ssa-sprintf.cc:3403
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3407
+#: gimple-ssa-sprintf.cc:3414
 #, gcc-internal-format
 msgid "%qE output %wu byte"
 msgid_plural "%qE output %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3411
+#: gimple-ssa-sprintf.cc:3418
 #, gcc-internal-format
 msgid "%qE output between %wu and %wu bytes"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3415
+#: gimple-ssa-sprintf.cc:3422
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes (assuming %wu)"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3419
+#: gimple-ssa-sprintf.cc:3426
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3803
+#: gimple-ssa-sprintf.cc:3810
 #, gcc-internal-format
 msgid "%<%.*s%> directive width out of range"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3837
+#: gimple-ssa-sprintf.cc:3844
 #, gcc-internal-format
 msgid "%<%.*s%> directive precision out of range"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3970
+#: gimple-ssa-sprintf.cc:3977
 msgid "%qE arguments %Z and maybe %Z overlap destination object %qE"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3982
+#: gimple-ssa-sprintf.cc:3989
 msgid "%qE argument %Z overlaps destination object %qE"
 msgid_plural "%qE arguments %Z overlap destination object %qE"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3993
+#: gimple-ssa-sprintf.cc:4000
 msgid "%qE argument %Z may overlap destination object %qE"
 msgid_plural "%qE arguments %Z may overlap destination object %qE"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:4013
+#: gimple-ssa-sprintf.cc:4020
 #, gcc-internal-format
 msgid ""
 "destination object referenced by %<restrict%>-qualified argument 1 was "
 "declared here"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4600
+#: gimple-ssa-sprintf.cc:4607
 #, gcc-internal-format
 msgid "specified bound %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4611
+#: gimple-ssa-sprintf.cc:4618
 #, gcc-internal-format
 msgid "specified bound %wu exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4637
+#: gimple-ssa-sprintf.cc:4644
 #, gcc-internal-format
 msgid "specified bound range [%wu, %wu] exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4681
+#: gimple-ssa-sprintf.cc:4688
 #, gcc-internal-format
 msgid "null destination pointer"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4698
+#: gimple-ssa-sprintf.cc:4705
 #, gcc-internal-format
 msgid "specified bound %wu exceeds the size %wu of the destination object"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4710
+#: gimple-ssa-sprintf.cc:4717
 #, gcc-internal-format
 msgid "null format string"
 msgstr ""
@@ -28175,150 +28856,138 @@ msgstr ""
 msgid "expecting between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2035
+#: gimple-ssa-warn-access.cc:2049
 #, gcc-internal-format
 msgid "%qD called on pointer %qE with nonzero offset%s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2050 gimple-ssa-warn-access.cc:3789
+#: gimple-ssa-warn-access.cc:2064 gimple-ssa-warn-access.cc:3789
 #, gcc-internal-format
 msgid "returned from %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2053
+#: gimple-ssa-warn-access.cc:2067
 #, gcc-internal-format
 msgid "returned from %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2055
+#: gimple-ssa-warn-access.cc:2069
 #, gcc-internal-format
 msgid "obtained here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2262
+#: gimple-ssa-warn-access.cc:2276
 #, gcc-internal-format
 msgid "argument %i value %qE is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2279
+#: gimple-ssa-warn-access.cc:2293
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value is zero"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2297
+#: gimple-ssa-warn-access.cc:2311
 #, gcc-internal-format
 msgid "argument %i value %qE exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2311
+#: gimple-ssa-warn-access.cc:2325
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2318
+#: gimple-ssa-warn-access.cc:2332
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2348
+#: gimple-ssa-warn-access.cc:2362
 #, gcc-internal-format
 msgid "product %<%E * %E%> of arguments %i and %i exceeds %<SIZE_MAX%>"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2354
+#: gimple-ssa-warn-access.cc:2368
 #, gcc-internal-format
 msgid ""
 "product %<%E * %E%> of arguments %i and %i exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2365 gimple-ssa-warn-access.cc:2368
+#: gimple-ssa-warn-access.cc:2379 gimple-ssa-warn-access.cc:2382
 #, gcc-internal-format
 msgid "argument %i in the range [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2379
+#: gimple-ssa-warn-access.cc:2393
 #, gcc-internal-format
 msgid "in a call to built-in allocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2382
+#: gimple-ssa-warn-access.cc:2396
 #, gcc-internal-format
 msgid "in a call to allocation function %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2827
+#: gimple-ssa-warn-access.cc:2841
 #, gcc-internal-format
 msgid "unknown architecture specifier in memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2919
+#: gimple-ssa-warn-access.cc:2933
 #, gcc-internal-format
 msgid "invalid memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2923
+#: gimple-ssa-warn-access.cc:2937
 #, gcc-internal-format
 msgid "invalid memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2938 gimple-ssa-warn-access.cc:2992
+#: gimple-ssa-warn-access.cc:2952 gimple-ssa-warn-access.cc:3006
 #, gcc-internal-format, gfc-internal-format
 msgid "valid models are %s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2952
+#: gimple-ssa-warn-access.cc:2966
 #, gcc-internal-format
 msgid "invalid failure memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2957
+#: gimple-ssa-warn-access.cc:2971
 #, gcc-internal-format
 msgid "valid failure models are %qs, %qs, %qs, %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2973
+#: gimple-ssa-warn-access.cc:2987
 #, gcc-internal-format
 msgid ""
 "failure memory model %qs cannot be stronger than success memory model %qs "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2999
+#: gimple-ssa-warn-access.cc:3013
 #, gcc-internal-format
 msgid ""
 "failure memory model %wi cannot be stronger than success memory model %wi "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3434
+#: gimple-ssa-warn-access.cc:3457
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "bound argument %i value %s is negative for a variable length array argument "
 "%i of type %s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3442
+#: gimple-ssa-warn-access.cc:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value %s is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3492
-#, gcc-internal-format, gfc-internal-format
-msgid ""
-"argument %i of variable length array %s is null but the corresponding bound "
-"argument %i value is %s"
-msgstr ""
-
-#: gimple-ssa-warn-access.cc:3501
+#: gimple-ssa-warn-access.cc:3511
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i is null but the corresponding size argument %i value is %s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3512
-#, gcc-internal-format
-msgid "argument %i to %<%T[static %E]%> is null where non-null expected"
-msgstr ""
-
 #: gimple-ssa-warn-access.cc:3575
 #, gcc-internal-format
 msgid "referencing argument %u of type %qT"
@@ -28414,14 +29083,15 @@ msgstr ""
 msgid "using a dangling pointer to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3964 gimple-ssa-warn-access.cc:4616
-#: gimple-ssa-warn-access.cc:4619 gimple-ssa-warn-restrict.cc:1829
-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3982
-#: c/c-decl.cc:4263 c/c-typeck.cc:9330 c/c-typeck.cc:12090 cp/class.cc:1492
-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4428 cp/decl.cc:12602
-#: cp/decl.cc:13102 cp/decl.cc:13111 cp/decl.cc:14072 cp/friend.cc:406
-#: cp/friend.cc:416 cp/init.cc:2906 cp/parser.cc:3566 cp/parser.cc:3712
-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24495 cp/typeck.cc:4944
+#: gimple-ssa-warn-access.cc:3964 gimple-ssa-warn-access.cc:4612
+#: gimple-ssa-warn-access.cc:4615 gimple-ssa-warn-restrict.cc:1830
+#: tree-ssa-uninit.cc:921 tree-ssa-uninit.cc:1120 c/c-decl.cc:4099
+#: c/c-decl.cc:4389 c/c-typeck.cc:9539 c/c-typeck.cc:12293 cp/call.cc:8555
+#: cp/call.cc:8566 cp/class.cc:1718 cp/class.cc:3517 cp/constexpr.cc:1067
+#: cp/decl.cc:4631 cp/decl.cc:12889 cp/decl.cc:13477 cp/decl.cc:13486
+#: cp/decl.cc:14481 cp/friend.cc:406 cp/friend.cc:416 cp/init.cc:2905
+#: cp/parser.cc:3692 cp/parser.cc:3838 cp/parser.cc:3889 cp/parser.cc:7166
+#: cp/parser.cc:25045 cp/typeck.cc:5001
 #, gcc-internal-format
 msgid "%qD declared here"
 msgstr ""
@@ -28466,7 +29136,7 @@ msgstr ""
 msgid "call to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4610
+#: gimple-ssa-warn-access.cc:4606
 #, gcc-internal-format
 msgid "storing the address of local variable %qD in %qE"
 msgstr ""
@@ -28486,76 +29156,76 @@ msgstr ""
 msgid "argument to %<alloca%> may be too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:333
+#: gimple-ssa-warn-alloca.cc:334
 #, gcc-internal-format
 msgid "limit is %wu bytes, but argument may be as large as %s"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:345
+#: gimple-ssa-warn-alloca.cc:346
 #, gcc-internal-format
 msgid "argument to variable-length array is too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:347
+#: gimple-ssa-warn-alloca.cc:348
 #, gcc-internal-format
 msgid "argument to %<alloca%> is too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:351
+#: gimple-ssa-warn-alloca.cc:353
 #, gcc-internal-format
 msgid "limit is %wu bytes, but argument is %s"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:363
+#: gimple-ssa-warn-alloca.cc:365
 #, gcc-internal-format
 msgid "unbounded use of variable-length array"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:364
+#: gimple-ssa-warn-alloca.cc:366
 #, gcc-internal-format
 msgid "unbounded use of %<alloca%>"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:369
+#: gimple-ssa-warn-alloca.cc:371
 #, gcc-internal-format
 msgid "use of %<alloca%> within a loop"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:374
+#: gimple-ssa-warn-alloca.cc:376
 #, gcc-internal-format
 msgid "argument to variable-length array is zero"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:376
+#: gimple-ssa-warn-alloca.cc:378
 #, gcc-internal-format
 msgid "argument to %<alloca%> is zero"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1497
+#: gimple-ssa-warn-restrict.cc:1498
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1499
+#: gimple-ssa-warn-restrict.cc:1500
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1503
+#: gimple-ssa-warn-restrict.cc:1504
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1505
+#: gimple-ssa-warn-restrict.cc:1506
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1512
+#: gimple-ssa-warn-restrict.cc:1513
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu "
@@ -28566,7 +29236,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1522
+#: gimple-ssa-warn-restrict.cc:1523
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at "
@@ -28577,7 +29247,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1535
+#: gimple-ssa-warn-restrict.cc:1536
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu "
@@ -28588,21 +29258,21 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1545
+#: gimple-ssa-warn-restrict.cc:1546
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps "
 "between %wu and %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1553
+#: gimple-ssa-warn-restrict.cc:1554
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or "
 "more bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1566
+#: gimple-ssa-warn-restrict.cc:1567
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at "
@@ -28613,28 +29283,28 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1574
+#: gimple-ssa-warn-restrict.cc:1575
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu "
 "and %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1581
+#: gimple-ssa-warn-restrict.cc:1582
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more "
 "bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1609
+#: gimple-ssa-warn-restrict.cc:1610
 #, gcc-internal-format
 msgid "%qD accessing %wu byte may overlap %wu byte"
 msgid_plural "%qD accessing %wu bytes may overlap %wu byte"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1616
+#: gimple-ssa-warn-restrict.cc:1617
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s"
@@ -28644,14 +29314,14 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1627
+#: gimple-ssa-warn-restrict.cc:1628
 #, gcc-internal-format
 msgid "%qD accessing %wu byte may overlap up to %wu bytes"
 msgid_plural "%qD accessing %wu bytes may overlap up to %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1634
+#: gimple-ssa-warn-restrict.cc:1635
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at "
@@ -28662,7 +29332,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1647
+#: gimple-ssa-warn-restrict.cc:1648
 #, gcc-internal-format
 msgid "%qD accessing between %wu and %wu bytes may overlap %wu byte"
 msgid_plural ""
@@ -28670,7 +29340,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1654
+#: gimple-ssa-warn-restrict.cc:1655
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu "
@@ -28681,7 +29351,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1666
+#: gimple-ssa-warn-restrict.cc:1667
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at "
@@ -28692,86 +29362,86 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1712
+#: gimple-ssa-warn-restrict.cc:1713
 #, gcc-internal-format
 msgid "%qD specified bound %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1718
+#: gimple-ssa-warn-restrict.cc:1719
 #, gcc-internal-format
 msgid "%qD specified bound between %wu and %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1779
+#: gimple-ssa-warn-restrict.cc:1780
 #, gcc-internal-format
 msgid ""
 "%qD pointer overflow between offset %s and size %s accessing array %qD with "
 "type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1784 c-family/c-warn.cc:3801
+#: gimple-ssa-warn-restrict.cc:1785 c-family/c-warn.cc:3805
 #, gcc-internal-format
 msgid "array %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1789 gimple-ssa-warn-restrict.cc:1795
+#: gimple-ssa-warn-restrict.cc:1790 gimple-ssa-warn-restrict.cc:1796
 #, gcc-internal-format
 msgid "%qD pointer overflow between offset %s and size %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1812
+#: gimple-ssa-warn-restrict.cc:1813
 #, gcc-internal-format
 msgid ""
 "%qD forming offset %s is out of the bounds [0, %wu] of object %qD with type "
 "%qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1815
+#: gimple-ssa-warn-restrict.cc:1816
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1821
+#: gimple-ssa-warn-restrict.cc:1822
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of the bounds of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1823
+#: gimple-ssa-warn-restrict.cc:1824
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1836
+#: gimple-ssa-warn-restrict.cc:1837
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of the bounds [0, %wu]"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1838
+#: gimple-ssa-warn-restrict.cc:1839
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds [0, %wu]"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1844
+#: gimple-ssa-warn-restrict.cc:1845
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of bounds"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1845
+#: gimple-ssa-warn-restrict.cc:1846
 #, gcc-internal-format
 msgid "%qD offset %s is out of bounds"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1857
+#: gimple-ssa-warn-restrict.cc:1858
 #, gcc-internal-format
 msgid "%qD offset %s from the object at %qE is out of the bounds of %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1865 gimple-ssa-warn-restrict.cc:1886
+#: gimple-ssa-warn-restrict.cc:1866 gimple-ssa-warn-restrict.cc:1887
 #, gcc-internal-format
 msgid "subobject %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1875
+#: gimple-ssa-warn-restrict.cc:1876
 #, gcc-internal-format
 msgid ""
 "%qD offset %s from the object at %qE is out of the bounds of referenced "
@@ -28793,477 +29463,489 @@ msgstr ""
 msgid "recursive call"
 msgstr ""
 
-#: gimple.cc:1318
+#: gimple.cc:1337
 #, gcc-internal-format, gfc-internal-format
 msgid "gimple check: expected %s(%s), have %s(%s) in %s, at %s:%d"
 msgstr ""
 
-#: gimplify.cc:2068
+#: gimplify.cc:1399
+#, gcc-internal-format
+msgid ""
+"%<allocate%> directive for %qD inside a target region must specify an "
+"%<allocator%> clause"
+msgstr ""
+
+#: gimplify.cc:2271
 #, gcc-internal-format
 msgid "statement will never be executed"
 msgstr ""
 
-#: gimplify.cc:2132
+#: gimplify.cc:2335
 #, gcc-internal-format
 msgid "%qs cannot be initialized with%<-ftrivial-auto-var_init%>"
 msgstr ""
 
-#: gimplify.cc:2524 gimplify.cc:2532
+#: gimplify.cc:2727 gimplify.cc:2735
 #, gcc-internal-format
 msgid "this statement may fall through"
 msgstr ""
 
-#: gimplify.cc:2534
+#: gimplify.cc:2737
 #, 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:2646 gimplify.cc:2669
+#: gimplify.cc:2808 gimplify.cc:2865 gimplify.cc:2891
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> not preceding a case label or default label"
 msgstr ""
 
-#: gimplify.cc:3839
+#: gimplify.cc:4064
 #, gcc-internal-format
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.cc:6691
+#: gimplify.cc:6921
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory output %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6706
+#: gimplify.cc:6936
 #, gcc-internal-format
 msgid "invalid lvalue in %<asm%> output %d"
 msgstr ""
 
-#: gimplify.cc:6853
+#: gimplify.cc:7083
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6893 gimplify.cc:6903
+#: gimplify.cc:7123 gimplify.cc:7133
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.cc:7525
+#: gimplify.cc:7756
 #, gcc-internal-format
 msgid ""
 "threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: gimplify.cc:7527
+#: gimplify.cc:7758
 #, gcc-internal-format
 msgid "enclosing region"
 msgstr ""
 
-#: gimplify.cc:7531
+#: gimplify.cc:7762
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in target region"
 msgstr ""
 
-#: gimplify.cc:7533
+#: gimplify.cc:7764
 #, gcc-internal-format
 msgid "enclosing target region"
 msgstr ""
 
-#: gimplify.cc:7546
+#: gimplify.cc:7777
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.cc:7548
+#: gimplify.cc:7779
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.cc:7645
+#: gimplify.cc:7876
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:7647
+#: gimplify.cc:7878
 #, gcc-internal-format
 msgid "enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:7790
+#: gimplify.cc:8052
 #, gcc-internal-format
 msgid "%qE not specified in enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:7792
+#: gimplify.cc:8056
+#, gcc-internal-format
+msgid "enclosing OpenACC %qs construct and"
+msgstr ""
+
+#: gimplify.cc:8059
 #, gcc-internal-format
-msgid "enclosing OpenACC %qs construct"
+msgid "enclosing OpenACC %qs construct with %qs clause"
 msgstr ""
 
-#: gimplify.cc:7853
+#: gimplify.cc:8129
 #, gcc-internal-format
 msgid "%qE with %<link%> clause used in %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7861
+#: gimplify.cc:8137
 #, gcc-internal-format
 msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7930
+#: gimplify.cc:8206
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:7932
+#: gimplify.cc:8208
 #, gcc-internal-format
 msgid "enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:7967 gimplify.cc:11257
+#: gimplify.cc:8243 gimplify.cc:12324
 #, gcc-internal-format
 msgid "variable %qE declared in enclosing %<host_data%> region"
 msgstr ""
 
-#: gimplify.cc:7988
+#: gimplify.cc:8264
 #, gcc-internal-format
 msgid "%qD referenced in target region does not have a mappable type"
 msgstr ""
 
-#: gimplify.cc:8119
+#: gimplify.cc:8395
 #, gcc-internal-format
 msgid "iteration variable %qE is predetermined linear"
 msgstr ""
 
-#: gimplify.cc:8122
+#: gimplify.cc:8398
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.cc:8136
+#: gimplify.cc:8412
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.cc:8139
+#: gimplify.cc:8415
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.cc:8142
+#: gimplify.cc:8418
 #, gcc-internal-format
 msgid "iteration variable %qE should not be linear"
 msgstr ""
 
-#: gimplify.cc:9151 gimplify.cc:9162 gimplify.cc:9174 gimplify.cc:9189
-#: gimplify.cc:9392 gimplify.cc:9395 gimplify.cc:9405 gimplify.cc:9423
+#: gimplify.cc:9422 gimplify.cc:9433 gimplify.cc:9445 gimplify.cc:9461
+#: gimplify.cc:9666 gimplify.cc:9689 gimplify.cc:9700 gimplify.cc:9718
 #, gcc-internal-format
 msgid "unexpected mapping node"
 msgstr ""
 
-#: gimplify.cc:9457
+#: gimplify.cc:9755
 #, gcc-internal-format
 msgid "unexpected pointer mapping node"
 msgstr ""
 
-#: gimplify.cc:9667
+#: gimplify.cc:9968
 #, gcc-internal-format
 msgid "base pointer cycle detected"
 msgstr ""
 
-#: gimplify.cc:10039
+#: gimplify.cc:10475
 #, gcc-internal-format
 msgid ""
 "data movement for component %qE is not compatible with movement for struct "
 "%qE"
 msgstr ""
 
-#: gimplify.cc:10084
+#: gimplify.cc:10791
 #, gcc-internal-format
 msgid "%qE appears more than once in map clauses"
 msgstr ""
 
-#: gimplify.cc:10689
+#: gimplify.cc:11747
 #, gcc-internal-format
 msgid "mapping field %qE of variable length structure"
 msgstr ""
 
-#: gimplify.cc:10943 gimplify.cc:10949
+#: gimplify.cc:12017 gimplify.cc:12023
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:10966
+#: gimplify.cc:12040
 #, gcc-internal-format
 msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
 msgstr ""
 
-#: gimplify.cc:10988
+#: gimplify.cc:12062
 #, gcc-internal-format
 msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
 msgstr ""
 
-#: gimplify.cc:10996
+#: gimplify.cc:12070
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs, %<sections%> or %<scope%>"
 msgstr ""
 
-#: gimplify.cc:11007 gimplify.cc:11013 gimplify.cc:11019 gimplify.cc:11025
-#: gimplify.cc:11031 gimplify.cc:14987
+#: gimplify.cc:12081 gimplify.cc:12087 gimplify.cc:12093 gimplify.cc:12099
+#: gimplify.cc:12105 gimplify.cc:16319
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:11125
+#: gimplify.cc:12199
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause for variable other than loop iterator specified on "
 "construct combined with %<distribute%>"
 msgstr ""
 
-#: gimplify.cc:11780
+#: gimplify.cc:12824
 #, gcc-internal-format
 msgid ""
 "copyprivate variable %qE is not threadprivate or private in outer context"
 msgstr ""
 
-#: gimplify.cc:11837
+#: gimplify.cc:12881
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.cc:11869
+#: gimplify.cc:12913
 #, gcc-internal-format
 msgid "expected %qs %<if%> clause modifier rather than %qs"
 msgstr ""
 
-#: gimplify.cc:11907
+#: gimplify.cc:12952
 #, gcc-internal-format
 msgid ""
 "%<device%> clause with %<ancestor%> is only allowed on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:11923
+#: gimplify.cc:12968
 #, gcc-internal-format
 msgid ""
 "with %<ancestor%>, only the %<device%>, %<firstprivate%>, %<private%>, "
 "%<defaultmap%>, and %<map%> clauses may appear on the construct"
 msgstr ""
 
-#: gimplify.cc:12138
+#: gimplify.cc:13184
 #, gcc-internal-format
 msgid ""
 "%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on "
 "the containing construct"
 msgstr ""
 
-#: gimplify.cc:12344
+#: gimplify.cc:13396
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in implicit %<map%> clause"
 msgstr ""
 
-#: gimplify.cc:12398
+#: gimplify.cc:13450
 #, gcc-internal-format
 msgid ""
 "%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:12663
+#: gimplify.cc:13788
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:12736
+#: gimplify.cc:13861
 #, gcc-internal-format
 msgid ""
 "same variable used in %<firstprivate%> and %<lastprivate%> clauses on "
 "%<distribute%> construct"
 msgstr ""
 
-#: gimplify.cc:12861
+#: gimplify.cc:14038
 #, gcc-internal-format
 msgid ""
 "incompatible data clause with reduction on %qE; promoting to "
 "%<present_or_copy%>"
 msgstr ""
 
-#: gimplify.cc:13010
+#: gimplify.cc:14336
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> "
 "directive clause"
 msgstr ""
 
-#: gimplify.cc:13029
+#: gimplify.cc:14355
 #, gcc-internal-format
 msgid "invalid private reduction on %qE"
 msgstr ""
 
-#: gimplify.cc:13195
+#: gimplify.cc:14522
 #, gcc-internal-format
 msgid ""
 "%<inscan%> %<reduction%> clause used together with %<linear%> clause for a "
 "variable other than loop iterator"
 msgstr ""
 
-#: gimplify.cc:13534
+#: gimplify.cc:14866
 #, gcc-internal-format
 msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
 msgstr ""
 
-#: gimplify.cc:13544
+#: gimplify.cc:14876
 #, gcc-internal-format
 msgid "%<taskwait%> construct with %<nowait%> clause but no %<depend%> clauses"
 msgstr ""
 
-#: gimplify.cc:13828 gimplify.cc:13832 gimplify.cc:13841 gimplify.cc:13853
-#: gimplify.cc:13858
+#: gimplify.cc:15160 gimplify.cc:15164 gimplify.cc:15173 gimplify.cc:15185
+#: gimplify.cc:15190
 #, gcc-internal-format
 msgid "%qs clause may not appear on non-rectangular %qs"
 msgstr ""
 
-#: gimplify.cc:14019
+#: gimplify.cc:15351
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause may not be specified together with %<ordered%> clause if "
 "stand-alone %<ordered%> construct is nested in it"
 msgstr ""
 
-#: gimplify.cc:14084
+#: gimplify.cc:15416
 #, gcc-internal-format
 msgid "threadprivate iteration variable %qD"
 msgstr ""
 
-#: gimplify.cc:14115 gimplify.cc:14223
+#: gimplify.cc:15447 gimplify.cc:15555
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
 msgstr ""
 
-#: gimplify.cc:14925
+#: gimplify.cc:16257
 #, gcc-internal-format
 msgid ""
 "%<bind%> clause not specified on a %<loop%> construct not nested inside "
 "another OpenMP construct"
 msgstr ""
 
-#: gimplify.cc:14949
+#: gimplify.cc:16281
 #, gcc-internal-format
 msgid ""
 "%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
 msgstr ""
 
-#: gimplify.cc:14969
+#: gimplify.cc:16301
 #, gcc-internal-format
 msgid ""
 "%<bind(teams)%> on a %<loop%> region not strictly nested inside of a "
 "%<teams%> region"
 msgstr ""
 
-#: gimplify.cc:14994
+#: gimplify.cc:16326
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs or %<sections%>"
 msgstr ""
 
-#: gimplify.cc:15022
+#: gimplify.cc:16354
 #, gcc-internal-format
 msgid ""
 "%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD "
 "which is not the loop iterator"
 msgstr ""
 
-#: gimplify.cc:16103
+#: gimplify.cc:17436
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct with %qs clause must be closely nested inside a loop "
 "with %<ordered%> clause"
 msgstr ""
 
-#: gimplify.cc:16124
+#: gimplify.cc:17457
 #, gcc-internal-format
 msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
 msgstr ""
 
-#: gimplify.cc:16137
+#: gimplify.cc:17470
 #, gcc-internal-format
 msgid ""
 "number of variables in %qs clause with %<sink%> modifier does not match "
 "number of iteration variables"
 msgstr ""
 
-#: gimplify.cc:16151
+#: gimplify.cc:17484
 #, gcc-internal-format
 msgid ""
 "more than one %qs clause with %<source%> modifier on an %<ordered%> construct"
 msgstr ""
 
-#: gimplify.cc:16164
+#: gimplify.cc:17497
 #, gcc-internal-format
 msgid ""
 "%qs clause with %<source%> modifier specified together with %qs clauses with "
 "%<sink%> modifier on the same construct"
 msgstr ""
 
-#: gimplify.cc:17473
+#: gimplify.cc:18814
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
 
-#: gimplify.cc:18072
+#: gimplify.cc:19413
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr ""
 
-#: gimplify.cc:18077
+#: gimplify.cc:19418
 #, gcc-internal-format
 msgid "(so you should pass %qT not %qT to %<va_arg%>)"
 msgstr ""
 
-#: gimplify.cc:18084
+#: gimplify.cc:19425
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr ""
 
-#: godump.cc:1415
+#: godump.cc:1438
 #, gcc-internal-format
 msgid "could not close Go dump file: %m"
 msgstr ""
 
-#: godump.cc:1427
+#: godump.cc:1450
 #, gcc-internal-format
 msgid "could not open Go dump file %qs: %m"
 msgstr ""
 
-#: graphite.cc:527
+#: graphite.cc:529
 #, gcc-internal-format
 msgid "Graphite loop optimizations cannot be used (isl is not available)."
 msgstr ""
 
-#: input.cc:1520
+#: input.cc:1482
 #, gcc-internal-format, gfc-internal-format
 msgid "expansion point is location %i"
 msgstr ""
 
-#: input.cc:1550
+#: input.cc:1512
 #, gcc-internal-format
 msgid "token %u has %<x-location == y-location == %u%>"
 msgstr ""
 
-#: input.cc:1559
+#: input.cc:1521
 #, gcc-internal-format
 msgid "token %u has %<x-location == %u%>"
 msgstr ""
 
-#: input.cc:1560
+#: input.cc:1522
 #, gcc-internal-format
 msgid "token %u has %<y-location == %u%>"
 msgstr ""
 
-#: internal-fn.cc:816
+#: internal-fn.cc:814
 #, gcc-internal-format
 msgid "invalid use of attribute %<fallthrough%>"
 msgstr ""
@@ -29653,12 +30335,12 @@ msgstr ""
 msgid "mismatching definition"
 msgstr ""
 
-#: ipa-fnsummary.cc:4658
+#: ipa-fnsummary.cc:4654
 #, gcc-internal-format
 msgid "invalid fnsummary in LTO stream"
 msgstr ""
 
-#: ipa-fnsummary.cc:4759
+#: ipa-fnsummary.cc:4755
 #, gcc-internal-format
 msgid "ipa inline summary is missing in input file"
 msgstr ""
@@ -29668,7 +30350,7 @@ msgstr ""
 msgid "IPA modref summary is missing in input file"
 msgstr ""
 
-#: ipa-prop.cc:4817 ipa-prop.cc:4859 ipa-prop.cc:4943 ipa-prop.cc:4991
+#: ipa-prop.cc:4760 ipa-prop.cc:4802 ipa-prop.cc:4879 ipa-prop.cc:4927
 #, gcc-internal-format
 msgid "invalid jump function in LTO stream"
 msgstr ""
@@ -29690,79 +30372,184 @@ msgstr ""
 msgid "ipa reference summary is missing in ltrans unit"
 msgstr ""
 
-#: ipa-sra.cc:1566
+#: ipa-sra.cc:1619
 #, gcc-internal-format
 msgid "Access offset before parent offset"
 msgstr ""
 
-#: ipa-sra.cc:1571
+#: ipa-sra.cc:1624
 #, gcc-internal-format
 msgid "Access size greater or equal to its parent size"
 msgstr ""
 
-#: ipa-sra.cc:1576
+#: ipa-sra.cc:1629
 #, gcc-internal-format
 msgid "Access terminates outside of its parent"
 msgstr ""
 
-#: ipa-sra.cc:1588
+#: ipa-sra.cc:1641
 #, gcc-internal-format
 msgid "Access overlaps with its sibling"
 msgstr ""
 
-#: ipa-sra.cc:1607
+#: ipa-sra.cc:1660
 #, gcc-internal-format
 msgid "IPA-SRA access verification failed"
 msgstr ""
 
-#: ipa-sra.cc:2690
+#: ipa-sra.cc:2745
 #, gcc-internal-format
 msgid "function %qs, parameter %u, has IPA-SRA accesses which overlap"
 msgstr ""
 
-#: ipa-sra.cc:2693
+#: ipa-sra.cc:2748
 #, gcc-internal-format
 msgid ""
 "function %qs, parameter %u, is used but does not have any certain IPA-SRA "
 "access"
 msgstr ""
 
+#: ipa-strub.cc:620
+#, gcc-internal-format
+msgid "at-calls %<strub%> does not support call to %qD"
+msgstr ""
+
+#: ipa-strub.cc:654
+#, gcc-internal-format
+msgid "%qD is not eligible for %<strub%> on the target system"
+msgstr ""
+
+#: ipa-strub.cc:658
+#, gcc-internal-format
+msgid "unsupported %<strub%> call on the target system"
+msgstr ""
+
+#: ipa-strub.cc:684
+#, gcc-internal-format
+msgid "%qD is not eligible for %<strub%> because %<-fsplit-stack%> is enabled"
+msgstr ""
+
+#: ipa-strub.cc:697
+#, gcc-internal-format
+msgid "%qD is not eligible for %<strub%> because of attribute %<noipa%>"
+msgstr ""
+
+#: ipa-strub.cc:712
+#, gcc-internal-format
+msgid "%qD is not eligible for %<strub%> because of attribute %<simd%>"
+msgstr ""
+
+#: ipa-strub.cc:846
+#, gcc-internal-format
+msgid ""
+"%qD is not eligible for internal %<strub%> because of attribute %<noclone%>"
+msgstr ""
+
+#: ipa-strub.cc:870
+#, gcc-internal-format
+msgid "%qD is not eligible for internal %<strub%> because it calls %qD"
+msgstr ""
+
+#: ipa-strub.cc:884
+#, gcc-internal-format
+msgid ""
+"%qD is not eligible for internal %<strub%> because it contains a non-local "
+"goto target"
+msgstr ""
+
+#: ipa-strub.cc:897
+#, gcc-internal-format
+msgid ""
+"%qD is not eligible for internal %<strub%> because the address of a local "
+"label escapes"
+msgstr ""
+
+#: ipa-strub.cc:936
+#, gcc-internal-format
+msgid "internal %<strub%> does not support forced labels"
+msgstr ""
+
+#: ipa-strub.cc:950
+#, gcc-internal-format
+msgid "%qD has too many arguments for internal %<strub%>"
+msgstr ""
+
+#: ipa-strub.cc:1227
+#, gcc-internal-format
+msgid "%qD requires %<strub%>, but no viable %<strub%> mode was found"
+msgstr ""
+
+#: ipa-strub.cc:1323
+#, gcc-internal-format
+msgid "%<strub%> mode %qE selected for %qD, when %qE was requested"
+msgstr ""
+
+#: ipa-strub.cc:1332
+#, gcc-internal-format
+msgid "the incompatible selection was determined by ultimate alias target %qD"
+msgstr ""
+
+#: ipa-strub.cc:1679
+#, gcc-internal-format
+msgid "indirect non-%<strub%> call in %<strub%> context %qD"
+msgstr ""
+
+#: ipa-strub.cc:1698
+#, gcc-internal-format
+msgid "calling %<always_inline%> %<strub%> %qD in non-%<strub%> context %qD"
+msgstr ""
+
+#: ipa-strub.cc:1708
+#, gcc-internal-format
+msgid "calling non-%<strub%> %qD in %<strub%> context %qD"
+msgstr ""
+
+#: ipa-strub.cc:1712
+#, gcc-internal-format
+msgid "calling %qD using non-%<strub%> type %qT in %<strub%> context %qD"
+msgstr ""
+
+#: ipa-strub.cc:2834
+#, gcc-internal-format
+msgid "failed to split %qD for %<strub%>"
+msgstr ""
+
 #: ira.cc:2441 ira.cc:2463
 #, gcc-internal-format
 msgid "%s cannot be used in %<asm%> here"
 msgstr ""
 
-#: ira.cc:6056
+#: ira.cc:6059
 #, gcc-internal-format
 msgid "frame pointer required, but reserved"
 msgstr ""
 
-#: ira.cc:6057
+#: ira.cc:6060
 #, gcc-internal-format
 msgid "for %qD"
 msgstr ""
 
-#: ira.cc:6073
+#: ira.cc:6076
 #, gcc-internal-format
 msgid "frame size too large for reliable stack checking"
 msgstr ""
 
-#: lra-assigns.cc:1695
+#: lra-assigns.cc:1696
 #, gcc-internal-format, gfc-internal-format
 msgid "maximum number of LRA assignment passes is achieved (%d)"
 msgstr ""
 
-#: lra-assigns.cc:1859
+#: lra-assigns.cc:1861
 #, gcc-internal-format
 msgid "unable to find a register to spill"
 msgstr ""
 
-#: lra-constraints.cc:4277 reload.cc:3845 reload.cc:4100
+#: lra-constraints.cc:4236 reload.cc:3840 reload.cc:4095
 #, gcc-internal-format
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr ""
 
-#: lra-constraints.cc:5373
+#: lra-constraints.cc:5350
 #, gcc-internal-format, gfc-internal-format
 msgid "maximum number of generated reload insns per insn achieved (%d)"
 msgstr ""
@@ -29773,95 +30560,95 @@ msgid ""
 "%<asm%> operand has impossible constraints or there are not enough registers"
 msgstr ""
 
-#: lto-cgraph.cc:1157
+#: lto-cgraph.cc:1171
 #, gcc-internal-format
 msgid ""
 "function %qs has been referenced in offloaded code but hasn%'t been marked "
 "to be included in the offloaded code"
 msgstr ""
 
-#: lto-cgraph.cc:1163
+#: lto-cgraph.cc:1177
 #, gcc-internal-format
 msgid ""
 "variable %qs has been referenced in offloaded code but hasn%'t been marked "
 "to be included in the offloaded code"
 msgstr ""
 
-#: lto-cgraph.cc:1332
+#: lto-cgraph.cc:1346
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: found multiple instances of cgraph node with uid %d"
 msgstr ""
 
-#: lto-cgraph.cc:1497
+#: lto-cgraph.cc:1511
 #, gcc-internal-format
 msgid "bytecode stream: no caller found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1503
+#: lto-cgraph.cc:1517
 #, gcc-internal-format
 msgid "bytecode stream: no callee found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1580
+#: lto-cgraph.cc:1594
 #, gcc-internal-format
 msgid "bytecode stream: found empty cgraph node"
 msgstr ""
 
-#: lto-cgraph.cc:1699
+#: lto-cgraph.cc:1713
 #, gcc-internal-format, gfc-internal-format
 msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
 msgstr ""
 
-#: lto-cgraph.cc:1724
+#: lto-cgraph.cc:1738
 #, gcc-internal-format, gfc-internal-format
 msgid "Profile information in %s corrupted"
 msgstr ""
 
-#: lto-cgraph.cc:1762
+#: lto-cgraph.cc:1776
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find LTO cgraph in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1772
+#: lto-cgraph.cc:1786
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find LTO section refs in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1917
+#: lto-cgraph.cc:1944
 #, gcc-internal-format
 msgid ""
 "OpenMP %<requires%> directive with non-identical clauses in multiple "
 "compilation units: %qs vs. %qs"
 msgstr ""
 
-#: lto-cgraph.cc:1920 lto-cgraph.cc:1921 lto-cgraph.cc:1927
+#: lto-cgraph.cc:1947 lto-cgraph.cc:1948 lto-cgraph.cc:1954
 #, gcc-internal-format
 msgid "%qs has %qs"
 msgstr ""
 
-#: lto-cgraph.cc:1925
+#: lto-cgraph.cc:1952
 #, gcc-internal-format
 msgid ""
 "OpenMP %<requires%> directive with %qs specified only in some compilation "
 "units"
 msgstr ""
 
-#: lto-cgraph.cc:1930
+#: lto-cgraph.cc:1957
 #, gcc-internal-format
 msgid "but %qs has not"
 msgstr ""
 
-#: lto-cgraph.cc:1938
+#: lto-cgraph.cc:1965
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid offload table in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1949
+#: lto-cgraph.cc:1976
 #, gcc-internal-format
 msgid "GCC_OFFLOAD_OMP_REQUIRES_FILE unset"
 msgstr ""
 
-#: lto-cgraph.cc:1952
+#: lto-cgraph.cc:1979
 #, gcc-internal-format
 msgid "Cannot open omp_requires file %qs"
 msgstr ""
@@ -29909,54 +30696,54 @@ msgstr ""
 msgid "bytecode stream: unexpected tag %s"
 msgstr ""
 
-#: lto-streamer-in.cc:1208 lto-streamer-in.cc:1219
+#: lto-streamer-in.cc:1215 lto-streamer-in.cc:1226
 #, gcc-internal-format
 msgid "Cgraph edge statement index out of range"
 msgstr ""
 
-#: lto-streamer-in.cc:1213 lto-streamer-in.cc:1223
+#: lto-streamer-in.cc:1220 lto-streamer-in.cc:1230
 #, gcc-internal-format
 msgid "Cgraph edge statement index not found"
 msgstr ""
 
-#: lto-streamer-in.cc:1230
+#: lto-streamer-in.cc:1237
 #, gcc-internal-format
 msgid "Reference statement index out of range"
 msgstr ""
 
-#: lto-streamer-in.cc:1234
+#: lto-streamer-in.cc:1241
 #, gcc-internal-format
 msgid "Reference statement index not found"
 msgstr ""
 
-#: lto-streamer-in.cc:1985
+#: lto-streamer-in.cc:2001
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO mode table from %s"
 msgstr ""
 
-#: lto-streamer-in.cc:2091
+#: lto-streamer-in.cc:2107
 #, gcc-internal-format
 msgid "%s - %u-bit-precision floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2096
+#: lto-streamer-in.cc:2112
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision decimal floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2101
+#: lto-streamer-in.cc:2117
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision complex floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2106
+#: lto-streamer-in.cc:2122
 #, gcc-internal-format
 msgid "%s - %u-bit integer numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2109
+#: lto-streamer-in.cc:2125
 #, gcc-internal-format
 msgid "%s - unsupported mode %qs"
 msgstr ""
@@ -30042,7 +30829,7 @@ msgstr ""
 msgid "environment variable %<COLLECT_GCC%> must be set"
 msgstr ""
 
-#: lto-wrapper.cc:1433
+#: lto-wrapper.cc:1433 config/gcn/mkoffload.cc:803
 #, gcc-internal-format
 msgid "environment variable %<COLLECT_GCC_OPTIONS%> must be set"
 msgstr ""
@@ -30073,142 +30860,147 @@ msgstr ""
 msgid "using serial compilation of %d LTRANS jobs"
 msgstr ""
 
-#: lto-wrapper.cc:2152
+#: lto-wrapper.cc:2156 config/gcn/mkoffload.cc:858
 #, gcc-internal-format
 msgid "%<atexit%> failed"
 msgstr ""
 
-#: multiple_target.cc:76
+#: multiple_target.cc:72
 #, gcc-internal-format
 msgid "the call requires %<ifunc%>, which is not supported by this target"
 msgstr ""
 
-#: multiple_target.cc:83
+#: multiple_target.cc:79
 #, gcc-internal-format
 msgid "target does not support function version dispatcher"
 msgstr ""
 
-#: multiple_target.cc:91
+#: multiple_target.cc:87
 #, gcc-internal-format
 msgid "default %<target_clones%> attribute was not set"
 msgstr ""
 
-#: multiple_target.cc:326 c-family/c-attribs.cc:5616
+#: multiple_target.cc:322 c-family/c-attribs.cc:5910
 #, gcc-internal-format
 msgid "single %<target_clones%> attribute is ignored"
 msgstr ""
 
-#: multiple_target.cc:335
+#: multiple_target.cc:331
 #, gcc-internal-format
 msgid "clones for %<target_clones%> attribute cannot be created"
 msgstr ""
 
-#: multiple_target.cc:338
+#: multiple_target.cc:334
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it has %<noclone%> attribute"
 msgstr ""
 
-#: multiple_target.cc:359
+#: multiple_target.cc:355
 #, gcc-internal-format
 msgid "%<default%> target was not set"
 msgstr ""
 
-#: multiple_target.cc:363
+#: multiple_target.cc:359
 #, gcc-internal-format
 msgid "an empty string cannot be in %<target_clones%> attribute"
 msgstr ""
 
-#: multiple_target.cc:367
+#: multiple_target.cc:363
 #, gcc-internal-format
 msgid "multiple %<default%> targets were set"
 msgstr ""
 
-#: omp-expand.cc:3418
+#: omp-expand.cc:3420
 #, gcc-internal-format
 msgid "%qs clause with %<sink%> modifier waiting for lexically later iteration"
 msgstr ""
 
-#: omp-expand.cc:3557
+#: omp-expand.cc:3560
 #, gcc-internal-format
 msgid ""
 "%qs clause with %<sink%> modifier refers to iteration never in the iteration "
 "space"
 msgstr ""
 
-#: omp-expand.cc:8184
+#: omp-expand.cc:8186
 #, gcc-internal-format
 msgid ""
 "invalid OpenMP non-rectangular loop step; %<(%E - %E) * %E%> is not a "
 "multiple of loop %d step %qE"
 msgstr ""
 
-#: omp-general.cc:1130
+#: omp-general.cc:1283
+#, gcc-internal-format
+msgid "%<target_device%> selector set is not supported yet"
+msgstr ""
+
+#: omp-general.cc:1288
 #, gcc-internal-format
 msgid "selector set %qs specified more than once"
 msgstr ""
 
-#: omp-general.cc:1144 omp-general.cc:1157
+#: omp-general.cc:1308
 #, gcc-internal-format
 msgid "selector %qs specified more than once in set %qs"
 msgstr ""
 
-#: omp-general.cc:1198
+#: omp-general.cc:1332
 #, gcc-internal-format
 msgid "incorrect property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1205
+#: omp-general.cc:1340
 #, gcc-internal-format
-msgid "unknown property %qs of %qs selector"
+msgid "unknown property %qE of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1210
+#: omp-general.cc:1345 omp-general.cc:1350
 #, gcc-internal-format
-msgid "unknown property %qE of %qs selector"
+msgid "unknown property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1252
+#: omp-general.cc:1402
 #, gcc-internal-format
 msgid "%qD used as a variant with incompatible %<construct%> selector sets"
 msgstr ""
 
-#: omp-general.cc:2785
+#: omp-general.cc:3005
 #, gcc-internal-format
 msgid "%qs specifies a conflicting level of parallelism"
 msgstr ""
 
-#: omp-general.cc:2788
+#: omp-general.cc:3008
 #, gcc-internal-format
 msgid "... to the previous %qs clause here"
 msgstr ""
 
-#: omp-general.cc:2823
+#: omp-general.cc:3043
 #, gcc-internal-format
 msgid ""
 "cannot apply %<%s%> to %qD, which has also been marked with an OpenMP "
 "'declare target' directive"
 msgstr ""
 
-#: omp-general.cc:2877
+#: omp-general.cc:3097
 #, gcc-internal-format
 msgid ""
 "incompatible %qs clause when applying %<%s%> to %qD, which has already been "
 "marked with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:2884
+#: omp-general.cc:3104
 #, gcc-internal-format
 msgid ""
 "missing %qs clause when applying %<%s%> to %qD, which has already been "
 "marked with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:2893
+#: omp-general.cc:3113
 #, gcc-internal-format
 msgid "... with %qs clause here"
 msgstr ""
 
-#: omp-general.cc:2901
+#: omp-general.cc:3121
 #, gcc-internal-format
 msgid "... without %qs clause near to here"
 msgstr ""
@@ -30218,156 +31010,156 @@ msgstr ""
 msgid "%<allocate%> clause must specify an allocator here"
 msgstr ""
 
-#: omp-low.cc:2740 omp-offload.cc:1489
+#: omp-low.cc:2745 omp-offload.cc:1518
 #, gcc-internal-format
 msgid "%<seq%> overrides other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2743 omp-offload.cc:1490
+#: omp-low.cc:2748 omp-offload.cc:1519
 #, gcc-internal-format
 msgid "%<auto%> conflicts with other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2747 omp-offload.cc:1524
+#: omp-low.cc:2752 omp-offload.cc:1553
 #, gcc-internal-format
 msgid "inner loop uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-low.cc:2798
+#: omp-low.cc:2803
 #, gcc-internal-format
 msgid "argument not permitted on %qs clause"
 msgstr ""
 
-#: omp-low.cc:2802
+#: omp-low.cc:2807
 #, gcc-internal-format
 msgid "enclosing parent compute construct"
 msgstr ""
 
-#: omp-low.cc:2805
+#: omp-low.cc:2810
 #, gcc-internal-format
 msgid "enclosing routine"
 msgstr ""
 
-#: omp-low.cc:2846
+#: omp-low.cc:2851
 #, gcc-internal-format
 msgid "conflicting reduction operations for %qE"
 msgstr ""
 
-#: omp-low.cc:2849
+#: omp-low.cc:2855
 #, gcc-internal-format
 msgid "location of the previous reduction for %qE"
 msgstr ""
 
-#: omp-low.cc:2882
+#: omp-low.cc:2888
 #, gcc-internal-format
 msgid "nested loop in reduction needs reduction clause for %qE"
 msgstr ""
 
-#: omp-low.cc:3139
+#: omp-low.cc:3145
 #, gcc-internal-format
 msgid ""
 "%<target%> construct with nested %<teams%> construct contains directives "
 "outside of the %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3197
+#: omp-low.cc:3203
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC routine"
 msgstr ""
 
-#: omp-low.cc:3206
+#: omp-low.cc:3212
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3221
+#: omp-low.cc:3227
 #, gcc-internal-format
 msgid "OpenMP constructs are not allowed in target region with %<ancestor%>"
 msgstr ""
 
-#: omp-low.cc:3246 omp-low.cc:3313
+#: omp-low.cc:3252 omp-low.cc:3319
 #, 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:3265
+#: omp-low.cc:3271
 #, gcc-internal-format
 msgid ""
 "%<ordered simd threads%> must be closely nested inside of %<%s simd%> region"
 msgstr ""
 
-#: omp-low.cc:3281
+#: omp-low.cc:3287
 #, 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:3295
+#: omp-low.cc:3301
 #, gcc-internal-format
 msgid ""
 "only %<distribute%>, %<parallel%> or %<loop%> regions are allowed to be "
 "strictly nested inside %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:3309
+#: omp-low.cc:3315
 #, gcc-internal-format
 msgid ""
 "OpenMP constructs other than %<parallel%>, %<loop%> or %<simd%> may not be "
 "nested inside a %<loop%> region"
 msgstr ""
 
-#: omp-low.cc:3329
+#: omp-low.cc:3335
 #, gcc-internal-format
 msgid ""
 "%<distribute%> region must be strictly nested inside %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3378
+#: omp-low.cc:3384
 #, gcc-internal-format
 msgid ""
 "OpenACC loop directive must be associated with an OpenACC compute region"
 msgstr ""
 
-#: omp-low.cc:3400
+#: omp-low.cc:3406
 #, gcc-internal-format
 msgid "orphaned %qs construct"
 msgstr ""
 
-#: omp-low.cc:3429
+#: omp-low.cc:3435
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<nowait%> for construct"
 msgstr ""
 
-#: omp-low.cc:3434
+#: omp-low.cc:3440
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<ordered%> for construct"
 msgstr ""
 
-#: omp-low.cc:3454 omp-low.cc:3467
+#: omp-low.cc:3460 omp-low.cc:3473
 #, gcc-internal-format
 msgid "%<cancel sections%> inside %<nowait%> sections construct"
 msgstr ""
 
-#: omp-low.cc:3496
+#: omp-low.cc:3502
 #, gcc-internal-format
 msgid ""
 "%<%s taskgroup%> construct not closely nested inside of %<taskgroup%> region"
 msgstr ""
 
-#: omp-low.cc:3521
+#: omp-low.cc:3527
 #, gcc-internal-format
 msgid "invalid arguments"
 msgstr ""
 
-#: omp-low.cc:3527
+#: omp-low.cc:3533
 #, gcc-internal-format
 msgid "%<%s %s%> construct not closely nested inside of %qs"
 msgstr ""
 
-#: omp-low.cc:3556
+#: omp-low.cc:3562
 #, gcc-internal-format
 msgid ""
 "barrier region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -30375,7 +31167,7 @@ msgid ""
 "%<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3563
+#: omp-low.cc:3569
 #, gcc-internal-format
 msgid ""
 "work-sharing region may not be closely nested inside of work-sharing, "
@@ -30383,14 +31175,14 @@ msgid ""
 "%<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3594
+#: omp-low.cc:3600
 #, 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:3629
+#: omp-low.cc:3635
 #, gcc-internal-format
 msgid ""
 "%<scope%> region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -30398,50 +31190,50 @@ msgid ""
 "%<masked%> region"
 msgstr ""
 
-#: omp-low.cc:3652
+#: omp-low.cc:3658
 #, gcc-internal-format
 msgid "%<%s(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3667
+#: omp-low.cc:3673
 #, gcc-internal-format
 msgid "invalid depend kind in omp %<ordered%> %<depend%>"
 msgstr ""
 
-#: omp-low.cc:3684
+#: omp-low.cc:3690
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct with %<depend%> clause must be closely nested inside "
 "an %<ordered%> loop"
 msgstr ""
 
-#: omp-low.cc:3700
+#: omp-low.cc:3706
 #, gcc-internal-format
 msgid "%<ordered%> %<simd%> must be closely nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3713
+#: omp-low.cc:3719
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region may not be closely nested inside of %<critical%>, "
 "%<ordered%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3726 omp-low.cc:3771
+#: omp-low.cc:3732 omp-low.cc:3777
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region must be closely nested inside a loop region with an "
 "%<ordered%> clause"
 msgstr ""
 
-#: omp-low.cc:3735
+#: omp-low.cc:3741
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct without %<doacross%> or %<depend%> clauses must not "
 "have the same binding region as %<ordered%> construct with those clauses"
 msgstr ""
 
-#: omp-low.cc:3754
+#: omp-low.cc:3760
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct without %<doacross%> or %<depend%> clauses binds to "
@@ -30449,92 +31241,92 @@ msgid ""
 "%wd"
 msgstr ""
 
-#: omp-low.cc:3788
+#: omp-low.cc:3794
 #, gcc-internal-format
 msgid ""
 "%<critical%> region may not be nested inside a %<critical%> region with the "
 "same name"
 msgstr ""
 
-#: omp-low.cc:3806
+#: omp-low.cc:3812
 #, 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:3818 c-family/c-omp.cc:720
+#: omp-low.cc:3824 c-family/c-omp.cc:721
 #, gcc-internal-format
 msgid "%<depend(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3826
+#: omp-low.cc:3832
 #, gcc-internal-format
 msgid ""
 "OpenACC region inside of OpenACC routine, nested parallelism not supported "
 "yet"
 msgstr ""
 
-#: omp-low.cc:3839
+#: omp-low.cc:3845
 #, gcc-internal-format
 msgid "OpenACC construct inside of non-OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3900
+#: omp-low.cc:3906
 #, gcc-internal-format
 msgid "%s %qs construct inside of %s %qs region"
 msgstr ""
 
-#: omp-low.cc:3913 omp-low.cc:3930
+#: omp-low.cc:3919 omp-low.cc:3936
 #, gcc-internal-format
 msgid "%qs construct inside of %qs region"
 msgstr ""
 
-#: omp-low.cc:4173
+#: omp-low.cc:4076
 #, gcc-internal-format
 msgid "setjmp/longjmp inside %<simd%> construct"
 msgstr ""
 
-#: omp-low.cc:4199
+#: omp-low.cc:4102
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: omp-low.cc:4215
+#: omp-low.cc:4118
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD strictly nested in a %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:4227
+#: omp-low.cc:4130
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<device(ancestor)%> clause"
 msgstr ""
 
-#: omp-low.cc:9887
+#: omp-low.cc:9791
 #, gcc-internal-format
 msgid ""
-"ignoring sink clause with offset that is not a multiple of the loop step"
+"ignoring %<sink%> clause with offset that is not a multiple of the loop step"
 msgstr ""
 
-#: omp-low.cc:9910
+#: omp-low.cc:9814
 #, gcc-internal-format
 msgid "first offset must be in opposite direction of loop iterations"
 msgstr ""
 
-#: omp-low.cc:14848
+#: omp-low.cc:14761
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid exit from %s structured block"
 msgstr ""
 
-#: omp-low.cc:14850 omp-low.cc:14855
+#: omp-low.cc:14763 omp-low.cc:14768
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid entry to %s structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.cc:14859
+#: omp-low.cc:14772
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid branch to/from %s structured block"
 msgstr ""
@@ -30599,96 +31391,96 @@ msgid ""
 "clauses"
 msgstr ""
 
-#: omp-offload.cc:900
+#: omp-offload.cc:929
 #, gcc-internal-format
 msgid "%<-fopenacc-dim%> operand is malformed at %qs"
 msgstr ""
 
-#: omp-offload.cc:952
+#: omp-offload.cc:981
 #, gcc-internal-format, gfc-internal-format
 msgid "region contains %s partitioned code but is not %s partitioned"
 msgstr ""
 
-#: omp-offload.cc:958
+#: omp-offload.cc:987
 #, gcc-internal-format, gfc-internal-format
 msgid "region is %s partitioned but does not contain %s partitioned code"
 msgstr ""
 
-#: omp-offload.cc:1448
+#: omp-offload.cc:1477
 #, gcc-internal-format
 msgid "gang reduction on an orphan loop"
 msgstr ""
 
-#: omp-offload.cc:1522
+#: omp-offload.cc:1551
 #, gcc-internal-format
 msgid "routine call uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-offload.cc:1526 omp-offload.cc:1558
+#: omp-offload.cc:1555 omp-offload.cc:1587
 #, gcc-internal-format
 msgid "containing loop here"
 msgstr ""
 
-#: omp-offload.cc:1531
+#: omp-offload.cc:1560
 #, gcc-internal-format
 msgid "routine call uses OpenACC parallelism disallowed by containing routine"
 msgstr ""
 
-#: omp-offload.cc:1533
+#: omp-offload.cc:1562
 #, gcc-internal-format
 msgid "loop uses OpenACC parallelism disallowed by containing routine"
 msgstr ""
 
-#: omp-offload.cc:1538
+#: omp-offload.cc:1567
 #, gcc-internal-format
 msgid "routine %qD declared here"
 msgstr ""
 
-#: omp-offload.cc:1551
+#: omp-offload.cc:1580
 #, gcc-internal-format
 msgid "incorrectly nested OpenACC loop parallelism"
 msgstr ""
 
-#: omp-offload.cc:1692
+#: omp-offload.cc:1721
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize element loop"
 msgstr ""
 
-#: omp-offload.cc:1700
+#: omp-offload.cc:1729
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize tile loop"
 msgstr ""
 
-#: omp-offload.cc:1702
+#: omp-offload.cc:1731
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize loop"
 msgstr ""
 
-#: omp-simd-clone.cc:401
+#: omp-simd-clone.cc:391
 #, gcc-internal-format
 msgid "ignoring large linear step"
 msgstr ""
 
-#: omp-simd-clone.cc:407
+#: omp-simd-clone.cc:397
 #, gcc-internal-format
 msgid "ignoring zero linear step"
 msgstr ""
 
-#: omp-simd-clone.cc:469
+#: omp-simd-clone.cc:459
 #, gcc-internal-format
 msgid ""
 "ignoring %<#pragma omp declare simd%> on function with %<_Atomic%> qualified "
 "return type"
 msgstr ""
 
-#: omp-simd-clone.cc:479
+#: omp-simd-clone.cc:469
 #, gcc-internal-format
 msgid ""
 "ignoring %<#pragma omp declare simd%> on function with %<_Atomic%> qualified "
 "non-%<uniform%> argument"
 msgstr ""
 
-#: optabs.cc:5015
+#: optabs.cc:5020
 #, gcc-internal-format
 msgid "indirect jumps are not available on this target"
 msgstr ""
@@ -30708,74 +31500,74 @@ msgstr ""
 msgid "error closing optimization records %qs"
 msgstr ""
 
-#: opts-common.cc:1410
+#: opts-common.cc:1432
 #, gcc-internal-format
 msgid "command-line option %qs is not supported by this configuration"
 msgstr ""
 
-#: opts-common.cc:1420 opts.cc:2517
+#: opts-common.cc:1442 opts.cc:2576
 #, gcc-internal-format
 msgid "missing argument to %qs"
 msgstr ""
 
-#: opts-common.cc:1427
+#: opts-common.cc:1449
 #, gcc-internal-format
 msgid ""
 "argument to %qs should be a non-negative integer optionally followed by a "
 "size unit"
 msgstr ""
 
-#: opts-common.cc:1431
+#: opts-common.cc:1453
 #, gcc-internal-format
 msgid "argument to %qs should be a non-negative integer"
 msgstr ""
 
-#: opts-common.cc:1438
+#: opts-common.cc:1460
 #, gcc-internal-format
 msgid "argument to %qs is not between %d and %d"
 msgstr ""
 
-#: opts-common.cc:1502
+#: opts-common.cc:1524
 #, gcc-internal-format
 msgid "invalid argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1504
+#: opts-common.cc:1526
 #, gcc-internal-format
 msgid "%qs specified multiple times in the same option"
 msgstr ""
 
-#: opts-common.cc:1507
+#: opts-common.cc:1529
 #, gcc-internal-format
 msgid "%qs is mutually exclusive with %qs and cannot be specified together"
 msgstr ""
 
-#: opts-common.cc:1529
+#: opts-common.cc:1551
 #, gcc-internal-format
 msgid "unrecognized argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1540 config/i386/i386-options.cc:1650
+#: opts-common.cc:1562 config/i386/i386-options.cc:1698
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s; did you mean %qs?"
 msgstr ""
 
-#: opts-common.cc:1543 config/i386/i386-options.cc:1653
+#: opts-common.cc:1565 config/i386/i386-options.cc:1701
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s"
 msgstr ""
 
-#: opts-common.cc:1586 c-family/c-opts.cc:449
+#: opts-common.cc:1608 c-family/c-opts.cc:471
 #, gcc-internal-format
 msgid "switch %qs is no longer supported"
 msgstr ""
 
-#: opts-common.cc:1646
+#: opts-common.cc:1668
 #, gcc-internal-format
 msgid "argument to %qs is bigger than %d"
 msgstr ""
 
-#: opts-common.cc:1993
+#: opts-common.cc:2015
 #, gcc-internal-format
 msgid "malformed %<COLLECT_GCC_OPTIONS%>"
 msgstr ""
@@ -30809,7 +31601,7 @@ msgstr ""
 msgid "unrecognized command-line option %<-fopt-info-%s%>"
 msgstr ""
 
-#: opts-global.cc:430 opts-global.cc:439 m2/gm2spec.cc:548
+#: opts-global.cc:430 opts-global.cc:439 m2/gm2spec.cc:544
 #, gcc-internal-format
 msgid "plugin support is disabled; configure with %<--enable-plugin%>"
 msgstr ""
@@ -30831,330 +31623,344 @@ msgstr ""
 msgid "unrecognized shadow offset %qs"
 msgstr ""
 
-#: opts.cc:231
+#: opts.cc:234
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
 msgstr ""
 
-#: opts.cc:267
+#: opts.cc:270
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
 msgstr ""
 
-#: opts.cc:274
+#: opts.cc:277
 #, gcc-internal-format
 msgid ""
 "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-"
 "femit-struct-debug-detailed=ind:...%>"
 msgstr ""
 
-#: opts.cc:740
+#: opts.cc:743
 #, gcc-internal-format
 msgid ""
 "argument to %<-O%> should be a non-negative integer, %<g%>, %<s%>, %<z%> or "
 "%<fast%>"
 msgstr ""
 
-#: opts.cc:846 opts.cc:852 opts.cc:858 opts.cc:864 opts.cc:875 opts.cc:885
-#: opts.cc:891 opts.cc:897 opts.cc:903 opts.cc:909 opts.cc:915 opts.cc:921
-#: opts.cc:927 opts.cc:933 opts.cc:950 opts.cc:958 config/mips/mips.cc:20369
-#: config/mips/mips.cc:20371 config/mips/mips.cc:20384
+#: opts.cc:849 opts.cc:855 opts.cc:861 opts.cc:867 opts.cc:878 opts.cc:888
+#: opts.cc:894 opts.cc:900 opts.cc:906 opts.cc:912 opts.cc:918 opts.cc:924
+#: opts.cc:930 opts.cc:936 opts.cc:953 opts.cc:961 config/mips/mips.cc:20405
+#: config/mips/mips.cc:20407 config/mips/mips.cc:20420
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:940
+#: opts.cc:943
 #, gcc-internal-format
 msgid "%<-fipa-modref%> is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:1020
+#: opts.cc:1023
 #, gcc-internal-format
 msgid "%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>"
 msgstr ""
 
-#: opts.cc:1058
+#: opts.cc:1061
 #, gcc-internal-format
 msgid "section anchors must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1062
+#: opts.cc:1065
 #, gcc-internal-format
 msgid "toplevel reorder must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1076
+#: opts.cc:1079
 #, gcc-internal-format
 msgid "transactional memory is not supported with non-call exceptions"
 msgstr ""
 
-#: opts.cc:1091
+#: opts.cc:1094
 #, gcc-internal-format
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.cc:1165
+#: opts.cc:1105
+#, gcc-internal-format
+msgid ""
+"%<-ftrivial-auto-var-init=zero%> is not enabled by %<-fhardened%> because it "
+"was specified on the command line"
+msgstr ""
+
+#: opts.cc:1155
+#, gcc-internal-format
+msgid ""
+"%<-fstack-protector-strong%> is not enabled by %<-fhardened%> because it was "
+"specified on the command line"
+msgstr ""
+
+#: opts.cc:1200
 #, gcc-internal-format
 msgid "%<-fno-fat-lto-objects%> are supported only with linker plugin"
 msgstr ""
 
-#: opts.cc:1173
+#: opts.cc:1208
 #, gcc-internal-format
 msgid "%<-gsplit-dwarf%> is not supported with LTO, disabling"
 msgstr ""
 
-#: opts.cc:1187
+#: opts.cc:1222
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> is not supported by this compiler configuration"
 msgstr ""
 
-#: opts.cc:1214
+#: opts.cc:1249
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1218
+#: opts.cc:1253
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1245
+#: opts.cc:1280
 #, gcc-internal-format
 msgid "%<-fsanitize-recover=%s%> is not supported"
 msgstr ""
 
-#: opts.cc:1257 opts.cc:2253
+#: opts.cc:1292 opts.cc:2288
 #, gcc-internal-format
 msgid "%<-fsanitize-trap=%s%> is not supported"
 msgstr ""
 
-#: opts.cc:1284
+#: opts.cc:1319
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option"
 msgstr ""
 
-#: opts.cc:1291
+#: opts.cc:1326
 #, gcc-internal-format
 msgid "transactional memory is not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: opts.cc:1294
+#: opts.cc:1329
 #, gcc-internal-format
 msgid ""
 "transactional memory is not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1299
+#: opts.cc:1334
 #, gcc-internal-format
 msgid "live patching (with %qs) is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1304
+#: opts.cc:1339
 #, gcc-internal-format
 msgid "vtable verification is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1379
+#: opts.cc:1414
 #, gcc-internal-format
 msgid "variable tracking requested, but useless unless producing debug info"
 msgstr ""
 
-#: opts.cc:1383
+#: opts.cc:1418
 #, gcc-internal-format
 msgid "variable tracking requested, but not supported by this debug format"
 msgstr ""
 
-#: opts.cc:1412
+#: opts.cc:1447
 #, gcc-internal-format
 msgid "var-tracking-assignments changes selective scheduling"
 msgstr ""
 
-#: opts.cc:1425
+#: opts.cc:1460
 #, gcc-internal-format
 msgid ""
 "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not "
 "present"
 msgstr ""
 
-#: opts.cc:1455 config/darwin.cc:3361
+#: opts.cc:1490 config/darwin.cc:3471
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not work with exceptions on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1471
+#: opts.cc:1506
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not support unwind info on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1489 config/pa/pa.cc:564
+#: opts.cc:1524 config/pa/pa.cc:576
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> does not work on this architecture"
 msgstr ""
 
-#: opts.cc:1998
+#: opts.cc:2033
 #, gcc-internal-format
 msgid "unrecognized %<include_flags 0x%x%> passed to %<print_specific_help%>"
 msgstr ""
 
-#: opts.cc:2232
+#: opts.cc:2267
 #, gcc-internal-format
 msgid "%<-fsanitize=all%> option is not valid"
 msgstr ""
 
-#: opts.cc:2287
+#: opts.cc:2322
 #, gcc-internal-format
 msgid ""
 "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?"
 msgstr ""
 
-#: opts.cc:2293
+#: opts.cc:2328
 #, gcc-internal-format
 msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2328
+#: opts.cc:2363
 #, gcc-internal-format
 msgid "%qs attribute directive ignored"
 msgstr ""
 
-#: opts.cc:2352
+#: opts.cc:2387
 #, gcc-internal-format
 msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs"
 msgstr ""
 
-#: opts.cc:2376
+#: opts.cc:2411
 #, gcc-internal-format
 msgid "invalid arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2391
+#: opts.cc:2426
 #, gcc-internal-format
 msgid "invalid number of arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2400
+#: opts.cc:2435
 #, gcc-internal-format
 msgid "%<-falign-%s%> is not between 0 and %d"
 msgstr ""
 
-#: opts.cc:2459
+#: opts.cc:2494
 #, gcc-internal-format
 msgid "invalid arguments for %<-fpatchable-function-entry%>"
 msgstr ""
 
-#: opts.cc:2572
+#: opts.cc:2631
 #, gcc-internal-format
 msgid "%<--help%> argument %q.*s is ambiguous, please be more specific"
 msgstr ""
 
-#: opts.cc:2581
+#: opts.cc:2642
 #, gcc-internal-format
 msgid "unrecognized argument to %<--help=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2761
+#: opts.cc:2822
 #, gcc-internal-format
 msgid ""
 "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead"
 msgstr ""
 
-#: opts.cc:2767
+#: opts.cc:2828
 #, gcc-internal-format
 msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>"
 msgstr ""
 
-#: opts.cc:2993
+#: opts.cc:3054
 #, gcc-internal-format
 msgid "%<-foffload-abi%> option can be specified only for offload compiler"
 msgstr ""
 
-#: opts.cc:3001
+#: opts.cc:3062
 #, gcc-internal-format
 msgid "structure alignment must be a small power of two, not %wu"
 msgstr ""
 
-#: opts.cc:3122
+#: opts.cc:3183
 #, gcc-internal-format
 msgid "unknown stack check parameter %qs"
 msgstr ""
 
-#: opts.cc:3171
+#: opts.cc:3232
 #, gcc-internal-format
 msgid ""
 "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-"
 "gdwarf%> %<-g%s%> for debug level"
 msgstr ""
 
-#: opts.cc:3182
+#: opts.cc:3243
 #, gcc-internal-format
 msgid "dwarf version %wu is not supported"
 msgstr ""
 
-#: opts.cc:3219
+#: opts.cc:3280
 #, gcc-internal-format
 msgid "unrecognized argument to %<-flto=%> option: %qs"
 msgstr ""
 
-#: opts.cc:3419
+#: opts.cc:3480
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr ""
 
-#: opts.cc:3457
+#: opts.cc:3518
 #, gcc-internal-format
 msgid "debug format %qs conflicts with prior selection"
 msgstr ""
 
-#: opts.cc:3481
+#: opts.cc:3542
 #, gcc-internal-format
 msgid "unrecognized debug output level %qs"
 msgstr ""
 
-#: opts.cc:3483
+#: opts.cc:3544
 #, gcc-internal-format
 msgid "debug output level %qs is too high"
 msgstr ""
 
-#: opts.cc:3495
+#: opts.cc:3556
 #, gcc-internal-format
 msgid "unrecognized btf debug output level %qs"
 msgstr ""
 
-#: opts.cc:3512
+#: opts.cc:3573
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr ""
 
-#: opts.cc:3516
+#: opts.cc:3577
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr ""
 
-#: opts.cc:3561
+#: opts.cc:3622
 #, gcc-internal-format, gfc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr ""
 
-#: opts.cc:3590
+#: opts.cc:3651
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: opts.cc:3594
+#: opts.cc:3655
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>"
 msgstr ""
 
-#: opts.cc:3598
+#: opts.cc:3659
 #, gcc-internal-format
 msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings"
 msgstr ""
@@ -31398,17 +32204,17 @@ msgstr ""
 msgid "object of size %s allocated by %qE"
 msgstr ""
 
-#: predict.cc:2532
+#: predict.cc:2566
 #, gcc-internal-format
 msgid "probability %qE must be constant floating-point expression"
 msgstr ""
 
-#: predict.cc:2545
+#: predict.cc:2579
 #, gcc-internal-format
 msgid "probability %qE is outside the range [0.0, 1.0]"
 msgstr ""
 
-#: predict.cc:3576
+#: predict.cc:3640
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing counts for called function %s"
 msgstr ""
@@ -31522,69 +32328,69 @@ msgstr ""
 msgid "output operand %d must use %<&%> constraint"
 msgstr ""
 
-#: regcprop.cc:1264
+#: regcprop.cc:1254
 #, gcc-internal-format
 msgid "%qs: [%u] bad %<next_regno%> for empty chain (%u)"
 msgstr ""
 
-#: regcprop.cc:1276
+#: regcprop.cc:1266
 #, gcc-internal-format
 msgid "%qs: loop in %<next_regno%> chain (%u)"
 msgstr ""
 
-#: regcprop.cc:1279
+#: regcprop.cc:1269
 #, gcc-internal-format
 msgid "%qs: [%u] bad %<oldest_regno%> (%u)"
 msgstr ""
 
-#: regcprop.cc:1291
+#: regcprop.cc:1281
 #, gcc-internal-format
 msgid "%qs: [%u] non-empty register in chain (%s %u %i)"
 msgstr ""
 
-#: reginfo.cc:674
+#: reginfo.cc:679
 #, gcc-internal-format
 msgid "cannot use %qs as a call-saved register"
 msgstr ""
 
-#: reginfo.cc:678
+#: reginfo.cc:683
 #, gcc-internal-format
 msgid "cannot use %qs as a call-used register"
 msgstr ""
 
-#: reginfo.cc:690
+#: reginfo.cc:695
 #, gcc-internal-format
 msgid "cannot use %qs as a fixed register"
 msgstr ""
 
-#: reginfo.cc:717 config/arc/arc.cc:1186 config/arc/arc.cc:1228
-#: config/ia64/ia64.cc:6037 config/ia64/ia64.cc:6044 config/pa/pa.cc:465
-#: config/pa/pa.cc:472 config/sh/sh.cc:8278 config/sh/sh.cc:8285
+#: reginfo.cc:722 config/arc/arc.cc:1086 config/arc/arc.cc:1128
+#: config/ia64/ia64.cc:6047 config/ia64/ia64.cc:6054 config/pa/pa.cc:473
+#: config/pa/pa.cc:480 config/sh/sh.cc:8278 config/sh/sh.cc:8285
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
 
-#: reginfo.cc:730
+#: reginfo.cc:735
 #, gcc-internal-format
 msgid "stack register used for global register variable"
 msgstr ""
 
-#: reginfo.cc:736
+#: reginfo.cc:741
 #, gcc-internal-format
 msgid "global register variable follows a function definition"
 msgstr ""
 
-#: reginfo.cc:742
+#: reginfo.cc:747
 #, gcc-internal-format
 msgid "register of %qD used for multiple global register variables"
 msgstr ""
 
-#: reginfo.cc:745 config/rs6000/rs6000-logue.cc:5579
+#: reginfo.cc:750 config/rs6000/rs6000-logue.cc:5579
 #, gcc-internal-format
 msgid "conflicts with %qD"
 msgstr ""
 
-#: reginfo.cc:750
+#: reginfo.cc:755
 #, gcc-internal-format
 msgid "call-clobbered register used for global register variable"
 msgstr ""
@@ -31599,12 +32405,12 @@ msgstr ""
 msgid "impossible register constraint in %<asm%>"
 msgstr ""
 
-#: reload.cc:2671
+#: reload.cc:2672
 #, gcc-internal-format
 msgid "the target does not support %<asm goto%> with outputs in %<asm%>"
 msgstr ""
 
-#: reload.cc:3702
+#: reload.cc:3697
 #, gcc-internal-format
 msgid "%<&%> constraint used with no register class"
 msgstr ""
@@ -31820,12 +32626,12 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.cc:2619
+#: stor-layout.cc:2712
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
 
-#: stor-layout.cc:2625
+#: stor-layout.cc:2718
 #, gcc-internal-format
 msgid "size of array element is not a multiple of its alignment"
 msgstr ""
@@ -32032,87 +32838,92 @@ msgstr ""
 msgid "section of alias %q+D must match section of its target"
 msgstr ""
 
-#: targhooks.cc:203
+#: targhooks.cc:204
 #, gcc-internal-format
 msgid "%<__builtin_saveregs%> not supported by this target"
 msgstr ""
 
-#: targhooks.cc:1204
+#: targhooks.cc:1215
 #, gcc-internal-format
 msgid "argument %qs is not supported for %qs on this target"
 msgstr ""
 
-#: targhooks.cc:1246
+#: targhooks.cc:1257
 #, gcc-internal-format
 msgid "nested functions not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1259
+#: targhooks.cc:1270
 #, gcc-internal-format
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1422
+#: targhooks.cc:1433
 #, gcc-internal-format
 msgid "global constructors not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1431
+#: targhooks.cc:1442
 #, gcc-internal-format
 msgid "global destructors not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1790
+#: targhooks.cc:1802
 #, gcc-internal-format
-msgid "target attribute is not supported on this machine"
+msgid "%<target%> attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.cc:1804
+#: targhooks.cc:1814
+#, gcc-internal-format
+msgid "%<target_version%> attribute is not supported on this machine"
+msgstr ""
+
+#: targhooks.cc:1828
 #, gcc-internal-format
 msgid "%<#pragma GCC target%> is not supported for this machine"
 msgstr ""
 
-#: toplev.cc:713
+#: toplev.cc:716
 #, gcc-internal-format
 msgid "cannot open %qs for writing: %m"
 msgstr ""
 
-#: toplev.cc:732
+#: toplev.cc:735
 #, gcc-internal-format
 msgid "%<-frecord-gcc-switches%> is not supported by the current target"
 msgstr ""
 
-#: toplev.cc:784
+#: toplev.cc:787
 #, gcc-internal-format
 msgid "stack usage computation not supported for this target"
 msgstr ""
 
-#: toplev.cc:843
+#: toplev.cc:846
 #, gcc-internal-format
 msgid "stack usage might be unbounded"
 msgstr ""
 
-#: toplev.cc:848
+#: toplev.cc:851
 #, gcc-internal-format
 msgid "stack usage might be %wu bytes"
 msgstr ""
 
-#: toplev.cc:851
+#: toplev.cc:854
 #, gcc-internal-format
 msgid "stack usage is %wu bytes"
 msgstr ""
 
-#: toplev.cc:968
+#: toplev.cc:971
 #, gcc-internal-format
 msgid "cannot open %s for writing: %m"
 msgstr ""
 
-#: toplev.cc:1246
+#: toplev.cc:1250
 #, gcc-internal-format
 msgid "this target does not support %qs"
 msgstr ""
 
-#: toplev.cc:1280
+#: toplev.cc:1284
 #, gcc-internal-format
 msgid ""
 "Graphite loop optimizations cannot be used (isl is not available) (%<-"
@@ -32120,182 +32931,194 @@ msgid ""
 "parallelize-all%>)"
 msgstr ""
 
-#: toplev.cc:1291
+#: toplev.cc:1295
 #, gcc-internal-format
 msgid "%<-fcf-protection=full%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1298
+#: toplev.cc:1302
 #, gcc-internal-format
 msgid "%<-fcf-protection=branch%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1305
+#: toplev.cc:1309
 #, gcc-internal-format
 msgid "%<-fcf-protection=return%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1320
+#: toplev.cc:1324
 #, gcc-internal-format
 msgid "%<-fabi-version=1%> is no longer supported"
 msgstr ""
 
-#: toplev.cc:1336
+#: toplev.cc:1340
 #, gcc-internal-format
 msgid "instruction scheduling not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1340
+#: toplev.cc:1344
 #, gcc-internal-format
 msgid "this target machine does not have delayed branches"
 msgstr ""
 
-#: toplev.cc:1354
+#: toplev.cc:1358
 #, gcc-internal-format
 msgid "%<-f%sleading-underscore%> not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1383
+#: toplev.cc:1387
 #, gcc-internal-format
 msgid "CTF debug info requested, but not supported for %qs frontend"
 msgstr ""
 
-#: toplev.cc:1401
+#: toplev.cc:1405
 #, gcc-internal-format
 msgid "could not close zeroed insn dump file %qs: %m"
 msgstr ""
 
-#: toplev.cc:1439
+#: toplev.cc:1443
 #, gcc-internal-format
 msgid "target system does not support the %qs debug format"
 msgstr ""
 
-#: toplev.cc:1467
+#: toplev.cc:1471
 #, gcc-internal-format
 msgid ""
 "without %<-gdwarf-5%>, %<-gvariable-location-views=incompat5%> is equivalent "
 "to %<-gvariable-location-views%>"
 msgstr ""
 
-#: toplev.cc:1483
+#: toplev.cc:1487
 #, gcc-internal-format
 msgid ""
 "%<-ginternal-reset-location-views%> is forced disabled without %<-gvariable-"
 "location-views%>"
 msgstr ""
 
-#: toplev.cc:1493
+#: toplev.cc:1497
 #, gcc-internal-format
 msgid ""
 "%<-ginline-points%> is forced disabled without %<-gstatement-frontiers%>"
 msgstr ""
 
-#: toplev.cc:1522
+#: toplev.cc:1526
 #, gcc-internal-format
 msgid "%<-ffunction-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1528
+#: toplev.cc:1532
 #, gcc-internal-format
 msgid "%<-fdata-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1536
+#: toplev.cc:1540
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1542
+#: toplev.cc:1546
 #, gcc-internal-format
 msgid ""
 "%<-fprefetch-loop-arrays%> not supported for this target (try %<-march%> "
 "switches)"
 msgstr ""
 
-#: toplev.cc:1552
+#: toplev.cc:1556
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> is not supported with %<-Os%>"
 msgstr ""
 
-#: toplev.cc:1564
+#: toplev.cc:1568
 #, gcc-internal-format
 msgid "%<-fassociative-math%> disabled; other options take precedence"
 msgstr ""
 
-#: toplev.cc:1574
+#: toplev.cc:1576
+#, gcc-internal-format
+msgid "%<-fhardened%> not supported for this target"
+msgstr ""
+
+#: toplev.cc:1585
 #, gcc-internal-format
 msgid ""
 "%<-fstack-clash-protection%> is not supported on targets where the stack "
 "grows from lower to higher addresses"
 msgstr ""
 
-#: toplev.cc:1584
+#: toplev.cc:1598
+#, gcc-internal-format
+msgid ""
+"%<-fstack-clash-protection%> is not enabled by %<-fhardened%> because %<-"
+"fstack-check%> was specified on the command line"
+msgstr ""
+
+#: toplev.cc:1608
 #, gcc-internal-format
 msgid ""
 "%<-fstack-check=%> and %<-fstack-clash-protection%> are mutually exclusive; "
 "disabling %<-fstack-check=%>"
 msgstr ""
 
-#: toplev.cc:1594
+#: toplev.cc:1619
 #, gcc-internal-format
 msgid "%<-fstack-protector%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1606
+#: toplev.cc:1631
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are not supported "
 "for this target"
 msgstr ""
 
-#: toplev.cc:1616
+#: toplev.cc:1641
 #, gcc-internal-format
 msgid "%<-fsanitize=address%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1625
+#: toplev.cc:1650
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=kernel-address%> with stack protection is not supported without "
 "%<-fasan-shadow-offset=%> for this target"
 msgstr ""
 
-#: toplev.cc:1635
+#: toplev.cc:1660
 #, gcc-internal-format
 msgid "%qs is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1643
+#: toplev.cc:1668
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
 msgstr ""
 
-#: toplev.cc:1646
+#: toplev.cc:1671
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>"
 msgstr ""
 
-#: toplev.cc:1984
+#: toplev.cc:2010
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr ""
 
-#: toplev.cc:1986
+#: toplev.cc:2012
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr ""
 
-#: toplev.cc:2104
+#: toplev.cc:2130
 #, gcc-internal-format
 msgid "mpfr not configured to handle all floating modes"
 msgstr ""
 
-#: toplev.cc:2190
+#: toplev.cc:2216
 #, gcc-internal-format
 msgid "self-tests are not enabled in this build"
 msgstr ""
 
-#: toplev.cc:2287
+#: toplev.cc:2313
 #, gcc-internal-format
 msgid "self-tests incompatible with %<-E%>"
 msgstr ""
@@ -32382,172 +33205,172 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: tree-cfg.cc:358
+#: tree-cfg.cc:355
 #, gcc-internal-format
 msgid "ignoring loop annotation"
 msgstr ""
 
-#: tree-cfg.cc:3071
+#: tree-cfg.cc:3084
 #, gcc-internal-format
 msgid "constant not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3076
+#: tree-cfg.cc:3089
 #, gcc-internal-format
 msgid "side effects not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3091
+#: tree-cfg.cc:3104
 #, gcc-internal-format
 msgid "address taken but %<TREE_ADDRESSABLE%> bit not set"
 msgstr ""
 
-#: tree-cfg.cc:3117
+#: tree-cfg.cc:3130
 #, gcc-internal-format
 msgid "non-scalar %qs"
 msgstr ""
 
-#: tree-cfg.cc:3131
+#: tree-cfg.cc:3144
 #, gcc-internal-format
 msgid "invalid position or size operand to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3137
+#: tree-cfg.cc:3150
 #, gcc-internal-format
 msgid "integral result type precision does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3146
+#: tree-cfg.cc:3159
 #, gcc-internal-format
 msgid "mode size of non-integral result does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3154
+#: tree-cfg.cc:3167
 #, gcc-internal-format
 msgid "%qs of non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:3161
+#: tree-cfg.cc:3174
 #, gcc-internal-format
 msgid "position plus size exceeds size of referenced object in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3172
+#: tree-cfg.cc:3185
 #, gcc-internal-format
 msgid "type mismatch in %qs reference"
 msgstr ""
 
-#: tree-cfg.cc:3188
+#: tree-cfg.cc:3201
 #, gcc-internal-format
 msgid "conversion of %qs on the left hand side of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3196
+#: tree-cfg.cc:3209
 #, gcc-internal-format
 msgid "conversion of register to a different size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3216
+#: tree-cfg.cc:3229
 #, gcc-internal-format
 msgid "non-top-level %qs"
 msgstr ""
 
-#: tree-cfg.cc:3231
+#: tree-cfg.cc:3244
 #, gcc-internal-format
 msgid "invalid operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3242 tree-cfg.cc:3251 tree-cfg.cc:3268 tree-cfg.cc:3947
-#: tree-cfg.cc:3976 tree-cfg.cc:3993 tree-cfg.cc:4014 tree-cfg.cc:4060
-#: tree-cfg.cc:4081 tree-cfg.cc:4135 tree-cfg.cc:4155 tree-cfg.cc:4191
-#: tree-cfg.cc:4212 tree-cfg.cc:4273 tree-cfg.cc:4348 tree-cfg.cc:4374
-#: tree-cfg.cc:4410 tree-cfg.cc:4459 tree-cfg.cc:4484 tree-cfg.cc:4559
-#: tree-cfg.cc:4645
+#: tree-cfg.cc:3255 tree-cfg.cc:3264 tree-cfg.cc:3281 tree-cfg.cc:3960
+#: tree-cfg.cc:3989 tree-cfg.cc:4006 tree-cfg.cc:4027 tree-cfg.cc:4073
+#: tree-cfg.cc:4094 tree-cfg.cc:4148 tree-cfg.cc:4168 tree-cfg.cc:4204
+#: tree-cfg.cc:4225 tree-cfg.cc:4286 tree-cfg.cc:4361 tree-cfg.cc:4387
+#: tree-cfg.cc:4423 tree-cfg.cc:4472 tree-cfg.cc:4497 tree-cfg.cc:4572
+#: tree-cfg.cc:4658
 #, gcc-internal-format
 msgid "type mismatch in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3262
+#: tree-cfg.cc:3275
 #, gcc-internal-format
 msgid "invalid %qs offset operator"
 msgstr ""
 
-#: tree-cfg.cc:3286 tree-cfg.cc:3312
+#: tree-cfg.cc:3299 tree-cfg.cc:3325
 #, gcc-internal-format
 msgid "invalid address operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3293 tree-cfg.cc:3319
+#: tree-cfg.cc:3306 tree-cfg.cc:3332
 #, gcc-internal-format
 msgid "invalid offset operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3300 tree-cfg.cc:3326
+#: tree-cfg.cc:3313 tree-cfg.cc:3339
 #, gcc-internal-format
 msgid "invalid clique in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3333 tree-cfg.cc:4657
+#: tree-cfg.cc:3346 tree-cfg.cc:4670
 #, gcc-internal-format
 msgid "%qs in gimple IL"
 msgstr ""
 
-#: tree-cfg.cc:3344
+#: tree-cfg.cc:3357
 #, gcc-internal-format
 msgid "%qs as base where non-register is required"
 msgstr ""
 
-#: tree-cfg.cc:3359
+#: tree-cfg.cc:3372
 #, gcc-internal-format
 msgid "invalid expression for min lvalue"
 msgstr ""
 
-#: tree-cfg.cc:3410
+#: tree-cfg.cc:3423
 #, gcc-internal-format
 msgid "gimple call has two targets"
 msgstr ""
 
-#: tree-cfg.cc:3419
+#: tree-cfg.cc:3432
 #, gcc-internal-format
 msgid "gimple call has no target"
 msgstr ""
 
-#: tree-cfg.cc:3426
+#: tree-cfg.cc:3439
 #, gcc-internal-format
 msgid "invalid function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3436
+#: tree-cfg.cc:3449
 #, gcc-internal-format
 msgid "non-function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3447
+#: tree-cfg.cc:3460
 #, gcc-internal-format
 msgid "invalid pure const state for function"
 msgstr ""
 
-#: tree-cfg.cc:3459
+#: tree-cfg.cc:3472
 #, gcc-internal-format
 msgid "invalid LHS in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3467
+#: tree-cfg.cc:3480
 #, gcc-internal-format
 msgid "LHS in %<noreturn%> call"
 msgstr ""
 
-#: tree-cfg.cc:3481
+#: tree-cfg.cc:3494
 #, gcc-internal-format
 msgid "invalid conversion in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3490
+#: tree-cfg.cc:3503
 #, gcc-internal-format
 msgid "invalid static chain in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3501
+#: tree-cfg.cc:3514
 #, gcc-internal-format
 msgid "static chain with function that doesn%'t use one"
 msgstr ""
@@ -32558,537 +33381,562 @@ msgstr ""
 #. __builtin_unreachable internally, for example when IPA figures
 #. out a call cannot happen in a legal program.  In such cases,
 #. we must make sure arguments are stripped off.
-#: tree-cfg.cc:3520
+#: tree-cfg.cc:3533
 #, gcc-internal-format
 msgid "%<__builtin_unreachable%> or %<__builtin_trap%> call with arguments"
 msgstr ""
 
-#: tree-cfg.cc:3551
+#: tree-cfg.cc:3564
 #, gcc-internal-format
 msgid ""
 "%<DEFERRED_INIT%> calls should have same constant size for the first "
 "argument and LHS"
 msgstr ""
 
-#: tree-cfg.cc:3569
+#: tree-cfg.cc:3582
 #, gcc-internal-format
 msgid "invalid argument to gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3596
+#: tree-cfg.cc:3609
 #, gcc-internal-format
 msgid "invalid operands in gimple comparison"
 msgstr ""
 
-#: tree-cfg.cc:3607
+#: tree-cfg.cc:3620
 #, gcc-internal-format
 msgid "mismatching comparison operand types"
 msgstr ""
 
-#: tree-cfg.cc:3624
+#: tree-cfg.cc:3637
 #, gcc-internal-format
 msgid "unsupported operation or type for vector comparison returning a boolean"
 msgstr ""
 
-#: tree-cfg.cc:3639
+#: tree-cfg.cc:3652
 #, gcc-internal-format
 msgid "non-vector operands in vector comparison"
 msgstr ""
 
-#: tree-cfg.cc:3648
+#: tree-cfg.cc:3661
 #, gcc-internal-format
 msgid "invalid vector comparison resulting type"
 msgstr ""
 
-#: tree-cfg.cc:3655
+#: tree-cfg.cc:3668
 #, gcc-internal-format
 msgid "bogus comparison result type"
 msgstr ""
 
-#: tree-cfg.cc:3677
+#: tree-cfg.cc:3690
 #, gcc-internal-format
 msgid "non-register as LHS of unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3683
+#: tree-cfg.cc:3696
 #, gcc-internal-format
 msgid "invalid operand in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3706
+#: tree-cfg.cc:3719
 #, gcc-internal-format
 msgid "invalid vector types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3743
+#: tree-cfg.cc:3756
 #, gcc-internal-format
 msgid "invalid types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3758
+#: tree-cfg.cc:3771
 #, gcc-internal-format
 msgid "invalid types in address space conversion"
 msgstr ""
 
-#: tree-cfg.cc:3772
+#: tree-cfg.cc:3785
 #, gcc-internal-format
 msgid "invalid types in fixed-point conversion"
 msgstr ""
 
-#: tree-cfg.cc:3787
+#: tree-cfg.cc:3800
 #, gcc-internal-format
 msgid "invalid types in conversion to floating-point"
 msgstr ""
 
-#: tree-cfg.cc:3802
+#: tree-cfg.cc:3815
 #, gcc-internal-format
 msgid "invalid types in conversion to integer"
 msgstr ""
 
-#: tree-cfg.cc:3842
+#: tree-cfg.cc:3855
 #, gcc-internal-format
 msgid "type mismatch in %qs expression"
 msgstr ""
 
-#: tree-cfg.cc:3859 tree-cfg.cc:3873 tree-cfg.cc:4239 tree-cfg.cc:4261
+#: tree-cfg.cc:3872 tree-cfg.cc:3886 tree-cfg.cc:4252 tree-cfg.cc:4274
 #, gcc-internal-format
 msgid "invalid types for %qs"
 msgstr ""
 
-#: tree-cfg.cc:3884
+#: tree-cfg.cc:3897
 #, gcc-internal-format
 msgid "%qs should be from a scalar to a like vector"
 msgstr ""
 
-#: tree-cfg.cc:3898
+#: tree-cfg.cc:3911
 #, gcc-internal-format
 msgid "non-trivial conversion in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3923
+#: tree-cfg.cc:3936
 #, gcc-internal-format
 msgid "non-register as LHS of binary operation"
 msgstr ""
 
-#: tree-cfg.cc:3930
+#: tree-cfg.cc:3943
 #, gcc-internal-format
 msgid "invalid operands in binary operation"
 msgstr ""
 
-#: tree-cfg.cc:4035
+#: tree-cfg.cc:4048
 #, gcc-internal-format
 msgid "invalid non-vector operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:4046
+#: tree-cfg.cc:4059
 #, gcc-internal-format
 msgid "invalid (pointer) operands %qs"
 msgstr ""
 
-#: tree-cfg.cc:4281
+#: tree-cfg.cc:4294
 #, gcc-internal-format
 msgid "vector type expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4294
+#: tree-cfg.cc:4307
 #, gcc-internal-format
 msgid "type mismatch in binary expression"
 msgstr ""
 
-#: tree-cfg.cc:4322
+#: tree-cfg.cc:4335
 #, gcc-internal-format
 msgid "non-register as LHS of ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4330
+#: tree-cfg.cc:4343
 #, gcc-internal-format
 msgid "invalid operands in ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4362
+#: tree-cfg.cc:4375
 #, gcc-internal-format
 msgid ""
 "the first argument of a %qs must be of a boolean vector type of the same "
 "number of elements as the result"
 msgstr ""
 
-#: tree-cfg.cc:4394 tree-cfg.cc:4471
+#: tree-cfg.cc:4407 tree-cfg.cc:4484
 #, gcc-internal-format
 msgid "vector types expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4427
+#: tree-cfg.cc:4440
 #, gcc-internal-format
 msgid "vectors with different element number found in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4443
+#: tree-cfg.cc:4456
 #, gcc-internal-format
 msgid "invalid mask type in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4504
+#: tree-cfg.cc:4517
 #, gcc-internal-format
 msgid "not allowed type combination in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4513
+#: tree-cfg.cc:4526
 #, gcc-internal-format
 msgid "invalid position or size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4519
+#: tree-cfg.cc:4532
 #, gcc-internal-format
 msgid "%qs into non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:4529
+#: tree-cfg.cc:4542
 #, gcc-internal-format
 msgid "insertion out of range in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4539
+#: tree-cfg.cc:4552
 #, gcc-internal-format
 msgid "%qs not at element boundary"
 msgstr ""
 
-#: tree-cfg.cc:4595
+#: tree-cfg.cc:4608
 #, gcc-internal-format
 msgid "non-trivial conversion in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4604
+#: tree-cfg.cc:4617
 #, gcc-internal-format
 msgid "%qs LHS in clobber statement"
 msgstr ""
 
-#: tree-cfg.cc:4612
+#: tree-cfg.cc:4625
 #, gcc-internal-format
 msgid "%qs LHS in assignment statement"
 msgstr ""
 
-#: tree-cfg.cc:4631
+#: tree-cfg.cc:4644
 #, gcc-internal-format
 msgid "invalid operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4672 tree-cfg.cc:4698
+#: tree-cfg.cc:4676
+#, gcc-internal-format
+msgid "invalid %qs size argument in load"
+msgstr ""
+
+#: tree-cfg.cc:4695 tree-cfg.cc:4721
 #, gcc-internal-format
 msgid "invalid RHS for gimple memory store: %qs"
 msgstr ""
 
-#: tree-cfg.cc:4732 tree-cfg.cc:4750
+#: tree-cfg.cc:4755 tree-cfg.cc:4773
 #, gcc-internal-format
 msgid "incorrect type of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4741 tree-cfg.cc:4758
+#: tree-cfg.cc:4764 tree-cfg.cc:4781
 #, gcc-internal-format
 msgid "incorrect number of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4766
+#: tree-cfg.cc:4789
 #, gcc-internal-format
 msgid "incorrect type of vector CONSTRUCTOR elements"
 msgstr ""
 
-#: tree-cfg.cc:4775
+#: tree-cfg.cc:4798
 #, gcc-internal-format
 msgid "vector %qs with non-NULL element index"
 msgstr ""
 
-#: tree-cfg.cc:4782
+#: tree-cfg.cc:4805
 #, gcc-internal-format
 msgid "vector %qs element is not a GIMPLE value"
 msgstr ""
 
-#: tree-cfg.cc:4791
+#: tree-cfg.cc:4814
 #, gcc-internal-format
 msgid "non-vector %qs with elements"
 msgstr ""
 
-#: tree-cfg.cc:4798
-#, gcc-internal-format
-msgid "%qs RHS in assignment statement"
-msgstr ""
-
-#: tree-cfg.cc:4855
+#: tree-cfg.cc:4872
 #, gcc-internal-format
 msgid "invalid operand in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4870 c/gimple-parser.cc:2489
+#: tree-cfg.cc:4887 c/gimple-parser.cc:2580
 #, gcc-internal-format
 msgid "invalid conversion in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4894
+#: tree-cfg.cc:4911
 #, gcc-internal-format
 msgid "goto destination is neither a label nor a pointer"
 msgstr ""
 
-#: tree-cfg.cc:4913
+#: tree-cfg.cc:4930
 #, gcc-internal-format
 msgid "invalid operand to switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4921
+#: tree-cfg.cc:4938
 #, gcc-internal-format
 msgid "non-integral type switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4931
+#: tree-cfg.cc:4948
 #, gcc-internal-format
 msgid "invalid default case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4943
+#: tree-cfg.cc:4960
 #, gcc-internal-format
 msgid "invalid %<CASE_CHAIN%>"
 msgstr ""
 
-#: tree-cfg.cc:4949
+#: tree-cfg.cc:4966
 #, gcc-internal-format
 msgid "invalid case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4956
+#: tree-cfg.cc:4973
 #, gcc-internal-format
 msgid "invalid case range in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4966
+#: tree-cfg.cc:4983
 #, gcc-internal-format
 msgid "type precision mismatch in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4973
+#: tree-cfg.cc:4990
 #, gcc-internal-format
 msgid "type mismatch for case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4982
+#: tree-cfg.cc:4999
 #, gcc-internal-format
 msgid "case labels not sorted in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:5025
+#: tree-cfg.cc:5042
 #, gcc-internal-format
 msgid "label context is not the current function declaration"
 msgstr ""
 
-#: tree-cfg.cc:5034
+#: tree-cfg.cc:5051
 #, gcc-internal-format
 msgid "incorrect entry in %<label_to_block_map%>"
 msgstr ""
 
-#: tree-cfg.cc:5044
+#: tree-cfg.cc:5061
 #, gcc-internal-format
 msgid "incorrect setting of landing pad number"
 msgstr ""
 
-#: tree-cfg.cc:5060
+#: tree-cfg.cc:5077
 #, gcc-internal-format
 msgid "invalid comparison code in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:5068
+#: tree-cfg.cc:5085
 #, gcc-internal-format
 msgid "invalid labels in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:5154 tree-cfg.cc:5163
+#: tree-cfg.cc:5171 tree-cfg.cc:5180
 #, gcc-internal-format
 msgid "invalid %<PHI%> result"
 msgstr ""
 
-#: tree-cfg.cc:5173
+#: tree-cfg.cc:5190
 #, gcc-internal-format
 msgid "missing %<PHI%> def"
 msgstr ""
 
-#: tree-cfg.cc:5187
+#: tree-cfg.cc:5204
 #, gcc-internal-format
 msgid "invalid %<PHI%> argument"
 msgstr ""
 
-#: tree-cfg.cc:5194
+#: tree-cfg.cc:5211
 #, gcc-internal-format
 msgid "incompatible types in %<PHI%> argument %u"
 msgstr ""
 
-#: tree-cfg.cc:5297
+#: tree-cfg.cc:5314
 #, gcc-internal-format
 msgid "%<verify_gimple%> failed"
 msgstr ""
 
-#: tree-cfg.cc:5355
+#: tree-cfg.cc:5372
 #, gcc-internal-format
 msgid "dead statement in EH table"
 msgstr ""
 
-#: tree-cfg.cc:5371
+#: tree-cfg.cc:5388
 #, gcc-internal-format
 msgid "location references block not in block tree"
 msgstr ""
 
-#: tree-cfg.cc:5420
+#: tree-cfg.cc:5437
 #, gcc-internal-format
 msgid "local declaration from a different function"
 msgstr ""
 
-#: tree-cfg.cc:5523
+#: tree-cfg.cc:5540
 #, gcc-internal-format
 msgid "gimple_bb (phi) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5532
+#: tree-cfg.cc:5549
 #, gcc-internal-format
 msgid "PHI node with location"
 msgstr ""
 
-#: tree-cfg.cc:5543 tree-cfg.cc:5590
+#: tree-cfg.cc:5560 tree-cfg.cc:5607
 #, gcc-internal-format
 msgid "incorrect sharing of tree nodes"
 msgstr ""
 
-#: tree-cfg.cc:5551
+#: tree-cfg.cc:5568
 #, gcc-internal-format
 msgid "virtual PHI with argument locations"
 msgstr ""
 
-#: tree-cfg.cc:5578
+#: tree-cfg.cc:5595
 #, gcc-internal-format
 msgid "gimple_bb (stmt) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5618
+#: tree-cfg.cc:5635
 #, gcc-internal-format
 msgid "statement marked for throw, but doesn%'t"
 msgstr ""
 
-#: tree-cfg.cc:5624
+#: tree-cfg.cc:5641
 #, gcc-internal-format
 msgid "statement marked for throw in middle of block"
 msgstr ""
 
-#: tree-cfg.cc:5646
+#: tree-cfg.cc:5663
 #, gcc-internal-format
 msgid "verify_gimple failed"
 msgstr ""
 
-#: tree-cfg.cc:5670
+#: tree-cfg.cc:5687
 #, gcc-internal-format
 msgid "ENTRY_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5677
+#: tree-cfg.cc:5694
 #, gcc-internal-format
 msgid "EXIT_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5684
+#: tree-cfg.cc:5701
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru to exit from bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5708
+#: tree-cfg.cc:5707
+#, gcc-internal-format
+msgid "entry block count not initialized"
+msgstr ""
+
+#: tree-cfg.cc:5713
+#, gcc-internal-format
+msgid "exit block count not initialized"
+msgstr ""
+
+#: tree-cfg.cc:5720
+#, gcc-internal-format
+msgid "probability of edge from entry block not initialized"
+msgstr ""
+
+#: tree-cfg.cc:5735
+#, gcc-internal-format, gfc-internal-format
+msgid "count of bb %d not initialized"
+msgstr ""
+
+#: tree-cfg.cc:5741
+#, gcc-internal-format, gfc-internal-format
+msgid "probability of edge %d->%d not initialized"
+msgstr ""
+
+#: tree-cfg.cc:5761
 #, gcc-internal-format
 msgid "nonlocal label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5715
+#: tree-cfg.cc:5768
 #, gcc-internal-format
 msgid "EH landing pad label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5722
+#: tree-cfg.cc:5775
 #, gcc-internal-format
 msgid "label %qD to block does not match in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5729
+#: tree-cfg.cc:5782
 #, gcc-internal-format
 msgid "label %qD has incorrect context in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5743
+#: tree-cfg.cc:5797
 #, gcc-internal-format, gfc-internal-format
 msgid "control flow in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5753
+#: tree-cfg.cc:5807
 #, gcc-internal-format
 msgid "label %qD in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5781
+#: tree-cfg.cc:5835
 #, gcc-internal-format, gfc-internal-format
 msgid "returns_twice call is %s in basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5808
+#: tree-cfg.cc:5862
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge after a control statement in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5821
+#: tree-cfg.cc:5875
 #, gcc-internal-format, gfc-internal-format
 msgid "true/false edge after a non-GIMPLE_COND in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5844 tree-cfg.cc:5866 tree-cfg.cc:5883 tree-cfg.cc:5952
+#: tree-cfg.cc:5898 tree-cfg.cc:5920 tree-cfg.cc:5937 tree-cfg.cc:6006
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong outgoing edge flags at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5854
+#: tree-cfg.cc:5908
 #, gcc-internal-format, gfc-internal-format
 msgid "explicit goto at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5888
+#: tree-cfg.cc:5942
 #, gcc-internal-format, gfc-internal-format
 msgid "return edge does not point to exit in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5918
+#: tree-cfg.cc:5972
 #, gcc-internal-format
 msgid "found default case not at the start of case vector"
 msgstr ""
 
-#: tree-cfg.cc:5926
+#: tree-cfg.cc:5980
 #, gcc-internal-format
 msgid "case labels not sorted: "
 msgstr ""
 
-#: tree-cfg.cc:5943
+#: tree-cfg.cc:5997
 #, gcc-internal-format, gfc-internal-format
 msgid "extra outgoing edge %d->%d"
 msgstr ""
 
-#: tree-cfg.cc:5966
+#: tree-cfg.cc:6020
 #, gcc-internal-format, gfc-internal-format
 msgid "missing edge %i->%i"
 msgstr ""
 
-#: tree-cfg.cc:9668
+#: tree-cfg.cc:9776
 #, gcc-internal-format
 msgid "%<noreturn%> function does return"
 msgstr ""
 
-#: tree-cfg.cc:9688 tree-cfg.cc:9723
+#: tree-cfg.cc:9796 tree-cfg.cc:9831
 #, gcc-internal-format
 msgid "control reaches end of non-void function"
 msgstr ""
 
-#: tree-cfg.cc:9789
+#: tree-cfg.cc:9897
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: tree-cfg.cc:9794 cp/cvt.cc:1121
+#: tree-cfg.cc:9902 cp/cvt.cc:1123
 #, gcc-internal-format
 msgid ""
 "ignoring return value of function declared with attribute "
@@ -33100,15 +33948,15 @@ msgstr ""
 msgid "%<asm goto%> with complex typed outputs"
 msgstr ""
 
-#: tree-diagnostic-path.cc:473
+#: tree-diagnostic-path.cc:626
 msgid "%@ %s (fndecl %qD, depth %i)"
 msgstr ""
 
-#: tree-diagnostic-path.cc:478
+#: tree-diagnostic-path.cc:631
 msgid "%@ %s (depth %i)"
 msgstr ""
 
-#: tree-diagnostic-path.cc:484
+#: tree-diagnostic-path.cc:637
 msgid "%@ %s"
 msgstr ""
 
@@ -33167,175 +34015,175 @@ msgstr ""
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.cc:3885
+#: tree-inline.cc:3912
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.cc:3892
+#: tree-inline.cc:3919
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be copied because it saves address of local label in "
 "a static variable"
 msgstr ""
 
-#: tree-inline.cc:3932
+#: tree-inline.cc:3959
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses alloca (override using "
 "the always_inline attribute)"
 msgstr ""
 
-#: tree-inline.cc:3946
+#: tree-inline.cc:3973
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.cc:3960
+#: tree-inline.cc:3987
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.cc:3972
+#: tree-inline.cc:3999
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses setjmp-longjmp exception "
 "handling"
 msgstr ""
 
-#: tree-inline.cc:3980
+#: tree-inline.cc:4007
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.cc:3992
+#: tree-inline.cc:4019
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses %<__builtin_return%> or "
 "%<__builtin_apply_args%>"
 msgstr ""
 
-#: tree-inline.cc:4012
+#: tree-inline.cc:4039
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.cc:4058
+#: tree-inline.cc:4085
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it has a VLA argument"
 msgstr ""
 
-#: tree-inline.cc:4126
+#: tree-inline.cc:4152
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it is suppressed using %<-fno-"
 "inline%>"
 msgstr ""
 
-#: tree-inline.cc:4134
+#: tree-inline.cc:4160
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses attributes conflicting "
 "with inlining"
 msgstr ""
 
-#: tree-inline.cc:4814
+#: tree-inline.cc:4841
 #, gcc-internal-format
 msgid "inlining failed in call to %<always_inline%> %q+F: %s"
 msgstr ""
 
-#: tree-inline.cc:4817 tree-inline.cc:4838
+#: tree-inline.cc:4844 tree-inline.cc:4865
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.cc:4820 tree-inline.cc:4841
+#: tree-inline.cc:4847 tree-inline.cc:4868
 #, gcc-internal-format
 msgid "called from this function"
 msgstr ""
 
-#: tree-inline.cc:4834
+#: tree-inline.cc:4861
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
 
-#: tree-into-ssa.cc:3432
+#: tree-into-ssa.cc:3433
 #, gcc-internal-format
 msgid "statement uses released SSA name"
 msgstr ""
 
-#: tree-into-ssa.cc:3444
+#: tree-into-ssa.cc:3445
 #, gcc-internal-format
 msgid "cannot update SSA form"
 msgstr ""
 
-#: tree-into-ssa.cc:3537 tree-outof-ssa.cc:902 tree-ssa-coalesce.cc:1003
+#: tree-into-ssa.cc:3538 tree-outof-ssa.cc:902 tree-ssa-coalesce.cc:1012
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
 
-#: tree-nested.cc:1164
+#: tree-nested.cc:1172
 #, gcc-internal-format, gfc-internal-format
 msgid "%s from %s referenced in %s"
 msgstr ""
 
-#: tree-nested.cc:2958
+#: tree-nested.cc:2980
 #, gcc-internal-format, gfc-internal-format
 msgid "%s from %s called in %s"
 msgstr ""
 
-#: tree-profile.cc:624
+#: tree-profile.cc:686
 #, gcc-internal-format
 msgid "invalid regular expression %qs in %qs"
 msgstr ""
 
-#: tree-profile.cc:714
+#: tree-profile.cc:785
 #, gcc-internal-format
 msgid "target does not support atomic profile update, single mode is selected"
 msgstr ""
 
-#: tree-ssa-alias.cc:4063
+#: tree-ssa-alias.cc:4070
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\""
 msgstr ""
 
-#: tree-ssa-alias.cc:4102
+#: tree-ssa-alias.cc:4109
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\" arg %i"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4690 c-family/c-common.cc:5834
+#: tree-ssa-ccp.cc:4679 c-family/c-common.cc:5911
 #, gcc-internal-format
 msgid "%qs pointer is null"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4693 c-family/c-common.cc:5837
+#: tree-ssa-ccp.cc:4682 c-family/c-common.cc:5914
 #, gcc-internal-format
 msgid "in a call to non-static member function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4699 c-family/c-common.cc:5843
+#: tree-ssa-ccp.cc:4688 c-family/c-common.cc:5920
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u null where non-null expected"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4705
+#: tree-ssa-ccp.cc:4694
 #, gcc-internal-format
 msgid "in a call to built-in function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4709 c-family/c-common.cc:5847
+#: tree-ssa-ccp.cc:4698 c-family/c-common.cc:5924
 #, gcc-internal-format
 msgid "in a call to function %qD declared %qs"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3881
+#: tree-ssa-loop-niter.cc:3890
 #, gcc-internal-format, gfc-internal-format
 msgid "iteration %s invokes undefined behavior"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3882
+#: tree-ssa-loop-niter.cc:3891
 #, gcc-internal-format
 msgid "within this loop"
 msgstr ""
@@ -33345,106 +34193,106 @@ msgstr ""
 msgid "%<l1-cache-size%> parameter is not a power of two %d"
 msgstr ""
 
-#: tree-ssa-operands.cc:1033
+#: tree-ssa-operands.cc:1032
 #, gcc-internal-format
 msgid "virtual definition of statement not up to date"
 msgstr ""
 
-#: tree-ssa-operands.cc:1040
+#: tree-ssa-operands.cc:1039
 #, gcc-internal-format
 msgid "virtual def operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1050
+#: tree-ssa-operands.cc:1049
 #, gcc-internal-format
 msgid "virtual use of statement not up to date"
 msgstr ""
 
-#: tree-ssa-operands.cc:1057
+#: tree-ssa-operands.cc:1056
 #, gcc-internal-format
 msgid "virtual use operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1074
+#: tree-ssa-operands.cc:1073
 #, gcc-internal-format
 msgid "excess use operand for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1084
+#: tree-ssa-operands.cc:1083
 #, gcc-internal-format
 msgid "use operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1091
+#: tree-ssa-operands.cc:1090
 #, gcc-internal-format
 msgid "statement volatile flag not up to date"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2116
+#: tree-ssa-strlen.cc:2127
 #, gcc-internal-format
 msgid ""
 "%qD writing one too many bytes into a region of a size that depends on "
 "%<strlen%>"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2120
+#: tree-ssa-strlen.cc:2131
 #, gcc-internal-format
 msgid ""
 "writing one too many bytes into a region of a size that depends on %<strlen%>"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2129
+#: tree-ssa-strlen.cc:2140
 #, gcc-internal-format
 msgid "%qD writing %wu byte into a region of size %wu"
 msgid_plural "%qD writing %wu bytes into a region of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:2137
+#: tree-ssa-strlen.cc:2148
 #, gcc-internal-format
 msgid "writing %wu byte into a region of size %wu"
 msgid_plural "writing %wu bytes into a region of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:2147
+#: tree-ssa-strlen.cc:2158
 #, gcc-internal-format
 msgid "%qD writing %wu byte into a region of size between %wu and %wu"
 msgid_plural "%qD writing %wu bytes into a region of size between %wu and %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:2155
+#: tree-ssa-strlen.cc:2166
 #, gcc-internal-format
 msgid "writing %wu byte into a region of size between %wu and %wu"
 msgid_plural "writing %wu bytes into a region of size between %wu and %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:2165
+#: tree-ssa-strlen.cc:2176
 #, gcc-internal-format
 msgid "%qD writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2171
+#: tree-ssa-strlen.cc:2182
 #, gcc-internal-format
 msgid "writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2179
+#: tree-ssa-strlen.cc:2190
 #, gcc-internal-format
 msgid ""
 "%qD writing between %wu and %wu bytes into a region of size between %wu and "
 "%wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2185
+#: tree-ssa-strlen.cc:2196
 #, gcc-internal-format
 msgid ""
 "writing between %wu and %wu bytes into a region of size between %wu and %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3079
+#: tree-ssa-strlen.cc:3090
 #, gcc-internal-format
 msgid ""
 "%qD output truncated before terminating nul copying %E byte from a string of "
@@ -33455,7 +34303,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3095
+#: tree-ssa-strlen.cc:3106
 #, gcc-internal-format
 msgid "%qD output truncated copying %E byte from a string of length %wu"
 msgid_plural ""
@@ -33463,14 +34311,14 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3102
+#: tree-ssa-strlen.cc:3113
 #, gcc-internal-format
 msgid ""
 "%qD output truncated copying between %wu and %wu bytes from a string of "
 "length %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3114
+#: tree-ssa-strlen.cc:3125
 #, gcc-internal-format
 msgid "%qD output may be truncated copying %E byte from a string of length %wu"
 msgid_plural ""
@@ -33478,122 +34326,122 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3121 tree-ssa-strlen.cc:3137
+#: tree-ssa-strlen.cc:3132 tree-ssa-strlen.cc:3148
 #, gcc-internal-format
 msgid ""
 "%qD output may be truncated copying between %wu and %wu bytes from a string "
 "of length %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3291
+#: tree-ssa-strlen.cc:3302
 #, gcc-internal-format
 msgid ""
 "%qD output truncated before terminating nul copying as many bytes from a "
 "string as its length"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3304
+#: tree-ssa-strlen.cc:3315
 #, gcc-internal-format
 msgid "%qD specified bound depends on the length of the source argument"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3312
+#: tree-ssa-strlen.cc:3323
 #, gcc-internal-format
 msgid "length computed here"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4268
+#: tree-ssa-strlen.cc:4280
 #, gcc-internal-format
 msgid ""
 "%qD of a string of length %wu or more and an array of size %wu evaluates to "
 "nonzero"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4270
+#: tree-ssa-strlen.cc:4282
 #, gcc-internal-format
 msgid ""
 "%qD of a string of length %wu and an array of size %wu evaluates to nonzero"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4277
+#: tree-ssa-strlen.cc:4289
 #, gcc-internal-format
 msgid ""
 "%qD of strings of length %wu and %wu and bound of %wu evaluates to nonzero"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4282
+#: tree-ssa-strlen.cc:4294
 #, gcc-internal-format
 msgid ""
 "%qD of a string of length %wu, an array of size %wu and bound of %wu "
 "evaluates to nonzero"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4293
+#: tree-ssa-strlen.cc:4305
 #, gcc-internal-format
 msgid "in this expression"
 msgstr ""
 
-#: tree-ssa-uninit.cc:291
+#: tree-ssa-uninit.cc:306
 #, gcc-internal-format
 msgid "%qD is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:293
+#: tree-ssa-uninit.cc:308
 #, gcc-internal-format
 msgid "%qD may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:300
+#: tree-ssa-uninit.cc:315
 #, gcc-internal-format
 msgid "%qs is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:303
+#: tree-ssa-uninit.cc:318
 #, gcc-internal-format
 msgid "%qs may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:322 varasm.cc:362 varasm.cc:7856
+#: tree-ssa-uninit.cc:337 varasm.cc:363 varasm.cc:7973
 #, gcc-internal-format
 msgid "%qD was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:324
+#: tree-ssa-uninit.cc:339
 #, gcc-internal-format
 msgid "%qs was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:435 tree-ssa-uninit.cc:745
+#: tree-ssa-uninit.cc:450 tree-ssa-uninit.cc:760
 #, gcc-internal-format
 msgid "%qE may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:444
+#: tree-ssa-uninit.cc:459
 #, gcc-internal-format
 msgid "accessing argument %u of a function declared with attribute %<%s%>"
 msgstr ""
 
-#: tree-ssa-uninit.cc:732
+#: tree-ssa-uninit.cc:747
 #, gcc-internal-format
 msgid "%qE is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:867
+#: tree-ssa-uninit.cc:882
 #, gcc-internal-format
 msgid "in a call to %qD declared with attribute %<%s%> here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:874
+#: tree-ssa-uninit.cc:889
 #, gcc-internal-format
 msgid "in a call to %qT declared with attribute %<%s%>"
 msgstr ""
 
-#: tree-ssa-uninit.cc:890
+#: tree-ssa-uninit.cc:905
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qD declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:898
+#: tree-ssa-uninit.cc:913
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qT"
 msgstr ""
@@ -33758,7 +34606,7 @@ msgstr ""
 msgid "target specific builtin not available"
 msgstr ""
 
-#: tree-vect-generic.cc:300 tree-vect-generic.cc:470 tree-vect-generic.cc:2038
+#: tree-vect-generic.cc:300 tree-vect-generic.cc:470 tree-vect-generic.cc:2042
 #, gcc-internal-format
 msgid "vector operation will be expanded piecewise"
 msgstr ""
@@ -33778,148 +34626,148 @@ msgstr ""
 msgid "vector condition will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-generic.cc:1596
+#: tree-vect-generic.cc:1602
 #, gcc-internal-format
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-loop.cc:4858
+#: tree-vect-loop.cc:5064
 #, gcc-internal-format
 msgid "vectorization did not happen for a simd loop"
 msgstr ""
 
-#: tree.cc:2238
+#: tree.cc:2244
 #, gcc-internal-format
 msgid "non-constant element in constant CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:2240
+#: tree.cc:2246
 #, gcc-internal-format
 msgid "side-effects element in no-side-effects CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:7284 m2/gm2-gcc/m2type.cc:214
+#: tree.cc:7340 m2/gm2-gcc/m2type.cc:215
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.cc:7439
+#: tree.cc:7495
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.cc:8899 tree.cc:8984 tree.cc:9047
+#: tree.cc:8955 tree.cc:9040 tree.cc:9103
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8936
+#: tree.cc:8992
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8949
+#: tree.cc:9005
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8998
+#: tree.cc:9054
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9011
+#: tree.cc:9067
 #, gcc-internal-format
 msgid "tree check: expected %<omp_clause %s%>, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9073
+#: tree.cc:9129
 #, gcc-internal-format
 msgid ""
 "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:"
 "%d"
 msgstr ""
 
-#: tree.cc:9087
+#: tree.cc:9143
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_int_cst%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9100
+#: tree.cc:9156
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_vec%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9113
+#: tree.cc:9169
 #, 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:9126
+#: tree.cc:9182
 #, gcc-internal-format
 msgid ""
 "tree check: accessed operand %d of %<omp_clause %s%> with %d operands in %s, "
 "at %s:%d"
 msgstr ""
 
-#: tree.cc:12349
+#: tree.cc:12436
 #, gcc-internal-format
 msgid "%qD is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12352
+#: tree.cc:12439
 #, gcc-internal-format
 msgid "%qD is deprecated"
 msgstr ""
 
-#: tree.cc:12375
+#: tree.cc:12462
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12378
+#: tree.cc:12465
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.cc:12384
+#: tree.cc:12471
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12387
+#: tree.cc:12474
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
 
-#: tree.cc:12429
+#: tree.cc:12516
 #, gcc-internal-format
 msgid "%qD is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12431
+#: tree.cc:12518
 #, gcc-internal-format
 msgid "%qD is unavailable"
 msgstr ""
 
-#: tree.cc:12452
+#: tree.cc:12539
 #, gcc-internal-format
 msgid "%qE is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12454
+#: tree.cc:12541
 #, gcc-internal-format
 msgid "%qE is unavailable"
 msgstr ""
 
-#: tree.cc:12459
+#: tree.cc:12546
 #, gcc-internal-format, gfc-internal-format
 msgid "type is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12461
+#: tree.cc:12548
 #, gcc-internal-format
 msgid "type is unavailable"
 msgstr ""
@@ -33944,262 +34792,262 @@ msgstr ""
 #. - vector types may differ by TYPE_VECTOR_OPAQUE
 #.
 #. Convenience macro for matching individual fields.
-#: tree.cc:13371
+#: tree.cc:13476
 #, gcc-internal-format, gfc-internal-format
 msgid "type variant differs by %s"
 msgstr ""
 
-#: tree.cc:13416
+#: tree.cc:13521
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13418
+#: tree.cc:13523
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13420
+#: tree.cc:13525
 #, gcc-internal-format
 msgid "type%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13445
+#: tree.cc:13550
 #, gcc-internal-format
 msgid "type variant with %<TYPE_ALIAS_SET_KNOWN_P%>"
 msgstr ""
 
-#: tree.cc:13458
+#: tree.cc:13563
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_VFIELD%>"
 msgstr ""
 
-#: tree.cc:13494
+#: tree.cc:13600
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13496
+#: tree.cc:13602
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13498
+#: tree.cc:13604
 #, gcc-internal-format
 msgid "type%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13537
+#: tree.cc:13643
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_FIELDS%>"
 msgstr ""
 
-#: tree.cc:13539
+#: tree.cc:13645
 #, gcc-internal-format
 msgid "first mismatch is field"
 msgstr ""
 
-#: tree.cc:13541
+#: tree.cc:13647
 #, gcc-internal-format
 msgid "and field"
 msgstr ""
 
-#: tree.cc:13558
+#: tree.cc:13664
 #, gcc-internal-format
 msgid "type variant has different %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13560 tree.cc:13571
+#: tree.cc:13666 tree.cc:13677
 #, gcc-internal-format
 msgid "type variant%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13562 tree.cc:13573
+#: tree.cc:13668 tree.cc:13679
 #, gcc-internal-format
 msgid "type%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13569
+#: tree.cc:13675
 #, gcc-internal-format
 msgid "type is not compatible with its variant"
 msgstr ""
 
-#: tree.cc:13894
+#: tree.cc:14000
 #, gcc-internal-format, gfc-internal-format
 msgid "type %s is not an opaque type"
 msgstr ""
 
-#: tree.cc:13900
+#: tree.cc:14006
 #, gcc-internal-format, gfc-internal-format
 msgid "type %s is not with opaque mode"
 msgstr ""
 
-#: tree.cc:13906
+#: tree.cc:14012
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_MODE%>"
 msgstr ""
 
-#: tree.cc:13914
+#: tree.cc:14020
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_SIZE%>"
 msgstr ""
 
-#: tree.cc:13920
+#: tree.cc:14026
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_ALIGN%>"
 msgstr ""
 
-#: tree.cc:13926
+#: tree.cc:14032
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_USER_ALIGN%>"
 msgstr ""
 
-#: tree.cc:13956
+#: tree.cc:14062
 #, gcc-internal-format
 msgid "main variant is not defined"
 msgstr ""
 
-#: tree.cc:13961
+#: tree.cc:14067
 #, gcc-internal-format
 msgid "%<TYPE_MAIN_VARIANT%> has different %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:13972
+#: tree.cc:14078
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> has different %<TYPE_CANONICAL%>"
 msgstr ""
 
-#: tree.cc:13991
+#: tree.cc:14097
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:13999
+#: tree.cc:14105
 #, gcc-internal-format
 msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:14005
+#: tree.cc:14111
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
 msgstr ""
 
-#: tree.cc:14021
+#: tree.cc:14127
 #, gcc-internal-format
 msgid "%<TYPE_VFIELD%> is not %<FIELD_DECL%> nor %<TREE_LIST%>"
 msgstr ""
 
-#: tree.cc:14031
+#: tree.cc:14137
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_PTR_TO%> is not %<POINTER_TYPE%>"
 msgstr ""
 
-#: tree.cc:14041
+#: tree.cc:14147
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_REF_TO%> is not %<REFERENCE_TYPE%>"
 msgstr ""
 
-#: tree.cc:14062
+#: tree.cc:14168
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> is not %<TREE_BINFO%>"
 msgstr ""
 
-#: tree.cc:14068
+#: tree.cc:14174
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> type is not %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:14079
+#: tree.cc:14185
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:14090
+#: tree.cc:14196
 #, gcc-internal-format
 msgid "%<TYPE_OFFSET_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:14108
+#: tree.cc:14214
 #, gcc-internal-format
 msgid "%<TYPE_ARRAY_MAX_SIZE%> not %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:14115
+#: tree.cc:14221
 #, gcc-internal-format
 msgid "%<TYPE_MAX_VALUE_RAW%> non-NULL"
 msgstr ""
 
-#: tree.cc:14122
+#: tree.cc:14228
 #, gcc-internal-format
 msgid "%<TYPE_LANG_SLOT_1 (binfo)%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:14138
+#: tree.cc:14244
 #, gcc-internal-format
 msgid "enum value is not %<CONST_DECL%> or %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:14147
+#: tree.cc:14253
 #, gcc-internal-format
 msgid "enum value type is not %<INTEGER_TYPE%> nor convertible to the enum"
 msgstr ""
 
-#: tree.cc:14155
+#: tree.cc:14261
 #, gcc-internal-format
 msgid "enum value name is not %<IDENTIFIER_NODE%>"
 msgstr ""
 
-#: tree.cc:14165
+#: tree.cc:14271
 #, gcc-internal-format
 msgid "array %<TYPE_DOMAIN%> is not integer type"
 msgstr ""
 
-#: tree.cc:14174
+#: tree.cc:14280
 #, gcc-internal-format
 msgid "%<TYPE_FIELDS%> defined in incomplete type"
 msgstr ""
 
-#: tree.cc:14196
+#: tree.cc:14302
 #, gcc-internal-format
 msgid "wrong tree in %<TYPE_FIELDS%> list"
 msgstr ""
 
-#: tree.cc:14211
+#: tree.cc:14318
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is %i while %<TYPE_CACHED_VALUES%> is %p"
 msgstr ""
 
-#: tree.cc:14218
+#: tree.cc:14325
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES%> is not %<TREE_VEC%>"
 msgstr ""
 
-#: tree.cc:14231
+#: tree.cc:14338
 #, gcc-internal-format
 msgid "wrong %<TYPE_CACHED_VALUES%> entry"
 msgstr ""
 
-#: tree.cc:14244
+#: tree.cc:14351
 #, gcc-internal-format
 msgid "%<TREE_PURPOSE%> is non-NULL in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:14250
+#: tree.cc:14357
 #, gcc-internal-format
 msgid "wrong entry in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:14257
+#: tree.cc:14364
 #, gcc-internal-format
 msgid "%<TYPE_VALUES_RAW%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:14269
+#: tree.cc:14377
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is set while it should not be"
 msgstr ""
 
-#: tree.cc:14279
+#: tree.cc:14387
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not main variant"
 msgstr ""
@@ -34228,200 +35076,205 @@ msgid ""
 "basic-block count (%d)"
 msgstr ""
 
-#: var-tracking.cc:7192
+#: var-tracking.cc:7194
 #, gcc-internal-format
 msgid ""
 "variable tracking size limit exceeded with %<-fvar-tracking-assignments%>, "
 "retrying without"
 msgstr ""
 
-#: var-tracking.cc:7196
+#: var-tracking.cc:7198
 #, gcc-internal-format
 msgid "variable tracking size limit exceeded"
 msgstr ""
 
-#: varasm.cc:311
+#: varasm.cc:312
 #, gcc-internal-format
 msgid "section already exists: %qs"
 msgstr ""
 
-#: varasm.cc:357
+#: varasm.cc:358
 #, gcc-internal-format
 msgid "%+qD causes a section type conflict with %qD"
 msgstr ""
 
-#: varasm.cc:360
+#: varasm.cc:361
 #, gcc-internal-format
 msgid "section type conflict with %qD"
 msgstr ""
 
-#: varasm.cc:365
+#: varasm.cc:366
 #, gcc-internal-format
 msgid "%+qD causes a section type conflict"
 msgstr ""
 
-#: varasm.cc:367
+#: varasm.cc:368
 #, gcc-internal-format
 msgid "section type conflict"
 msgstr ""
 
-#: varasm.cc:1100
+#: varasm.cc:1101
 #, gcc-internal-format
 msgid "alignment of %q+D is greater than maximum object file alignment %d"
 msgstr ""
 
-#: varasm.cc:1268
+#: varasm.cc:1269
 #, gcc-internal-format
 msgid "only zero initializers are allowed in section %qs"
 msgstr ""
 
-#: varasm.cc:1498 varasm.cc:1507 d/d-attribs.cc:1460
+#: varasm.cc:1499 varasm.cc:1508 d/d-attribs.cc:1463
 #, gcc-internal-format
 msgid "register name not specified for %q+D"
 msgstr ""
 
-#: varasm.cc:1509
+#: varasm.cc:1510
 #, gcc-internal-format
 msgid "invalid register name for %q+D"
 msgstr ""
 
-#: varasm.cc:1511
+#: varasm.cc:1512
 #, gcc-internal-format
 msgid "data type of %q+D isn%'t suitable for a register"
 msgstr ""
 
-#: varasm.cc:1514
+#: varasm.cc:1515
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D cannot be accessed by the current target"
 msgstr ""
 
-#: varasm.cc:1517
+#: varasm.cc:1518
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D is not general enough to be used as a "
 "register variable"
 msgstr ""
 
-#: varasm.cc:1520
+#: varasm.cc:1521
 #, gcc-internal-format
 msgid "register specified for %q+D isn%'t suitable for data type"
 msgstr ""
 
-#: varasm.cc:1529
+#: varasm.cc:1530
 #, gcc-internal-format
 msgid "register specified for %q+D is an internal GCC implementation detail"
 msgstr ""
 
-#: varasm.cc:1539
+#: varasm.cc:1540
 #, gcc-internal-format
 msgid "global register variable has initial value"
 msgstr ""
 
-#: varasm.cc:1543
+#: varasm.cc:1544
 #, gcc-internal-format
 msgid "optimization may eliminate reads and/or writes to register variables"
 msgstr ""
 
-#: varasm.cc:1589
+#: varasm.cc:1590
 #, gcc-internal-format
 msgid "register name given for non-register variable %q+D"
 msgstr ""
 
-#: varasm.cc:2168
+#: varasm.cc:2198
 #, gcc-internal-format
 msgid "thread-local COMMON data not implemented"
 msgstr ""
 
-#: varasm.cc:2201
+#: varasm.cc:2231
 #, gcc-internal-format
 msgid ""
 "requested alignment for %q+D is greater than implemented alignment of %wu"
 msgstr ""
 
-#: varasm.cc:2304 c/c-decl.cc:5714 c/c-parser.cc:1789 m2/gm2-gcc/m2type.cc:1260
+#: varasm.cc:2334 c/c-decl.cc:5901 c/c-parser.cc:1910 m2/gm2-gcc/m2type.cc:1240
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t known"
 msgstr ""
 
-#: varasm.cc:5263
+#: varasm.cc:5319 varasm.cc:5358
 #, gcc-internal-format
 msgid "initializer for integer/fixed-point value is too complicated"
 msgstr ""
 
-#: varasm.cc:5269
+#: varasm.cc:5325
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr ""
 
-#: varasm.cc:5613
+#: varasm.cc:5342
+#, gcc-internal-format
+msgid "initializer for %<_BitInt(%d)%> value is not an integer constant"
+msgstr ""
+
+#: varasm.cc:5725
 #, gcc-internal-format
 msgid "invalid initial value for member %qE"
 msgstr ""
 
-#: varasm.cc:5869
+#: varasm.cc:5981
 #, gcc-internal-format
 msgid "%qD declared weak after being used"
 msgstr ""
 
-#: varasm.cc:5921
+#: varasm.cc:6033
 #, gcc-internal-format
 msgid ""
 "weak declaration of %q+D being applied to a already existing, static "
 "definition"
 msgstr ""
 
-#: varasm.cc:5962
+#: varasm.cc:6074
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr ""
 
-#: varasm.cc:5966
+#: varasm.cc:6078
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr ""
 
-#: varasm.cc:5995 varasm.cc:6315
+#: varasm.cc:6107 varasm.cc:6430
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6190 varasm.cc:6312
+#: varasm.cc:6302 varasm.cc:6427
 #, gcc-internal-format
 msgid "%qs is not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6218
+#: varasm.cc:6330
 #, gcc-internal-format
 msgid "%qs is not supported on this target"
 msgstr ""
 
-#: varasm.cc:6274
+#: varasm.cc:6390
 #, gcc-internal-format
 msgid "symver is only supported on ELF platforms"
 msgstr ""
 
-#: varasm.cc:6293
+#: varasm.cc:6409
 #, gcc-internal-format
 msgid "%qs symbol %q+D ultimately targets itself"
 msgstr ""
 
-#: varasm.cc:6295
+#: varasm.cc:6411
 #, gcc-internal-format
 msgid "%qs symbol %q+D must have static linkage"
 msgstr ""
 
-#: varasm.cc:6302 config/nvptx/nvptx.cc:7585
+#: varasm.cc:6417 config/nvptx/nvptx.cc:7591
 #, gcc-internal-format
 msgid "alias definitions not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6530 config/sol2.cc:160 config/i386/winnt.cc:265
+#: varasm.cc:6645 config/sol2.cc:160 config/i386/winnt.cc:265
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
 msgstr ""
 
-#: varasm.cc:7852
+#: varasm.cc:7969
 #, gcc-internal-format
 msgid ""
 "%+qD without %<retain%> attribute and %qD with %<retain%> attribute are "
@@ -34448,548 +35301,582 @@ msgstr ""
 msgid "qsort checking failed"
 msgstr ""
 
-#: c-family/c-ada-spec.cc:2943
+#: c-family/c-ada-spec.cc:2946
 #, gcc-internal-format
 msgid "packed layout"
 msgstr ""
 
-#: c-family/c-attribs.cc:638 d/d-attribs.cc:1192
+#: c-family/c-attribs.cc:696 d/d-attribs.cc:1195
 #, gcc-internal-format
 msgid "%qE attribute argument is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:641 d/d-attribs.cc:1195
+#: c-family/c-attribs.cc:699 d/d-attribs.cc:1198
 #, gcc-internal-format
 msgid "%qE attribute argument %i is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:653 d/d-attribs.cc:1207
+#: c-family/c-attribs.cc:711 d/d-attribs.cc:1210
 #, gcc-internal-format
 msgid "%qE attribute argument has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:657 d/d-attribs.cc:1211
+#: c-family/c-attribs.cc:715 d/d-attribs.cc:1214
 #, gcc-internal-format
 msgid "%qE attribute argument %i has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:668 c-family/c-attribs.cc:4396
-#: c-family/c-attribs.cc:4400 d/d-attribs.cc:1222
+#: c-family/c-attribs.cc:726 c-family/c-attribs.cc:4646
+#: c-family/c-attribs.cc:4650 d/d-attribs.cc:1225
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:673 d/d-attribs.cc:1227
+#: c-family/c-attribs.cc:731 d/d-attribs.cc:1230
 #, gcc-internal-format
 msgid "%qE attribute argument %i value %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:689 d/d-attribs.cc:1241
+#: c-family/c-attribs.cc:747 d/d-attribs.cc:1244
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE does not refer to a function parameter"
 msgstr ""
 
-#: c-family/c-attribs.cc:694 d/d-attribs.cc:1246
+#: c-family/c-attribs.cc:752 d/d-attribs.cc:1249
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE does not refer to a function parameter"
 msgstr ""
 
-#: c-family/c-attribs.cc:722 d/d-attribs.cc:1269
+#: c-family/c-attribs.cc:780 d/d-attribs.cc:1272
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE exceeds the number of function parameters %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:727 d/d-attribs.cc:1274
+#: c-family/c-attribs.cc:785 d/d-attribs.cc:1277
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE exceeds the number of function "
 "parameters %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:749
+#: c-family/c-attribs.cc:807
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE does not refer to a variable argument list"
 msgstr ""
 
-#: c-family/c-attribs.cc:753
+#: c-family/c-attribs.cc:811
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE does not refer to a variable argument "
 "list"
 msgstr ""
 
-#: c-family/c-attribs.cc:780 c-family/c-attribs.cc:793 d/d-attribs.cc:1295
+#: c-family/c-attribs.cc:838 c-family/c-attribs.cc:851 d/d-attribs.cc:1298
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE refers to parameter type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:784 c-family/c-attribs.cc:798 d/d-attribs.cc:1300
+#: c-family/c-attribs.cc:842 c-family/c-attribs.cc:856 d/d-attribs.cc:1303
 #, gcc-internal-format
 msgid "%qE attribute argument %i value %qE refers to parameter type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:808
+#: c-family/c-attribs.cc:866
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE refers to a variadic function parameter of "
 "unknown type"
 msgstr ""
 
-#: c-family/c-attribs.cc:813
+#: c-family/c-attribs.cc:871
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE refers to a variadic function parameter "
 "of unknown type"
 msgstr ""
 
-#: c-family/c-attribs.cc:933
+#: c-family/c-attribs.cc:991
 #, gcc-internal-format
 msgid "ignoring attribute %qs because it conflicts with previous %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:971
+#: c-family/c-attribs.cc:1029
 #, gcc-internal-format
 msgid "%qE attribute only supported on boolean types"
 msgstr ""
 
-#: c-family/c-attribs.cc:981
+#: c-family/c-attribs.cc:1039
 #, gcc-internal-format
 msgid "%qE attribute with unsupported boolean precision"
 msgstr ""
 
-#: c-family/c-attribs.cc:1004
+#: c-family/c-attribs.cc:1059
+#, gcc-internal-format
+msgid "%qE attribute only supported in C"
+msgstr ""
+
+#: c-family/c-attribs.cc:1066
+#, gcc-internal-format
+msgid "%qE attribute only supported on integral types"
+msgstr ""
+
+#: c-family/c-attribs.cc:1087 c-family/c-attribs.cc:1103
+#, gcc-internal-format
+msgid "overflows in conversion from %qT to %qT changes value from %qE to %qE"
+msgstr ""
+
+#: c-family/c-attribs.cc:1112
+#, gcc-internal-format
+msgid ""
+"%qE attribute requires different values for %<false%> and %<true%> for type "
+"%qT"
+msgstr ""
+
+#: c-family/c-attribs.cc:1152
 #, gcc-internal-format
 msgid "%qE attribute ignored for type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1016
+#: c-family/c-attribs.cc:1164
 #, gcc-internal-format
 msgid "%qE attribute ignored for field of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1186 c-family/c-attribs.cc:3262
-#: c-family/c-attribs.cc:5745 ada/gcc-interface/utils.cc:7107
+#: c-family/c-attribs.cc:1380 c-family/c-attribs.cc:3509
+#: c-family/c-attribs.cc:6039 ada/gcc-interface/utils.cc:7283
 #, gcc-internal-format
 msgid "%qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:1349 ada/gcc-interface/utils.cc:6653
+#: c-family/c-attribs.cc:1555 ada/gcc-interface/utils.cc:6793
 #, gcc-internal-format
-msgid "%qE attribute ignored due to conflict with attribute %qs"
+msgid "%qE attribute ignored because of argument %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:1398
+#: c-family/c-attribs.cc:1576 ada/gcc-interface/utils.cc:6814
 #, gcc-internal-format
-msgid "%qE attribute ignored. Use %<-fcf-protection%> option to enable it"
+msgid "ignoring attribute %qE because of excess arguments starting at %qE"
+msgstr ""
+
+#: c-family/c-attribs.cc:1590 ada/gcc-interface/utils.cc:6828
+#, gcc-internal-format
+msgid "attribute %qE does not apply to elements of non-scalar type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1438 c-family/c-attribs.cc:1444
-#: c-family/c-attribs.cc:5557 c-family/c-attribs.cc:5603
-#: c-family/c-attribs.cc:5609 ada/gcc-interface/utils.cc:6960
-#: ada/gcc-interface/utils.cc:6994 ada/gcc-interface/utils.cc:7000
+#: c-family/c-attribs.cc:1595 ada/gcc-interface/utils.cc:6833
 #, gcc-internal-format
-msgid "%qE attribute ignored due to conflict with %qs attribute"
+msgid "attribute %qE does not apply to fields of aggregate type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1500 jit/dummy-frontend.cc:190 lto/lto-lang.cc:293
+#: c-family/c-attribs.cc:1661
+#, gcc-internal-format
+msgid "%qE attribute ignored. Use %<-fcf-protection%> option to enable it"
+msgstr ""
+
+#: c-family/c-attribs.cc:1751 jit/dummy-frontend.cc:275 lto/lto-lang.cc:307
 #, gcc-internal-format
 msgid "%qE attribute has no effect on unit local functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:1670 c-family/c-attribs.cc:3245
+#: c-family/c-attribs.cc:1921 c-family/c-attribs.cc:3492
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1676
+#: c-family/c-attribs.cc:1927
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a local variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3857
+#: c-family/c-attribs.cc:1952 config/i386/i386-options.cc:4154
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1730
+#: c-family/c-attribs.cc:1981
 #, gcc-internal-format
 msgid "%qE attribute only affects top level objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1769 c-family/c-attribs.cc:3919
+#: c-family/c-attribs.cc:2020 c-family/c-attribs.cc:4166
 #, gcc-internal-format
 msgid "%qE attribute on function returning %<void%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:1792
+#: c-family/c-attribs.cc:2043
 #, gcc-internal-format
 msgid "%qE attribute is not supported because endianness is not uniform"
 msgstr ""
 
-#: c-family/c-attribs.cc:1809
+#: c-family/c-attribs.cc:2060
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:1905
+#: c-family/c-attribs.cc:2156
 #, gcc-internal-format
 msgid "destructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:1907
+#: c-family/c-attribs.cc:2158
 #, gcc-internal-format
 msgid "constructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:1929
+#: c-family/c-attribs.cc:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1934
+#: c-family/c-attribs.cc:2185
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1942
+#: c-family/c-attribs.cc:2193
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:1945
+#: c-family/c-attribs.cc:2196
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:2098
+#: c-family/c-attribs.cc:2349
 #, gcc-internal-format
 msgid "unknown machine mode %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2132
+#: c-family/c-attribs.cc:2383
 #, gcc-internal-format
 msgid "specifying vector types with %<__attribute__ ((mode))%> is deprecated"
 msgstr ""
 
-#: c-family/c-attribs.cc:2135
+#: c-family/c-attribs.cc:2386
 #, gcc-internal-format
 msgid "use %<__attribute__ ((vector_size))%> instead"
 msgstr ""
 
-#: c-family/c-attribs.cc:2144
+#: c-family/c-attribs.cc:2395
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2157
+#: c-family/c-attribs.cc:2408
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2174
+#: c-family/c-attribs.cc:2425
 #, gcc-internal-format
 msgid "signedness of type and machine mode %qs don%'t match"
 msgstr ""
 
-#: c-family/c-attribs.cc:2185
+#: c-family/c-attribs.cc:2436
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2195
+#: c-family/c-attribs.cc:2446
 #, gcc-internal-format
 msgid "cannot use mode %qs for enumerated types"
 msgstr ""
 
-#: c-family/c-attribs.cc:2223
+#: c-family/c-attribs.cc:2474
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr ""
 
-#: c-family/c-attribs.cc:2252 c-family/c-attribs.cc:2609 d/d-attribs.cc:1021
+#: c-family/c-attribs.cc:2503 c-family/c-attribs.cc:2860 d/d-attribs.cc:1024
 #, gcc-internal-format
 msgid "section attributes are not supported for this target"
 msgstr ""
 
-#: c-family/c-attribs.cc:2258 d/d-attribs.cc:1028
+#: c-family/c-attribs.cc:2509 d/d-attribs.cc:1031
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2264
+#: c-family/c-attribs.cc:2515
 #, gcc-internal-format
 msgid "section attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:2273 d/d-attribs.cc:1044
+#: c-family/c-attribs.cc:2524 d/d-attribs.cc:1047
 #, gcc-internal-format
 msgid "section attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2284 config/bfin/bfin.cc:4796 config/bfin/bfin.cc:4847
-#: config/bfin/bfin.cc:4873 config/bfin/bfin.cc:4886 d/d-attribs.cc:1055
+#: c-family/c-attribs.cc:2535 config/bfin/bfin.cc:4797 config/bfin/bfin.cc:4848
+#: config/bfin/bfin.cc:4874 config/bfin/bfin.cc:4887 d/d-attribs.cc:1058
 #, gcc-internal-format
 msgid "section of %q+D conflicts with previous declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:2293 c-family/c-attribs.cc:2635 d/d-attribs.cc:1064
+#: c-family/c-attribs.cc:2544 c-family/c-attribs.cc:2886 d/d-attribs.cc:1067
 #, gcc-internal-format
 msgid "section of %q+D cannot be overridden"
 msgstr ""
 
-#: c-family/c-attribs.cc:2409
+#: c-family/c-attribs.cc:2660
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2434
+#: c-family/c-attribs.cc:2685
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %<%E (%u)%> because it conflicts with attribute %<%E "
 "(%u)%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2479
+#: c-family/c-attribs.cc:2730
 #, gcc-internal-format
 msgid "%<warn_if_not_aligned%> may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2530
+#: c-family/c-attribs.cc:2781
 #, gcc-internal-format
 msgid "%qE attribute may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2537
+#: c-family/c-attribs.cc:2788
 #, gcc-internal-format
 msgid "%qE attribute may not be specified for a non-array field"
 msgstr ""
 
-#: c-family/c-attribs.cc:2544
+#: c-family/c-attribs.cc:2795
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer"
 msgstr ""
 
-#: c-family/c-attribs.cc:2550 c-family/c-attribs.cc:5941
+#: c-family/c-attribs.cc:2801 c-family/c-attribs.cc:6235
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not an integer constant between 0 and 3"
 msgstr ""
 
-#: c-family/c-attribs.cc:2570 d/d-attribs.cc:1143
+#: c-family/c-attribs.cc:2821 d/d-attribs.cc:1146 jit/dummy-frontend.cc:743
 #, gcc-internal-format
 msgid "inline function %q+D declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2575
+#: c-family/c-attribs.cc:2826 jit/dummy-frontend.cc:748
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2616
+#: c-family/c-attribs.cc:2867
 #, gcc-internal-format
 msgid "ignoring %qE attribute not set on a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2626 config/bfin/bfin.cc:4824
-#: config/loongarch/loongarch.cc:6559
+#: c-family/c-attribs.cc:2877 config/bfin/bfin.cc:4825
+#: config/loongarch/loongarch.cc:8095
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2641
+#: c-family/c-attribs.cc:2892
 #, gcc-internal-format
 msgid "%qE attribute is specific to ELF targets"
 msgstr ""
 
-#: c-family/c-attribs.cc:2648
+#: c-family/c-attribs.cc:2899
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on const variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2659
+#: c-family/c-attribs.cc:2910
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on initialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2672
+#: c-family/c-attribs.cc:2923
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on uninitialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2705
+#: c-family/c-attribs.cc:2956
 #, gcc-internal-format
 msgid "%qE attribute is only applicable on functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:2724 d/d-attribs.cc:1091
+#: c-family/c-attribs.cc:2975 d/d-attribs.cc:1094
 #, gcc-internal-format
 msgid "%<symver%> attribute only applies to functions and variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2732 d/d-attribs.cc:1099
+#: c-family/c-attribs.cc:2983 d/d-attribs.cc:1102
 #, gcc-internal-format
 msgid "%<symver%> attribute is only applicable to symbols"
 msgstr ""
 
-#: c-family/c-attribs.cc:2742
+#: c-family/c-attribs.cc:2993
 #, gcc-internal-format
 msgid "%<symver%> attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:2756 d/d-attribs.cc:1123
+#: c-family/c-attribs.cc:3007 d/d-attribs.cc:1126
 #, gcc-internal-format
 msgid "symver attribute argument must have format %<name@nodename%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2757 d/d-attribs.cc:1124
+#: c-family/c-attribs.cc:3008 d/d-attribs.cc:1127
 #, gcc-internal-format
 msgid "%<symver%> attribute argument %qs must contain one or two %<@%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2792
+#: c-family/c-attribs.cc:3043 jit/dummy-frontend.cc:843
 #, gcc-internal-format
 msgid "%q+D defined both normally and as %qE attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:2800
+#: c-family/c-attribs.cc:3051 jit/dummy-frontend.cc:851
 #, gcc-internal-format
 msgid "weak %q+D cannot be defined %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2817 c-family/c-attribs.cc:3810
-#: ada/gcc-interface/utils.cc:6913
+#: c-family/c-attribs.cc:3068 c-family/c-attribs.cc:4057
+#: ada/gcc-interface/utils.cc:7110 jit/dummy-frontend.cc:868
 #, gcc-internal-format
 msgid "attribute %qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:2850
+#: c-family/c-attribs.cc:3101 jit/dummy-frontend.cc:901
 #, gcc-internal-format
 msgid "%+qD declared %qs after being used"
 msgstr ""
 
-#: c-family/c-attribs.cc:2900
+#. Explicitly handle this case since using a string literal
+#. as an argument is a likely mistake.
+#: c-family/c-attribs.cc:3153
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:2913
+#. Similar to the string case, since some function attributes
+#. accept literal numbers as arguments (e.g., alloc_size or
+#. nonnull) using one here is a likely mistake.
+#: c-family/c-attribs.cc:3164
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a constant arithmetic expression"
 msgstr ""
 
-#: c-family/c-attribs.cc:2924
+#: c-family/c-attribs.cc:3174
 #, gcc-internal-format
 msgid "%qE attribute ignored on a redeclaration of the referenced symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2979
+#: c-family/c-attribs.cc:3229
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on a declaration of a different kind than referenced "
 "symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2984
+#: c-family/c-attribs.cc:3233
 #, gcc-internal-format
 msgid "symbol %qD referenced by %qD declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:3032
+#: c-family/c-attribs.cc:3280
 #, gcc-internal-format
 msgid "%qE attribute must apply to a declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3090
+#: c-family/c-attribs.cc:3337
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:3113
+#: c-family/c-attribs.cc:3360
 #, gcc-internal-format
 msgid "%qE attribute must appear before %qs attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3126
+#: c-family/c-attribs.cc:3373
 #, gcc-internal-format
 msgid "%+qD declared %qE after being used"
 msgstr ""
 
-#: c-family/c-attribs.cc:3150
+#: c-family/c-attribs.cc:3397 jit/dummy-frontend.cc:586
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3156
+#: c-family/c-attribs.cc:3403 jit/dummy-frontend.cc:592
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qT is already defined"
 msgstr ""
 
-#: c-family/c-attribs.cc:3169
+#: c-family/c-attribs.cc:3416 jit/dummy-frontend.cc:605
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:3181 d/d-attribs.cc:1581
+#: c-family/c-attribs.cc:3428 d/d-attribs.cc:1584 jit/dummy-frontend.cc:617
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3197 d/d-attribs.cc:1610
+#: c-family/c-attribs.cc:3444 d/d-attribs.cc:1613 jit/dummy-frontend.cc:633
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3209 d/d-attribs.cc:1621
+#: c-family/c-attribs.cc:3456 d/d-attribs.cc:1624 jit/dummy-frontend.cc:645
 #, gcc-internal-format
 msgid "%qD redeclared with different visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3212 c-family/c-attribs.cc:3216 d/d-attribs.cc:1624
-#: d/d-attribs.cc:1628
+#: c-family/c-attribs.cc:3459 c-family/c-attribs.cc:3463 d/d-attribs.cc:1627
+#: d/d-attribs.cc:1631 jit/dummy-frontend.cc:648 jit/dummy-frontend.cc:652
 #, gcc-internal-format
 msgid "%qD was declared %qs which implies default visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3253
+#: c-family/c-attribs.cc:3500
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD does not have thread storage duration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3275
+#: c-family/c-attribs.cc:3522
 #, gcc-internal-format
 msgid "%qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3297 c-family/c-attribs.cc:3893
-#: c-family/c-attribs.cc:5710 c-family/c-attribs.cc:5737
-#: config/m32c/m32c.cc:2939 ada/gcc-interface/utils.cc:7093
+#: c-family/c-attribs.cc:3544 c-family/c-attribs.cc:4140
+#: c-family/c-attribs.cc:6004 c-family/c-attribs.cc:6031
+#: config/m32c/m32c.cc:2942 ada/gcc-interface/utils.cc:7269
 #, gcc-internal-format
 msgid "%qE attribute applies only to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3343
+#: c-family/c-attribs.cc:3590
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored on functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3353
+#: c-family/c-attribs.cc:3600
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored with deallocation functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3357
+#: c-family/c-attribs.cc:3604
 #, gcc-internal-format
 msgid "deallocation function declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:3384
+#: c-family/c-attribs.cc:3631
 #, gcc-internal-format
 msgid "%qE attribute ignored; valid only for functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3394
+#: c-family/c-attribs.cc:3641
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on functions returning %qT; valid only for pointer "
@@ -34998,247 +35885,247 @@ msgstr ""
 
 #. Handle specially the common case of specifying one of a number
 #. of overloads, such as operator delete.
-#: c-family/c-attribs.cc:3440
+#: c-family/c-attribs.cc:3687
 #, gcc-internal-format
 msgid "%qE attribute argument 1 is ambiguous"
 msgstr ""
 
-#: c-family/c-attribs.cc:3442
+#: c-family/c-attribs.cc:3689
 #, gcc-internal-format
 msgid "use a cast to the expected type to disambiguate"
 msgstr ""
 
-#: c-family/c-attribs.cc:3447
+#: c-family/c-attribs.cc:3694
 #, gcc-internal-format
 msgid "%qE attribute argument 1 does not name a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:3450
+#: c-family/c-attribs.cc:3697
 #, gcc-internal-format
 msgid "argument references a symbol declared here"
 msgstr ""
 
 #. Reject functions without a prototype.
-#: c-family/c-attribs.cc:3466
+#: c-family/c-attribs.cc:3713
 #, gcc-internal-format
 msgid "%qE attribute argument 1 must take a pointer type as its first argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:3469 c-family/c-attribs.cc:3482
+#: c-family/c-attribs.cc:3716 c-family/c-attribs.cc:3729
 #, gcc-internal-format
 msgid "referenced symbol declared here"
 msgstr ""
 
 #. Reject functions that don't take a pointer as their first
 #. argument.
-#: c-family/c-attribs.cc:3479
+#: c-family/c-attribs.cc:3726
 #, 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:3593 c-family/c-attribs.cc:3641
-#: c-family/c-attribs.cc:3668 d/d-attribs.cc:1326
+#: c-family/c-attribs.cc:3840 c-family/c-attribs.cc:3888
+#: c-family/c-attribs.cc:3915 d/d-attribs.cc:1329
 #, gcc-internal-format
 msgid "%qE attribute ignored on a function returning %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:3687
+#: c-family/c-attribs.cc:3934
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:3695
+#: c-family/c-attribs.cc:3942
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not positive"
 msgstr ""
 
-#: c-family/c-attribs.cc:3706
+#: c-family/c-attribs.cc:3953
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not a power of 2"
 msgstr ""
 
-#: c-family/c-attribs.cc:3719
+#: c-family/c-attribs.cc:3966
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not in the range [0, %wu]"
 msgstr ""
 
-#: c-family/c-attribs.cc:3823 ada/gcc-interface/utils.cc:6926
+#: c-family/c-attribs.cc:4070 ada/gcc-interface/utils.cc:7123
 #, gcc-internal-format
 msgid ""
 "only %<inbranch%> and %<notinbranch%> flags are allowed for %<__simd__%> "
 "attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3899 c-family/c-attribs.cc:5716
+#: c-family/c-attribs.cc:4146 c-family/c-attribs.cc:6010
 #, gcc-internal-format
 msgid "cannot set %qE attribute after definition"
 msgstr ""
 
-#: c-family/c-attribs.cc:3966
+#: c-family/c-attribs.cc:4213
 #, gcc-internal-format
 msgid "%qE attribute duplicated"
 msgstr ""
 
-#: c-family/c-attribs.cc:3968
+#: c-family/c-attribs.cc:4215
 #, gcc-internal-format
 msgid "%qE attribute follows %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4067
+#: c-family/c-attribs.cc:4314
 #, gcc-internal-format
 msgid "type was previously declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4080 cp/class.cc:4792
+#: c-family/c-attribs.cc:4327 cp/class.cc:5054
 #, gcc-internal-format
 msgid ""
 "%<transaction_safe_dynamic%> may only be specified for a virtual function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4138
+#: c-family/c-attribs.cc:4385
 #, gcc-internal-format
 msgid "%qE argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:4149
+#: c-family/c-attribs.cc:4396
 #, gcc-internal-format
 msgid "%qD is not compatible with %qD"
 msgstr ""
 
-#: c-family/c-attribs.cc:4152
+#: c-family/c-attribs.cc:4399
 #, gcc-internal-format
 msgid "%qE argument is not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4200 cp/name-lookup.cc:6056
+#: c-family/c-attribs.cc:4447 cp/name-lookup.cc:6377
 #, gcc-internal-format
 msgid "deprecated message is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4249 c-family/c-attribs.cc:4314
+#: c-family/c-attribs.cc:4496 c-family/c-attribs.cc:4561
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4273
+#: c-family/c-attribs.cc:4520
 #, gcc-internal-format
 msgid "the message attached to %<unavailable%> is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4372 c-family/c-attribs.cc:4374
+#: c-family/c-attribs.cc:4622 c-family/c-attribs.cc:4624
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4409 c-family/c-attribs.cc:4413
+#: c-family/c-attribs.cc:4659 c-family/c-attribs.cc:4663
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE is negative"
 msgstr ""
 
-#: c-family/c-attribs.cc:4426 c-family/c-attribs.cc:4430
+#: c-family/c-attribs.cc:4676 c-family/c-attribs.cc:4680
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE exceeds %wu"
 msgstr ""
 
-#: c-family/c-attribs.cc:4438 ada/gcc-interface/utils.cc:4162
+#: c-family/c-attribs.cc:4688 ada/gcc-interface/utils.cc:4300
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4444 ada/gcc-interface/utils.cc:4169
+#: c-family/c-attribs.cc:4694 ada/gcc-interface/utils.cc:4307
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4453 c-family/c-attribs.cc:4456
+#: c-family/c-attribs.cc:4703 c-family/c-attribs.cc:4706
 #, gcc-internal-format
 msgid "number of vector components %wu not a power of two"
 msgstr ""
 
-#: c-family/c-attribs.cc:4463 c-family/c-attribs.cc:4467
+#: c-family/c-attribs.cc:4713 c-family/c-attribs.cc:4717
 #, gcc-internal-format
 msgid "number of vector components %wu exceeds %d"
 msgstr ""
 
-#: c-family/c-attribs.cc:4527
+#: c-family/c-attribs.cc:4777
 #, gcc-internal-format
 msgid "%qE attribute only supported on non-mask vector types"
 msgstr ""
 
-#: c-family/c-attribs.cc:4560 c-family/c-attribs.cc:4600
+#: c-family/c-attribs.cc:4810 c-family/c-attribs.cc:4850
 #, gcc-internal-format
 msgid "%qE attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:4641
+#: c-family/c-attribs.cc:4905
 #, gcc-internal-format
 msgid "%qE attribute ignored on objects of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:4649
+#: c-family/c-attribs.cc:4913
 #, gcc-internal-format
 msgid "%qE attribute does not apply to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:4787
+#: c-family/c-attribs.cc:5051
 #, gcc-internal-format
 msgid "attribute %qs mismatch with mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4836
+#: c-family/c-attribs.cc:5100
 #, gcc-internal-format
 msgid ""
 "attribute %qs missing positional argument 2 provided in previous designation "
 "by argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4842
+#: c-family/c-attribs.cc:5106
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 missing in previous designation"
 msgstr ""
 
-#: c-family/c-attribs.cc:4848
+#: c-family/c-attribs.cc:5112
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 conflicts with previous designation by "
 "argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4856
+#: c-family/c-attribs.cc:5120
 #, gcc-internal-format
 msgid "attribute %qs mismatched positional argument values %i and %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:4878
+#: c-family/c-attribs.cc:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "designating the bound of variable length array argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4961
+#: c-family/c-attribs.cc:5225
 #, gcc-internal-format
 msgid "attribute %qE without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:5011
+#: c-family/c-attribs.cc:5275
 #, gcc-internal-format
 msgid "attribute %qE invalid mode"
 msgstr ""
 
-#: c-family/c-attribs.cc:5020
+#: c-family/c-attribs.cc:5284
 #, 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:5047
+#: c-family/c-attribs.cc:5311
 #, gcc-internal-format
 msgid "attribute %qE invalid mode %qs; expected one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:5058
+#: c-family/c-attribs.cc:5322
 #, gcc-internal-format
 msgid ""
 "attribute %qE unexpected %<(%> after mode %qs; expected a positional "
@@ -35249,825 +36136,844 @@ 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:5071
+#: c-family/c-attribs.cc:5335
 #, gcc-internal-format
 msgid "attribute %<%E(%s)%> missing an argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:5112
+#: c-family/c-attribs.cc:5376
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5115
+#: c-family/c-attribs.cc:5379
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5140
+#: c-family/c-attribs.cc:5404
 #, gcc-internal-format
 msgid "attribute %qs positional argument %i invalid value %wi"
 msgstr ""
 
-#: c-family/c-attribs.cc:5144
+#: c-family/c-attribs.cc:5408
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument %i value %wi exceeds number of function "
 "arguments %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5151
+#: c-family/c-attribs.cc:5415
 #, gcc-internal-format
 msgid "attribute %qs invalid positional argument"
 msgstr ""
 
 #. The first argument must have a pointer or reference type.
-#: c-family/c-attribs.cc:5159
+#: c-family/c-attribs.cc:5423
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references non-pointer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5170
+#: c-family/c-attribs.cc:5434
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references argument of function type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5183
+#: c-family/c-attribs.cc:5447
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references %qs-qualified argument type "
 "%qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5201
+#: c-family/c-attribs.cc:5465
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 references non-integer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5442
+#: c-family/c-attribs.cc:5735
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:5449
+#: c-family/c-attribs.cc:5742
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:5486
+#: c-family/c-attribs.cc:5779
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr ""
 
-#: c-family/c-attribs.cc:5494
+#: c-family/c-attribs.cc:5787
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:5510 ada/gcc-interface/utils.cc:6556
+#: c-family/c-attribs.cc:5803 ada/gcc-interface/utils.cc:6694
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5518 ada/gcc-interface/utils.cc:6563
+#: c-family/c-attribs.cc:5811 ada/gcc-interface/utils.cc:6701
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
 
-#: c-family/c-attribs.cc:5573 ada/gcc-interface/utils.cc:6975
-#: d/d-attribs.cc:768
+#: c-family/c-attribs.cc:5860 ada/gcc-interface/utils.cc:7166
+#: d/d-attribs.cc:771 jit/dummy-frontend.cc:784
 #, gcc-internal-format
 msgid "empty string in attribute %<target%>"
 msgstr ""
 
 #. The argument must be a constant string.
-#: c-family/c-attribs.cc:5595 config/sh/sh.cc:8549 d/d-attribs.cc:1035
-#: d/d-attribs.cc:1109 d/d-attribs.cc:1412 d/d-attribs.cc:1454
-#: d/d-attribs.cc:1516 d/d-attribs.cc:1595
+#: c-family/c-attribs.cc:5901 config/sh/sh.cc:8549 d/d-attribs.cc:1038
+#: d/d-attribs.cc:1112 d/d-attribs.cc:1415 d/d-attribs.cc:1457
+#: d/d-attribs.cc:1519 d/d-attribs.cc:1598
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5762 ada/gcc-interface/utils.cc:7124
+#: c-family/c-attribs.cc:6056 ada/gcc-interface/utils.cc:7300
 #, gcc-internal-format
 msgid "unrecognized %qE attribute argument %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:5780
+#: c-family/c-attribs.cc:6074
 #, gcc-internal-format
 msgid "%qE attribute on a function not returning a pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:5795
+#: c-family/c-attribs.cc:6089
 #, gcc-internal-format
 msgid "%qE attribute is only valid on %<struct%> type"
 msgstr ""
 
-#: c-family/c-attribs.cc:5843
+#: c-family/c-attribs.cc:6137
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5852
+#: c-family/c-attribs.cc:6146
 #, gcc-internal-format
 msgid "%qE attribute argument %qE exceeds %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5874
+#: c-family/c-attribs.cc:6168
 #, gcc-internal-format
 msgid "%qE attribute may be put on a typedef only; attribute is ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:5886
+#: c-family/c-attribs.cc:6180
 #, gcc-internal-format
 msgid "%qE attribute is for pointer types only"
 msgstr ""
 
-#: c-family/c-attribs.cc:5905
+#: c-family/c-attribs.cc:6199
 #, gcc-internal-format
 msgid ""
 "%qE is only applicable to Objective-C class interfaces, attribute ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:5928
+#: c-family/c-attribs.cc:6222
 #, gcc-internal-format
 msgid "%qE cannot be applied to non-pointer type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5953
+#: c-family/c-attribs.cc:6247
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not recognised"
 msgstr ""
 
-#: c-family/c-attribs.cc:5968
+#: c-family/c-attribs.cc:6262
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored; valid only for functions and function pointer fields"
 msgstr ""
 
-#: c-family/c-attribs.cc:5979
+#: c-family/c-attribs.cc:6273
 #, gcc-internal-format
 msgid "%qE attribute ignored; field must be a function pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:6003
+#: c-family/c-attribs.cc:6297
 #, gcc-internal-format
 msgid "unknown attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:6030
+#: c-family/c-attribs.cc:6324
 #, gcc-internal-format
 msgid "invalid operand type %qT for %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:6134
+#: c-family/c-attribs.cc:6428
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qT in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6136
+#: c-family/c-attribs.cc:6430
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qE in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6313
+#: c-family/c-attribs.cc:6607
 #, gcc-internal-format
 msgid "%qs attribute not supported in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-common.cc:739
+#: c-family/c-common.cc:787
 #, gcc-internal-format
 msgid "%qD is not defined outside of function scope"
 msgstr ""
 
-#: c-family/c-common.cc:784
+#: c-family/c-common.cc:832
 #, gcc-internal-format
 msgid "size of string literal is too large"
 msgstr ""
 
-#: c-family/c-common.cc:807
+#: c-family/c-common.cc:855
 #, gcc-internal-format
 msgid ""
 "string length %qd is greater than the length %qd ISO C%d compilers are "
 "required to support"
 msgstr ""
 
-#: c-family/c-common.cc:980
+#: c-family/c-common.cc:1030
 #, gcc-internal-format
 msgid ""
 "use %<-flax-vector-conversions%> to permit conversions between vectors with "
 "differing element types or numbers of subparts"
 msgstr ""
 
-#: c-family/c-common.cc:1021
+#: c-family/c-common.cc:1071
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> last argument must be an integer vector"
 msgstr ""
 
-#: c-family/c-common.cc:1030
+#: c-family/c-common.cc:1080
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1037
+#: c-family/c-common.cc:1087
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> argument vectors must be of the same type"
 msgstr ""
 
-#: c-family/c-common.cc:1048
+#: c-family/c-common.cc:1098
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shuffle%> number of elements of the argument vector(s) and the "
 "mask vector should be the same"
 msgstr ""
 
-#: c-family/c-common.cc:1058
+#: c-family/c-common.cc:1108
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shuffle%> argument vector(s) inner type must have the same size "
 "as inner type of the mask"
 msgstr ""
 
-#: c-family/c-common.cc:1109
+#: c-family/c-common.cc:1159
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1120
+#: c-family/c-common.cc:1170
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be constant size vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1129
+#: c-family/c-common.cc:1179
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> argument vectors must have the same element type"
 msgstr ""
 
-#: c-family/c-common.cc:1137
+#: c-family/c-common.cc:1187
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> must specify a result with a power of two number "
 "of elements"
 msgstr ""
 
-#: c-family/c-common.cc:1162 c-family/c-common.cc:1172
+#: c-family/c-common.cc:1212 c-family/c-common.cc:1222
 #, gcc-internal-format
 msgid "invalid element index %qE to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: c-family/c-common.cc:1250
+#: c-family/c-common.cc:1300
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> first argument must be an integer or floating "
 "vector"
 msgstr ""
 
-#: c-family/c-common.cc:1259
+#: c-family/c-common.cc:1309
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> second argument must be an integer or floating "
 "vector type"
 msgstr ""
 
-#: c-family/c-common.cc:1268
+#: c-family/c-common.cc:1318
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> number of elements of the first argument vector "
 "and the second argument vector type should be the same"
 msgstr ""
 
-#: c-family/c-common.cc:1899
+#: c-family/c-common.cc:1958
 #, gcc-internal-format
 msgid "operation on %qE may be undefined"
 msgstr ""
 
-#: c-family/c-common.cc:2256
+#: c-family/c-common.cc:2315
 #, gcc-internal-format
 msgid "case label does not reduce to an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:2343
+#: c-family/c-common.cc:2411
 #, gcc-internal-format
 msgid ""
 "GCC cannot support operators with integer types and fixed-point types that "
 "have too many integral and fractional bits together"
 msgstr ""
 
-#: c-family/c-common.cc:2888
+#: c-family/c-common.cc:2961
 #, gcc-internal-format
 msgid "invalid operands to binary %s (have %qT and %qT)"
 msgstr ""
 
-#: c-family/c-common.cc:3137
+#: c-family/c-common.cc:3210
 #, gcc-internal-format
 msgid "comparison is always false due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3140
+#: c-family/c-common.cc:3213
 #, gcc-internal-format
 msgid "comparison is always true due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3242
+#: c-family/c-common.cc:3315
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<>= 0%> is always true"
 msgstr ""
 
-#: c-family/c-common.cc:3250
+#: c-family/c-common.cc:3323
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<< 0%> is always false"
 msgstr ""
 
-#: c-family/c-common.cc:3294
+#: c-family/c-common.cc:3367
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3303
+#: c-family/c-common.cc:3376
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3520
+#: c-family/c-common.cc:3593
 #, gcc-internal-format
 msgid "enum constant in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3550 d/d-convert.cc:149
+#: c-family/c-common.cc:3623 d/d-convert.cc:149
 #, gcc-internal-format
 msgid "the address of %qD will always evaluate as %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3595
+#: c-family/c-common.cc:3668
 #, gcc-internal-format
 msgid "%<*%> in boolean context, suggest %<&&%> instead"
 msgstr ""
 
-#: c-family/c-common.cc:3607
+#: c-family/c-common.cc:3681
 #, gcc-internal-format
 msgid "%<<<%> in boolean context, did you mean %<<%>?"
 msgstr ""
 
-#: c-family/c-common.cc:3623
+#: c-family/c-common.cc:3697
 #, gcc-internal-format
 msgid ""
 "%<?:%> using integer constants in boolean context, the expression will "
 "always evaluate to %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3632
+#: c-family/c-common.cc:3706
 #, gcc-internal-format
 msgid "%<?:%> using integer constants in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3668
+#: c-family/c-common.cc:3742
 #, gcc-internal-format
 msgid ""
 "the compiler can assume that the address of %qD will always evaluate to "
 "%<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3703 cp/semantics.cc:888 cp/typeck.cc:10365
+#: c-family/c-common.cc:3778 cp/semantics.cc:945
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr ""
 
-#: c-family/c-common.cc:3790 c/c-decl.cc:4838 c/c-decl.cc:7479
-#: c/c-parser.cc:3538 c/c-typeck.cc:16321
+#: c-family/c-common.cc:3865 c/c-decl.cc:4966 c/c-decl.cc:7655
+#: c/c-parser.cc:3739 c/c-typeck.cc:16504
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr ""
 
-#: c-family/c-common.cc:3864
+#: c-family/c-common.cc:3941
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3874
+#: c-family/c-common.cc:3951
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3877
+#: c-family/c-common.cc:3954
 #, gcc-internal-format
 msgid "ISO C does not permit %<_Alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3888 cp/typeck.cc:2057
+#: c-family/c-common.cc:3965 cp/typeck.cc:2057
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr ""
 
-#: c-family/c-common.cc:3897
+#: c-family/c-common.cc:3974
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT"
 msgstr ""
 
-#: c-family/c-common.cc:3905
+#: c-family/c-common.cc:3982
 #, gcc-internal-format
 msgid "invalid application of %qs to array type %qT of incomplete element type"
 msgstr ""
 
-#: c-family/c-common.cc:3957
+#: c-family/c-common.cc:4034
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr ""
 
-#: c-family/c-common.cc:4781
+#: c-family/c-common.cc:4858
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr ""
 
-#: c-family/c-common.cc:4901
+#: c-family/c-common.cc:4978
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr ""
 
-#: c-family/c-common.cc:5093
+#: c-family/c-common.cc:5170
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr ""
 
-#: c-family/c-common.cc:5100
+#: c-family/c-common.cc:5177
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5128
+#: c-family/c-common.cc:5205
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr ""
 
-#: c-family/c-common.cc:5180
+#: c-family/c-common.cc:5257
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr ""
 
-#: c-family/c-common.cc:5182
+#: c-family/c-common.cc:5259
 #, gcc-internal-format
 msgid "this is the first entry overlapping that value"
 msgstr ""
 
-#: c-family/c-common.cc:5186
+#: c-family/c-common.cc:5263
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr ""
 
-#: c-family/c-common.cc:5187 c-family/c-warn.cc:2578
+#: c-family/c-common.cc:5264 c-family/c-warn.cc:2652
 #, gcc-internal-format
 msgid "previously used here"
 msgstr ""
 
-#: c-family/c-common.cc:5191
+#: c-family/c-common.cc:5268
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr ""
 
-#: c-family/c-common.cc:5193
+#: c-family/c-common.cc:5270
 #, gcc-internal-format
 msgid "this is the first default label"
 msgstr ""
 
-#: c-family/c-common.cc:5305
+#: c-family/c-common.cc:5382
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5490
+#: c-family/c-common.cc:5567
 #, gcc-internal-format
 msgid "requested alignment is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:5498 c-family/c-common.cc:5508
+#: c-family/c-common.cc:5575 c-family/c-common.cc:5585
 #, gcc-internal-format
 msgid "requested alignment %qE is not a positive power of 2"
 msgstr ""
 
-#: c-family/c-common.cc:5518
+#: c-family/c-common.cc:5595
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds object file maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5526
+#: c-family/c-common.cc:5603
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5701
+#: c-family/c-common.cc:5778
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr ""
 
-#: c-family/c-common.cc:5715
+#: c-family/c-common.cc:5792
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr ""
 
-#: c-family/c-common.cc:5942 c-family/c-common.cc:5992 d/d-attribs.cc:834
-#: d/d-attribs.cc:884
+#: c-family/c-common.cc:6019 c-family/c-common.cc:6069 d/d-attribs.cc:837
+#: d/d-attribs.cc:887
 #, gcc-internal-format
 msgid "bad option %qs to attribute %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:5945 c-family/c-common.cc:5996
+#: c-family/c-common.cc:6022 c-family/c-common.cc:6073
 #, gcc-internal-format
 msgid "bad option %qs to pragma %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:6044
+#: c-family/c-common.cc:6121
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> specified multiple times"
 msgstr ""
 
-#: c-family/c-common.cc:6048
+#: c-family/c-common.cc:6125
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute specified with a parameter"
 msgstr ""
 
-#: c-family/c-common.cc:6229 c-family/c-common.cc:7081
-#: c-family/c-common.cc:7128 c-family/c-common.cc:7203
-#: c-family/c-common.cc:7276 config/aarch64/aarch64-sve-builtins.cc:2125
-#: config/arm/arm-mve-builtins.cc:1501 c/c-typeck.cc:3813
+#: c-family/c-common.cc:6306 c-family/c-common.cc:7228
+#: c-family/c-common.cc:7275 c-family/c-common.cc:7354
+#: c-family/c-common.cc:7437 c-family/c-common.cc:8070
+#: config/aarch64/aarch64-sve-builtins.cc:2987
+#: config/arm/arm-mve-builtins.cc:1570 c/c-typeck.cc:3918
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6234 c-family/c-common.cc:7134
-#: c-family/c-common.cc:7302 config/aarch64/aarch64-sve-builtins.cc:2127
-#: config/arm/arm-mve-builtins.cc:1503 c/c-typeck.cc:3674
+#: c-family/c-common.cc:6311 c-family/c-common.cc:7281
+#: c-family/c-common.cc:7463 c-family/c-common.cc:8072
+#: config/aarch64/aarch64-sve-builtins.cc:2989
+#: config/arm/arm-mve-builtins.cc:1572 c/c-typeck.cc:3777
 #, gcc-internal-format
 msgid "too many arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6276
+#: c-family/c-common.cc:6353
 #, gcc-internal-format
 msgid "third argument to function %qE must be a constant integer"
 msgstr ""
 
-#: c-family/c-common.cc:6301
+#: c-family/c-common.cc:6378
 #, 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:6323 c-family/c-common.cc:6368
+#: c-family/c-common.cc:6400 c-family/c-common.cc:6447
 #, gcc-internal-format
 msgid "non-floating-point argument in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6347
+#: c-family/c-common.cc:6426
 #, gcc-internal-format
 msgid "non-floating-point arguments in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6361
+#: c-family/c-common.cc:6440
 #, gcc-internal-format
 msgid "non-const integer argument %u in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6381
+#: c-family/c-common.cc:6462
 #, gcc-internal-format
 msgid "non-integer argument 3 in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6398 c-family/c-common.cc:6448
+#: c-family/c-common.cc:6479 c-family/c-common.cc:6529
+#: c-family/c-common.cc:6594 c-family/c-common.cc:6614
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6405
+#: c-family/c-common.cc:6486
 #, gcc-internal-format
 msgid ""
 "argument 3 in call to function %qE does not have pointer to integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6411
+#: c-family/c-common.cc:6492
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6417
+#: c-family/c-common.cc:6498
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6423 c-family/c-common.cc:6430
-#: c-family/c-common.cc:6485 c-family/c-common.cc:6492
+#: c-family/c-common.cc:6504 c-family/c-common.cc:6511
+#: c-family/c-common.cc:6566 c-family/c-common.cc:6573
 #, gcc-internal-format
 msgid "argument %u in call to function %qE has pointer to %qs type (%qT)"
 msgstr ""
 
-#: c-family/c-common.cc:6454
+#: c-family/c-common.cc:6535 c-family/c-common.cc:6620
 #, gcc-internal-format
-msgid "argument 3 in call to function %qE has enumerated type"
+msgid "argument %u in call to function %qE has enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6460
+#: c-family/c-common.cc:6541 c-family/c-common.cc:6626
 #, gcc-internal-format
-msgid "argument 3 in call to function %qE has boolean type"
+msgid "argument %u in call to function %qE has boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6473
+#: c-family/c-common.cc:6554
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:6479
+#: c-family/c-common.cc:6560
 #, gcc-internal-format
 msgid "argument %u in call to function %qE points to incomplete type"
 msgstr ""
 
-#: c-family/c-common.cc:6758 rust/backend/rust-tree.cc:3553
+#: c-family/c-common.cc:6604
+#, gcc-internal-format
+msgid "argument %u in call to function %qE does not have %<int%> type"
+msgstr ""
+
+#: c-family/c-common.cc:6635
+#, gcc-internal-format
+msgid "argument 1 in call to function %qE has unsigned type"
+msgstr ""
+
+#: c-family/c-common.cc:6642
+#, gcc-internal-format
+msgid "argument 1 in call to function %qE has signed type"
+msgstr ""
+
+#: c-family/c-common.cc:6905 rust/backend/rust-tree.cc:3601
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to static data member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6763 rust/backend/rust-tree.cc:3558
+#: c-family/c-common.cc:6910 rust/backend/rust-tree.cc:3606
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
 msgstr ""
 
-#: c-family/c-common.cc:6770 rust/backend/rust-tree.cc:3565
+#: c-family/c-common.cc:6917 rust/backend/rust-tree.cc:3613
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to a non constant address"
 msgstr ""
 
-#: c-family/c-common.cc:6783 rust/backend/rust-tree.cc:3578
+#: c-family/c-common.cc:6930 rust/backend/rust-tree.cc:3626
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6836 rust/backend/rust-tree.cc:3630
+#: c-family/c-common.cc:6983 rust/backend/rust-tree.cc:3678
 #, gcc-internal-format
 msgid "index %E denotes an offset greater than size of %qT"
 msgstr ""
 
-#: c-family/c-common.cc:6997
+#: c-family/c-common.cc:7144
 #, gcc-internal-format
 msgid "size of array is too large"
 msgstr ""
 
-#: c-family/c-common.cc:7111 c-family/c-common.cc:7235
+#: c-family/c-common.cc:7258 c-family/c-common.cc:7396
 #, gcc-internal-format
 msgid "operand type %qT is incompatible with argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7145
+#: c-family/c-common.cc:7292
 #, gcc-internal-format
 msgid "expecting argument of type pointer or of type integer for argument 1"
 msgstr ""
 
-#: c-family/c-common.cc:7161
+#: c-family/c-common.cc:7308
 #, gcc-internal-format
 msgid "both arguments must be compatible"
 msgstr ""
 
-#: c-family/c-common.cc:7377
+#: c-family/c-common.cc:7538
 #, gcc-internal-format
 msgid "incorrect number of arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7391
+#: c-family/c-common.cc:7552
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a non-void pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7398
+#: c-family/c-common.cc:7559
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a complete type"
 msgstr ""
 
-#: c-family/c-common.cc:7407
+#: c-family/c-common.cc:7568
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7418
+#: c-family/c-common.cc:7579
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a nonzero size object"
 msgstr ""
 
-#: c-family/c-common.cc:7439
+#: c-family/c-common.cc:7600
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7447
+#: c-family/c-common.cc:7608
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7453
+#: c-family/c-common.cc:7614
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a function"
 msgstr ""
 
-#: c-family/c-common.cc:7461
+#: c-family/c-common.cc:7622
 #, gcc-internal-format
 msgid "size mismatch in argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7474
+#: c-family/c-common.cc:7635
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<const%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7479
+#: c-family/c-common.cc:7640
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<const%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7488
+#: c-family/c-common.cc:7649
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<volatile%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7493
+#: c-family/c-common.cc:7654
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<volatile%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7506
+#: c-family/c-common.cc:7667
 #, gcc-internal-format
 msgid "non-integer memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7519
+#: c-family/c-common.cc:7680
 #, gcc-internal-format
 msgid "invalid memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7920
+#: c-family/c-common.cc:8304
 #, 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:8558
+#: c-family/c-common.cc:8946
 #, gcc-internal-format
 msgid "index value is out of bound"
 msgstr ""
 
-#: c-family/c-common.cc:8600 c-family/c-common.cc:8649
-#: c-family/c-common.cc:8665
+#: c-family/c-common.cc:8988 c-family/c-common.cc:9037
+#: c-family/c-common.cc:9053
 #, 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:8753 rust/backend/rust-tree.cc:3449
+#: c-family/c-common.cc:9141 d/intrinsics.cc:1459
+#: rust/backend/rust-tree.cc:3497
 #, gcc-internal-format
 msgid "built-in function %qE must be directly called"
 msgstr ""
 
-#: c-family/c-common.cc:8773
+#: c-family/c-common.cc:9161
 #, gcc-internal-format
 msgid "size of array %qE is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:8776
+#: c-family/c-common.cc:9164
 #, gcc-internal-format
 msgid "size of array is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:8780
+#: c-family/c-common.cc:9168
 #, gcc-internal-format
 msgid "size %qE of array %qE is negative"
 msgstr ""
 
-#: c-family/c-common.cc:8783
+#: c-family/c-common.cc:9171
 #, gcc-internal-format
 msgid "size %qE of array is negative"
 msgstr ""
 
-#: c-family/c-common.cc:8788
+#: c-family/c-common.cc:9176
 #, gcc-internal-format
 msgid "size %qE of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8791
+#: c-family/c-common.cc:9179
 #, gcc-internal-format
 msgid "size %qE of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8796
+#: c-family/c-common.cc:9184
 #, gcc-internal-format
 msgid "size of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8799
+#: c-family/c-common.cc:9187
 #, gcc-internal-format
 msgid "size of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8870
+#: c-family/c-common.cc:9258
 #, gcc-internal-format
 msgid ""
 "environment variable %qs must expand to a non-negative integer less than or "
@@ -36124,967 +37030,1051 @@ msgstr ""
 msgid "format string argument follows the arguments to be formatted"
 msgstr ""
 
-#: c-family/c-format.cc:1239
+#: c-family/c-format.cc:1274
 #, gcc-internal-format
 msgid "function %qD might be a candidate for %qs format attribute"
 msgstr ""
 
-#: c-family/c-format.cc:1330 c-family/c-format.cc:1351
-#: c-family/c-format.cc:2786
+#: c-family/c-format.cc:1365 c-family/c-format.cc:1386
+#: c-family/c-format.cc:2821
 #, gcc-internal-format
 msgid "missing $ operand number in format"
 msgstr ""
 
-#: c-family/c-format.cc:1360
+#: c-family/c-format.cc:1395
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %%n$ operand number formats"
 msgstr ""
 
-#: c-family/c-format.cc:1367
+#: c-family/c-format.cc:1402
 #, gcc-internal-format
 msgid "operand number out of range in format"
 msgstr ""
 
-#: c-family/c-format.cc:1390
+#: c-family/c-format.cc:1425
 #, gcc-internal-format, gfc-internal-format
 msgid "format argument %d used more than once in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:1423
+#: c-family/c-format.cc:1458
 #, gcc-internal-format
 msgid "%<$%>operand number used after format without operand number"
 msgstr ""
 
-#: c-family/c-format.cc:1454
+#: c-family/c-format.cc:1489
 #, gcc-internal-format
 msgid "format argument %d unused before used argument %d in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1557
+#: c-family/c-format.cc:1592
 #, gcc-internal-format
 msgid "format not a string literal, format string not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1572 c-family/c-format.cc:1575
+#: c-family/c-format.cc:1607 c-family/c-format.cc:1610
 #, gcc-internal-format
 msgid "format not a string literal and no format arguments"
 msgstr ""
 
-#: c-family/c-format.cc:1578
+#: c-family/c-format.cc:1613
 #, gcc-internal-format
 msgid "format not a string literal, argument types not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1595
+#: c-family/c-format.cc:1630
 #, gcc-internal-format
 msgid "too many arguments for format"
 msgstr ""
 
-#: c-family/c-format.cc:1600
+#: c-family/c-format.cc:1635
 #, gcc-internal-format
 msgid "unused arguments in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1603
+#: c-family/c-format.cc:1638
 #, gcc-internal-format, gfc-internal-format
 msgid "zero-length %s format string"
 msgstr ""
 
-#: c-family/c-format.cc:1607
+#: c-family/c-format.cc:1642
 #, gcc-internal-format
 msgid "format is a wide character string"
 msgstr ""
 
-#: c-family/c-format.cc:1611
+#: c-family/c-format.cc:1646
 #, gcc-internal-format
 msgid "format string is not an array of type %qs"
 msgstr ""
 
-#: c-family/c-format.cc:1614
+#: c-family/c-format.cc:1649
 #, gcc-internal-format
 msgid "unterminated format string"
 msgstr ""
 
-#: c-family/c-format.cc:2029
+#: c-family/c-format.cc:2064
 #, gcc-internal-format
 msgid "%s used with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2039
+#: c-family/c-format.cc:2074
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %s"
 msgstr ""
 
-#: c-family/c-format.cc:2049
+#: c-family/c-format.cc:2084
 #, gcc-internal-format
 msgid "%s does not support %s with the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2063
+#: c-family/c-format.cc:2098
 #, gcc-internal-format, gfc-internal-format
 msgid "%s used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:2076
+#: c-family/c-format.cc:2111
 #, gcc-internal-format
 msgid "%qc conversion used unquoted"
 msgstr ""
 
-#: c-family/c-format.cc:2194 c-family/c-format.cc:2525
+#: c-family/c-format.cc:2229 c-family/c-format.cc:2560
 #, gcc-internal-format, gfc-internal-format
 msgid "repeated %s in format"
 msgstr ""
 
-#: c-family/c-format.cc:2205
+#: c-family/c-format.cc:2240
 #, gcc-internal-format
 msgid "missing fill character at end of strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:2307
+#: c-family/c-format.cc:2342
 #, gcc-internal-format, gfc-internal-format
 msgid "zero width in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2330
+#: c-family/c-format.cc:2365
 #, gcc-internal-format, gfc-internal-format
 msgid "empty left precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2421
+#: c-family/c-format.cc:2456
 #, gcc-internal-format, gfc-internal-format
 msgid "empty precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2499
+#: c-family/c-format.cc:2534
 #, gcc-internal-format
 msgid "%s does not support the %qs %s length modifier"
 msgstr ""
 
-#: c-family/c-format.cc:2555
+#: c-family/c-format.cc:2590
 #, gcc-internal-format
 msgid "unknown conversion type character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:2567
+#: c-family/c-format.cc:2602
 #, gcc-internal-format
 msgid "%s does not support the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2599
+#: c-family/c-format.cc:2634
 #, gcc-internal-format
 msgid "%s ignored with %s and %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2604
+#: c-family/c-format.cc:2639
 #, gcc-internal-format, gfc-internal-format
 msgid "%s ignored with %s in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2611
+#: c-family/c-format.cc:2646
 #, gcc-internal-format
 msgid "use of %s and %s together with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2616
+#: c-family/c-format.cc:2651
 #, gcc-internal-format, gfc-internal-format
 msgid "use of %s and %s together in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2643
+#: c-family/c-format.cc:2678
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year in some locales"
 msgstr ""
 
-#: c-family/c-format.cc:2647
+#: c-family/c-format.cc:2682
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year"
 msgstr ""
 
-#: c-family/c-format.cc:2674
+#: c-family/c-format.cc:2709
 #, gcc-internal-format
 msgid "no closing %<]%> for %<%%[%> format"
 msgstr ""
 
-#: c-family/c-format.cc:2703
+#: c-family/c-format.cc:2738
 #, gcc-internal-format
 msgid ""
 "use of %qs length modifier with %qc type character has either no effect or "
 "undefined behavior"
 msgstr ""
 
-#: c-family/c-format.cc:2725
+#: c-family/c-format.cc:2760
 #, gcc-internal-format
 msgid "%s does not support the %<%%%s%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2763
+#: c-family/c-format.cc:2798
 #, gcc-internal-format
 msgid "operand number specified with suppressed assignment"
 msgstr ""
 
-#: c-family/c-format.cc:2767
+#: c-family/c-format.cc:2802
 #, gcc-internal-format
 msgid "operand number specified for format taking no argument"
 msgstr ""
 
-#: c-family/c-format.cc:3117
+#: c-family/c-format.cc:3152
 #, gcc-internal-format
 msgid "unquoted type name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3119
+#: c-family/c-format.cc:3154
 #, gcc-internal-format
 msgid "unquoted operator %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3120
+#: c-family/c-format.cc:3155
 #, gcc-internal-format
 msgid "unquoted keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3123
+#: c-family/c-format.cc:3158
 #, gcc-internal-format
 msgid "use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3175
+#: c-family/c-format.cc:3210
 #, gcc-internal-format
 msgid "unquoted attribute in format"
 msgstr ""
 
-#: c-family/c-format.cc:3188
+#: c-family/c-format.cc:3223
 #, gcc-internal-format
 msgid "unquoted name of built-in function %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3202
+#: c-family/c-format.cc:3237
 #, gcc-internal-format
 msgid "unquoted identifier or keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3236
+#: c-family/c-format.cc:3271
 #, gcc-internal-format
 msgid "misspelled term %<%.*s%> in format; use %<%s%s%> instead"
 msgstr ""
 
-#: c-family/c-format.cc:3280
+#: c-family/c-format.cc:3315
 #, gcc-internal-format
 msgid "quoted %qs directive in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3287 c-family/c-format.cc:3558
+#: c-family/c-format.cc:3322 c-family/c-format.cc:3593
 #, gcc-internal-format
 msgid "contraction %<%.*s%> in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3327
+#: c-family/c-format.cc:3362
 #, gcc-internal-format
 msgid "unquoted whitespace character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3340
+#: c-family/c-format.cc:3375
 #, gcc-internal-format
 msgid "spurious trailing space in format"
 msgstr ""
 
-#: c-family/c-format.cc:3361
+#: c-family/c-format.cc:3396
 #, gcc-internal-format
 msgid "inconsistent capitalization in format"
 msgstr ""
 
-#: c-family/c-format.cc:3368
+#: c-family/c-format.cc:3403
 #, gcc-internal-format, gfc-internal-format
 msgid "unquoted sequence of %i consecutive space characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3388
+#: c-family/c-format.cc:3423
 #, gcc-internal-format
 msgid "unquoted control characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3395
+#: c-family/c-format.cc:3430
 #, gcc-internal-format
 msgid "unquoted control character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3453
+#: c-family/c-format.cc:3488
 #, gcc-internal-format
 msgid "unquoted option name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3513
+#: c-family/c-format.cc:3548
 #, gcc-internal-format
 msgid "unbalanced punctuation character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3532
+#: c-family/c-format.cc:3567
 #, gcc-internal-format
 msgid "unquoted preprocessing directive %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3568
+#: c-family/c-format.cc:3603
 #, gcc-internal-format
 msgid "bare apostrophe %<'%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3570
+#: c-family/c-format.cc:3605
 #, gcc-internal-format
 msgid ""
 "if avoiding the apostrophe is not feasible, enclose it in a pair of %qs and "
 "%qs directives instead"
 msgstr ""
 
-#: c-family/c-format.cc:3582
+#: c-family/c-format.cc:3617
 #, gcc-internal-format
 msgid "grave accent %<`%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3584
+#: c-family/c-format.cc:3619
 #, gcc-internal-format
 msgid "use the apostrophe directive %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3596
+#: c-family/c-format.cc:3631
 #, gcc-internal-format
 msgid "space followed by punctuation character %<%c%>"
 msgstr ""
 
-#: c-family/c-format.cc:3607
+#: c-family/c-format.cc:3642
 #, gcc-internal-format
 msgid "quoted %qs directive in format"
 msgstr ""
 
-#: c-family/c-format.cc:3609
+#: c-family/c-format.cc:3644
 #, gcc-internal-format
 msgid "if using %qs is not feasible, use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3638
+#: c-family/c-format.cc:3673
 #, gcc-internal-format
 msgid "spurious leading punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3678
+#: c-family/c-format.cc:3713
 #, gcc-internal-format
 msgid "spurious trailing punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3695
+#: c-family/c-format.cc:3730
 #, gcc-internal-format
 msgid ""
 "unquoted sequence of %i consecutive punctuation characters %q.*s in format"
 msgstr ""
 
-#: c-family/c-format.cc:3715
+#: c-family/c-format.cc:3750
 #, gcc-internal-format
 msgid "unquoted non-graph characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3722
+#: c-family/c-format.cc:3757
 #, gcc-internal-format
 msgid "unquoted non-graph character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3754
+#: c-family/c-format.cc:3789
 #, gcc-internal-format
 msgid "unbalanced punctuation character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3761
+#: c-family/c-format.cc:3796
 #, gcc-internal-format
 msgid "unterminated quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3770
+#: c-family/c-format.cc:3805
 #, gcc-internal-format
 msgid "unterminated quote character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3840
+#: c-family/c-format.cc:3875
 #, gcc-internal-format
 msgid "spurious trailing %<%%%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3900
+#: c-family/c-format.cc:3935
 #, gcc-internal-format
 msgid "conversion lacks type at end of format"
 msgstr ""
 
-#: c-family/c-format.cc:3929
+#: c-family/c-format.cc:3964
 #, gcc-internal-format
 msgid "nested quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3940
+#: c-family/c-format.cc:3975
 #, gcc-internal-format
 msgid "unmatched quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3955
+#: c-family/c-format.cc:3990
 #, gcc-internal-format
 msgid "%qc directive redundant after prior occurence of the same"
 msgstr ""
 
-#: c-family/c-format.cc:3961
+#: c-family/c-format.cc:3996
 #, gcc-internal-format
 msgid "unmatched color reset directive"
 msgstr ""
 
-#: c-family/c-format.cc:3973
+#: c-family/c-format.cc:4008
 #, gcc-internal-format
 msgid "%qc conversion used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:4013
+#: c-family/c-format.cc:4048
 #, gcc-internal-format
 msgid "embedded %<\\0%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:4029
+#: c-family/c-format.cc:4064
 #, gcc-internal-format
 msgid "unterminated color directive"
 msgstr ""
 
-#: c-family/c-format.cc:4151
+#: c-family/c-format.cc:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "writing through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4162
+#: c-family/c-format.cc:4197
 #, gcc-internal-format, gfc-internal-format
 msgid "reading through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4182
+#: c-family/c-format.cc:4217
 #, gcc-internal-format, gfc-internal-format
 msgid "writing into constant object (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4194
+#: c-family/c-format.cc:4229
 #, gcc-internal-format, gfc-internal-format
 msgid "extra type qualifiers in format argument (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4735
+#: c-family/c-format.cc:4771
 #, gcc-internal-format
 msgid ""
 "%s %<%s%.*s%> expects argument of type %<%s%s%>, but argument %d has type %qT"
 msgstr ""
 
-#: c-family/c-format.cc:4744
+#: c-family/c-format.cc:4780
 #, gcc-internal-format
 msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument"
 msgstr ""
 
-#: c-family/c-format.cc:4754
+#: c-family/c-format.cc:4790
 #, gcc-internal-format
 msgid ""
 "%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT"
 msgstr ""
 
-#: c-family/c-format.cc:4763
+#: c-family/c-format.cc:4799
 #, gcc-internal-format
 msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument"
 msgstr ""
 
-#: c-family/c-format.cc:4825 c-family/c-format.cc:4831
-#: c-family/c-format.cc:4885
+#: c-family/c-format.cc:4861 c-family/c-format.cc:4867
+#: c-family/c-format.cc:4921
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:4838 c-family/c-format.cc:4895
+#: c-family/c-format.cc:4874 c-family/c-format.cc:4931
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
 msgstr ""
 
-#: c-family/c-format.cc:4947
+#: c-family/c-format.cc:4983
 #, gcc-internal-format
 msgid "%<locus%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:4991
+#: c-family/c-format.cc:5027
 #, gcc-internal-format
 msgid "%qs is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5017
+#: c-family/c-format.cc:5053
 #, gcc-internal-format
 msgid "%<location_t%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5034
+#: c-family/c-format.cc:5070
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5040
+#: c-family/c-format.cc:5076
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a pointer type"
 msgstr ""
 
-#: c-family/c-format.cc:5220
+#: c-family/c-format.cc:5259
 #, gcc-internal-format
 msgid "argument to be formatted is not %<...%>"
 msgstr ""
 
-#: c-family/c-format.cc:5232
+#: c-family/c-format.cc:5271
 #, gcc-internal-format
 msgid "strftime formats cannot format arguments"
 msgstr ""
 
-#: c-family/c-indentation.cc:318
+#: c-family/c-indentation.cc:321
 #, gcc-internal-format
 msgid ""
 "%<-Wmisleading-indentation%> is disabled from this point onwards, since "
 "column-tracking was disabled due to the size of the code/headers"
 msgstr ""
 
-#: c-family/c-indentation.cc:323
+#: c-family/c-indentation.cc:326
 #, gcc-internal-format
 msgid ""
 "adding %<-flarge-source-files%> will allow for more column-tracking support, "
 "at the expense of compilation time and memory"
 msgstr ""
 
-#: c-family/c-indentation.cc:651
+#: c-family/c-indentation.cc:661
 #, gcc-internal-format
 msgid "this %qs clause does not guard..."
 msgstr ""
 
-#: c-family/c-indentation.cc:654
+#: c-family/c-indentation.cc:664
 #, gcc-internal-format
 msgid ""
 "...this statement, but the latter is misleadingly indented as if it were "
 "guarded by the %qs"
 msgstr ""
 
-#: c-family/c-lex.cc:226
+#: c-family/c-lex.cc:228
 #, gcc-internal-format
 msgid "badly nested C headers from preprocessor"
 msgstr ""
 
-#: c-family/c-lex.cc:261
+#: c-family/c-lex.cc:267
 #, gcc-internal-format
 msgid "ignoring %<#pragma %s %s%>"
 msgstr ""
 
 #. ... or not.
-#: c-family/c-lex.cc:606 c-family/c-lex.cc:1363
+#: c-family/c-lex.cc:663 c-family/c-lex.cc:1602
 #, gcc-internal-format
 msgid "stray %<@%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:621
+#: c-family/c-lex.cc:678
 #, gcc-internal-format
 msgid "stray %qs in program"
 msgstr ""
 
-#: c-family/c-lex.cc:631
+#: c-family/c-lex.cc:688
 #, gcc-internal-format, gfc-internal-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: c-family/c-lex.cc:633
+#: c-family/c-lex.cc:690
 #, gcc-internal-format
 msgid "stray %qc in program"
 msgstr ""
 
-#: c-family/c-lex.cc:638
+#: c-family/c-lex.cc:695
 #, gcc-internal-format
 msgid "stray %<\\%o%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:856
+#: c-family/c-lex.cc:1014
+#, gcc-internal-format
+msgid "integer constant is too large for %<unsigned _BitInt(%d)%> type"
+msgstr ""
+
+#: c-family/c-lex.cc:1017
+#, gcc-internal-format
+msgid "integer constant is too large for %<_BitInt(%d)%> type"
+msgstr ""
+
+#: c-family/c-lex.cc:1025 c/c-decl.cc:12651
+#, gcc-internal-format
+msgid "%<_BitInt(%d)%> is not supported on this target"
+msgstr ""
+
+#: c-family/c-lex.cc:1077
 #, gcc-internal-format
 msgid "this decimal constant is unsigned only in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:860
+#: c-family/c-lex.cc:1081
 #, gcc-internal-format
 msgid "this decimal constant would be unsigned in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:888
+#: c-family/c-lex.cc:1109
 #, gcc-internal-format
 msgid "integer constant is too large for %<unsigned long%> type"
 msgstr ""
 
-#: c-family/c-lex.cc:928
+#: c-family/c-lex.cc:1149
 #, gcc-internal-format
 msgid "unsuffixed floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:942
+#: c-family/c-lex.cc:1163
 #, gcc-internal-format
 msgid "decimal floating-point not supported for this target"
 msgstr ""
 
-#: c-family/c-lex.cc:965 c-family/c-lex.cc:993 c-family/c-lex.cc:1013
+#: c-family/c-lex.cc:1186 c-family/c-lex.cc:1214 c-family/c-lex.cc:1252
 #, gcc-internal-format
 msgid "unsupported non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:970 c-family/c-lex.cc:1006 c-family/c-lex.cc:1018
+#: c-family/c-lex.cc:1191 c-family/c-lex.cc:1245 c-family/c-lex.cc:1257
 #, gcc-internal-format
 msgid "non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:1000
+#: c-family/c-lex.cc:1223 c-family/c-lex.cc:1227 c-family/c-lex.cc:1232
+#, gcc-internal-format
+msgid "non-standard suffix on floating constant before C23"
+msgstr ""
+
+#: c-family/c-lex.cc:1239
 #, gcc-internal-format
 msgid ""
 "%<f%d%> or %<F%d%> suffix on floating constant only available with %<-std=c+"
 "+2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: c-family/c-lex.cc:1021
+#: c-family/c-lex.cc:1260
 #, gcc-internal-format
 msgid ""
 "%<bf16%> or %<BF16%> suffix on floating constant only available with %<-"
 "std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: c-family/c-lex.cc:1101 c-family/c-lex.cc:1104
+#: c-family/c-lex.cc:1340 c-family/c-lex.cc:1343
 #, gcc-internal-format
 msgid "floating constant exceeds range of %qT"
 msgstr ""
 
-#: c-family/c-lex.cc:1119
+#: c-family/c-lex.cc:1358
 #, gcc-internal-format
 msgid "floating constant truncated to zero"
 msgstr ""
 
-#: c-family/c-lex.cc:1320
+#: c-family/c-lex.cc:1559
 #, gcc-internal-format
 msgid "repeated %<@%> before Objective-C string"
 msgstr ""
 
-#: c-family/c-lex.cc:1339 c/c-parser.cc:7927
+#: c-family/c-lex.cc:1578 c/c-parser.cc:8928
 #, gcc-internal-format
 msgid "unsupported non-standard concatenation of string literals"
 msgstr ""
 
-#: c-family/c-lex.cc:1375 c/c-parser.cc:7948
+#: c-family/c-lex.cc:1614 c/c-parser.cc:8949
 #, gcc-internal-format
 msgid "traditional C rejects string constant concatenation"
 msgstr ""
 
-#: c-family/c-omp.cc:130 cp/pt.cc:19562
+#: c-family/c-omp.cc:131 cp/pt.cc:19120
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp critical%> with %<hint%> clause requires a name, except when "
 "%<omp_sync_hint_none%> is used"
 msgstr ""
 
-#: c-family/c-omp.cc:240
+#: c-family/c-omp.cc:241
 #, gcc-internal-format
 msgid "invalid expression type for %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-family/c-omp.cc:245
+#: c-family/c-omp.cc:246
 #, gcc-internal-format
 msgid "%<_Atomic%> expression in %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-family/c-omp.cc:250
+#: c-family/c-omp.cc:251
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic compare capture%> with non-integral comparison result"
 msgstr ""
 
-#: c-family/c-omp.cc:539
+#: 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:542 c-family/c-omp.cc:580
+#: 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:698
+#: c-family/c-omp.cc:699
 #, gcc-internal-format
 msgid "type of %<depobj%> expression is not %<omp_depend_t%>"
 msgstr ""
 
-#: c-family/c-omp.cc:704
+#: c-family/c-omp.cc:705
 #, gcc-internal-format
 msgid "%<const%> qualified %<depobj%> expression"
 msgstr ""
 
-#: c-family/c-omp.cc:729
+#: c-family/c-omp.cc:730
 #, gcc-internal-format
 msgid "more than one locator in %<depend%> clause on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:735
+#: c-family/c-omp.cc:736
 #, gcc-internal-format
 msgid ""
 "%<depobj%> dependence type specified in %<depend%> clause on %<depobj%> "
 "construct"
 msgstr ""
 
-#: c-family/c-omp.cc:751
+#: c-family/c-omp.cc:752
 #, gcc-internal-format
 msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:968 cp/semantics.cc:10700
+#: c-family/c-omp.cc:969 cp/semantics.cc:10852
 #, gcc-internal-format
 msgid "invalid type for iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:973
+#: c-family/c-omp.cc:974
 #, gcc-internal-format
 msgid "%<_Atomic%> iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:989
+#: c-family/c-omp.cc:990
 #, gcc-internal-format
 msgid "%qE is not initialized"
 msgstr ""
 
-#: c-family/c-omp.cc:1010 cp/semantics.cc:10589
+#: c-family/c-omp.cc:1011 cp/semantics.cc:10744
 #, gcc-internal-format
 msgid "missing controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1116 cp/semantics.cc:10205
+#: c-family/c-omp.cc:1117 cp/semantics.cc:10340
 #, gcc-internal-format
 msgid "invalid controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1123 cp/semantics.cc:10595
+#: c-family/c-omp.cc:1124 cp/semantics.cc:10750
 #, gcc-internal-format
 msgid "missing increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1223 c-family/c-omp.cc:1241
+#: c-family/c-omp.cc:1224 c-family/c-omp.cc:1242
 #, gcc-internal-format
 msgid "increment is not constant 1 or -1 for %<!=%> condition"
 msgstr ""
 
-#: c-family/c-omp.cc:1254 cp/semantics.cc:10322
+#: c-family/c-omp.cc:1255 cp/semantics.cc:10457
 #, gcc-internal-format
 msgid "invalid increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1352
+#: c-family/c-omp.cc:1353
 #, gcc-internal-format
 msgid "initializer expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1356
+#: c-family/c-omp.cc:1357
 #, gcc-internal-format
 msgid "condition expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1360
+#: c-family/c-omp.cc:1361
 #, gcc-internal-format
 msgid "increment expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1538
+#: c-family/c-omp.cc:1539
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in initializer expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1542
+#: c-family/c-omp.cc:1543
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in condition expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1549
+#: c-family/c-omp.cc:1550
 #, gcc-internal-format
 msgid "outer iteration variable %qD multiplier expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1555
+#: c-family/c-omp.cc:1556
 #, gcc-internal-format
 msgid "outer iteration variable %qD addend expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1620 c-family/c-omp.cc:1705
+#: c-family/c-omp.cc:1621 c-family/c-omp.cc:1706
 #, gcc-internal-format
 msgid "the same loop iteration variables %qD used in multiple associated loops"
 msgstr ""
 
-#: c-family/c-omp.cc:1655
+#: c-family/c-omp.cc:1656
 #, gcc-internal-format
 msgid ""
 "two different outer iteration variables %qD and %qD used in a single loop"
 msgstr ""
 
-#: c-family/c-omp.cc:2258
+#: c-family/c-omp.cc:1810
+#, gcc-internal-format
+msgid "variable %qD used %s is bound in intervening code"
+msgstr ""
+
+#: c-family/c-omp.cc:2409
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct combined with %<simd%> or "
 "%<loop%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2269
+#: c-family/c-omp.cc:2420
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct not combined with "
 "%<parallel%>, %<for%> or %<sections%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2282
+#: c-family/c-omp.cc:2433
 #, 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:2755 c/c-typeck.cc:16134 cp/semantics.cc:9310
+#: c-family/c-omp.cc:2920 c/c-typeck.cc:16316 cp/semantics.cc:9444
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<allocate%> clause but not in an explicit privatization "
 "clause"
 msgstr ""
 
-#: c-family/c-omp.cc:2847 c-family/c-omp.cc:2862
+#: c-family/c-omp.cc:3012 c-family/c-omp.cc:3027
 #, gcc-internal-format
 msgid "%qD is not a function argument"
 msgstr ""
 
-#: c-family/c-opts.cc:339
+#: c-family/c-omp.cc:3308 c/c-typeck.cc:15464 cp/semantics.cc:8183
+#, gcc-internal-format
+msgid "bit-field %qE in %qs clause"
+msgstr ""
+
+#: c-family/c-omp.cc:3316
+#, gcc-internal-format
+msgid "%qE does not have a mappable type in %qs clause"
+msgstr ""
+
+#: c-family/c-omp.cc:3324 c/c-typeck.cc:13874 c/c-typeck.cc:15553
+#: c/c-typeck.cc:15741
+#, gcc-internal-format
+msgid "%<_Atomic%> %qE in %qs clause"
+msgstr ""
+
+#: c-family/c-omp.cc:3349
+#, gcc-internal-format
+msgid "%qE is a member of a union"
+msgstr ""
+
+#: c-family/c-opts.cc:343
 #, gcc-internal-format
 msgid "%<-I-%> specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:342
+#: c-family/c-opts.cc:346
 #, gcc-internal-format
 msgid "obsolete option %<-I-%> used, please use %<-iquote%> instead"
 msgstr ""
 
-#: c-family/c-opts.cc:433
+#: c-family/c-opts.cc:373
+#, gcc-internal-format
+msgid "%<-fdeps-format=%> unknown format %<%s%>"
+msgstr ""
+
+#: c-family/c-opts.cc:455
 #, gcc-internal-format
 msgid "%<-Wabi=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:620 fortran/cpp.cc:370
+#: c-family/c-opts.cc:642 fortran/cpp.cc:370
 #, gcc-internal-format
 msgid "output filename specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:859
+#: c-family/c-opts.cc:895
 #, gcc-internal-format
 msgid "%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode"
 msgstr ""
 
-#: c-family/c-opts.cc:905
+#: c-family/c-opts.cc:941
 #, gcc-internal-format
 msgid "%<-Wformat-y2k%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:907
+#: c-family/c-opts.cc:943
 #, gcc-internal-format
 msgid "%<-Wformat-extra-args%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:909
+#: c-family/c-opts.cc:945
 #, gcc-internal-format
 msgid "%<-Wformat-zero-length%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:911
+#: c-family/c-opts.cc:947
 #, gcc-internal-format
 msgid "%<-Wformat-nonliteral%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:913
+#: c-family/c-opts.cc:949
 #, gcc-internal-format
 msgid "%<-Wformat-contains-nul%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:915
+#: c-family/c-opts.cc:951
 #, gcc-internal-format
 msgid "%<-Wformat-security%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:971
+#: c-family/c-opts.cc:1012
 #, gcc-internal-format
 msgid "%<-fabi-compat-version=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:998
+#: c-family/c-opts.cc:1039
 #, gcc-internal-format
 msgid "%<-Wabi%> won%'t warn about anything"
 msgstr ""
 
-#: c-family/c-opts.cc:1000
+#: c-family/c-opts.cc:1041
 #, 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:1003
+#: c-family/c-opts.cc:1044
 #, gcc-internal-format
 msgid "use e.g. %<-Wabi=11%> to warn about changes from GCC 7"
 msgstr ""
 
-#: c-family/c-opts.cc:1086
+#: c-family/c-opts.cc:1127
 #, gcc-internal-format
 msgid "external TLS initialization functions not supported on this target"
 msgstr ""
 
-#: c-family/c-opts.cc:1107
+#: c-family/c-opts.cc:1149
+#, gcc-internal-format
+msgid ""
+"%<-fconcepts-ts%> is deprecated and will be removed in GCC 15; please "
+"convert your code to C++20 concepts"
+msgstr ""
+
+#: c-family/c-opts.cc:1158
 #, gcc-internal-format
 msgid "too many filenames given; type %<%s %s%> for usage"
 msgstr ""
 
-#: c-family/c-opts.cc:1121
+#: c-family/c-opts.cc:1172
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1139
+#: c-family/c-opts.cc:1190
 #, gcc-internal-format
 msgid "the %qs debug info cannot be used with pre-compiled headers"
 msgstr ""
 
-#: c-family/c-opts.cc:1300 d/d-lang.cc:1280
+#: c-family/c-opts.cc:1356 c-family/c-opts.cc:1377
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1317 d/d-lang.cc:1293
+#: c-family/c-opts.cc:1381
+#, gcc-internal-format
+msgid "%<-MF%> and %<-fdeps-file=%> cannot share an output file %s: %m"
+msgstr ""
+
+#: c-family/c-opts.cc:1391
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1320
+#: c-family/c-opts.cc:1394
 #, gcc-internal-format
 msgid "when writing output to %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1396
+#: c-family/c-opts.cc:1472
 #, gcc-internal-format
 msgid "to generate dependencies you must specify either %<-M%> or %<-MM%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1420
+#: c-family/c-opts.cc:1496
 #, gcc-internal-format
 msgid "%<-MG%> may only be used with %<-M%> or %<-MM%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1453
+#: c-family/c-opts.cc:1529
 #, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-Wunused-macros%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1456
+#: c-family/c-opts.cc:1532
 #, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-traditional%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1654
+#: c-family/c-opts.cc:1634
+#, gcc-internal-format
+msgid ""
+"%<_FORTIFY_SOURCE%> is not enabled by %<-fhardened%> because optimizations "
+"are turned off"
+msgstr ""
+
+#: c-family/c-opts.cc:1638
+#, gcc-internal-format
+msgid ""
+"%<_FORTIFY_SOURCE%> is not enabled by %<-fhardened%> because it was "
+"specified in %<-D%> or %<-U%>"
+msgstr ""
+
+#: c-family/c-opts.cc:1644
+#, gcc-internal-format
+msgid ""
+"%<_GLIBCXX_ASSERTIONS%> is not enabled by %<-fhardened%> because it was "
+"specified in %<-D%> or %<-U%>"
+msgstr ""
+
+#: c-family/c-opts.cc:1768
 #, gcc-internal-format
 msgid "too late for # directive to set debug directory"
 msgstr ""
@@ -37104,27 +38094,27 @@ msgstr ""
 msgid "cannot write %s: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:392
+#: c-family/c-pch.cc:398
 #, gcc-internal-format
 msgid "%<pch_preprocess%> pragma should only be used with %<-fpreprocessed%>"
 msgstr ""
 
-#: c-family/c-pch.cc:394
+#: c-family/c-pch.cc:400
 #, gcc-internal-format
 msgid "use %<#include%> instead"
 msgstr ""
 
-#: c-family/c-pch.cc:400
+#: c-family/c-pch.cc:406
 #, gcc-internal-format
 msgid "%s: couldn%'t open PCH file: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:405
+#: c-family/c-pch.cc:411
 #, gcc-internal-format
 msgid "use %<-Winvalid-pch%> for more information"
 msgstr ""
 
-#: c-family/c-pch.cc:406
+#: c-family/c-pch.cc:412
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: PCH file was invalid"
 msgstr ""
@@ -37299,217 +38289,217 @@ msgstr ""
 msgid "junk at end of %<#pragma GCC visibility%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:928
+#: c-family/c-pragma.cc:885
 #, gcc-internal-format
 msgid ""
 "missing %<error%>, %<warning%>, %<ignored%>, %<push%>, %<pop%>, or "
 "%<ignored_attributes%> after %<#pragma GCC diagnostic%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:952
+#: c-family/c-pragma.cc:909
 #, gcc-internal-format
 msgid ""
 "missing attribute name after %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:961
+#: c-family/c-pragma.cc:918
 #, gcc-internal-format
 msgid "missing argument to %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:969
+#: c-family/c-pragma.cc:926
 #, gcc-internal-format
 msgid ""
 "trailing %<,%> in arguments for %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:987
+#: c-family/c-pragma.cc:944
 #, gcc-internal-format
 msgid "missing option after %<#pragma GCC diagnostic%> kind"
 msgstr ""
 
-#: c-family/c-pragma.cc:995
+#: c-family/c-pragma.cc:952
 #, gcc-internal-format
 msgid ""
 "expected %<error%>, %<warning%>, %<ignored%>, %<push%>, %<pop%>, "
 "%<ignored_attributes%> after %<#pragma GCC diagnostic%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1018
+#: c-family/c-pragma.cc:976
 #, gcc-internal-format
 msgid "unknown option after %<#pragma GCC diagnostic%> kind"
 msgstr ""
 
-#: c-family/c-pragma.cc:1023
+#: c-family/c-pragma.cc:981
 #, gcc-internal-format
 msgid "did you mean %<-%s%>?"
 msgstr ""
 
-#: c-family/c-pragma.cc:1032
+#: c-family/c-pragma.cc:990
 #, gcc-internal-format
 msgid "%qs is not an option that controls warnings"
 msgstr ""
 
-#: c-family/c-pragma.cc:1043
+#: c-family/c-pragma.cc:1001
 #, gcc-internal-format
 msgid "option %qs is valid for %s but not for %s"
 msgstr ""
 
-#: c-family/c-pragma.cc:1096
+#: c-family/c-pragma.cc:1054
 #, gcc-internal-format
 msgid "%<#pragma GCC option%> is not allowed inside functions"
 msgstr ""
 
-#: c-family/c-pragma.cc:1108
+#: c-family/c-pragma.cc:1066
 #, gcc-internal-format
 msgid "%<#pragma GCC option%> is not a string"
 msgstr ""
 
-#: c-family/c-pragma.cc:1133
+#: c-family/c-pragma.cc:1091
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1139
+#: c-family/c-pragma.cc:1097
 #, gcc-internal-format
 msgid "%<#pragma GCC target%> string is badly formed"
 msgstr ""
 
-#: c-family/c-pragma.cc:1168
+#: c-family/c-pragma.cc:1126
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> is not allowed inside functions"
 msgstr ""
 
-#: c-family/c-pragma.cc:1180
+#: c-family/c-pragma.cc:1138
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> is not a string or number"
 msgstr ""
 
-#: c-family/c-pragma.cc:1204
+#: c-family/c-pragma.cc:1162
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1210
+#: c-family/c-pragma.cc:1168
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> string is badly formed"
 msgstr ""
 
-#: c-family/c-pragma.cc:1253
+#: c-family/c-pragma.cc:1211
 #, gcc-internal-format
-msgid "junk at end of %<#pragma push_options%>"
+msgid "junk at end of %<#pragma GCC push_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1290
+#: c-family/c-pragma.cc:1248
 #, gcc-internal-format
-msgid "junk at end of %<#pragma pop_options%>"
+msgid "junk at end of %<#pragma GCC pop_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1297
+#: c-family/c-pragma.cc:1255
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC "
 "push_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1348
+#: c-family/c-pragma.cc:1329
 #, gcc-internal-format
 msgid "junk at end of %<#pragma reset_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1387 c-family/c-pragma.cc:1397
+#: c-family/c-pragma.cc:1350 c-family/c-pragma.cc:1360
 #, gcc-internal-format
 msgid "expected a string after %<#pragma message%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1389
+#: c-family/c-pragma.cc:1352
 #, gcc-internal-format
 msgid "malformed %<#pragma message%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1394 cp/parser.cc:4452 cp/parser.cc:4548
+#: c-family/c-pragma.cc:1357 cp/parser.cc:4583 cp/parser.cc:4679
 #, gcc-internal-format
 msgid "string literal with user-defined suffix is invalid in this context"
 msgstr ""
 
-#: c-family/c-pragma.cc:1402
+#: c-family/c-pragma.cc:1365
 #, gcc-internal-format
 msgid "junk at end of %<#pragma message%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1405
+#: c-family/c-pragma.cc:1368
 #, gcc-internal-format
 msgid "%<#pragma message: %s%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1449
+#: c-family/c-pragma.cc:1412
 #, gcc-internal-format
 msgid "invalid location for %<pragma %s%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1456 c-family/c-pragma.cc:1470
+#: c-family/c-pragma.cc:1419 c-family/c-pragma.cc:1433
 #, gcc-internal-format
 msgid "malformed %<#pragma %s%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1476 cp/lex.cc:603
+#: c-family/c-pragma.cc:1439 cp/lex.cc:637
 #, gcc-internal-format
 msgid "junk at end of %<#pragma %s%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1494
+#: c-family/c-pragma.cc:1457
 #, gcc-internal-format
 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++"
 msgstr ""
 
-#: c-family/c-pragma.cc:1503
+#: c-family/c-pragma.cc:1466
 #, gcc-internal-format
 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target"
 msgstr ""
 
-#: c-family/c-pragma.cc:1509
+#: c-family/c-pragma.cc:1472
 #, gcc-internal-format
 msgid "ISO C does not support %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:341
+#: c-family/c-pretty-print.cc:344
 #, gcc-internal-format
 msgid "<type-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:384
+#: c-family/c-pretty-print.cc:387
 #, gcc-internal-format
 msgid "<unnamed-unsigned:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:388
+#: c-family/c-pretty-print.cc:391
 #, gcc-internal-format
 msgid "<unnamed-float:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:391
+#: c-family/c-pretty-print.cc:394
 #, gcc-internal-format
 msgid "<unnamed-fixed:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:406
+#: c-family/c-pretty-print.cc:426
 #, gcc-internal-format
 msgid "<typedef-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:421
+#: c-family/c-pretty-print.cc:441
 #, gcc-internal-format
 msgid "<tag-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1327
+#: c-family/c-pretty-print.cc:1360
 #, gcc-internal-format
 msgid "<erroneous-expression>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1331 cp/cxx-pretty-print.cc:133
+#: c-family/c-pretty-print.cc:1364 cp/cxx-pretty-print.cc:133
 #, gcc-internal-format
 msgid "<return-value>"
 msgstr ""
@@ -37519,9 +38509,9 @@ msgstr ""
 msgid "wrong type argument to %s"
 msgstr ""
 
-#: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3408
-#: cp/constexpr.cc:7014 m2/gm2-gcc/m2expr.cc:935
-#: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327
+#: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3590
+#: cp/constexpr.cc:7356 m2/gm2-gcc/m2expr.cc:956
+#: rust/backend/rust-constexpr.cc:1908 rust/backend/rust-constexpr.cc:4331
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -37818,12 +38808,12 @@ msgstr ""
 msgid "conversion to %qT from boolean expression"
 msgstr ""
 
-#: c-family/c-warn.cc:1235 c-family/c-warn.cc:1439
+#: c-family/c-warn.cc:1235 c-family/c-warn.cc:1440
 #, gcc-internal-format
 msgid "unsigned conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1240 c-family/c-warn.cc:1447
+#: c-family/c-warn.cc:1240 c-family/c-warn.cc:1448
 #, gcc-internal-format
 msgid "unsigned conversion from %qT to %qT changes the value of %qE"
 msgstr ""
@@ -37838,12 +38828,12 @@ msgstr ""
 msgid "signed conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1260 c-family/c-warn.cc:1437
+#: c-family/c-warn.cc:1260 c-family/c-warn.cc:1438
 #, gcc-internal-format
 msgid "conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1264 c-family/c-warn.cc:1445
+#: c-family/c-warn.cc:1264 c-family/c-warn.cc:1446
 #, gcc-internal-format
 msgid "conversion from %qT to %qT changes the value of %qE"
 msgstr ""
@@ -37863,559 +38853,569 @@ msgstr ""
 msgid "conversion from %qT to %qT may change value"
 msgstr ""
 
-#: c-family/c-warn.cc:1458 c-family/c-warn.cc:1475 c-family/c-warn.cc:1492
+#: c-family/c-warn.cc:1459 c-family/c-warn.cc:1477 c-family/c-warn.cc:1494
 #, gcc-internal-format
 msgid "overflow in conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1463 c-family/c-warn.cc:1480 c-family/c-warn.cc:1497
+#: c-family/c-warn.cc:1464 c-family/c-warn.cc:1482 c-family/c-warn.cc:1499
 #, gcc-internal-format
 msgid "overflow in conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1527
+#: c-family/c-warn.cc:1531
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type"
 msgstr ""
 
-#: c-family/c-warn.cc:1532
+#: c-family/c-warn.cc:1536
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:1612
+#: c-family/c-warn.cc:1616
 #, gcc-internal-format
 msgid "lower value in case label range less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1626
+#: c-family/c-warn.cc:1630
 #, gcc-internal-format
 msgid "case label value is less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1643
+#: c-family/c-warn.cc:1647
 #, gcc-internal-format
 msgid "upper value in case label range exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1656
+#: c-family/c-warn.cc:1660
 #, gcc-internal-format
 msgid "case label value exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1669
+#: c-family/c-warn.cc:1673
 #, gcc-internal-format
 msgid "switch missing default case"
 msgstr ""
 
-#: c-family/c-warn.cc:1714
+#: c-family/c-warn.cc:1718
 #, gcc-internal-format
 msgid "switch condition has boolean value"
 msgstr ""
 
-#: c-family/c-warn.cc:1803
+#: c-family/c-warn.cc:1807
 #, gcc-internal-format
 msgid "enumeration value %qE not handled in switch"
 msgstr ""
 
-#: c-family/c-warn.cc:1831
+#: c-family/c-warn.cc:1835
 #, gcc-internal-format
 msgid ""
 "the omitted middle operand in %<?:%> will always be %<true%>, suggest "
 "explicit middle operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1853
+#: c-family/c-warn.cc:1857 rust/checks/errors/rust-readonly-check.cc:44
 #, gcc-internal-format
 msgid "assignment of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1855
+#: c-family/c-warn.cc:1859 rust/checks/errors/rust-readonly-check.cc:46
 #, gcc-internal-format
 msgid "increment of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1857
+#: c-family/c-warn.cc:1861 rust/checks/errors/rust-readonly-check.cc:48
 #, gcc-internal-format
 msgid "decrement of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1859
+#: c-family/c-warn.cc:1863 rust/checks/errors/rust-readonly-check.cc:50
 #, gcc-internal-format
 msgid "member %qD in read-only object used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1863
+#: c-family/c-warn.cc:1867 rust/checks/errors/rust-readonly-check.cc:56
 #, gcc-internal-format
 msgid "assignment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1864
+#: c-family/c-warn.cc:1868 rust/checks/errors/rust-readonly-check.cc:57
 #, gcc-internal-format
 msgid "increment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1865
+#: c-family/c-warn.cc:1869 rust/checks/errors/rust-readonly-check.cc:58
 #, gcc-internal-format
 msgid "decrement of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1866
+#: c-family/c-warn.cc:1870 rust/checks/errors/rust-readonly-check.cc:59
 #, gcc-internal-format
 msgid "read-only member %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1870
+#: c-family/c-warn.cc:1874 rust/checks/errors/rust-readonly-check.cc:64
 #, gcc-internal-format
 msgid "assignment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1871
+#: c-family/c-warn.cc:1875 rust/checks/errors/rust-readonly-check.cc:65
 #, gcc-internal-format
 msgid "increment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1872
+#: c-family/c-warn.cc:1876 rust/checks/errors/rust-readonly-check.cc:66
 #, gcc-internal-format
 msgid "decrement of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1873
+#: c-family/c-warn.cc:1877 rust/checks/errors/rust-readonly-check.cc:68
 #, gcc-internal-format
 msgid "read-only variable %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1876
+#: c-family/c-warn.cc:1880 rust/checks/errors/rust-readonly-check.cc:72
 #, gcc-internal-format
 msgid "assignment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1877
+#: c-family/c-warn.cc:1881 rust/checks/errors/rust-readonly-check.cc:73
 #, gcc-internal-format
 msgid "increment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1878
+#: c-family/c-warn.cc:1882 rust/checks/errors/rust-readonly-check.cc:74
 #, gcc-internal-format
 msgid "decrement of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1879
+#: c-family/c-warn.cc:1883 rust/checks/errors/rust-readonly-check.cc:76
 #, gcc-internal-format
 msgid "read-only parameter %qD use as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1884
+#: c-family/c-warn.cc:1888 rust/checks/errors/rust-readonly-check.cc:81
 #, gcc-internal-format
 msgid "assignment of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1886
+#: c-family/c-warn.cc:1890 rust/checks/errors/rust-readonly-check.cc:83
 #, gcc-internal-format
 msgid "increment of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1888
+#: c-family/c-warn.cc:1892 rust/checks/errors/rust-readonly-check.cc:85
 #, gcc-internal-format
 msgid "decrement of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1890
+#: c-family/c-warn.cc:1894 rust/checks/errors/rust-readonly-check.cc:87
 #, gcc-internal-format
 msgid "read-only named return value %qD used as %<asm%>output"
 msgstr ""
 
-#: c-family/c-warn.cc:1895
+#: c-family/c-warn.cc:1899 rust/checks/errors/rust-readonly-check.cc:93
 #, gcc-internal-format
 msgid "assignment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1896
+#: c-family/c-warn.cc:1900 rust/checks/errors/rust-readonly-check.cc:94
 #, gcc-internal-format
 msgid "increment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1897
+#: c-family/c-warn.cc:1901 rust/checks/errors/rust-readonly-check.cc:95
 #, gcc-internal-format
 msgid "decrement of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1898
+#: c-family/c-warn.cc:1902 rust/checks/errors/rust-readonly-check.cc:96
 #, gcc-internal-format
 msgid "function %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1901 c/c-typeck.cc:5104
+#: c-family/c-warn.cc:1905 c/c-typeck.cc:5213
+#: rust/checks/errors/rust-readonly-check.cc:100
 #, gcc-internal-format
 msgid "assignment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1902 c/c-typeck.cc:5107
+#: c-family/c-warn.cc:1906 c/c-typeck.cc:5216
+#: rust/checks/errors/rust-readonly-check.cc:101
 #, gcc-internal-format
 msgid "increment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1903 c/c-typeck.cc:5110
+#: c-family/c-warn.cc:1907 c/c-typeck.cc:5219
+#: rust/checks/errors/rust-readonly-check.cc:102
 #, gcc-internal-format
 msgid "decrement of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1904
+#: c-family/c-warn.cc:1908 rust/checks/errors/rust-readonly-check.cc:104
 #, gcc-internal-format
 msgid "read-only location %qE used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1918 rust/backend/rust-tree.cc:5931
+#: c-family/c-warn.cc:1922 rust/backend/rust-tree.cc:5983
 #, gcc-internal-format
 msgid "lvalue required as left operand of assignment"
 msgstr ""
 
-#: c-family/c-warn.cc:1921 rust/backend/rust-tree.cc:5934
+#: c-family/c-warn.cc:1925 rust/backend/rust-tree.cc:5986
 #, gcc-internal-format
 msgid "lvalue required as increment operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1924 rust/backend/rust-tree.cc:5937
+#: c-family/c-warn.cc:1928 rust/backend/rust-tree.cc:5989
 #, gcc-internal-format
 msgid "lvalue required as decrement operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1927 rust/backend/rust-tree.cc:5940
+#: c-family/c-warn.cc:1931 rust/backend/rust-tree.cc:5992
 #, gcc-internal-format
 msgid "lvalue required as unary %<&%> operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1930 rust/backend/rust-tree.cc:5943
+#: c-family/c-warn.cc:1934 rust/backend/rust-tree.cc:5995
 #, gcc-internal-format
 msgid "lvalue required in %<asm%> statement"
 msgstr ""
 
-#: c-family/c-warn.cc:1947
+#: c-family/c-warn.cc:1951
 #, gcc-internal-format
 msgid "invalid type argument (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1951
+#: c-family/c-warn.cc:1955
 #, gcc-internal-format
 msgid "invalid type argument of array indexing (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1956
+#: c-family/c-warn.cc:1960
 #, gcc-internal-format
 msgid "invalid type argument of unary %<*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1961
+#: c-family/c-warn.cc:1965
 #, gcc-internal-format
 msgid "invalid type argument of %<->%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1966
+#: c-family/c-warn.cc:1970
 #, gcc-internal-format
 msgid "invalid type argument of %<->*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1971
+#: c-family/c-warn.cc:1975
 #, gcc-internal-format
 msgid "invalid type argument of implicit conversion (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1998
+#: c-family/c-warn.cc:2002
 #, gcc-internal-format
 msgid "array subscript has type %<char%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2034 c-family/c-warn.cc:2037
+#: c-family/c-warn.cc:2038 c-family/c-warn.cc:2041
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<<<%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2040 c-family/c-warn.cc:2043
+#: c-family/c-warn.cc:2044 c-family/c-warn.cc:2047
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<<<%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2049 c-family/c-warn.cc:2052
+#: c-family/c-warn.cc:2053 c-family/c-warn.cc:2056
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2055 c-family/c-warn.cc:2058
+#: c-family/c-warn.cc:2059 c-family/c-warn.cc:2062
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2064 c-family/c-warn.cc:2067
+#: c-family/c-warn.cc:2068 c-family/c-warn.cc:2071
 #, gcc-internal-format
 msgid "suggest parentheses around %<&&%> within %<||%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2074 c-family/c-warn.cc:2078
+#: c-family/c-warn.cc:2078 c-family/c-warn.cc:2082
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2082 c-family/c-warn.cc:2085
+#: c-family/c-warn.cc:2086 c-family/c-warn.cc:2089
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2090
+#: c-family/c-warn.cc:2094
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<|%> to %<||%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2098 c-family/c-warn.cc:2102
+#: c-family/c-warn.cc:2102 c-family/c-warn.cc:2106
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2106 c-family/c-warn.cc:2109
+#: c-family/c-warn.cc:2110 c-family/c-warn.cc:2113
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2115 c-family/c-warn.cc:2118
+#: c-family/c-warn.cc:2119 c-family/c-warn.cc:2122
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2121 c-family/c-warn.cc:2124
+#: c-family/c-warn.cc:2125 c-family/c-warn.cc:2128
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2128 c-family/c-warn.cc:2131
+#: c-family/c-warn.cc:2132 c-family/c-warn.cc:2135
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2136
+#: c-family/c-warn.cc:2140
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<&%> to %<&&%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2143 c-family/c-warn.cc:2146
+#: c-family/c-warn.cc:2147 c-family/c-warn.cc:2150
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<==%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2151 c-family/c-warn.cc:2154
+#: c-family/c-warn.cc:2155 c-family/c-warn.cc:2158
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<!=%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2164 c-family/c-warn.cc:2170
+#: c-family/c-warn.cc:2168 c-family/c-warn.cc:2174
 #, gcc-internal-format
 msgid "comparisons like %<X<=Y<=Z%> do not have their mathematical meaning"
 msgstr ""
 
-#: c-family/c-warn.cc:2186
+#: c-family/c-warn.cc:2190
 #, gcc-internal-format
 msgid "label %q+D defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2188
+#: c-family/c-warn.cc:2192
 #, gcc-internal-format
 msgid "label %q+D declared but not defined"
 msgstr ""
 
-#: c-family/c-warn.cc:2211
+#: c-family/c-warn.cc:2215
 #, gcc-internal-format
 msgid "division by zero"
 msgstr ""
 
-#: c-family/c-warn.cc:2231
+#: c-family/c-warn.cc:2235
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with constant zero length parameter; this could be due to "
 "transposed parameters"
 msgstr ""
 
-#: c-family/c-warn.cc:2255
+#: c-family/c-warn.cc:2259
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with length equal to number of elements without "
 "multiplication by element size"
 msgstr ""
 
-#: c-family/c-warn.cc:2335
+#: c-family/c-warn.cc:2291
 #, gcc-internal-format
-msgid "comparison of integer expressions of different signedness: %qT and %qT"
+msgid ""
+"%qD sizes specified with %<sizeof%> in the earlier argument and not in the "
+"later argument"
+msgstr ""
+
+#: c-family/c-warn.cc:2293
+#, gcc-internal-format
+msgid ""
+"earlier argument should specify number of elements, later size of each "
+"element"
+msgstr ""
+
+#: c-family/c-warn.cc:2332
+#, gcc-internal-format
+msgid "allocation of insufficient size %qE for type %qT with size %qE"
 msgstr ""
 
 #: c-family/c-warn.cc:2409
 #, gcc-internal-format
+msgid "comparison of integer expressions of different signedness: %qT and %qT"
+msgstr ""
+
+#: c-family/c-warn.cc:2483
+#, gcc-internal-format
 msgid "promoted bitwise complement of an unsigned value is always nonzero"
 msgstr ""
 
-#: c-family/c-warn.cc:2413
+#: c-family/c-warn.cc:2487
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with constant"
 msgstr ""
 
-#: c-family/c-warn.cc:2424
+#: c-family/c-warn.cc:2498
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with unsigned"
 msgstr ""
 
-#: c-family/c-warn.cc:2479
+#: c-family/c-warn.cc:2553
 #, gcc-internal-format
 msgid "unused parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:2541
+#: c-family/c-warn.cc:2615
 #, gcc-internal-format
 msgid "typedef %qD locally defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2577
+#: c-family/c-warn.cc:2651
 #, gcc-internal-format
 msgid "duplicated %<if%> condition"
 msgstr ""
 
-#: c-family/c-warn.cc:2606
+#: c-family/c-warn.cc:2680
 #, gcc-internal-format
 msgid ""
 "optimization attribute on %qD follows definition but the attribute doesn%'t "
 "match"
 msgstr ""
 
-#: c-family/c-warn.cc:2614
+#: c-family/c-warn.cc:2688
 #, gcc-internal-format
 msgid ""
 "inline declaration of %qD follows declaration with attribute %<noinline%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2619
+#: c-family/c-warn.cc:2693
 #, gcc-internal-format
 msgid ""
 "declaration of %q+D with attribute %<noinline%> follows inline declaration"
 msgstr ""
 
-#: c-family/c-warn.cc:2673
+#: c-family/c-warn.cc:2747
 #, gcc-internal-format
 msgid "result of %qE requires %u bits to represent, but %qT only has %u bits"
 msgstr ""
 
-#: c-family/c-warn.cc:2712 c-family/c-warn.cc:2736
+#: c-family/c-warn.cc:2786 c-family/c-warn.cc:2810
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always false"
 msgstr ""
 
-#: c-family/c-warn.cc:2715 c-family/c-warn.cc:2733
+#: c-family/c-warn.cc:2789 c-family/c-warn.cc:2807
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always true"
 msgstr ""
 
-#: c-family/c-warn.cc:2783
+#: c-family/c-warn.cc:2857
 msgid "passing argument %i to %qs-qualified parameter aliases with argument %Z"
 msgid_plural ""
 "passing argument %i to %qs-qualified parameter aliases with arguments %Z"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:2849 c/c-typeck.cc:5698 cp/call.cc:6310
+#: c-family/c-warn.cc:2923 c/c-typeck.cc:5823 cp/call.cc:6362
 #, gcc-internal-format
 msgid "this condition has identical branches"
 msgstr ""
 
-#: c-family/c-warn.cc:2956
+#: c-family/c-warn.cc:3030
 #, gcc-internal-format
 msgid "macro expands to multiple statements"
 msgstr ""
 
-#: c-family/c-warn.cc:2957
+#: c-family/c-warn.cc:3031
 #, gcc-internal-format
 msgid "some parts of macro expansion are not guarded by this %qs clause"
 msgstr ""
 
-#: c-family/c-warn.cc:3054
-#, gcc-internal-format
-msgid ""
-"converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment "
-"%d) may result in an unaligned pointer value"
-msgstr ""
-
-#: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:665
-#, gcc-internal-format
-msgid "defined here"
-msgstr ""
-
-#: c-family/c-warn.cc:3151
+#: c-family/c-warn.cc:3171
 #, gcc-internal-format
 msgid ""
 "taking address of packed member of %qT may result in an unaligned pointer "
 "value"
 msgstr ""
 
-#: c-family/c-warn.cc:3379
+#: c-family/c-warn.cc:3397
 msgid "mismatch in bound %Z of argument %u declared as %s"
 msgid_plural "mismatch in bounds %Z of argument %u declared as %s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3382 c-family/c-warn.cc:3755
+#: c-family/c-warn.cc:3400 c-family/c-warn.cc:3759
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3516
+#: c-family/c-warn.cc:3534
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a variable length array"
 msgstr ""
 
-#: c-family/c-warn.cc:3521
+#: c-family/c-warn.cc:3539
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a pointer %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3522
+#: c-family/c-warn.cc:3540
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an ordinary array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3535 c-family/c-warn.cc:3549
+#: c-family/c-warn.cc:3553 c-family/c-warn.cc:3567
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a pointer"
 msgstr ""
 
-#: c-family/c-warn.cc:3539 c-family/c-warn.cc:3565
+#: c-family/c-warn.cc:3557 c-family/c-warn.cc:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a variable length array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3552
+#: c-family/c-warn.cc:3570
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3561
+#: c-family/c-warn.cc:3579
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as an ordinary array"
 msgstr ""
 
-#: c-family/c-warn.cc:3589
+#: c-family/c-warn.cc:3607
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared with %u variable bound"
 msgid_plural "argument %u of type %s declared with %u variable bounds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3596
+#: c-family/c-warn.cc:3614
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as %s with %u variable bound"
 msgid_plural "previously declared as %s with %u variable bounds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3620
+#: c-family/c-warn.cc:3628
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared with %u unspecified variable bound"
 msgid_plural ""
@@ -38423,110 +39423,110 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3628
+#: c-family/c-warn.cc:3636
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as %s with %u unspecified variable bound"
 msgid_plural "previously declared as %s with %u unspecified variable bounds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3635
+#: c-family/c-warn.cc:3643
 #, gcc-internal-format, gfc-internal-format
 msgid "subsequently declared as %s with %u unspecified variable bound"
 msgid_plural "subsequently declared as %s with %u unspecified variable bounds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3690
+#: c-family/c-warn.cc:3694
 #, gcc-internal-format
 msgid "argument %u of type %s declared with mismatched bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3697 c-family/c-warn.cc:3731
+#: c-family/c-warn.cc:3701 c-family/c-warn.cc:3735
 #, gcc-internal-format
 msgid "argument %u of type %s declared with mismatched bound %<%s%>"
 msgstr ""
 
-#: c-family/c-warn.cc:3709
+#: c-family/c-warn.cc:3713
 #, gcc-internal-format
 msgid "previously declared as %s with bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3714
+#: c-family/c-warn.cc:3718
 #, gcc-internal-format
 msgid "previously declared as %s with bound %<%s%>"
 msgstr ""
 
-#: c-family/c-warn.cc:3734
+#: c-family/c-warn.cc:3738
 #, gcc-internal-format
 msgid "previously declared as %s with bound %qs"
 msgstr ""
 
-#: c-family/c-warn.cc:3753
+#: c-family/c-warn.cc:3757
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s with mismatched bound"
 msgstr ""
 
-#: c-family/c-warn.cc:3784
+#: c-family/c-warn.cc:3788
 #, gcc-internal-format
 msgid ""
 "expression does not compute the number of elements in this array; element "
 "type is %qT, not %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:3794
+#: c-family/c-warn.cc:3798
 #, gcc-internal-format
 msgid "add parentheses around %qE to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3798
+#: c-family/c-warn.cc:3802
 #, gcc-internal-format
 msgid "add parentheses around the second %<sizeof%> to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3824
+#: c-family/c-warn.cc:3828
 #, gcc-internal-format
 msgid "comparison between two arrays is deprecated in C++20"
 msgstr ""
 
-#: c-family/c-warn.cc:3825
+#: c-family/c-warn.cc:3829
 #, gcc-internal-format
 msgid "comparison between two arrays"
 msgstr ""
 
-#: c-family/c-warn.cc:3829
+#: c-family/c-warn.cc:3833
 #, gcc-internal-format
 msgid ""
 "use unary %<+%> which decays operands to pointers or %<&%D[0] %s &%D[0]%> to "
 "compare the addresses"
 msgstr ""
 
-#: c-family/c-warn.cc:3833
+#: c-family/c-warn.cc:3837
 #, gcc-internal-format
 msgid "use %<&%D[0] %s &%D[0]%> to compare the addresses"
 msgstr ""
 
-#: c-family/c-warn.cc:3893
+#: c-family/c-warn.cc:3897
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1 << %wu%> (%wu)?"
 msgstr ""
 
-#: c-family/c-warn.cc:3903
+#: c-family/c-warn.cc:3907
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1LL << %wu%>?"
 msgstr ""
 
-#: c-family/c-warn.cc:3910
+#: c-family/c-warn.cc:3914
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean exponentiation?"
 msgstr ""
 
-#: c-family/c-warn.cc:3921
+#: c-family/c-warn.cc:3925
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1e%wu%>?"
 msgstr ""
 
-#: c-family/c-warn.cc:3938
+#: c-family/c-warn.cc:3942
 #, gcc-internal-format
 msgid ""
 "you can silence this warning by using a hexadecimal constant (%wx rather "
@@ -38550,7 +39550,7 @@ msgid ""
 "%s%>"
 msgstr ""
 
-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18249
+#: common/config/aarch64/aarch64-common.cc:415 config/aarch64/aarch64.cc:18466
 #, gcc-internal-format
 msgid "unknown value %qs for %<-mcpu%>"
 msgstr ""
@@ -38560,12 +39560,12 @@ msgstr ""
 msgid "bad value %qs for %<-mtls-size%> switch"
 msgstr ""
 
-#: common/config/arc/arc-common.cc:81
+#: common/config/arc/arc-common.cc:80
 #, gcc-internal-format
 msgid "multiple %<-mcpu=%> options specified"
 msgstr ""
 
-#: common/config/arc/arc-common.cc:87
+#: common/config/arc/arc-common.cc:86
 #, gcc-internal-format
 msgid "Unsupported value for mmpy-option"
 msgstr ""
@@ -38581,15 +39581,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:18181
-#: config/aarch64/aarch64.cc:18219
+#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18398
+#: config/aarch64/aarch64.cc:18436
 #, gcc-internal-format
 msgid "valid arguments are: %s; did you mean %qs?"
 msgstr ""
 
 #: 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:18184
-#: config/aarch64/aarch64.cc:18222
+#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18401
+#: config/aarch64/aarch64.cc:18439
 #, gcc-internal-format, gfc-internal-format
 msgid "valid arguments are: %s"
 msgstr ""
@@ -38684,47 +39684,47 @@ msgstr ""
 msgid "%<-mcpu=%s%> has invalid silicon revision"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1854
+#: common/config/i386/i386-common.cc:1954
 #, gcc-internal-format
 msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1857
+#: common/config/i386/i386-common.cc:1957
 #, gcc-internal-format
 msgid "%<-malign-loops=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1864
+#: common/config/i386/i386-common.cc:1964
 #, gcc-internal-format
 msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1867
+#: common/config/i386/i386-common.cc:1967
 #, gcc-internal-format
 msgid "%<-malign-jumps=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1875
+#: common/config/i386/i386-common.cc:1975
 #, gcc-internal-format
 msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1878
+#: common/config/i386/i386-common.cc:1978
 #, gcc-internal-format
 msgid "%<-malign-functions=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1887
+#: common/config/i386/i386-common.cc:1987
 #, gcc-internal-format
 msgid "%<-mbranch-cost=%d%> is not between 0 and 5"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1951 common/config/s390/s390-common.cc:137
+#: common/config/i386/i386-common.cc:2051 common/config/s390/s390-common.cc:137
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> currently only supported on GNU/Linux"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1961
+#: common/config/i386/i386-common.cc:2061
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> requires assembler support for CFI directives"
 msgstr ""
@@ -38751,108 +39751,135 @@ msgid ""
 "64, 128, 256, or 512"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:559
+#: common/config/riscv/riscv-common.cc:667
 #, gcc-internal-format
 msgid "%<-march=%s%>: extension %qs appear more than one time"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:568
+#: common/config/riscv/riscv-common.cc:676
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs is unsupported standard single letter extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:576
+#: common/config/riscv/riscv-common.cc:684
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 'z' but is unsupported standard "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:584
+#: common/config/riscv/riscv-common.cc:692
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 's' but is unsupported standard "
 "supervisor extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:592
+#: common/config/riscv/riscv-common.cc:700
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 'x' but is unsupported non-standard "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:839
+#: common/config/riscv/riscv-common.cc:947
 #, gcc-internal-format
 msgid "%<-march=%s%>: expect number after %<%dp%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:845
+#: common/config/riscv/riscv-common.cc:953
 #, 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:915
+#: common/config/riscv/riscv-common.cc:1011
+#, gcc-internal-format
+msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
+msgstr ""
+
+#: common/config/riscv/riscv-common.cc:1035
 #, gcc-internal-format
 msgid "%<-march=%s%>: rv%de is not a valid base ISA"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:927
+#: common/config/riscv/riscv-common.cc:1047
 #, gcc-internal-format
 msgid ""
 "version of %<g%> will be omitted, please specify version for individual "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:946
+#: common/config/riscv/riscv-common.cc:1066
 #, gcc-internal-format
 msgid "%<-march=%s%>: first ISA subset must be %<e%>, %<i%> or %<g%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:973
+#: common/config/riscv/riscv-common.cc:1089
 #, gcc-internal-format
-msgid "%<-march=%s%>: ISA string is not in canonical order. %<%c%>"
+msgid "%<-march=%s%>: Not single-letter extension. %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1182
+#: common/config/riscv/riscv-common.cc:1220
 #, gcc-internal-format
-msgid "%<-march=%s%>: name of %s must be more than 1 letter"
+msgid "%<-march=%s%>: zcf extension supports in rv32 only"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1194
+#: common/config/riscv/riscv-common.cc:1225
 #, gcc-internal-format
-msgid "%<-march=%s%>: %s must separate with %<_%>"
+msgid "%<-march=%s%>: z*inx conflicts with floating-point extensions"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1226
+#: common/config/riscv/riscv-common.cc:1231
 #, gcc-internal-format
-msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
+msgid "%<-march=%s%>: h extension requires i extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1257
+#: common/config/riscv/riscv-common.cc:1236
 #, gcc-internal-format
-msgid "%<-march=%s%>: unexpected ISA string at end: %qs"
+msgid "%<-march=%s%>: zcd conflicts with zcmt"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1273
+#: common/config/riscv/riscv-common.cc:1238
 #, gcc-internal-format
-msgid "%<-march=%s%>: z*inx conflicts with floating-point extensions"
+msgid "%<-march=%s%>: zcd conflicts with zcmp"
+msgstr ""
+
+#: common/config/riscv/riscv-common.cc:1247
+#, gcc-internal-format
+msgid ""
+"%<-march=%s%>: xtheadvector conflicts with vector extension or its sub-"
+"extensions"
+msgstr ""
+
+#: common/config/riscv/riscv-common.cc:1344
+#, gcc-internal-format
+msgid "%<-march=%s%>: name of %s must be more than 1 letter"
+msgstr ""
+
+#: common/config/riscv/riscv-common.cc:1356
+#, gcc-internal-format
+msgid "%<-march=%s%>: %s must separate with %<_%>"
+msgstr ""
+
+#: common/config/riscv/riscv-common.cc:1419
+#, gcc-internal-format
+msgid "%<-march=%s%>: i, e or g must be the first extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1497
+#: common/config/riscv/riscv-common.cc:1758
 #, gcc-internal-format
 msgid "%<-mcpu=%s%>: unknown CPU"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1576
+#: common/config/riscv/riscv-common.cc:1837
 #, gcc-internal-format
 msgid "Cannot find suitable multilib set for %<-march=%s%>/%<-mabi=%s%>"
 msgstr ""
 
-#: common/config/rs6000/rs6000-common.cc:175 config/sparc/sparc.cc:1816
+#: common/config/rs6000/rs6000-common.cc:175 config/sparc/sparc.cc:1807
 #, gcc-internal-format
 msgid "unknown %<-mdebug-%s%> switch"
 msgstr ""
@@ -39015,94 +40042,94 @@ msgstr ""
 msgid "%<-m32%> conflicts with %<-arch ppc64%> (%<-m32%> ignored)"
 msgstr ""
 
-#: config/darwin.cc:2024
+#: config/darwin.cc:2089
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to open temporary file %s for LTO output"
 msgstr ""
 
-#: config/darwin.cc:2116
+#: config/darwin.cc:2181
 #, gcc-internal-format
 msgid ""
 "%qE 2.95 vtable-compatibility attribute applies only when compiling a kext"
 msgstr ""
 
-#: config/darwin.cc:2123
+#: config/darwin.cc:2188
 #, gcc-internal-format
 msgid "%qE 2.95 vtable-compatibility attribute applies only to C++ classes"
 msgstr ""
 
-#: config/darwin.cc:2715 config/darwin.cc:2779
+#: config/darwin.cc:2781 config/darwin.cc:2845
 #, gcc-internal-format
 msgid "common variables must have an alignment of 32678 or less"
 msgstr ""
 
-#: config/darwin.cc:2869
+#: config/darwin.cc:2935
 #, gcc-internal-format
 msgid ""
 "protected visibility attribute not supported in this configuration; ignored"
 msgstr ""
 
-#: config/darwin.cc:3084
+#: config/darwin.cc:3178
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to open temporary file %s with LTO output"
 msgstr ""
 
-#: config/darwin.cc:3310
+#: config/darwin.cc:3408
 #, gcc-internal-format
 msgid ""
 "%<-fobjc-abi-version%> 2 must be used for 64 bit targets with %<-fnext-"
 "runtime%>"
 msgstr ""
 
-#: config/darwin.cc:3315
+#: config/darwin.cc:3413
 #, gcc-internal-format
 msgid ""
 "%<-fobjc-abi-version%> %d is not supported for 32 bit targets with %<-fnext-"
 "runtime%>"
 msgstr ""
 
-#: config/darwin.cc:3330
+#: config/darwin.cc:3440
 #, gcc-internal-format
 msgid "%<-gsplit-dwarf%> is not supported on this platform, ignored"
 msgstr ""
 
-#: config/darwin.cc:3409
+#: config/darwin.cc:3528
 #, gcc-internal-format
 msgid ""
 "%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>"
 msgstr ""
 
-#: config/darwin.cc:3452
+#: config/darwin.cc:3571
 #, gcc-internal-format
 msgid "%<-mpic-symbol-stubs%> is not required for 64-bit code (ignored)"
 msgstr ""
 
-#: config/darwin.cc:3632
+#: config/darwin.cc:3774
 #, gcc-internal-format
 msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
 msgstr ""
 
-#: config/darwin.cc:3639
+#: config/darwin.cc:3781
 #, gcc-internal-format
 msgid "built-in function %qD takes one argument only"
 msgstr ""
 
-#: config/darwin.cc:3706
+#: config/darwin.cc:3825
 #, gcc-internal-format
 msgid "CFString literal is missing"
 msgstr ""
 
-#: config/darwin.cc:3717
+#: config/darwin.cc:3836
 #, gcc-internal-format
 msgid "CFString literal expression is not a string constant"
 msgstr ""
 
-#: config/darwin.cc:3741
+#: config/darwin.cc:3860
 #, gcc-internal-format
 msgid "non-ASCII character in CFString literal"
 msgstr ""
 
-#: config/darwin.cc:3742
+#: config/darwin.cc:3861
 #, gcc-internal-format
 msgid "embedded NUL in CFString literal"
 msgstr ""
@@ -39177,269 +40204,414 @@ msgstr ""
 msgid "PIC is only supported for RTPs"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2179
-#: config/aarch64/aarch64-builtins.cc:2413 config/arm/arm-builtins.cc:3146
+#: config/aarch64/aarch64-builtins.cc:2122
+#, gcc-internal-format
+msgid "first argument to %qD must be a string literal"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2253
+#: config/aarch64/aarch64-builtins.cc:2487 config/arm/arm-builtins.cc:3146
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2251 config/arm/arm-builtins.cc:3494
+#: config/aarch64/aarch64-builtins.cc:2325 config/arm/arm-builtins.cc:3494
 #, gcc-internal-format
 msgid "lane index must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2255
+#: config/aarch64/aarch64-builtins.cc:2329
 #, gcc-internal-format
 msgid "total size and element size must be a nonzero constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2503
+#: config/aarch64/aarch64-builtins.cc:2577
 #, gcc-internal-format
 msgid "argument must be a 16-bit constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2609
+#: config/aarch64/aarch64-builtins.cc:2700
+#, gcc-internal-format
+msgid "128-bit system register support requires the %<d128%> extension"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2715
+#, gcc-internal-format
+msgid "invalid system register name provided"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2729
+#, gcc-internal-format
+msgid "invalid system register name %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2809
+#, gcc-internal-format
+msgid "Constant-type argument expected"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2815
+#, gcc-internal-format
+msgid "argument %d must be a constant immediate in range [%wd,%wd]"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2894
 #, gcc-internal-format
 msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2644
+#: config/aarch64/aarch64-builtins.cc:2929
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate in range [0,15]"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3423
-#: config/aarch64/aarch64-builtins.cc:3443
+#: config/aarch64/aarch64-builtins.cc:3727
+#: config/aarch64/aarch64-builtins.cc:3747
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 1 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3427
+#: config/aarch64/aarch64-builtins.cc:3731
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 2 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:286
+#: config/aarch64/aarch64-c.cc:341
 #, gcc-internal-format
 msgid "%<#pragma GCC aarch64%> requires a string parameter"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:298
+#: config/aarch64/aarch64-c.cc:357
 #, gcc-internal-format
 msgid "unknown %<#pragma GCC aarch64%> option %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:661
-#: config/arm/arm-mve-builtins.cc:535
+#: config/aarch64/aarch64-sve-builtins.cc:1068
+#: config/arm/arm-mve-builtins.cc:558
 #, gcc-internal-format
 msgid "ACLE function %qD requires ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:663
+#: config/aarch64/aarch64-sve-builtins.cc:1070 config/aarch64/aarch64.cc:11082
+#: config/aarch64/aarch64.cc:18241 config/aarch64/aarch64.cc:18956
 #, gcc-internal-format
 msgid ""
 "you can enable %qs using the command-line option %<-march%>, or by using the "
 "%<target%> attribute or pragma"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:683
+#: config/aarch64/aarch64-sve-builtins.cc:1090
 #, gcc-internal-format
 msgid "ACLE function %qD is incompatible with the use of %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:726
-#: config/arm/arm-mve-builtins.cc:548
-#: config/riscv/riscv-vector-builtins.cc:3830
+#: config/aarch64/aarch64-sve-builtins.cc:1112
+#, gcc-internal-format
+msgid "ACLE function %qD cannot be called when SME streaming mode is enabled"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1119
+#, gcc-internal-format
+msgid "ACLE function %qD can only be called when SME streaming mode is enabled"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1126
+#, gcc-internal-format
+msgid "ACLE function %qD can only be called from a function that has %qs state"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1154
+#: config/arm/arm-mve-builtins.cc:571
+#: config/riscv/riscv-vector-builtins.cc:4209
 #, gcc-internal-format
 msgid "argument %d of %qE must be an integer constant expression"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:738
-#: config/arm/arm-mve-builtins.cc:560
-#: config/riscv/riscv-vector-builtins.cc:3844
+#: config/aarch64/aarch64-sve-builtins.cc:1167
+#, gcc-internal-format
+msgid "passing %wd to argument %d of %qE, which expects the value %wd"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1170
+#: config/arm/arm-mve-builtins.cc:583
+#: config/riscv/riscv-vector-builtins.cc:4223
 #, gcc-internal-format
 msgid ""
 "passing %wd to argument %d of %qE, which expects a value in the range [%wd, "
 "%wd]"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:751
+#: config/aarch64/aarch64-sve-builtins.cc:1183
 #, gcc-internal-format
 msgid "passing %wd to argument %d of %qE, which expects either %wd or %wd"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:764
+#: config/aarch64/aarch64-sve-builtins.cc:1196
 #, gcc-internal-format
 msgid "passing %wd to argument %d of %qE, which expects %wd, %wd, %wd or %wd"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:776
-#: config/arm/arm-mve-builtins.cc:572
+#: config/aarch64/aarch64-sve-builtins.cc:1208
+#: config/arm/arm-mve-builtins.cc:595
 #, gcc-internal-format
 msgid "passing %wd to argument %d of %qE, which expects a valid %qT value"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1210
-#: config/arm/arm-mve-builtins.cc:1081
+#: config/aarch64/aarch64-sve-builtins.cc:1723
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, which expects a single SVE vector rather "
+"than a tuple"
+msgstr ""
+
+#. num_vectors is always != 1, so the singular isn't needed.
+#: config/aarch64/aarch64-sve-builtins.cc:1729
+#: config/aarch64/aarch64-sve-builtins.cc:1735
+#: config/arm/arm-mve-builtins.cc:1205 config/arm/arm-mve-builtins.cc:1211
+#, gcc-internal-format
+msgid "%qT%d%qE%d"
+msgid_plural ""
+"passing single vector %qT to argument %d of %qE, which expects a tuple of %d "
+"vectors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1767
+#, gcc-internal-format
+msgid ""
+"passing tuple %qT to argument %d of %qE after passing single vector %qT to "
+"argument %d"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1772
+#, gcc-internal-format
+msgid ""
+"passing single vector %qT to argument %d of %qE after passing tuple %qT to "
+"argument %d"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1777
+#, gcc-internal-format
+msgid ""
+"passing mismatched tuple types %qT and %qT to arguments %d and %d of %qE"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1788
+#: config/arm/arm-mve-builtins.cc:1104
 #, gcc-internal-format
 msgid "%qE has no form that takes %qT arguments"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1276
+#: config/aarch64/aarch64-sve-builtins.cc:1849
+#, gcc-internal-format
+msgid "%qE has no form that takes %qT and %qT arguments"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1911
+#, gcc-internal-format
+msgid "passing %qT to argument %d of %qE, which expects an %qs or %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1942
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a 32-bit or 64-bit integer "
 "type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1296
+#: config/aarch64/aarch64-sve-builtins.cc:1961
+#, gcc-internal-format
+msgid ""
+"passing %qT and %qT to arguments %d and %d of %qE, which expects a pair of "
+"64-bit integers"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:1985
+#, gcc-internal-format
+msgid ""
+"passing mismatched integer types %qT and %qT to arguments %d and %d of %qE"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2006
+#: config/arm/arm-mve-builtins.cc:1157
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a pointer type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1299
+#: config/aarch64/aarch64-sve-builtins.cc:2009
 #, gcc-internal-format
 msgid "an explicit type suffix is needed when using a vector of base addresses"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1308
+#: config/aarch64/aarch64-sve-builtins.cc:2018
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, but %qT is not a valid SVE element type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1316
+#: config/aarch64/aarch64-sve-builtins.cc:2026
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a pointer to 32-bit or 64-"
 "bit elements"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1350
+#: config/aarch64/aarch64-sve-builtins.cc:2068
 #, gcc-internal-format
 msgid ""
-"passing %qT to argument %d of %qE, which expects a single SVE vector rather "
-"than a tuple"
+"passing %qT to argument %d of %qE, which expects an SVE type rather than a "
+"scalar type"
 msgstr ""
 
-#. num_vectors is always != 1, so the singular isn't needed.
-#: config/aarch64/aarch64-sve-builtins.cc:1355
-#: config/aarch64/aarch64-sve-builtins.cc:1361
-#: config/arm/arm-mve-builtins.cc:1152 config/arm/arm-mve-builtins.cc:1158
-#, gcc-internal-format
-msgid "%qT%d%qE%d"
-msgid_plural ""
-"passing single vector %qT to argument %d of %qE, which expects a tuple of %d "
-"vectors"
-msgstr[0] ""
-msgstr[1] ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1370
+#: config/aarch64/aarch64-sve-builtins.cc:2072
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, which expects an SVE vector type"
+msgid "passing %qT to argument %d of %qE, which expects an SVE type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1373
+#: config/aarch64/aarch64-sve-builtins.cc:2117
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, which expects an SVE tuple type"
+msgid "passing %qT to argument %d of %qE, which expects a vector of integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1397
+#: config/aarch64/aarch64-sve-builtins.cc:2147
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, which expects a vector of integers"
+msgid ""
+"passing %qT to argument %d of %qE, which expects a 128 bit NEON vector type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1417
-#: config/aarch64/aarch64-sve-builtins.cc:1624
-#: config/arm/arm-mve-builtins.cc:1350
+#: config/aarch64/aarch64-sve-builtins.cc:2164
+#: config/aarch64/aarch64-sve-builtins.cc:2462
+#: config/arm/arm-mve-builtins.cc:1403
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of unsigned "
 "integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1438
+#: config/aarch64/aarch64-sve-builtins.cc:2185
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of 32-bit or 64-"
 "bit elements"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1469
-#: config/arm/arm-mve-builtins.cc:1195
+#: config/aarch64/aarch64-sve-builtins.cc:2227
+#, gcc-internal-format
+msgid ""
+"operations on multiple vectors must be predicated by %qs rather than %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2230
+#, gcc-internal-format
+msgid "operations on single vectors must be predicated by %qs rather than %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2246
+#: config/arm/arm-mve-builtins.cc:1248
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector or scalar type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1491
-#: config/aarch64/aarch64-sve-builtins.cc:2057
-#: config/arm/arm-mve-builtins.cc:1217
+#: config/aarch64/aarch64-sve-builtins.cc:2268
+#: config/aarch64/aarch64-sve-builtins.cc:2919
+#: config/arm/arm-mve-builtins.cc:1270
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1511
-#: config/arm/arm-mve-builtins.cc:1237
+#: config/aarch64/aarch64-sve-builtins.cc:2295
+#: config/aarch64/aarch64-sve-builtins.cc:2411
+#: config/aarch64/aarch64-sve-builtins.cc:2540
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, but previous arguments had type %qT"
+msgid "passing %qT to argument %d of %qE, but argument %d had type %qT"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2406
+#, gcc-internal-format
+msgid "passing %qT to argument %d of %qE, but argument %d was a tuple of %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1605
-#: config/arm/arm-mve-builtins.cc:1331
+#: config/aarch64/aarch64-sve-builtins.cc:2430
+#: config/arm/arm-mve-builtins.cc:1384
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of %d-bit elements"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1617
-#: config/arm/arm-mve-builtins.cc:1343
+#: config/aarch64/aarch64-sve-builtins.cc:2435
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, which expects vectors of %d-bit elements"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2448
+#: config/arm/arm-mve-builtins.cc:1396
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of signed integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1644
-#: config/arm/arm-mve-builtins.cc:1370
+#. Translation note: could also be written "expects a tuple of
+#. signed integer vectors".
+#: config/aarch64/aarch64-sve-builtins.cc:2454
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, which expects vectors of signed integers"
+msgstr ""
+
+#. Translation note: could also be written "expects a tuple of
+#. unsigned integer vectors".
+#: config/aarch64/aarch64-sve-builtins.cc:2468
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, which expects vectors of unsigned integers"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2488
+#: config/arm/arm-mve-builtins.cc:1423
 #, gcc-internal-format
 msgid ""
 "arguments %d and %d of %qE must have the same element size, but the values "
 "passed here have type %qT and %qT respectively"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1665
-#: config/arm/arm-mve-builtins.cc:1391
+#: config/aarch64/aarch64-sve-builtins.cc:2508
+#: config/arm/arm-mve-builtins.cc:1444
 #, gcc-internal-format
 msgid ""
 "arguments %d and %d of %qE must have the same signedness, but the values "
 "passed here have type %qT and %qT respectively"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1676
-#: config/arm/arm-mve-builtins.cc:1402
+#: config/aarch64/aarch64-sve-builtins.cc:2519
+#: config/arm/arm-mve-builtins.cc:1455
 #, gcc-internal-format
 msgid ""
 "passing %qT instead of the expected %qT to argument %d of %qE, after passing "
 "%qT to argument %d"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1697
+#: config/aarch64/aarch64-sve-builtins.cc:2559
+#: config/arm/arm-mve-builtins.cc:1540
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, but argument %d had type %qT"
+msgid "passing %qT to argument %d of %qE, which expects %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1715
-#: config/arm/arm-mve-builtins.cc:1487
+#: config/aarch64/aarch64-sve-builtins.cc:2577
 #, gcc-internal-format
-msgid "passing %qT to argument %d of %qE, which expects %qs"
+msgid ""
+"passing %qT to argument %d of %qE, which does not accept scalars for this "
+"combination of arguments"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1731
+#: config/aarch64/aarch64-sve-builtins.cc:2593
+#: config/arm/arm-mve-builtins.cc:1556
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar pointer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1754
+#: config/aarch64/aarch64-sve-builtins.cc:2616
 #, gcc-internal-format
 msgid ""
 "call to %qE is ambiguous; argument %d has type %qs but argument %d has type "
@@ -39448,65 +40620,65 @@ msgstr ""
 
 #. It doesn't really matter whether the element is expected to be
 #. the same size as type suffix 0.
-#: config/aarch64/aarch64-sve-builtins.cc:1799
-#: config/arm/arm-mve-builtins.cc:1448
+#: config/aarch64/aarch64-sve-builtins.cc:2661
+#: config/arm/arm-mve-builtins.cc:1501
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar element"
 msgstr ""
 
 #. It doesn't seem useful to distinguish between signed and unsigned
 #. scalars here.
-#: config/aarch64/aarch64-sve-builtins.cc:1805
-#: config/arm/arm-mve-builtins.cc:1454
+#: config/aarch64/aarch64-sve-builtins.cc:2667
+#: config/arm/arm-mve-builtins.cc:1507
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar integer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1841
+#: config/aarch64/aarch64-sve-builtins.cc:2703
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qs or %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1861
+#: config/aarch64/aarch64-sve-builtins.cc:2723
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of 32-bit or 64-"
 "bit integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1911
+#: config/aarch64/aarch64-sve-builtins.cc:2773
 #, gcc-internal-format
 msgid "when storing %qT, %qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1916
+#: config/aarch64/aarch64-sve-builtins.cc:2778
 #, gcc-internal-format
 msgid "%qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1920
+#: config/aarch64/aarch64-sve-builtins.cc:2782
 #, gcc-internal-format
 msgid "%qE does not support 32-bit vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1948
+#: config/aarch64/aarch64-sve-builtins.cc:2810
 #, gcc-internal-format
 msgid "%qE does not support 32-bit sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1951
+#: config/aarch64/aarch64-sve-builtins.cc:2813
 #, gcc-internal-format
 msgid "%qE does not support sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1964
+#: config/aarch64/aarch64-sve-builtins.cc:2826
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which when loading %qT expects a vector "
 "of %d-bit integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1969
+#: config/aarch64/aarch64-sve-builtins.cc:2831
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which when storing %qT expects a vector "
@@ -39514,156 +40686,194 @@ msgid ""
 msgstr ""
 
 #. TYPE is part of the function name.
-#: config/aarch64/aarch64-sve-builtins.cc:1976
+#: config/aarch64/aarch64-sve-builtins.cc:2838
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of %d-bit integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2024
+#: config/aarch64/aarch64-sve-builtins.cc:2886
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector or pointer base "
 "address"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2108
+#: config/aarch64/aarch64-sve-builtins.cc:2970
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an offset of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2112
+#: config/aarch64/aarch64-sve-builtins.cc:2974
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an index of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2200
-#: config/arm/arm-mve-builtins.cc:1597
+#: config/aarch64/aarch64-sve-builtins.cc:3063
+#: config/arm/arm-mve-builtins.cc:1666
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, but its %qT form does not accept scalars"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3536
-#: config/arm/arm-mve-builtins.cc:459 config/arm/arm-mve-builtins.cc:484
-#: config/riscv/riscv-vector-builtins.cc:4091
+#: config/aarch64/aarch64-sve-builtins.cc:3127
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, but its %qT form does not accept single "
+"vectors"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:4621
+#: config/aarch64/aarch64-sve-builtins.cc:4683
+#: config/arm/arm-mve-builtins.cc:466 config/arm/arm-mve-builtins.cc:491
+#: config/riscv/riscv-vector-builtins.cc:4536
 #, gcc-internal-format
 msgid "duplicate definition of %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3712
+#: config/aarch64/aarch64-sve-builtins.cc:4675
+#, gcc-internal-format
+msgid "%qs defined without first defining %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:4834
 #, gcc-internal-format
 msgid "%qs applied to non-SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3718
+#: config/aarch64/aarch64-sve-builtins.cc:4840
 #, gcc-internal-format
 msgid "%qs applied to non-vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3725
+#: config/aarch64/aarch64-sve-builtins.cc:4847
 #, gcc-internal-format
 msgid "%qs applied to type %qT, which already has a size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3733
+#: config/aarch64/aarch64-sve-builtins.cc:4855
 #, gcc-internal-format
 msgid "%qs requires an integer constant expression"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3741
+#: config/aarch64/aarch64-sve-builtins.cc:4863
 #, gcc-internal-format
 msgid "unsupported SVE vector size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3855
+#: config/aarch64/aarch64-sve-builtins.cc:4977
 #, gcc-internal-format
 msgid "SVE type %qT does not have a fixed size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3860
+#: config/aarch64/aarch64-sve-builtins.cc:4982
 #, gcc-internal-format
 msgid "SVE type %qT does not have a defined alignment"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3865
-#: config/riscv/riscv-vector-builtins.cc:4003
+#: config/aarch64/aarch64-sve-builtins.cc:4987
+#: config/riscv/riscv-vector-builtins.cc:4448
 #, gcc-internal-format
 msgid "variables of type %qT cannot have thread-local storage duration"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3871
+#: config/aarch64/aarch64-sve-builtins.cc:4993
 #, gcc-internal-format
 msgid "arithmetic on pointer to SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3878
+#: config/aarch64/aarch64-sve-builtins.cc:5000
 #, gcc-internal-format
 msgid "member variables cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3880
+#: config/aarch64/aarch64-sve-builtins.cc:5002
 #, gcc-internal-format
 msgid "fields cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3885
+#: config/aarch64/aarch64-sve-builtins.cc:5007
 #, gcc-internal-format
 msgid "array elements cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3890
+#: config/aarch64/aarch64-sve-builtins.cc:5012
 #, gcc-internal-format
 msgid "cannot allocate objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3895
+#: config/aarch64/aarch64-sve-builtins.cc:5017
 #, gcc-internal-format
 msgid "cannot delete objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3900
+#: config/aarch64/aarch64-sve-builtins.cc:5022
 #, gcc-internal-format
 msgid "cannot throw or catch SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3905
+#: config/aarch64/aarch64-sve-builtins.cc:5027
 #, gcc-internal-format
 msgid "capture by copy of SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2783
+#: config/aarch64/aarch64.cc:635
+#, gcc-internal-format
+msgid "the arguments to %qE must be constant strings"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:643
+#, gcc-internal-format
+msgid "unrecognized state string %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:727
 #, gcc-internal-format
 msgid "the %qE attribute cannot be applied to an SVE function type"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3221
+#: config/aarch64/aarch64.cc:754
+#, gcc-internal-format
+msgid "cannot create a new %qs scope since %qs is shared with callers"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:770
+#, gcc-internal-format
+msgid "%qE attribute applies only to function definitions"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:816
+#, gcc-internal-format
+msgid "inconsistent attributes for state %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:1305
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3224
+#: config/aarch64/aarch64.cc:1308
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3228
+#: config/aarch64/aarch64.cc:1312
 #, gcc-internal-format
 msgid ""
 "%qs feature modifier is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3231
+#: config/aarch64/aarch64.cc:1315
 #, gcc-internal-format
 msgid "%qs feature modifier is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3247
+#: config/aarch64/aarch64.cc:1331
 #, gcc-internal-format
 msgid "this operation requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3248
+#: config/aarch64/aarch64.cc:1332
 #, gcc-internal-format
 msgid ""
 "you can enable SVE using the command-line option %<-march%>, or by using the "
@@ -39672,358 +40882,460 @@ msgstr ""
 
 #. We can't gracefully recover at this point, so make this a
 #. fatal error.
-#: config/aarch64/aarch64.cc:7231
+#: config/aarch64/aarch64.cc:6377
 #, gcc-internal-format
 msgid "arguments of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7676
+#: config/aarch64/aarch64.cc:6822
 #, gcc-internal-format
 msgid "SVE type %qT cannot be passed to an unprototyped function"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7813 config/aarch64/aarch64.cc:7891
-#: config/aarch64/aarch64.cc:19928
+#: config/aarch64/aarch64.cc:6959 config/aarch64/aarch64.cc:7037
+#: config/aarch64/aarch64.cc:21183
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 13.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7820 config/aarch64/aarch64.cc:7898
-#: config/aarch64/aarch64.cc:19934
+#: config/aarch64/aarch64.cc:6966 config/aarch64/aarch64.cc:7044
+#: config/aarch64/aarch64.cc:21189
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 14.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7830 config/aarch64/aarch64.cc:7907
-#: config/aarch64/aarch64.cc:19940 config/arm/arm.cc:7293
-#: config/arm/arm.cc:7323 config/arm/arm.cc:29360
+#: config/aarch64/aarch64.cc:6976 config/aarch64/aarch64.cc:7053
+#: config/aarch64/aarch64.cc:21195 config/arm/arm.cc:7301
+#: config/arm/arm.cc:7331 config/arm/arm.cc:29376
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 9.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7975
+#: config/aarch64/aarch64.cc:7176
 #, gcc-internal-format
 msgid "%qE requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7978
+#: config/aarch64/aarch64.cc:7179
 #, gcc-internal-format
 msgid "calls to functions of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:8158
+#: config/aarch64/aarch64.cc:7367
 #, gcc-internal-format
 msgid "stack probes for SVE frames"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17665
+#: config/aarch64/aarch64.cc:11080
+#, gcc-internal-format
+msgid "calling a streaming function requires the ISA extension %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:11089 config/aarch64/aarch64.cc:11093
+#, gcc-internal-format
+msgid ""
+"call to a function that shares %qs state from a function that has no %qs "
+"state"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:11096
+#, gcc-internal-format
+msgid ""
+"call to a function that shares SME state from a function that has no SME "
+"state"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:11154
+#, gcc-internal-format
+msgid ""
+"call to a function that shares state other than %qs from a function that has "
+"%qs state"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:11156
+#, gcc-internal-format
+msgid "use %<__arm_preserves(\"za\")%> if the callee preserves ZA"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:17859
 #, gcc-internal-format
 msgid "unknown flag passed in %<-moverride=%s%> (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17709
+#: config/aarch64/aarch64.cc:17903
 #, gcc-internal-format
 msgid "%qs string ill-formed"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17765
+#: config/aarch64/aarch64.cc:17959
 #, gcc-internal-format
 msgid "invalid format for %<sve_width%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17777
+#: config/aarch64/aarch64.cc:17971
 #, gcc-internal-format
 msgid "invalid %<sve_width%> value: %d"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17797
+#: config/aarch64/aarch64.cc:17991
 #, gcc-internal-format, gfc-internal-format
 msgid "tuning string missing in option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17815
+#: config/aarch64/aarch64.cc:18009
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown tuning option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18003 config/arm/arm.cc:3220
-#: config/riscv/riscv.cc:6666
+#: config/aarch64/aarch64.cc:18197 config/arm/arm.cc:3227
+#: config/riscv/riscv.cc:9031
 #, gcc-internal-format
 msgid ""
 "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-"
 "protector-guard-offset=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18012 config/riscv/riscv.cc:6675
+#: config/aarch64/aarch64.cc:18206 config/riscv/riscv.cc:9040
 #, 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:18020
+#: config/aarch64/aarch64.cc:18214
 #, gcc-internal-format
 msgid "specify a system register with a small string length"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18030 config/arm/arm.cc:3232
-#: config/riscv/riscv.cc:6704 config/rs6000/rs6000.cc:4535
+#: config/aarch64/aarch64.cc:18224 config/arm/arm.cc:3239
+#: config/riscv/riscv.cc:9069 config/rs6000/rs6000.cc:4546
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18037
+#: config/aarch64/aarch64.cc:18231
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18128
+#: config/aarch64/aarch64.cc:18237
+#, gcc-internal-format
+msgid "streaming functions require the ISA extension %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:18239
+#, gcc-internal-format
+msgid "functions with SME state require the ISA extension %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:18333
 #, 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:18144
+#: config/aarch64/aarch64.cc:18349
 #, gcc-internal-format
 msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18246
+#: config/aarch64/aarch64.cc:18463
 #, gcc-internal-format
 msgid "missing cpu name in %<-mcpu=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18256
+#: config/aarch64/aarch64.cc:18473
 #, gcc-internal-format
 msgid "did you mean %<-march=%s%>?"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18259
+#: config/aarch64/aarch64.cc:18476
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18318
+#: config/aarch64/aarch64.cc:18535
 #, gcc-internal-format
 msgid "invalid argument given to %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18329
+#: config/aarch64/aarch64.cc:18546
 #, gcc-internal-format
 msgid "%qs must be by itself for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18334
+#: config/aarch64/aarch64.cc:18551
 #, gcc-internal-format
 msgid "invalid argument %<%s%> for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18362
+#: config/aarch64/aarch64.cc:18579
 #, gcc-internal-format
 msgid "missing arch name in %<-march=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18365
+#: config/aarch64/aarch64.cc:18582
 #, gcc-internal-format
 msgid "unknown value %qs for %<-march%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18371
+#: config/aarch64/aarch64.cc:18588
 #, gcc-internal-format
 msgid "did you mean %<-mcpu=%s%>?"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18374
+#: config/aarch64/aarch64.cc:18591
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-march=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18402
+#: config/aarch64/aarch64.cc:18619
 #, gcc-internal-format
 msgid "missing cpu name in %<-mtune=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18405
+#: config/aarch64/aarch64.cc:18622
 #, gcc-internal-format
 msgid "unknown value %qs for %<-mtune%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18490
+#: config/aarch64/aarch64.cc:18717
 #, gcc-internal-format
-msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch"
+msgid ""
+"switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch and resulted in "
+"options %<%s%> being added"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18544
+#: config/aarch64/aarch64.cc:18773
 #, gcc-internal-format
 msgid "assembler does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18551
+#: config/aarch64/aarch64.cc:18780
 #, gcc-internal-format
 msgid "return address signing is only supported for %<-mabi=lp64%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18624
+#: config/aarch64/aarch64.cc:18853
 #, gcc-internal-format
 msgid "code model %qs with %<-f%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18627
+#: config/aarch64/aarch64.cc:18856
 #, gcc-internal-format
 msgid "code model %qs not supported in ilp32 mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18779
+#: config/aarch64/aarch64.cc:18954
+#, gcc-internal-format
+msgid "functions with %qs state require the ISA extension %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19057
 #, gcc-internal-format
 msgid "missing name in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18782
+#: config/aarch64/aarch64.cc:19060
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18786
+#: config/aarch64/aarch64.cc:19064
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %s of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18820
+#: config/aarch64/aarch64.cc:19098
 #, gcc-internal-format
 msgid "missing name in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18823
+#: config/aarch64/aarch64.cc:19101
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18827 config/aarch64/aarch64.cc:18933
+#: config/aarch64/aarch64.cc:19105 config/aarch64/aarch64.cc:19189
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %qs of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18850
-#, gcc-internal-format
-msgid ""
-"missing argument to %<target(\"branch-protection=\")%> pragma or attribute"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18854
-#, gcc-internal-format
-msgid ""
-"invalid protection type %qs in %<target(\"branch-protection=\")%> pragma or "
-"attribute"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18888
+#: config/aarch64/aarch64.cc:19144
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"tune=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18929
+#: config/aarch64/aarch64.cc:19185
 #, gcc-internal-format
 msgid "missing value in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18987 config/aarch64/aarch64.cc:19160
+#: config/aarch64/aarch64.cc:19243 config/aarch64/aarch64.cc:19416
 #, gcc-internal-format
 msgid "malformed %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19031
+#: config/aarch64/aarch64.cc:19287
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not accept an argument"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19039 config/i386/i386-options.cc:1265
+#: config/aarch64/aarch64.cc:19295 config/i386/i386-options.cc:1299
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not allow a negated form"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19093
+#: config/aarch64/aarch64.cc:19349
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s=%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19150 config/arm/arm.cc:33561
-#: config/rs6000/rs6000.cc:24472 config/s390/s390.cc:16307
+#: config/aarch64/aarch64.cc:19406 config/arm/arm.cc:33633
+#: config/riscv/riscv-target-attr.cc:318 config/rs6000/rs6000.cc:24733
+#: config/s390/s390.cc:16400
 #, gcc-internal-format
 msgid "attribute %<target%> argument not a string"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19185
+#: config/aarch64/aarch64.cc:19441
 #, gcc-internal-format
 msgid "arch extension %<%s%> should be prefixed by %<+%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19188
+#: config/aarch64/aarch64.cc:19444
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19197
+#: config/aarch64/aarch64.cc:19453
 #, gcc-internal-format
 msgid "malformed %<target(\"%s\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20685 config/arm/arm.cc:6641
-#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12676
+#: config/aarch64/aarch64.cc:19668
+#, gcc-internal-format
+msgid "attribute %<target_version%> has multiple values"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19676
+#, gcc-internal-format
+msgid "attribute %<target_version%> argument not a string"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19698
+#, gcc-internal-format
+msgid "missing value in %<target_version%> attribute"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19702
+#, gcc-internal-format
+msgid ""
+"invalid feature modifier %qs of value %qs in %<target_version%> attribute"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19708
+#, gcc-internal-format
+msgid ""
+"duplicate feature modifier %qs of value %qs in %<target_version%> attribute"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:20285 config/i386/i386-features.cc:3531
+#: config/i386/i386-features.cc:3800
+#, gcc-internal-format
+msgid "virtual function multiversioning not supported"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:20406 config/i386/i386-features.cc:3664
+#: config/rs6000/rs6000.cc:25431
+#, gcc-internal-format
+msgid "multiversioning needs %<ifunc%> which is not supported on this target"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:21943 config/arm/arm.cc:6649
+#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12766
 msgid ""
 "parameter passing for argument of type %qT with %<[[no_unique_address]]%> "
 "members changed %{in GCC 10.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20690 config/arm/arm.cc:6646
-#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12671
+#: config/aarch64/aarch64.cc:21948 config/arm/arm.cc:6654
+#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12761
 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:20695 config/arm/arm.cc:6651
+#: config/aarch64/aarch64.cc:21953 config/arm/arm.cc:6659
 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:21857 config/aarch64/aarch64.cc:21860
+#: config/aarch64/aarch64.cc:23177 config/aarch64/aarch64.cc:23180
 #, gcc-internal-format
 msgid "lane %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27238 config/i386/i386.cc:24194
-#: config/i386/i386.cc:24325
+#: config/aarch64/aarch64.cc:28591 config/i386/i386.cc:25093
+#: config/i386/i386.cc:25224
 #, gcc-internal-format
 msgid "unsupported simdlen %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27250 config/aarch64/aarch64.cc:27279
+#: config/aarch64/aarch64.cc:28605
 #, gcc-internal-format
-msgid "GCC does not currently support mixed size types for %<simd%> functions"
+msgid "GCC does not currently support return type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27254
+#: config/aarch64/aarch64.cc:28609 config/i386/i386.cc:25115
 #, gcc-internal-format
-msgid "GCC does not currently support return type %qT for %<simd%> functions"
+msgid "unsupported return type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27258
+#: config/aarch64/aarch64.cc:28639
 #, gcc-internal-format
-msgid "unsupported return type %qT for %<simd%> functions"
+msgid "GCC does not currently support argument type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27283
+#: config/aarch64/aarch64.cc:28643 config/i386/i386.cc:25146
 #, gcc-internal-format
-msgid "GCC does not currently support argument type %qT for %<simd%> functions"
+msgid "unsupported argument type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:27309
+#: config/aarch64/aarch64.cc:28692
 #, gcc-internal-format
 msgid "GCC does not currently support simdlen %wd for type %qT"
 msgstr ""
 
+#: config/aarch64/aarch64.cc:28713
+#, gcc-internal-format
+msgid ""
+"GCC does not currently support a simdclone with simdlens %wd and %wd for "
+"these types."
+msgstr ""
+
+#: config/aarch64/aarch64.cc:28803
+#, gcc-internal-format
+msgid "cannot apply attribute %qs to %q+D after the function has been defined"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:28805
+#, gcc-internal-format
+msgid "%q+D defined here"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:29263
+#, gcc-internal-format
+msgid "non-local gotos in functions with SME state"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:29558
+#, gcc-internal-format
+msgid "catching non-call exceptions in functions with SME state"
+msgstr ""
+
 #: config/alpha/alpha.cc:420
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtrap-precision%> switch"
@@ -40079,76 +41391,76 @@ msgstr ""
 msgid "bad value %qs for %<-mmemory-latency%>"
 msgstr ""
 
-#: config/alpha/alpha.cc:6657 config/alpha/alpha.cc:6660 config/arc/arc.cc:7079
-#: config/arc/arc.cc:7353 config/s390/s390.cc:957
+#: config/alpha/alpha.cc:6658 config/alpha/alpha.cc:6661 config/arc/arc.cc:6980
+#: config/arc/arc.cc:7254 config/s390/s390.cc:957
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arc/arc.cc:1100
+#: config/arc/arc.cc:1003
 #, gcc-internal-format
 msgid "%<-mno-mpy%> supported only for ARC700 or ARCv2"
 msgstr ""
 
-#: config/arc/arc.cc:1103
+#: config/arc/arc.cc:1006
 #, gcc-internal-format
 msgid "%<-mno-dpfp-lrsr%> supported only with %<-mdpfp%>"
 msgstr ""
 
-#: config/arc/arc.cc:1108
+#: config/arc/arc.cc:1011
 #, gcc-internal-format
 msgid "FPX fast and compact options cannot be specified together"
 msgstr ""
 
-#: config/arc/arc.cc:1112
+#: config/arc/arc.cc:1015
 #, gcc-internal-format
 msgid "%<-mspfp_fast%> not available on ARC600 or ARC601"
 msgstr ""
 
-#: config/arc/arc.cc:1117
+#: config/arc/arc.cc:1020
 #, gcc-internal-format
 msgid "no FPX/FPU mixing allowed"
 msgstr ""
 
-#: config/arc/arc.cc:1122
+#: config/arc/arc.cc:1025
 #, gcc-internal-format
 msgid "PIC is not supported for %qs"
 msgstr ""
 
-#: config/arc/arc.cc:1161
+#: config/arc/arc.cc:1061
 #, gcc-internal-format
 msgid "missing dash"
 msgstr ""
 
-#: config/arc/arc.cc:1173
+#: config/arc/arc.cc:1073
 #, gcc-internal-format
 msgid "first register must be R0"
 msgstr ""
 
-#: config/arc/arc.cc:1193
+#: config/arc/arc.cc:1093
 #, gcc-internal-format, gfc-internal-format
 msgid "last register name %s must be an odd register"
 msgstr ""
 
-#: config/arc/arc.cc:1202 config/ia64/ia64.cc:6052 config/pa/pa.cc:480
+#: config/arc/arc.cc:1102 config/ia64/ia64.cc:6062 config/pa/pa.cc:488
 #: config/sh/sh.cc:8293
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
 msgstr ""
 
-#: config/arc/arc.cc:1252
+#: config/arc/arc.cc:1152
 #, gcc-internal-format
 msgid ""
 "invalid number in %<-mrgf-banked-regs=%s%> valid values are 0, 4, 8, 16, or "
 "32"
 msgstr ""
 
-#: config/arc/arc.cc:1314
+#: config/arc/arc.cc:1214
 #, gcc-internal-format
 msgid "option %<-mirq-ctrl-saved%> valid only for ARC v2 processors"
 msgstr ""
 
-#: config/arc/arc.cc:1323
+#: config/arc/arc.cc:1223
 #, gcc-internal-format
 msgid "option %<-mrgf-banked-regs%> valid only for ARC v2 processors"
 msgstr ""
@@ -40160,229 +41472,229 @@ msgstr ""
 #. TRANSLATORS: the DOC/DOC0/DOC1 are strings which shouldn't be
 #. translated.  They are like keywords which one can relate with the
 #. architectural choices taken for an ARC CPU implementation.
-#: config/arc/arc.cc:1367
+#: config/arc/arc.cc:1267
 #, gcc-internal-format
 msgid "option %<%s=%s%> is not available for %qs CPU"
 msgstr ""
 
-#: config/arc/arc.cc:1372
+#: config/arc/arc.cc:1272
 #, gcc-internal-format
 msgid "option %qs is ignored, the default value %qs is considered for %qs CPU"
 msgstr ""
 
-#: config/arc/arc.cc:1380
+#: config/arc/arc.cc:1280
 #, gcc-internal-format
 msgid "option %qs is not available for %qs CPU"
 msgstr ""
 
-#: config/arc/arc.cc:1385
+#: config/arc/arc.cc:1285
 #, gcc-internal-format
 msgid "unset option %qs is ignored, it is always enabled for %qs CPU"
 msgstr ""
 
-#: config/arc/arc.cc:1957
+#: config/arc/arc.cc:1857
 #, gcc-internal-format, gfc-internal-format
 msgid "multiply option implies r%d is fixed"
 msgstr ""
 
-#: config/arc/arc.cc:2105 config/epiphany/epiphany.cc:506
-#: config/epiphany/epiphany.cc:548
+#: config/arc/arc.cc:2005 config/epiphany/epiphany.cc:505
+#: config/epiphany/epiphany.cc:547
 #, gcc-internal-format
 msgid "argument of %qE attribute is not a string constant"
 msgstr ""
 
-#: config/arc/arc.cc:2114
+#: config/arc/arc.cc:2014
 #, gcc-internal-format
 msgid "argument of %qE attribute is not \"ilink1\" or \"ilink2\""
 msgstr ""
 
-#: config/arc/arc.cc:2123
+#: config/arc/arc.cc:2023
 #, gcc-internal-format
 msgid "argument of %qE attribute is not \"ilink\" or \"firq\""
 msgstr ""
 
-#: config/arc/arc.cc:2137 config/arm/arm.cc:7434 config/arm/arm.cc:7452
-#: config/arm/arm.cc:7631 config/avr/avr.cc:10305 config/avr/avr.cc:10321
-#: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785
-#: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486
-#: config/epiphany/epiphany.cc:489 config/gcn/gcn.cc:335
-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3398
-#: config/i386/i386-options.cc:3575 config/i386/i386-options.cc:3631
-#: config/i386/i386-options.cc:3682 config/i386/i386-options.cc:3719
-#: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067
-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:4188
+#: config/arc/arc.cc:2037 config/arm/arm.cc:7442 config/arm/arm.cc:7460
+#: config/arm/arm.cc:7639 config/avr/avr.cc:10321 config/avr/avr.cc:10337
+#: config/bfin/bfin.cc:4695 config/bfin/bfin.cc:4756 config/bfin/bfin.cc:4786
+#: config/bpf/bpf.cc:93 config/csky/csky.cc:6458 config/csky/csky.cc:6486
+#: config/epiphany/epiphany.cc:488 config/gcn/gcn.cc:371
+#: config/h8300/h8300.cc:4948 config/i386/i386-options.cc:3695
+#: config/i386/i386-options.cc:3872 config/i386/i386-options.cc:3928
+#: config/i386/i386-options.cc:3979 config/i386/i386-options.cc:4016
+#: config/m68k/m68k.cc:796 config/mcore/mcore.cc:3067
+#: config/nvptx/nvptx.cc:5801 config/riscv/riscv.cc:5476
 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889
-#: config/rs6000/rs6000.cc:20427 config/rx/rx.cc:2727 config/rx/rx.cc:2753
+#: config/rs6000/rs6000.cc:20684 config/rx/rx.cc:2728 config/rx/rx.cc:2754
 #: config/s390/s390.cc:1172 config/s390/s390.cc:1259 config/sh/sh.cc:8429
 #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542
-#: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2404
+#: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2403
 #: config/v850/v850.cc:2010 config/visium/visium.cc:724
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr ""
 
-#: config/arc/arc.cc:6978
+#: config/arc/arc.cc:6879
 #, gcc-internal-format
 msgid "%<__builtin_arc_aligned%> with non-constant alignment"
 msgstr ""
 
-#: config/arc/arc.cc:6986
+#: config/arc/arc.cc:6887
 #, gcc-internal-format
 msgid "invalid alignment value for %<__builtin_arc_aligned%>"
 msgstr ""
 
-#: config/arc/arc.cc:7149
+#: config/arc/arc.cc:7050
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7190 config/arc/arc.cc:7287
+#: config/arc/arc.cc:7091 config/arc/arc.cc:7188
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7223 config/arc/arc.cc:7255
+#: config/arc/arc.cc:7124 config/arc/arc.cc:7156
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7227 config/arc/arc.cc:7259
+#: config/arc/arc.cc:7128 config/arc/arc.cc:7160
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7291
+#: config/arc/arc.cc:7192
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7324
+#: config/arc/arc.cc:7225
 #, gcc-internal-format
 msgid "operand 4 should be an unsigned 8-bit value (0-255)"
 msgstr ""
 
-#: config/arc/arc.cc:7328
+#: config/arc/arc.cc:7229
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7335
+#: config/arc/arc.cc:7236
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)"
 msgstr ""
 
-#: config/arc/arc.cc:7338
+#: config/arc/arc.cc:7239
 #, gcc-internal-format
 msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)"
 msgstr ""
 
-#: config/arc/arc.cc:7385
+#: config/arc/arc.cc:7286
 #, gcc-internal-format, gfc-internal-format
 msgid "builtin requires an immediate for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7390
+#: config/arc/arc.cc:7291
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 6 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7394
+#: config/arc/arc.cc:7295
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 8 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7398
+#: config/arc/arc.cc:7299
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 3 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7401
+#: config/arc/arc.cc:7302
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown builtin immediate operand type for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7452
+#: config/arc/arc.cc:7393
 #, gcc-internal-format
 msgid ""
 "register number must be a compile-time constant.  Try giving higher "
 "optimization levels"
 msgstr ""
 
-#: config/arc/arc.cc:8549
+#: config/arc/arc.cc:8466
 #, gcc-internal-format
 msgid "insn addresses not set after shorten branches"
 msgstr ""
 
-#: config/arc/arc.cc:8764
+#: config/arc/arc.cc:8681
 #, gcc-internal-format
 msgid "insn addresses not freed"
 msgstr ""
 
-#: config/arc/arc.cc:11105
+#: config/arc/arc.cc:10837
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARCv2 architecture"
 msgstr ""
 
-#: config/arc/arc.cc:11113 config/arc/arc.cc:11152
+#: config/arc/arc.cc:10845 config/arc/arc.cc:10884
 #, gcc-internal-format
 msgid "argument of %qE attribute is missing"
 msgstr ""
 
-#: config/arc/arc.cc:11124 config/arc/arc.cc:11163 config/arc/arc.cc:11289
-#: config/avr/avr.cc:10377
+#: config/arc/arc.cc:10856 config/arc/arc.cc:10895 config/arc/arc.cc:11021
+#: config/avr/avr.cc:10397
 #, gcc-internal-format
 msgid "%qE attribute allows only an integer constant argument"
 msgstr ""
 
-#: config/arc/arc.cc:11144
+#: config/arc/arc.cc:10876
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARC EM architecture"
 msgstr ""
 
-#: config/arc/arc.cc:11199
+#: config/arc/arc.cc:10931
 #, gcc-internal-format
 msgid "%qE attribute only applies to types"
 msgstr ""
 
-#: config/arc/arc.cc:11205
+#: config/arc/arc.cc:10937
 #, gcc-internal-format
 msgid "argument of %qE attribute ignored"
 msgstr ""
 
-#: config/arc/arc.cc:11279 config/avr/avr.cc:10364 config/bfin/bfin.cc:4817
-#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823
+#: config/arc/arc.cc:11011 config/avr/avr.cc:10384 config/bfin/bfin.cc:4818
+#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5824
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables"
 msgstr ""
 
-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22997
+#: config/arm/aarch-common.cc:552 config/i386/i386.cc:23845
 #, gcc-internal-format
 msgid "alternatives not allowed in %<asm%> flag output"
 msgstr ""
 
-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:23061
+#: config/arm/aarch-common.cc:613 config/i386/i386.cc:23909
 #, gcc-internal-format
 msgid "unknown %<asm%> flag output %qs"
 msgstr ""
 
-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:23090
+#: config/arm/aarch-common.cc:623 config/i386/i386.cc:23938
 #, gcc-internal-format
 msgid "invalid type for %<asm%> flag output"
 msgstr ""
 
-#: config/arm/aarch-common.cc:672 config/arm/aarch-common.cc:686
+#: config/arm/aarch-common.cc:765
 #, gcc-internal-format
-msgid "unexpected %<%s%> after %<%s%>"
+msgid "missing feature or flag for %<%s%>"
 msgstr ""
 
-#: config/arm/aarch-common.cc:838
+#: config/arm/aarch-common.cc:767
 #, gcc-internal-format
-msgid "invalid argument %<%s%> for %<-mbranch-protection=%>"
+msgid "invalid argument %<%s%> for %<%s%>"
 msgstr ""
 
-#: config/arm/aarch-common.cc:840
+#: config/arm/aarch-common.cc:778
 #, gcc-internal-format
-msgid "missing argument for %<-mbranch-protection=%>"
+msgid "argument %<%s%> can only appear alone in %<%s%>"
 msgstr ""
 
 #: config/arm/arm-builtins.cc:3125
@@ -40522,347 +41834,358 @@ msgstr ""
 msgid "unknown %<#pragma GCC arm%> option %qs"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:465
+#: config/arm/arm-mve-builtins.cc:472
 #, gcc-internal-format
 msgid "this definition requires the MVE ISA extension"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:537
+#: config/arm/arm-mve-builtins.cc:560
 #, gcc-internal-format
 msgid ""
 "you can enable mve.fp by using the command-line option %<-march%>, or by "
 "using the %<target%> attribute or pragma"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:1147
+#: config/arm/arm-mve-builtins.cc:1166
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, but %qT is not a valid MVE element type"
+msgstr ""
+
+#: config/arm/arm-mve-builtins.cc:1200
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a single MVE vector rather "
 "than a tuple"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:1167
+#: config/arm/arm-mve-builtins.cc:1220
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an MVE vector type"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:1170
+#: config/arm/arm-mve-builtins.cc:1223
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an MVE tuple type"
 msgstr ""
 
-#: config/arm/arm.cc:2973
+#: config/arm/arm-mve-builtins.cc:1290
+#, gcc-internal-format
+msgid "passing %qT to argument %d of %qE, but previous arguments had type %qT"
+msgstr ""
+
+#: config/arm/arm.cc:2980
 #, gcc-internal-format
 msgid "iWMMXt and NEON are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:2979
+#: config/arm/arm.cc:2986
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr ""
 
-#: config/arm/arm.cc:2983
+#: config/arm/arm.cc:2990
 #, gcc-internal-format
 msgid ""
 "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2986
+#: config/arm/arm.cc:2993
 #, gcc-internal-format
 msgid ""
 "enabling callee interworking support is only meaningful when compiling for "
 "the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2994
+#: config/arm/arm.cc:3001
 #, gcc-internal-format
 msgid "%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.cc:2999
+#: config/arm/arm.cc:3006
 #, gcc-internal-format
 msgid "iWMMXt unsupported under Thumb mode"
 msgstr ""
 
-#: config/arm/arm.cc:3002
+#: config/arm/arm.cc:3009
 #, gcc-internal-format
 msgid "cannot use %<-mtp=cp15%> with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:3006
+#: config/arm/arm.cc:3013
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:3019
+#: config/arm/arm.cc:3026
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s only supports non-pic code on M-profile targets with the MOVT instruction"
 msgstr ""
 
-#: config/arm/arm.cc:3024
+#: config/arm/arm.cc:3031
 #, gcc-internal-format, gfc-internal-format
 msgid "%s only supports non-pic code on M-profile targets"
 msgstr ""
 
-#: config/arm/arm.cc:3029
+#: config/arm/arm.cc:3036
 #, gcc-internal-format
 msgid "%s incompatible with %<-mword-relocations%>"
 msgstr ""
 
-#: config/arm/arm.cc:3131
+#: config/arm/arm.cc:3138
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.cc:3181
+#: config/arm/arm.cc:3188
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr ""
 
-#: config/arm/arm.cc:3240 config/arm/arm.cc:33234
+#: config/arm/arm.cc:3247 config/arm/arm.cc:33306
 #, gcc-internal-format
 msgid "This architecture does not support branch protection instructions"
 msgstr ""
 
-#: config/arm/arm.cc:3243
+#: config/arm/arm.cc:3250
 #, gcc-internal-format
 msgid "Return address signing is not supported with %<-mtpcs-frame%>."
 msgstr ""
 
-#: config/arm/arm.cc:3306
+#: config/arm/arm.cc:3314
 #, gcc-internal-format
 msgid "invalid key type for %<-mbranch-protection=%>"
 msgstr ""
 
-#: config/arm/arm.cc:3339
+#: config/arm/arm.cc:3347
 #, gcc-internal-format
 msgid "switch %<-mcpu=%s%> conflicts with switch %<-march=%s%>"
 msgstr ""
 
-#: config/arm/arm.cc:3594
+#: config/arm/arm.cc:3602
 #, gcc-internal-format
 msgid "%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>"
 msgstr ""
 
-#: config/arm/arm.cc:3603
+#: config/arm/arm.cc:3611
 #, gcc-internal-format
 msgid "%<-fpic%> and %<-mapcs-reent%> are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3606
+#: config/arm/arm.cc:3614
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.cc:3629
+#: config/arm/arm.cc:3637
 #, gcc-internal-format
 msgid "option %<-mstructure-size-boundary%> is deprecated"
 msgstr ""
 
-#: config/arm/arm.cc:3637
+#: config/arm/arm.cc:3645
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.cc:3639
+#: config/arm/arm.cc:3647
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.cc:3664
+#: config/arm/arm.cc:3672
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with %<-msingle-pic-base%>"
 msgstr ""
 
-#: config/arm/arm.cc:3676 config/arm/arm.cc:33575
+#: config/arm/arm.cc:3684 config/arm/arm.cc:33647
 #, gcc-internal-format
 msgid "FDPIC mode is not supported in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:3684
+#: config/arm/arm.cc:3692
 #, gcc-internal-format
 msgid "%<-mpic-register=%> is useless without %<-fpic%>"
 msgstr ""
 
-#: config/arm/arm.cc:3693
+#: config/arm/arm.cc:3701
 #, gcc-internal-format
 msgid "unable to use %qs for PIC register"
 msgstr ""
 
-#: config/arm/arm.cc:3733 config/pru/pru.cc:612
+#: config/arm/arm.cc:3741 config/pru/pru.cc:612
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> not supported on this architecture"
 msgstr ""
 
-#: config/arm/arm.cc:3901
+#: config/arm/arm.cc:3909
 #, gcc-internal-format
 msgid "selected fp16 options are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3936
+#: config/arm/arm.cc:3944
 #, gcc-internal-format
 msgid "%<-mstack-protector-guard=tls%> needs a hardware TLS register"
 msgstr ""
 
-#: config/arm/arm.cc:3956
+#: config/arm/arm.cc:3964
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.cc:3959
+#: config/arm/arm.cc:3967
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.cc:3967
+#: config/arm/arm.cc:3975
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.cc:3980
+#: config/arm/arm.cc:3988
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcaller-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:3983
+#: config/arm/arm.cc:3991
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcallee-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:3988
+#: config/arm/arm.cc:3996
 #, gcc-internal-format
 msgid "%<__fp16%> and no ldrh"
 msgstr ""
 
-#: config/arm/arm.cc:3991
+#: config/arm/arm.cc:3999
 #, gcc-internal-format
 msgid "target CPU does not support ARMv8-M Security Extensions"
 msgstr ""
 
-#: config/arm/arm.cc:3996
+#: config/arm/arm.cc:4004
 #, gcc-internal-format
 msgid "ARMv8-M Security Extensions incompatible with selected FPU"
 msgstr ""
 
-#: config/arm/arm.cc:4008
+#: config/arm/arm.cc:4016
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%>: selected architecture lacks an FPU"
 msgstr ""
 
-#: config/arm/arm.cc:4016
+#: config/arm/arm.cc:4024
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%> and VFP"
 msgstr ""
 
-#: config/arm/arm.cc:6281
+#: config/arm/arm.cc:6289
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6283
+#: config/arm/arm.cc:6291
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6312
+#: config/arm/arm.cc:6320
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6587
+#: config/arm/arm.cc:6595
 #, gcc-internal-format
 msgid "Thumb-1 %<hard-float%> VFP ABI"
 msgstr ""
 
-#: config/arm/arm.cc:6682
+#: config/arm/arm.cc:6690
 #, gcc-internal-format
 msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7066 config/arm/arm.cc:7287 config/arm/arm.cc:7320
-#: config/arm/arm.cc:29353
+#: config/arm/arm.cc:7074 config/arm/arm.cc:7295 config/arm/arm.cc:7328
+#: config/arm/arm.cc:29369
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 7.1"
 msgstr ""
 
-#: config/arm/arm.cc:7458
+#: config/arm/arm.cc:7466
 #, gcc-internal-format
 msgid ""
 "FP registers might be clobbered despite %qE attribute: compile with %<-"
 "mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7580
+#: config/arm/arm.cc:7588
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with arguments passed on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7592
+#: config/arm/arm.cc:7600
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with variable number of arguments"
 msgstr ""
 
-#: config/arm/arm.cc:7601
+#: config/arm/arm.cc:7609
 #, gcc-internal-format
 msgid "%qE attribute not available to functions that return value on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7623 config/arm/arm.cc:7675
+#: config/arm/arm.cc:7631 config/arm/arm.cc:7683
 #, gcc-internal-format
 msgid "%qE attribute ignored without %<-mcmse%> option"
 msgstr ""
 
-#: config/arm/arm.cc:7642
+#: config/arm/arm.cc:7650
 #, gcc-internal-format
 msgid "%qE attribute has no effect on functions with static linkage"
 msgstr ""
 
-#: config/arm/arm.cc:7695
+#: config/arm/arm.cc:7703
 #, gcc-internal-format
 msgid "%qE attribute only applies to base type of a function pointer"
 msgstr ""
 
-#: config/arm/arm.cc:9685
+#: config/arm/arm.cc:9696
 #, gcc-internal-format
 msgid ""
 "accessing thread-local storage is not currently supported with %<-mpure-"
 "code%> or %<-mslow-flash-data%>"
 msgstr ""
 
-#: config/arm/arm.cc:13536 config/arm/arm.cc:13538
+#: config/arm/arm.cc:13547 config/arm/arm.cc:13549
 #, gcc-internal-format
 msgid "%s %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/arm/arm.cc:25942
+#: config/arm/arm.cc:25956
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.cc:26605
+#: config/arm/arm.cc:26619
 #, gcc-internal-format
 msgid "Unexpected thumb1 far jump"
 msgstr ""
 
-#: config/arm/arm.cc:26864
+#: config/arm/arm.cc:26878
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.cc:27117
+#: config/arm/arm.cc:27131
 #, gcc-internal-format
 msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:27363
+#: config/arm/arm.cc:27377
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> for Thumb-1"
 msgstr ""
 
-#: config/arm/arm.cc:33590
+#: config/arm/arm.cc:33662
 #, gcc-internal-format
 msgid "invalid fpu for target attribute or pragma %qs"
 msgstr ""
@@ -40870,22 +42193,22 @@ msgstr ""
 #. This doesn't really make sense until we support
 #. general dynamic selection of the architecture and all
 #. sub-features.
-#: config/arm/arm.cc:33598
+#: config/arm/arm.cc:33670
 #, gcc-internal-format
 msgid "auto fpu selection not currently permitted here"
 msgstr ""
 
-#: config/arm/arm.cc:33611
+#: config/arm/arm.cc:33683
 #, gcc-internal-format
 msgid "invalid architecture for target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:33625
+#: config/arm/arm.cc:33697
 #, gcc-internal-format
 msgid "unknown target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:34587
+#: config/arm/arm.cc:34660
 #, gcc-internal-format
 msgid "%<asm%> flags not supported in thumb1 mode"
 msgstr ""
@@ -40934,200 +42257,209 @@ msgstr ""
 #. happen as options are provided by device-specs.  It could be a
 #. typo in a device-specs or calling the compiler proper directly
 #. with -mmcu=<device>.
-#: config/avr/avr.cc:1050
+#: config/avr/avr.cc:1065
 #, gcc-internal-format
 msgid "unknown core architecture %qs specified with %qs"
 msgstr ""
 
-#: config/avr/avr.cc:1103 config/pru/pru.cc:601 config/visium/visium.cc:422
+#: config/avr/avr.cc:1119 config/pru/pru.cc:601 config/visium/visium.cc:422
 #, gcc-internal-format
 msgid "%<-fpic%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1105 config/pru/pru.cc:603 config/visium/visium.cc:424
+#: config/avr/avr.cc:1121 config/pru/pru.cc:603 config/visium/visium.cc:424
 #, gcc-internal-format
 msgid "%<-fPIC%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1107 config/pru/pru.cc:605
+#: config/avr/avr.cc:1123 config/pru/pru.cc:605
 #, gcc-internal-format
 msgid "%<-fpie%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1109 config/pru/pru.cc:607
+#: config/avr/avr.cc:1125 config/pru/pru.cc:607
 #, gcc-internal-format
 msgid "%<-fPIE%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1405 config/avr/avr.cc:1410 config/riscv/riscv.cc:6984
+#: config/avr/avr.cc:1421 config/avr/avr.cc:1426 config/riscv/riscv.cc:9392
 #, gcc-internal-format
 msgid "function attributes %qs and %qs are mutually exclusive"
 msgstr ""
 
-#: config/avr/avr.cc:1431 config/riscv/riscv.cc:6996
+#: config/avr/avr.cc:1447 config/riscv/riscv.cc:9404
 #, gcc-internal-format
 msgid "%qs function cannot have arguments"
 msgstr ""
 
-#: config/avr/avr.cc:1434 config/riscv/riscv.cc:6993
+#: config/avr/avr.cc:1450 config/riscv/riscv.cc:9401
 #, gcc-internal-format
 msgid "%qs function cannot return a value"
 msgstr ""
 
-#: config/avr/avr.cc:1448
+#: config/avr/avr.cc:1464
 #, gcc-internal-format
 msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix"
 msgstr ""
 
-#: config/avr/avr.cc:1461
+#: config/avr/avr.cc:1477
 #, gcc-internal-format
 msgid ""
 "%qs is a reserved identifier in AVR-LibC.  Consider %<#include <avr/"
 "interrupt.h>%> before using the %qs macro"
 msgstr ""
 
-#: config/avr/avr.cc:1678
+#: config/avr/avr.cc:1694
 #, gcc-internal-format
 msgid "%<builtin_return_address%> contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.cc:3103
+#: config/avr/avr.cc:3119
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.cc:3242
+#: config/avr/avr.cc:3258
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.cc:3303
+#: config/avr/avr.cc:3319
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.cc:3637
+#: config/avr/avr.cc:3653
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.cc:3902
+#: config/avr/avr.cc:3918
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.cc:10340
+#: config/avr/avr.cc:10356
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables in static storage"
 msgstr ""
 
-#: config/avr/avr.cc:10347
+#: config/avr/avr.cc:10363
 #, gcc-internal-format
 msgid "%qE attribute only supported for reduced Tiny cores"
 msgstr ""
 
-#: config/avr/avr.cc:10387
+#: config/avr/avr.cc:10405
 #, gcc-internal-format
-msgid "%qE attribute address out of range"
+msgid "%qE attribute address out of range 0x%x%s0x%x"
 msgstr ""
 
-#: config/avr/avr.cc:10401
+#: config/avr/avr.cc:10419
 #, gcc-internal-format
 msgid "both %s and %qE attribute provide address"
 msgstr ""
 
-#: config/avr/avr.cc:10411
+#: config/avr/avr.cc:10429
 #, gcc-internal-format
 msgid "%qE attribute on non-volatile variable"
 msgstr ""
 
-#: config/avr/avr.cc:10483
+#: config/avr/avr.cc:10505
 #, gcc-internal-format
 msgid "address spaces are not supported for reduced Tiny devices"
 msgstr ""
 
-#: config/avr/avr.cc:10490
+#: config/avr/avr.cc:10512
 #, gcc-internal-format
 msgid ""
 "address space %qs not supported for devices with flash size up to %d KiB"
 msgstr ""
 
-#: config/avr/avr.cc:10671
+#: config/avr/avr.cc:10693
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.cc:10674
+#: config/avr/avr.cc:10696
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.cc:10736
+#: config/avr/avr.cc:10717
 #, gcc-internal-format
-msgid ""
-"variable %q+D must be const in order to be put into read-only section by "
-"means of %qs"
+msgid "variable %q+D with attribute %qs must be located in static storage"
 msgstr ""
 
-#: config/avr/avr.cc:10775
+#: config/avr/avr.cc:10769
 #, gcc-internal-format
-msgid "static IO declaration for %q+D needs an address"
+msgid ""
+"variable %q+D must be const in order to be put into read-only section by "
+"means of %qs"
 msgstr ""
 
-#: config/avr/avr.cc:10807
+#: config/avr/avr.cc:10930
 #, gcc-internal-format
-msgid "IO definition for %q+D needs an address"
+msgid "static attribute %qs declaration for %q+D needs an address"
 msgstr ""
 
-#: config/avr/avr.cc:10924
+#: config/avr/avr.cc:11019
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the %<.noinit%> section"
 msgstr ""
 
 #. This might happen with C++ if stuff needs constructing.
-#: config/avr/avr.cc:11000
+#: config/avr/avr.cc:11096
 #, gcc-internal-format
 msgid "variable %q+D with dynamic initialization put into program memory area"
 msgstr ""
 
-#: config/avr/avr.cc:11011
+#: config/avr/avr.cc:11107
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.cc:11097
+#. Initializers are not yet parsed in TARGET_INSERT_ATTRIBUTES,
+#. hence deny initializers now.  The values of symbols with an
+#. address attribute are determined by the attribute, not by
+#. some initializer.
+#: config/avr/avr.cc:11172
+#, gcc-internal-format
+msgid "variable %q+D with attribute %qs must not have an initializer"
+msgstr ""
+
+#: config/avr/avr.cc:11225
 #, gcc-internal-format
 msgid "%q+D has incompatible attributes %qs and %qs"
 msgstr ""
 
-#: config/avr/avr.cc:11160
+#: config/avr/avr.cc:11288
 #, gcc-internal-format
 msgid "architecture %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.cc:13660
+#: config/avr/avr.cc:13788
 #, gcc-internal-format
 msgid "conversion from address space %qs to address space %qs"
 msgstr ""
 
-#: config/avr/avr.cc:14750 config/avr/avr.cc:14763
+#: config/avr/avr.cc:14878 config/avr/avr.cc:14891
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr ""
 
-#: config/avr/avr.cc:14777
+#: config/avr/avr.cc:14905
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr ""
 
-#: config/avr/avr.cc:14805
+#: config/avr/avr.cc:14933
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "rounding to %d bits has no effect for fixed-point value with %d fractional "
 "bits"
 msgstr ""
 
-#: config/avr/avr.cc:14814
+#: config/avr/avr.cc:14942
 #, gcc-internal-format
 msgid "rounding result will always be 0"
 msgstr ""
@@ -41174,7 +42506,7 @@ msgstr ""
 msgid "ID shared libraries and FD-PIC mode cannot be used together"
 msgstr ""
 
-#: config/bfin/bfin.cc:2393 config/m68k/m68k.cc:590
+#: config/bfin/bfin.cc:2393 config/m68k/m68k.cc:594
 #, gcc-internal-format
 msgid "cannot specify both %<-msep-data%> and %<-mid-shared-library%>"
 msgstr ""
@@ -41199,114 +42531,84 @@ msgstr ""
 msgid "%<-mcorea%> and %<-mcoreb%> cannot be used together"
 msgstr ""
 
-#: config/bfin/bfin.cc:4699
+#: config/bfin/bfin.cc:4700
 #, gcc-internal-format
 msgid "multiple function type attributes specified"
 msgstr ""
 
-#: config/bfin/bfin.cc:4766
+#: config/bfin/bfin.cc:4767
 #, gcc-internal-format
 msgid ""
 "cannot apply both %<longcall%> and %<shortcall%> attributes to the same "
 "function"
 msgstr ""
 
-#: config/bpf/bpf.cc:111
+#: config/bpf/bpf.cc:105
 #, gcc-internal-format
 msgid "%qE attribute requires an integer argument"
 msgstr ""
 
-#: config/bpf/bpf.cc:118
+#: config/bpf/bpf.cc:112
 #, gcc-internal-format
 msgid "%qE requires an argument"
 msgstr ""
 
-#: config/bpf/bpf.cc:139
+#: config/bpf/bpf.cc:133
 #, gcc-internal-format
 msgid "%qE attribute only applies to structure, union and class types"
 msgstr ""
 
-#: config/bpf/bpf.cc:216
+#: config/bpf/bpf.cc:196
 #, gcc-internal-format
 msgid "BPF CO-RE requires BTF debugging information, use %<-gbtf%>"
 msgstr ""
 
-#: config/bpf/bpf.cc:236
+#: config/bpf/bpf.cc:216
 #, gcc-internal-format
 msgid "BPF CO-RE does not support LTO"
 msgstr ""
 
-#: config/bpf/bpf.cc:269
+#: config/bpf/bpf.cc:253
 #, gcc-internal-format
 msgid "%<-fstack-protector%> does not work on this architecture"
 msgstr ""
 
-#: config/bpf/bpf.cc:394
+#: config/bpf/bpf.cc:382
 #, gcc-internal-format
 msgid "eBPF stack limit exceeded"
 msgstr ""
 
-#: config/bpf/bpf.cc:746
+#: config/bpf/bpf.cc:664
 #, gcc-internal-format
 msgid "too many function arguments for eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:764 config/bpf/bpf.cc:766
+#: config/bpf/bpf.cc:683 config/bpf/bpf.cc:685
 #, gcc-internal-format
 msgid "no constructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:782 config/bpf/bpf.cc:784
+#: config/bpf/bpf.cc:701 config/bpf/bpf.cc:703
 #, gcc-internal-format
 msgid "no destructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:836
+#: config/bpf/bpf.cc:755
 #, gcc-internal-format
 msgid "indirect call in function, which are not supported by eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:1113 config/bpf/bpf.cc:1169
-#, gcc-internal-format
-msgid "unsupported variable field offset"
-msgstr ""
-
-#: config/bpf/bpf.cc:1128 config/bpf/bpf.cc:1164
-#, gcc-internal-format
-msgid "unsupported variable size field access"
-msgstr ""
-
-#: config/bpf/bpf.cc:1140
-#, gcc-internal-format
-msgid "unsupported field expression"
-msgstr ""
-
-#: config/bpf/bpf.cc:1177 config/bpf/bpf.cc:1186
-#, gcc-internal-format
-msgid "field size too large"
-msgstr ""
-
-#: config/bpf/bpf.cc:1203
-#, gcc-internal-format
-msgid "invalid second argument to built-in function"
-msgstr ""
-
-#: config/bpf/bpf.cc:1254 config/bpf/bpf.cc:1299
-#: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17353
-#: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:308
-#: config/riscv/riscv-vector-builtins.cc:3810
+#: config/bpf/bpf.cc:1005 config/loongarch/loongarch-builtins.cc:3008
+#: config/mips/mips.cc:17388 config/nios2/nios2.cc:3601
+#: config/riscv/riscv-builtins.cc:344
+#: config/riscv/riscv-vector-builtins.cc:4189
 #, gcc-internal-format
 msgid "invalid argument to built-in function"
 msgstr ""
 
-#: config/bpf/bpf.cc:1647
-#, gcc-internal-format
-msgid "wrong number of arguments"
-msgstr ""
-
-#: config/bpf/bpf.cc:1664
+#: config/bpf/bpf.cc:1019
 #, gcc-internal-format
-msgid "argument is not a field access"
+msgid "invalid built-in function at expansion"
 msgstr ""
 
 #: config/c6x/c6x.cc:245
@@ -41318,33 +42620,33 @@ msgstr ""
 #. an operator, for immediate output.  If that ever happens for
 #. MULT, we need to apply TARGET_MUL_BUG in the caller.  Make sure
 #. we notice.
-#: config/cris/cris.cc:729
+#: config/cris/cris.cc:732
 #, gcc-internal-format
 msgid "MULT case in %<cris_op_str%>"
 msgstr ""
 
-#: config/cris/cris.cc:1246 config/moxie/moxie.cc:186 config/or1k/or1k.cc:1293
+#: config/cris/cris.cc:1249 config/moxie/moxie.cc:186 config/or1k/or1k.cc:1294
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: bad register: %d"
 msgstr ""
 
 #. If we get here, the caller got its initial tests wrong.
-#: config/cris/cris.cc:2246
+#: config/cris/cris.cc:2272
 #, gcc-internal-format
 msgid "internal error: %<cris_side_effect_mode_ok%> with bad operands"
 msgstr ""
 
-#: config/cris/cris.cc:2299
+#: config/cris/cris.cc:2325
 #, gcc-internal-format
 msgid "%<-max-stackframe=%d%> is not usable, not between 0 and %d"
 msgstr ""
 
-#: config/cris/cris.cc:2328
+#: config/cris/cris.cc:2354
 #, gcc-internal-format
 msgid "unknown CRIS version specification in %<-march=%> or %<-mcpu=%>: %s"
 msgstr ""
 
-#: config/cris/cris.cc:2364
+#: config/cris/cris.cc:2390
 #, gcc-internal-format
 msgid "unknown CRIS cpu version specification in %<-mtune=%>: %s"
 msgstr ""
@@ -41352,53 +42654,53 @@ msgstr ""
 #. Use error rather than warning, so invalid use is easily
 #. detectable.  Still change to the values we expect, to avoid
 #. further errors.
-#: config/cris/cris.cc:2380
+#: config/cris/cris.cc:2406
 #, gcc-internal-format
 msgid "%<-fPIC%> and %<-fpic%> are not supported on this target"
 msgstr ""
 
-#: config/cris/cris.cc:2581
+#: config/cris/cris.cc:2607
 #, gcc-internal-format
 msgid "unknown src"
 msgstr ""
 
-#: config/cris/cris.cc:2631
+#: config/cris/cris.cc:2657
 #, gcc-internal-format
 msgid "unknown dest"
 msgstr ""
 
-#: config/cris/cris.cc:3033
+#: config/cris/cris.cc:3059
 #, gcc-internal-format, gfc-internal-format
 msgid "stackframe too big: %d bytes"
 msgstr ""
 
-#: config/csky/csky.cc:2544
+#: config/csky/csky.cc:2543
 #, gcc-internal-format, gfc-internal-format
 msgid "cpu %s is not based on arch %s, ignoring the arch"
 msgstr ""
 
-#: config/csky/csky.cc:2610 config/csky/csky.cc:2648 config/csky/csky.cc:2713
-#: config/csky/csky.cc:2736 config/csky/csky.cc:2753
+#: config/csky/csky.cc:2609 config/csky/csky.cc:2647 config/csky/csky.cc:2712
+#: config/csky/csky.cc:2735 config/csky/csky.cc:2752
 #, gcc-internal-format
 msgid "%qs is not supported by arch %s"
 msgstr ""
 
-#: config/csky/csky.cc:2651
+#: config/csky/csky.cc:2650
 #, gcc-internal-format
 msgid "%<-mhard-float%> is not supported by the selected CPU"
 msgstr ""
 
-#: config/csky/csky.cc:2667
+#: config/csky/csky.cc:2666
 #, gcc-internal-format
 msgid "%<-mdouble-float%> ignored without %<-mhard-float%>"
 msgstr ""
 
-#: config/csky/csky.cc:2670
+#: config/csky/csky.cc:2669
 #, gcc-internal-format
 msgid "%<-mfdivdu%> ignored without %<-mhard-float%>"
 msgstr ""
 
-#: config/csky/csky.cc:2725
+#: config/csky/csky.cc:2724
 #, gcc-internal-format
 msgid "%<-msmart%> is incompatible with %<-mhigh-registers%>"
 msgstr ""
@@ -41425,84 +42727,84 @@ msgstr ""
 msgid "%qE attribute ignored without %<-mistack%>"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:497
+#: config/epiphany/epiphany.cc:496
 #, gcc-internal-format
 msgid "interrupt handlers cannot have arguments"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:521
+#: config/epiphany/epiphany.cc:520
 #, gcc-internal-format
 msgid ""
 "argument of %qE attribute is not %qs, %qs %qs, %qs, %qs, %qs, %qs, %qs, %qs "
 "or %qs"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:1543
+#: config/epiphany/epiphany.cc:1542
 #, gcc-internal-format
 msgid "%<stack_offset%> must be at least 4"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:1545
+#: config/epiphany/epiphany.cc:1544
 #, gcc-internal-format
 msgid "%<stack_offset%> must be a multiple of 4"
 msgstr ""
 
-#: config/frv/frv.cc:8478
+#: config/frv/frv.cc:8479
 #, gcc-internal-format
 msgid "accumulator is not a constant integer"
 msgstr ""
 
-#: config/frv/frv.cc:8483
+#: config/frv/frv.cc:8484
 #, gcc-internal-format
 msgid "accumulator number is out of bounds"
 msgstr ""
 
-#: config/frv/frv.cc:8494
+#: config/frv/frv.cc:8495
 #, gcc-internal-format
 msgid "inappropriate accumulator for %qs"
 msgstr ""
 
-#: config/frv/frv.cc:8570
+#: config/frv/frv.cc:8571
 #, gcc-internal-format
 msgid "invalid IACC argument"
 msgstr ""
 
-#: config/frv/frv.cc:8593 config/sparc/sparc.cc:11019
+#: config/frv/frv.cc:8594 config/sparc/sparc.cc:11011
 #, gcc-internal-format
 msgid "%qs expects a constant argument"
 msgstr ""
 
-#: config/frv/frv.cc:8598 config/sparc/sparc.cc:11025
+#: config/frv/frv.cc:8599 config/sparc/sparc.cc:11017
 #, gcc-internal-format
 msgid "constant argument out of range for %qs"
 msgstr ""
 
-#: config/frv/frv.cc:9079
+#: config/frv/frv.cc:9080
 #, gcc-internal-format
 msgid "media functions are not available unless %<-mmedia%> is used"
 msgstr ""
 
-#: config/frv/frv.cc:9091
+#: config/frv/frv.cc:9092
 #, gcc-internal-format
 msgid "this media function is only available on the fr500"
 msgstr ""
 
-#: config/frv/frv.cc:9119
+#: config/frv/frv.cc:9120
 #, gcc-internal-format
 msgid "this media function is only available on the fr400 and fr550"
 msgstr ""
 
-#: config/frv/frv.cc:9138
+#: config/frv/frv.cc:9139
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr405 and fr450"
 msgstr ""
 
-#: config/frv/frv.cc:9147
+#: config/frv/frv.cc:9148
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr500 and fr550"
 msgstr ""
 
-#: config/frv/frv.cc:9159
+#: config/frv/frv.cc:9160
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr450"
 msgstr ""
@@ -41522,144 +42824,143 @@ msgstr ""
 msgid "stack frame must be smaller than 64K"
 msgstr ""
 
-#: config/gcn/gcn.cc:164
+#: config/gcn/gcn.cc:170
 #, gcc-internal-format
-msgid "XNACK support"
+msgid "%<-mxnack=on%> is incompatible with %<-march=%s%>"
 msgstr ""
 
-#: config/gcn/gcn.cc:248
+#: config/gcn/gcn.cc:284
 #, gcc-internal-format
 msgid "%<amdgpu_hsa_kernel%> attribute requires string constant arguments"
 msgstr ""
 
-#: config/gcn/gcn.cc:261
+#: config/gcn/gcn.cc:297
 #, gcc-internal-format
 msgid "unknown specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:268
+#: config/gcn/gcn.cc:304
 #, gcc-internal-format
 msgid "duplicated parameter specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:320
+#: config/gcn/gcn.cc:356
 #, gcc-internal-format
 msgid "too many arguments passed in sgpr registers"
 msgstr ""
 
-#: config/gcn/gcn.cc:2525
+#: config/gcn/gcn.cc:2515
 #, gcc-internal-format
 msgid ""
 "A non-default set of initial values has been requested, which violates the "
 "ABI"
 msgstr ""
 
-#: config/gcn/gcn.cc:2768
+#: config/gcn/gcn.cc:2783
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong type of argument %s"
 msgstr ""
 
-#: config/gcn/gcn.cc:3766
+#: config/gcn/gcn.cc:3788
 #, gcc-internal-format
 msgid ""
 "nested function trampolines not supported on GCN5 due to non-executable "
 "stacks"
 msgstr ""
 
-#: config/gcn/gcn.cc:3918
+#: config/gcn/gcn.cc:3940
 #, gcc-internal-format
 msgid "TLS is not implemented for GCN."
 msgstr ""
 
-#: config/gcn/gcn.cc:4983
+#: config/gcn/gcn.cc:5032
 #, gcc-internal-format
 msgid "Builtin not implemented"
 msgstr ""
 
-#: config/gcn/gcn.cc:5572
+#: config/gcn/gcn.cc:5636
 #, gcc-internal-format
 msgid "unsupported simdlen %wd (amdgcn)"
 msgstr ""
 
-#: config/gcn/gcn.cc:6256
+#: config/gcn/gcn.cc:6346
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:6257
+#: config/gcn/gcn.cc:6347
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/gcn/gcn.cc:6269 config/nvptx/nvptx.cc:6600
+#: config/gcn/gcn.cc:6359 config/nvptx/nvptx.cc:6606
 #, gcc-internal-format
 msgid "using %<num_workers (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:6296 config/gcn/gcn.cc:6325
+#: config/gcn/gcn.cc:6386 config/gcn/gcn.cc:6415
 #, gcc-internal-format, gfc-internal-format
 msgid "offload dimension out of range (%d)"
 msgstr ""
 
-#: config/gcn/gcn.cc:6775
+#: config/gcn/gcn.cc:6910
 #, gcc-internal-format
 msgid ""
 "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-"
 "private-size=%d%>, for example)"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:153 config/nvptx/mkoffload.cc:92
+#: config/gcn/mkoffload.cc:160
 #, gcc-internal-format
-msgid "deleting file %s: %m"
+msgid "deleting file %qs: %m"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:778 config/nvptx/mkoffload.cc:506
+#: config/gcn/mkoffload.cc:862
 #, gcc-internal-format
-msgid "environment variable COLLECT_GCC_OPTIONS must be set"
+msgid "%<COLLECT_GCC%> must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:837 config/nvptx/mkoffload.cc:563
+#: config/gcn/mkoffload.cc:908
 #, gcc-internal-format
-msgid "COLLECT_GCC must be set."
+msgid "offload compiler %qs not found"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:883
-#, gcc-internal-format, gfc-internal-format
-msgid "offload compiler %s not found"
+#: config/gcn/mkoffload.cc:930
+#, gcc-internal-format
+msgid "unrecognizable argument of option %<"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:905 config/nvptx/mkoffload.cc:634
+#: config/gcn/mkoffload.cc:994 config/nvptx/mkoffload.cc:751
 #, gcc-internal-format
-msgid "unrecognizable argument of option "
+msgid "either %<-fopenacc%> or %<-fopenmp%> must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:964
+#: config/gcn/mkoffload.cc:1039
 #, gcc-internal-format
-msgid "either -fopenacc or -fopenmp must be set"
+msgid "unhandled architecture"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1016 config/gcn/mkoffload.cc:1164
-#: config/nvptx/mkoffload.cc:710
-#, gcc-internal-format, gfc-internal-format
-msgid "cannot open '%s'"
+#: config/gcn/mkoffload.cc:1079 config/gcn/mkoffload.cc:1231
+#, gcc-internal-format
+msgid "cannot open %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1150 config/nvptx/mkoffload.cc:756
+#: config/gcn/mkoffload.cc:1217 config/nvptx/mkoffload.cc:841
 #, gcc-internal-format
 msgid "cannot open omp_requires file %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1154 config/nvptx/mkoffload.cc:760
+#: config/gcn/mkoffload.cc:1221 config/nvptx/mkoffload.cc:845
 #, gcc-internal-format
 msgid "cannot read omp_requires file %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1160
+#: config/gcn/mkoffload.cc:1227
 #, gcc-internal-format
 msgid "cannot open intermediate gcn asm file"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1177
+#: config/gcn/mkoffload.cc:1244
 #, gcc-internal-format
 msgid "cannot open intermediate gcn obj file"
 msgstr ""
@@ -41699,885 +43000,978 @@ msgstr ""
 msgid "cannot set position in PCH file: %m"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:1924
+#: config/i386/i386-builtins.cc:1960
 #, gcc-internal-format
 msgid "no dispatcher found for the versioning attributes"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:1974
+#: config/i386/i386-builtins.cc:2010
 #, gcc-internal-format
 msgid "ISA %qs is not supported in %<target%> attribute, use %<arch=%> syntax"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:1985
+#: config/i386/i386-builtins.cc:2021
 #, gcc-internal-format, gfc-internal-format
 msgid "no dispatcher found for the versioning attributes: %s"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2095
+#: config/i386/i386-builtins.cc:2131
 #, gcc-internal-format
 msgid "parameter to builtin must be a string constant or literal"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2119 config/i386/i386-builtins.cc:2168
+#: config/i386/i386-builtins.cc:2155 config/i386/i386-builtins.cc:2204
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter to builtin not valid: %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9477
+#: config/i386/i386-expand.cc:9751
 #, gcc-internal-format
 msgid "interrupt service routine cannot be called directly"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9912 config/i386/i386-expand.cc:11499
+#: config/i386/i386-expand.cc:10222 config/i386/i386-expand.cc:11809
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10386
+#: config/i386/i386-expand.cc:10696
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10481
+#: config/i386/i386-expand.cc:10791
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11428
+#: config/i386/i386-expand.cc:11738
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11443
+#: config/i386/i386-expand.cc:11753
 #, gcc-internal-format
 msgid "the last argument must be a 3-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11478
+#: config/i386/i386-expand.cc:11788
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11518
+#: config/i386/i386-expand.cc:11828
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11534
+#: config/i386/i386-expand.cc:11844
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11544
+#: config/i386/i386-expand.cc:11854
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11549
+#: config/i386/i386-expand.cc:11859
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11686
+#: config/i386/i386-expand.cc:11996
 #, gcc-internal-format
 msgid "the third argument must be comparison constant"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11691
+#: config/i386/i386-expand.cc:12001
 #, gcc-internal-format
 msgid "incorrect comparison mode"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11697 config/i386/i386-expand.cc:12021
+#: config/i386/i386-expand.cc:12007 config/i386/i386-expand.cc:12331
 #, gcc-internal-format
 msgid "incorrect rounding operand"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12001
+#: config/i386/i386-expand.cc:12311
 #, gcc-internal-format
 msgid "the immediate argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12009
+#: config/i386/i386-expand.cc:12319
 #, gcc-internal-format
 msgid "the immediate argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12012
+#: config/i386/i386-expand.cc:12322
 #, gcc-internal-format
 msgid "the immediate argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12488
+#: config/i386/i386-expand.cc:12798
 #, gcc-internal-format
 msgid "the fourth argument must be one of enum %qs"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12558 config/rs6000/rs6000-builtin.cc:2378
+#: config/i386/i386-expand.cc:12868 config/rs6000/rs6000-builtin.cc:2378
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range [0, %wi]"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12809
+#: config/i386/i386-expand.cc:13119
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12813
+#: config/i386/i386-expand.cc:13123
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13301
+#: config/i386/i386-expand.cc:13611
 #, gcc-internal-format
 msgid "second, third and fourth argument must be a const"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13309
+#: config/i386/i386-expand.cc:13619
 #, gcc-internal-format
 msgid "invalid third argument"
 msgstr ""
 
 #. Ignore the hint.
-#: config/i386/i386-expand.cc:13318 config/i386/i386-expand.cc:13373
+#: config/i386/i386-expand.cc:13628 config/i386/i386-expand.cc:13683
 #, gcc-internal-format
 msgid ""
 "instruction prefetch applies when in 64-bit mode with RIP-relative "
 "addressing and option %<-mprefetchi%>; they stay NOPs otherwise"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13335
+#: config/i386/i386-expand.cc:13645
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_ia32_prefetch%>; using zero"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13361
+#: config/i386/i386-expand.cc:13671
 #, gcc-internal-format
 msgid "second argument must be a const"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13853
+#: config/i386/i386-expand.cc:14198
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13886
+#: config/i386/i386-expand.cc:14231
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14648 config/i386/i386-expand.cc:14860
+#: config/i386/i386-expand.cc:14993 config/i386/i386-expand.cc:15205
 #, gcc-internal-format
 msgid "the last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14913
+#: config/i386/i386-expand.cc:15258
 #, gcc-internal-format
 msgid "the forth argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14919
+#: config/i386/i386-expand.cc:15264
 #, gcc-internal-format
 msgid "incorrect hint operand"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14938
+#: config/i386/i386-expand.cc:15283
 #, gcc-internal-format
 msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-features.cc:3455
+#: config/i386/i386-features.cc:3526
 #, gcc-internal-format
 msgid ""
 "function versions cannot be marked as %<gnu_inline%>, bodies have to be "
 "generated"
 msgstr ""
 
-#: config/i386/i386-features.cc:3460 config/i386/i386-features.cc:3729
-#, gcc-internal-format
-msgid "virtual function multiversioning not supported"
-msgstr ""
-
-#: config/i386/i386-features.cc:3593 config/rs6000/rs6000.cc:25170
-#, gcc-internal-format
-msgid "multiversioning needs %<ifunc%> which is not supported on this target"
-msgstr ""
-
-#: config/i386/i386-options.cc:893 config/i386/i386-options.cc:2138
-#: config/i386/i386-options.cc:2147
+#: config/i386/i386-options.cc:921 config/i386/i386-options.cc:2246
+#: config/i386/i386-options.cc:2255
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:1170
+#: config/i386/i386-options.cc:1204
 #, gcc-internal-format
 msgid "attribute %qs argument is not a string"
 msgstr ""
 
-#: config/i386/i386-options.cc:1234
+#: config/i386/i386-options.cc:1268
 #, gcc-internal-format
 msgid "attribute %qs argument %qs is unknown"
 msgstr ""
 
-#: config/i386/i386-options.cc:1297
+#: config/i386/i386-options.cc:1331
 #, gcc-internal-format
 msgid "attribute value %qs was already specified in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1335
+#: config/i386/i386-options.cc:1369
 #, gcc-internal-format
 msgid "attribute value %qs is unknown in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1621
+#: config/i386/i386-options.cc:1669
 #, gcc-internal-format
 msgid "wrong argument %qs to option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1627
+#: config/i386/i386-options.cc:1675
 #, gcc-internal-format
 msgid "size ranges of option %qs should be increasing"
 msgstr ""
 
-#: config/i386/i386-options.cc:1637
+#: config/i386/i386-options.cc:1685
 #, gcc-internal-format
 msgid "wrong strategy name %qs specified for option %qs"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386-options.cc:1663
+#: config/i386/i386-options.cc:1711
 #, gcc-internal-format
 msgid ""
 "strategy name %qs specified for option %qs not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:1676
+#: config/i386/i386-options.cc:1724
 #, gcc-internal-format
 msgid "unknown alignment %qs specified for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1686
+#: config/i386/i386-options.cc:1734
 #, gcc-internal-format
 msgid "the max value for the last size range should be -1 for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1693
+#: config/i386/i386-options.cc:1741
 #, gcc-internal-format
 msgid "too many size ranges specified in option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1746
+#: config/i386/i386-options.cc:1819
 #, gcc-internal-format
 msgid "unknown parameter to option %<-mtune-ctrl%>: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:1960
+#: config/i386/i386-options.cc:2042
 #, gcc-internal-format
 msgid "Intel MCU psABI isn%'t supported in %s mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2014
+#: config/i386/i386-options.cc:2096
 #, gcc-internal-format
 msgid ""
 "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> "
 "instead as appropriate"
 msgstr ""
 
-#: config/i386/i386-options.cc:2016
+#: config/i386/i386-options.cc:2098
 #, gcc-internal-format
 msgid ""
 "%<target(\"tune=x86-64\")%> is deprecated; use %<target(\"tune=k8\")%> or "
 "%<target(\"tune=generic\")%> instead as appropriate"
 msgstr ""
 
+#: config/i386/i386-options.cc:2104
+#, gcc-internal-format
+msgid "%<-mtune=knl%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2105
+#, gcc-internal-format
+msgid "%<target(\"tune=knl\")%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2110
+#, gcc-internal-format
+msgid "%<-mtune=knm%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2111
+#, gcc-internal-format
+msgid "%<target(\"tune=knm\")%> support will be removed in GCC 15"
+msgstr ""
+
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386-options.cc:2044
+#: config/i386/i386-options.cc:2138
 #, gcc-internal-format
 msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2049
+#: config/i386/i386-options.cc:2143
+#, gcc-internal-format
+msgid "%<-mapxf%> is not supported for 32-bit code"
+msgstr ""
+
+#: config/i386/i386-options.cc:2145
+#, gcc-internal-format
+msgid "%<-mapx-features=%> option is not supported for 32-bit code"
+msgstr ""
+
+#: config/i386/i386-options.cc:2148
 #, gcc-internal-format
 msgid "%<-muintr%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2052
+#: config/i386/i386-options.cc:2151
 #, gcc-internal-format
 msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2067
+#: config/i386/i386-options.cc:2166
 #, gcc-internal-format
 msgid "address mode %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2078
+#: config/i386/i386-options.cc:2177
 #, gcc-internal-format
 msgid "%<-mabi=ms%> not supported with X32 ABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2084
+#: config/i386/i386-options.cc:2183
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2087
+#: config/i386/i386-options.cc:2186
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2091
+#: config/i386/i386-options.cc:2190
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2108 config/i386/i386-options.cc:2117
-#: config/i386/i386-options.cc:2129 config/i386/i386-options.cc:2140
-#: config/i386/i386-options.cc:2151
+#: config/i386/i386-options.cc:2196
+#, gcc-internal-format
+msgid ""
+"%<-mlam=u48%> is not compatible with Hardware-assisted AddressSanitizer, "
+"override to %<-mlam=u57%>"
+msgstr ""
+
+#: config/i386/i386-options.cc:2216 config/i386/i386-options.cc:2225
+#: config/i386/i386-options.cc:2237 config/i386/i386-options.cc:2248
+#: config/i386/i386-options.cc:2259
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2120 config/i386/i386-options.cc:2132
+#: config/i386/i386-options.cc:2228 config/i386/i386-options.cc:2240
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2175
+#: config/i386/i386-options.cc:2283
 #, gcc-internal-format
 msgid "%<-masm=intel%> not supported in this configuration"
 msgstr ""
 
-#: config/i386/i386-options.cc:2180
+#: config/i386/i386-options.cc:2288
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386-options.cc:2192
+#: config/i386/i386-options.cc:2300
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2194
+#: config/i386/i386-options.cc:2302
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2201
+#: config/i386/i386-options.cc:2309
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2203
+#: config/i386/i386-options.cc:2311
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2211 config/i386/i386-options.cc:2343
+#: config/i386/i386-options.cc:2319 config/i386/i386-options.cc:2472
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386-options.cc:2282
+#: config/i386/i386-options.cc:2327
+#, gcc-internal-format
+msgid "%<-march=knl%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2328
+#, gcc-internal-format
+msgid "%<target(\"arch=knl\")%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2333
+#, gcc-internal-format
+msgid "%<-march=knm%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2334
+#, gcc-internal-format
+msgid "%<target(\"arch=knm\")%> support will be removed in GCC 15"
+msgstr ""
+
+#: config/i386/i386-options.cc:2411
 #, gcc-internal-format
 msgid "bad value %qs for %<-march=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2283
+#: config/i386/i386-options.cc:2412
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"arch=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2305
+#: config/i386/i386-options.cc:2434
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2307
+#: config/i386/i386-options.cc:2436
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"arch=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2312
+#: config/i386/i386-options.cc:2441
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2313
+#: config/i386/i386-options.cc:2442
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2362
+#: config/i386/i386-options.cc:2491
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2363
+#: config/i386/i386-options.cc:2492
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2384
+#: config/i386/i386-options.cc:2513
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2386
+#: config/i386/i386-options.cc:2515
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"tune=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2391
+#: config/i386/i386-options.cc:2520
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2392
+#: config/i386/i386-options.cc:2521
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2416
+#: config/i386/i386-options.cc:2549
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2418
+#: config/i386/i386-options.cc:2551
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored for Intel MCU psABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2421
+#: config/i386/i386-options.cc:2554
 #, gcc-internal-format
 msgid "%<-mregparm=%d%> is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2444
+#: config/i386/i386-options.cc:2577
 #, gcc-internal-format
 msgid "%<-m96bit-long-double%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2449
+#: config/i386/i386-options.cc:2582
 #, gcc-internal-format
 msgid "%<-mrtd%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2450
+#: config/i386/i386-options.cc:2583
 #, gcc-internal-format
 msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2539
+#: config/i386/i386-options.cc:2676
+#, gcc-internal-format
+msgid ""
+"%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable AVX10 instructions "
+"when AVX10.1-512 is available"
+msgstr ""
+
+#. We should not emit 512 bit instructions under AVX10.1-256
+#. when EVEX512 is enabled w/o any AVX512 features enabled.
+#. Disable EVEX512 bit for this.
+#: config/i386/i386-options.cc:2690
+#, gcc-internal-format
+msgid ""
+"Using %<-mevex512%> without any AVX512 features enabled together with "
+"AVX10.1 only will not enable any AVX512 or AVX10.1-512 features, using 256 "
+"as max vector size"
+msgstr ""
+
+#: config/i386/i386-options.cc:2697 config/i386/i386-options.cc:2703
+#, gcc-internal-format
+msgid ""
+"Vector size conflicts between AVX10.1 and AVX512, using 512 as max vector "
+"size"
+msgstr ""
+
+#: config/i386/i386-options.cc:2711
+#, gcc-internal-format
+msgid ""
+"%<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10 is available"
+msgstr ""
+
+#: config/i386/i386-options.cc:2721
+#, gcc-internal-format
+msgid ""
+"%<-mno-avx10.1, -mno-avx10.1-256, -mno-avx10.1-512%> cannot disable AVX512 "
+"instructions when %<-mavx512XXX%>"
+msgstr ""
+
+#: config/i386/i386-options.cc:2776
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary%> is not supported for this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2542
+#: config/i386/i386-options.cc:2779
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2565
+#: config/i386/i386-options.cc:2802
 #, gcc-internal-format
 msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386-options.cc:2578
+#: config/i386/i386-options.cc:2815
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2581
+#: config/i386/i386-options.cc:2818
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2587
+#: config/i386/i386-options.cc:2824
 #, gcc-internal-format
 msgid "%<-msseregparm%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2588
+#: config/i386/i386-options.cc:2825
 #, gcc-internal-format
 msgid "%<target(\"sseregparm\")%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2598
+#: config/i386/i386-options.cc:2835
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2605
+#: config/i386/i386-options.cc:2842
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2655
+#: config/i386/i386-options.cc:2892
 #, gcc-internal-format
 msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2657
+#: config/i386/i386-options.cc:2894
 #, gcc-internal-format
 msgid ""
 "stack probing requires %<target(\"accumulate-outgoing-args\")%> for "
 "correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2671
+#: config/i386/i386-options.cc:2908
 #, gcc-internal-format
 msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2673
+#: config/i386/i386-options.cc:2910
 #, gcc-internal-format
 msgid "fixed ebp register requires %<target(\"accumulate-outgoing-args\")%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2733
+#: config/i386/i386-options.cc:2970
 #, gcc-internal-format
 msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2736
+#: config/i386/i386-options.cc:2973
 #, gcc-internal-format
 msgid "%<-mno-fentry%> isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:2740
+#: config/i386/i386-options.cc:2977
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:2856
+#: config/i386/i386-options.cc:3099 config/loongarch/loongarch.cc:7785
 #, gcc-internal-format
 msgid "unknown option for %<-mrecip=%s%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2915
+#: config/i386/i386-options.cc:3158
 #, gcc-internal-format
 msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2920
+#: config/i386/i386-options.cc:3163
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2948
+#: config/i386/i386-options.cc:3191
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2996
+#: config/i386/i386-options.cc:3245
+#, gcc-internal-format
+msgid ""
+"%<-fcf-protection=full%> is not enabled by %<-fhardened%> because it was "
+"specified on the command line"
+msgstr ""
+
+#: config/i386/i386-options.cc:3254
 #, gcc-internal-format
 msgid "%<-fcf-protection%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:3132
+#: config/i386/i386-options.cc:3410
 #, gcc-internal-format
 msgid "interrupt and naked attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3147
+#: config/i386/i386-options.cc:3414 config/i386/i386-options.cc:3446
+#: config/i386/i386-options.cc:3990 config/i386/i386-options.cc:4000
+#, gcc-internal-format
+msgid "%qs and %qs attributes are not compatible"
+msgstr ""
+
+#: config/i386/i386-options.cc:3431
 #, gcc-internal-format
 msgid "only DWARF debug format is supported for interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3196
+#: config/i386/i386-options.cc:3492
 #, gcc-internal-format
 msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3206
+#: config/i386/i386-options.cc:3502
 #, gcc-internal-format
 msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3241
+#: config/i386/i386-options.cc:3537
 #, gcc-internal-format
 msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3251
+#: config/i386/i386-options.cc:3547
 #, gcc-internal-format
 msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3358
+#: config/i386/i386-options.cc:3655
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an exception service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3360
+#: config/i386/i386-options.cc:3657
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3364
+#: config/i386/i386-options.cc:3661
 #, gcc-internal-format
 msgid ""
 "%s instructions aren%'t allowed in a function with the "
 "%<no_caller_saved_registers%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:3411 config/i386/i386-options.cc:3462
+#: config/i386/i386-options.cc:3708 config/i386/i386-options.cc:3759
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3416
+#: config/i386/i386-options.cc:3713
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3423 config/i386/i386-options.cc:3651
+#: config/i386/i386-options.cc:3720 config/i386/i386-options.cc:3948
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3429
+#: config/i386/i386-options.cc:3726
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:3454 config/i386/i386-options.cc:3497
+#: config/i386/i386-options.cc:3751 config/i386/i386-options.cc:3794
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3458
+#: config/i386/i386-options.cc:3755
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3466 config/i386/i386-options.cc:3515
+#: config/i386/i386-options.cc:3763 config/i386/i386-options.cc:3812
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3476 config/i386/i386-options.cc:3493
+#: config/i386/i386-options.cc:3773 config/i386/i386-options.cc:3790
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3480
+#: config/i386/i386-options.cc:3777
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3511
+#: config/i386/i386-options.cc:3781 config/i386/i386-options.cc:3808
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3501 config/i386/i386-options.cc:3519
+#: config/i386/i386-options.cc:3798 config/i386/i386-options.cc:3816
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3507
+#: config/i386/i386-options.cc:3804
 #, gcc-internal-format
 msgid "%qE attribute is used for non-class method"
 msgstr ""
 
-#: config/i386/i386-options.cc:3611 config/rs6000/rs6000.cc:20539
+#: config/i386/i386-options.cc:3908 config/rs6000/rs6000.cc:20796
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
 
-#: config/i386/i386-options.cc:3638
+#: config/i386/i386-options.cc:3935
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386-options.cc:3659
+#: config/i386/i386-options.cc:3956
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr ""
 
-#: config/i386/i386-options.cc:3693 config/i386/i386-options.cc:3703
-#, gcc-internal-format
-msgid "%qs and %qs attributes are not compatible"
-msgstr ""
-
-#: config/i386/i386-options.cc:3730 config/i386/i386-options.cc:3752
-#: config/ia64/ia64.cc:812 config/s390/s390.cc:1269
+#: config/i386/i386-options.cc:4027 config/i386/i386-options.cc:4049
+#: config/ia64/ia64.cc:822 config/s390/s390.cc:1269
 #, gcc-internal-format
 msgid "%qE attribute requires a string constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3740 config/i386/i386-options.cc:3762
+#: config/i386/i386-options.cc:4037 config/i386/i386-options.cc:4059
 #: config/s390/s390.cc:1298
 #, gcc-internal-format
 msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)"
 msgstr ""
 
-#: config/i386/i386-options.cc:3794
+#: config/i386/i386-options.cc:4091
 #, gcc-internal-format
 msgid "interrupt service routine should have a pointer as the first argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3801
+#: config/i386/i386-options.cc:4098
 #, gcc-internal-format
 msgid "interrupt service routine should have %qs as the second argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3812
+#: config/i386/i386-options.cc:4109
 #, gcc-internal-format
 msgid ""
 "interrupt service routine can only have a pointer argument and an optional "
 "integer argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3815
+#: config/i386/i386-options.cc:4112
 #, gcc-internal-format
 msgid "interrupt service routine must return %<void%>"
 msgstr ""
 
-#: config/i386/i386.cc:1242
+#: config/i386/i386.cc:1278
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1245
+#: config/i386/i386.cc:1281
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1549
+#: config/i386/i386.cc:1585
 #, gcc-internal-format
 msgid "X32 does not support %<ms_abi%> attribute"
 msgstr ""
 
-#: config/i386/i386.cc:1583
+#: config/i386/i386.cc:1619
 #, gcc-internal-format
 msgid "%<ms_hook_prologue%> attribute is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:1934
+#: config/i386/i386.cc:1971
 #, gcc-internal-format
 msgid "AVX512F vector argument without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1940
+#: config/i386/i386.cc:1977
 #, gcc-internal-format
 msgid "AVX512F vector return without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1954
+#: config/i386/i386.cc:1991
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1960
+#: config/i386/i386.cc:1997
 #, gcc-internal-format
 msgid "AVX vector return without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1976
+#: config/i386/i386.cc:2013
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1982
+#: config/i386/i386.cc:2019
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1998
+#: config/i386/i386.cc:2035
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2004
+#: config/i386/i386.cc:2041
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2202
+#: config/i386/i386.cc:2240
 #, 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:2323
+#: config/i386/i386.cc:2369
 #, gcc-internal-format
 msgid "the ABI of passing union with %<long double%> has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2458
+#: config/i386/i386.cc:2504
 #, gcc-internal-format
 msgid ""
 "the ABI of passing structure with %<complex float%> member has changed in "
 "GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2579
+#: config/i386/i386.cc:2625
 msgid ""
 "the ABI of passing C structures with zero-width bit-fields has changed in "
 "GCC %{12.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:2676 config/i386/i386.cc:4045 config/i386/i386.cc:4055
+#: config/i386/i386.cc:2722 config/i386/i386.cc:4091 config/i386/i386.cc:4101
 #, gcc-internal-format
 msgid "SSE register return with SSE2 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2678
+#: config/i386/i386.cc:2724
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2685
+#: config/i386/i386.cc:2731
 #, gcc-internal-format
 msgid "SSE register argument with SSE2 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2687
+#: config/i386/i386.cc:2733
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2707
+#: config/i386/i386.cc:2753
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:3035 config/i386/i386.cc:3280 config/i386/i386.cc:4073
+#: config/i386/i386.cc:3081 config/i386/i386.cc:3326 config/i386/i386.cc:4119
 #, gcc-internal-format
 msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:3037 config/i386/i386.cc:3282 config/i386/i386.cc:4075
+#: config/i386/i386.cc:3083 config/i386/i386.cc:3328 config/i386/i386.cc:4121
 #, 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:3685
+#: config/i386/i386.cc:3731
 #, 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:6595
+#: config/i386/i386.cc:6781
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s"
 msgstr ""
 
-#: config/i386/i386.cc:8501
+#: config/i386/i386.cc:8789
 #, gcc-internal-format
 msgid ""
 "%<ms_hook_prologue%> attribute is not compatible with %<-mfentry%> for 32-bit"
 msgstr ""
 
-#: config/i386/i386.cc:8591
+#: config/i386/i386.cc:8879
 #, gcc-internal-format
 msgid ""
 "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service "
@@ -42585,22 +43979,22 @@ msgid ""
 "return."
 msgstr ""
 
-#: config/i386/i386.cc:9526
+#: config/i386/i386.cc:9932
 #, gcc-internal-format
 msgid "Stack realignment not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:9531
+#: config/i386/i386.cc:9937
 #, gcc-internal-format
 msgid "regparm nested function not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:9917
+#: config/i386/i386.cc:10326
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:9937
+#: config/i386/i386.cc:10346
 #, gcc-internal-format
 msgid ""
 "%<-fsplit-stack%> does not support 2 register parameters for a nested "
@@ -42609,85 +44003,80 @@ msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.cc:9948
+#: config/i386/i386.cc:10357
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.cc:12988
+#: config/i386/i386.cc:13543
 #, gcc-internal-format
 msgid "%<V%> modifier on non-integer register"
 msgstr ""
 
-#: config/i386/i386.cc:12999 config/i386/i386.cc:13013
+#: config/i386/i386.cc:13554 config/i386/i386.cc:13568
 #, gcc-internal-format
 msgid "unsupported size for integer register"
 msgstr ""
 
-#: config/i386/i386.cc:13045
+#: config/i386/i386.cc:13600
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.cc:13060
+#: config/i386/i386.cc:13615
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.cc:13257 config/i386/i386.cc:13259
+#: config/i386/i386.cc:13812 config/i386/i386.cc:13814
 #, gcc-internal-format
 msgid "non-integer operand used with operand code %<z%>"
 msgstr ""
 
-#: config/i386/i386.cc:17405
+#: config/i386/i386.cc:17975
 #, gcc-internal-format
 msgid ""
 "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)"
 msgstr ""
 
-#: config/i386/i386.cc:22086
+#: config/i386/i386.cc:22713
 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:22182
+#: config/i386/i386.cc:22794
+#, gcc-internal-format
+msgid "no register available for profiling %<-mcmodel=large%s%>"
+msgstr ""
+
+#: config/i386/i386.cc:22890
 #, gcc-internal-format
 msgid "profiling %<-mcmodel=large%> with PIC is not supported"
 msgstr ""
 
-#: config/i386/i386.cc:22847
+#: config/i386/i386.cc:23603
 #, gcc-internal-format
 msgid ""
 "%<__bfloat16%> is redefined from typedef %<short%> to real %<__bf16%> since "
-"GCC V13, be careful of implicit conversion between %<__bf16%> and %<short%>; "
-"a explicit bitcast may be needed here"
+"GCC 13.1, be careful of implicit conversion between %<__bf16%> and "
+"%<short%>; an explicit bitcast may be needed here"
 msgstr ""
 
-#: config/i386/i386.cc:24153
+#: config/i386/i386.cc:25052
 #, gcc-internal-format
 msgid "unknown architecture specific memory model"
 msgstr ""
 
-#: config/i386/i386.cc:24160
+#: config/i386/i386.cc:25059
 #, gcc-internal-format
 msgid "%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:24167
+#: config/i386/i386.cc:25066
 #, gcc-internal-format
 msgid "%<HLE_RELEASE%> not used with %<RELEASE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:24216
-#, gcc-internal-format
-msgid "unsupported return type %qT for simd"
-msgstr ""
-
-#: config/i386/i386.cc:24247
-#, gcc-internal-format
-msgid "unsupported argument type %qT for simd"
-msgstr ""
-
-#: config/i386/i386.cc:24793
+#: config/i386/i386.cc:25753
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>"
 msgstr ""
@@ -42708,181 +44097,215 @@ msgstr ""
 msgid "malformed %<#pragma builtin%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:751 config/loongarch/loongarch.cc:6584
-#: config/loongarch/loongarch.cc:6594
+#: config/ia64/ia64.cc:761 config/loongarch/loongarch.cc:8113
+#: config/loongarch/loongarch.cc:8123
 #, gcc-internal-format
 msgid "invalid argument of %qE attribute"
 msgstr ""
 
-#: config/ia64/ia64.cc:764
+#: config/ia64/ia64.cc:774
 #, gcc-internal-format
 msgid "an address area attribute cannot be specified for local variables"
 msgstr ""
 
-#: config/ia64/ia64.cc:771
+#: config/ia64/ia64.cc:781
 #, gcc-internal-format
 msgid "address area of %q+D conflicts with previous declaration"
 msgstr ""
 
-#: config/ia64/ia64.cc:779
+#: config/ia64/ia64.cc:789
 #, gcc-internal-format
 msgid "address area attribute cannot be specified for functions"
 msgstr ""
 
-#: config/ia64/ia64.cc:6025 config/pa/pa.cc:453 config/sh/sh.cc:8267
+#: config/ia64/ia64.cc:6035 config/pa/pa.cc:461 config/sh/sh.cc:8267
 #, gcc-internal-format
 msgid "value of %<-mfixed-range%> must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.cc:11302
+#: config/ia64/ia64.cc:11312
 #, gcc-internal-format
 msgid "version attribute is not a string"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:1862
+#: config/iq2000/iq2000.cc:1864
 #, gcc-internal-format
 msgid "%<gp_offset%> (%ld) or %<end_offset%> (%ld) is less than zero"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:2585
+#: config/iq2000/iq2000.cc:2587
 #, gcc-internal-format
 msgid "argument %qd is not a constant"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:2888 config/xtensa/xtensa.cc:3134
+#: config/iq2000/iq2000.cc:2890 config/xtensa/xtensa.cc:3158
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND_ADDRESS%>, null pointer"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3043
+#: config/iq2000/iq2000.cc:3045
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND%>: Unknown punctuation %<%c%>"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3052 config/xtensa/xtensa.cc:2983
+#: config/iq2000/iq2000.cc:3054 config/xtensa/xtensa.cc:3007
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND%> null pointer"
 msgstr ""
 
-#: config/loongarch/loongarch-cpu.cc:111
-#, gcc-internal-format
-msgid "unknown base architecture %<0x%x%>, %qs failed"
+#: config/loongarch/loongarch-builtins.cc:3002 config/mips/mips.cc:17382
+#, gcc-internal-format, gfc-internal-format
+msgid "argument %d to the built-in must be a constant in range %d to %d"
 msgstr ""
 
-#: config/loongarch/loongarch-cpu.cc:138
+#: config/loongarch/loongarch-builtins.cc:3080 config/mips/mips.cc:17502
 #, gcc-internal-format
-msgid "unknown FPU type %<0x%x%>, %qs failed"
+msgid "failed to expand built-in function"
 msgstr ""
 
-#: config/loongarch/loongarch-cpu.cc:189
+#: config/loongarch/loongarch-cpu.cc:112
 #, gcc-internal-format
 msgid ""
 "unknown processor ID %<0x%x%>, some tuning parameters will fall back to "
 "default"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:196
+#: config/loongarch/loongarch-cpu.cc:141
+#, gcc-internal-format
+msgid "unknown native base architecture %<0x%x%>, %qs failed"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:170
+#, gcc-internal-format
+msgid "unknown native FPU type %<0x%x%>, %qs failed"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:177
+#, gcc-internal-format
+msgid "floating-point unit %qs differs from PRID preset %qs"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:201
+#, gcc-internal-format
+msgid ""
+"unknown SIMD extension (%qs disabled while %qs is enabled), disabling SIMD"
+msgstr ""
+
+#: config/loongarch/loongarch-cpu.cc:239
+#, gcc-internal-format
+msgid ""
+"detected base architecture %qs, but some of its features are not detected; "
+"the detected base architecture may be unreliable, only detected features "
+"will be enabled"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:225
 #, gcc-internal-format
 msgid "%<-m%s%> overrides %<-m%s=%s%>, adjusting ABI to %qs"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:211
+#: config/loongarch/loongarch-opts.cc:242
 #, 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
+#: config/loongarch/loongarch-opts.cc:268
+#: config/loongarch/loongarch-opts.cc:273
 #, gcc-internal-format
 msgid "%qs does not work on a cross compiler"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:278
+#: config/loongarch/loongarch-opts.cc:365
+#, gcc-internal-format
+msgid "enabing %qs promotes %<%s%s%> to %<%s%s%>"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:377
+#, gcc-internal-format
+msgid "%qs is disabled by %<-m%s%>, because it requires %<%s%s%>"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:389
+#, gcc-internal-format
+msgid "%<-m%s=%s%> conflicts with %qs, which requires %<%s%s%>"
+msgstr ""
+
+#: config/loongarch/loongarch-opts.cc:433
 #, 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
+#: config/loongarch/loongarch-opts.cc:438
 #, 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
+#: config/loongarch/loongarch-opts.cc:469
 #, gcc-internal-format
 msgid "unable to implement ABI %qs with instruction set %qs"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:336
+#: config/loongarch/loongarch-opts.cc:491
 #, 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
+#: config/loongarch/loongarch-opts.cc:502
 #, gcc-internal-format
 msgid ""
 "instruction set %qs cannot implement default ABI %qs, falling back to %qs"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:352
+#: config/loongarch/loongarch-opts.cc:507
 #, 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
+#: config/loongarch/loongarch-opts.cc:523
 #, 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
+#: config/loongarch/loongarch-opts.cc:526
 #, gcc-internal-format, gfc-internal-format
 msgid "ABI with startfiles: %s"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:385
+#: config/loongarch/loongarch-opts.cc:540
 #, gcc-internal-format
 msgid "%qs is not supported, now cmodel is set to %qs"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6259
+#: config/loongarch/loongarch.cc:7680
 #, gcc-internal-format
 msgid "%qs cannot be used for compiling a shared library"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6266
-#, gcc-internal-format
-msgid "code model %qs needs %s"
-msgstr ""
-
-#: config/loongarch/loongarch.cc:6272
+#: config/loongarch/loongarch.cc:7689
 #, gcc-internal-format
 msgid "code model %qs is not compatible with %s"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6549
+#: config/loongarch/loongarch.cc:8085
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for thread-local variables"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6567
+#: config/loongarch/loongarch.cc:8103
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for register variables"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6575
-#, gcc-internal-format
-msgid "%qE attribute requires %s"
-msgstr ""
-
-#: config/loongarch/loongarch.cc:6602
+#: config/loongarch/loongarch.cc:8131
 #, gcc-internal-format
 msgid "multiple %qE attribute"
 msgstr ""
@@ -42912,33 +44335,33 @@ msgstr ""
 msgid "malformed %<#pragma ADDRESS%> variable address"
 msgstr ""
 
-#: config/m32c/m32c.cc:419
+#: config/m32c/m32c.cc:422
 #, gcc-internal-format
 msgid "invalid target memregs value %<%d%>"
 msgstr ""
 
-#: config/m32c/m32c.cc:2931
+#: config/m32c/m32c.cc:2934
 #, gcc-internal-format
 msgid "%qE attribute is not supported for R8C target"
 msgstr ""
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.cc:2947 config/sh/sh.cc:8479 config/sh/sh.cc:8574
+#: config/m32c/m32c.cc:2950 config/sh/sh.cc:8479 config/sh/sh.cc:8574
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr ""
 
-#: config/m32c/m32c.cc:2956
+#: config/m32c/m32c.cc:2959
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 18 to 255"
 msgstr ""
 
-#: config/m32c/m32c.cc:4080
+#: config/m32c/m32c.cc:4082
 #, gcc-internal-format
 msgid "%<bank_switch%> has no effect on non-interrupt functions"
 msgstr ""
 
-#: config/m32c/m32c.cc:4187
+#: config/m32c/m32c.cc:4189
 #, gcc-internal-format
 msgid "%<fast_interrupt%> attribute directive ignored"
 msgstr ""
@@ -42948,47 +44371,47 @@ msgstr ""
 msgid "invalid argument of %qs attribute"
 msgstr ""
 
-#: config/m68k/m68k.cc:531
+#: config/m68k/m68k.cc:535
 #, gcc-internal-format
 msgid "%<-mcpu=%s%> conflicts with %<-march=%s%>"
 msgstr ""
 
-#: config/m68k/m68k.cc:602
+#: config/m68k/m68k.cc:606
 #, gcc-internal-format
 msgid "%<-mpcrel%> %<-fPIC%> is not currently supported on selected cpu"
 msgstr ""
 
-#: config/m68k/m68k.cc:666
+#: config/m68k/m68k.cc:670
 #, gcc-internal-format
 msgid "%<-falign-labels=%d%> is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:673
+#: config/m68k/m68k.cc:677
 #, gcc-internal-format
 msgid "%<-falign-loops=%d%> is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:681
+#: config/m68k/m68k.cc:685
 #, gcc-internal-format
 msgid "%<-fstack-limit-%> options are not supported on this cpu"
 msgstr ""
 
-#: config/m68k/m68k.cc:799
+#: config/m68k/m68k.cc:803
 #, gcc-internal-format
 msgid "multiple interrupt attributes not allowed"
 msgstr ""
 
-#: config/m68k/m68k.cc:806
+#: config/m68k/m68k.cc:810
 #, gcc-internal-format
 msgid "%<interrupt_thread%> is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.cc:1140 config/rs6000/rs6000-logue.cc:1749
+#: config/m68k/m68k.cc:1144 config/rs6000/rs6000-logue.cc:1749
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:7134 config/s390/s390.cc:17063
+#: config/m68k/m68k.cc:7138 config/s390/s390.cc:17156
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not supported on this target"
 msgstr ""
@@ -43030,192 +44453,187 @@ msgstr ""
 msgid "%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"
 msgstr ""
 
-#: config/mips/mips.cc:1333 config/mips/mips.cc:1594 config/mips/mips.cc:1648
-#: config/riscv/riscv.cc:4216
+#: config/mips/mips.cc:1332 config/mips/mips.cc:1593 config/mips/mips.cc:1647
+#: config/riscv/riscv.cc:5504
 #, gcc-internal-format
 msgid "%qE attribute requires a string argument"
 msgstr ""
 
-#: config/mips/mips.cc:1341
+#: config/mips/mips.cc:1340
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither no, pcrel nor yes"
 msgstr ""
 
-#: config/mips/mips.cc:1507 config/mips/mips.cc:1511
+#: config/mips/mips.cc:1506 config/mips/mips.cc:1510
 #, gcc-internal-format
 msgid "%qs attribute only applies to functions"
 msgstr ""
 
-#: config/mips/mips.cc:1521 config/mips/mips.cc:1527
+#: config/mips/mips.cc:1520 config/mips/mips.cc:1526
 #, gcc-internal-format
 msgid "%qE cannot have both %qs and %qs attributes"
 msgstr ""
 
-#: config/mips/mips.cc:1556 config/mips/mips.cc:1562 config/nios2/nios2.cc:4487
+#: config/mips/mips.cc:1555 config/mips/mips.cc:1561 config/nios2/nios2.cc:4488
 #, gcc-internal-format
 msgid "%qE redeclared with conflicting %qs attributes"
 msgstr ""
 
-#: config/mips/mips.cc:1602
+#: config/mips/mips.cc:1601
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither eic, nor %<vector=<line>%>"
 msgstr ""
 
-#: config/mips/mips.cc:1618
+#: config/mips/mips.cc:1617
 #, gcc-internal-format
 msgid ""
 "interrupt vector to %qE attribute is not %<vector=(sw0|sw1|hw0|hw1|hw2|hw3|"
 "hw4|hw5)%>"
 msgstr ""
 
-#: config/mips/mips.cc:1655
+#: config/mips/mips.cc:1654
 #, gcc-internal-format
 msgid "argument to %qE attribute is not intstack"
 msgstr ""
 
-#: config/mips/mips.cc:6192
+#: config/mips/mips.cc:6223
 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:6637
+#: config/mips/mips.cc:6668
 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:6661
+#: config/mips/mips.cc:6692
 msgid ""
 "the ABI for returning a value with C++17 empty bases but otherwise an "
 "aggregate with only one or two floating-point fields was changed in GCC "
 "%{12.1%}"
 msgstr ""
 
-#: config/mips/mips.cc:8000
+#: config/mips/mips.cc:8033
 #, gcc-internal-format
 msgid "cannot handle inconsistent calls to %qs"
 msgstr ""
 
-#: config/mips/mips.cc:11256
+#: config/mips/mips.cc:11289
 #, gcc-internal-format
 msgid "the %<interrupt%> attribute requires a MIPS32r2 processor or greater"
 msgstr ""
 
-#: config/mips/mips.cc:11258
+#: config/mips/mips.cc:11291
 #, gcc-internal-format
 msgid "interrupt handlers cannot be MIPS16 functions"
 msgstr ""
 
-#: config/mips/mips.cc:12260
+#: config/mips/mips.cc:12295
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> not implemented for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:17347
-#, gcc-internal-format, gfc-internal-format
-msgid "argument %d to the built-in must be a constant in range %d to %d"
-msgstr ""
-
-#: config/mips/mips.cc:17467
-#, gcc-internal-format
-msgid "failed to expand built-in function"
-msgstr ""
-
-#: config/mips/mips.cc:17599
+#: config/mips/mips.cc:17634
 #, gcc-internal-format
 msgid "built-in function %qE not supported for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:18207
+#: config/mips/mips.cc:18242
 #, gcc-internal-format
 msgid "%qs does not support MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:20022
+#: config/mips/mips.cc:20055
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:20025
+#: config/mips/mips.cc:20058
 #, gcc-internal-format
 msgid "MIPS16 %<-mxgot%> code"
 msgstr ""
 
-#: config/mips/mips.cc:20028
+#: config/mips/mips.cc:20061
 #, gcc-internal-format
 msgid "%<hard-float%> MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:20031
+#: config/mips/mips.cc:20064
 #, gcc-internal-format
 msgid "MSA MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:20222 config/mips/mips.cc:20227
-#: config/mips/mips.cc:20317 config/mips/mips.cc:20319
-#: config/mips/mips.cc:20349 config/mips/mips.cc:20359
-#: config/mips/mips.cc:20465 config/mips/mips.cc:20489
+#: config/mips/mips.cc:20067
+#, gcc-internal-format
+msgid "MIPS16 requires %<-mexplicit-relocs%>"
+msgstr ""
+
+#: config/mips/mips.cc:20258 config/mips/mips.cc:20263
+#: config/mips/mips.cc:20353 config/mips/mips.cc:20355
+#: config/mips/mips.cc:20385 config/mips/mips.cc:20395
+#: config/mips/mips.cc:20501 config/mips/mips.cc:20525
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.cc:20262
+#: config/mips/mips.cc:20298
 #, gcc-internal-format
 msgid ""
 "%<-%s%> conflicts with the other architecture options, which specify a %s "
 "processor"
 msgstr ""
 
-#: config/mips/mips.cc:20272
+#: config/mips/mips.cc:20308
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20287
+#: config/mips/mips.cc:20323
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.cc:20289
+#: config/mips/mips.cc:20325
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20291
+#: config/mips/mips.cc:20327
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20314
+#: config/mips/mips.cc:20350
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20323
+#: config/mips/mips.cc:20359
 #, 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:20326
+#: config/mips/mips.cc:20362
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20347
+#: config/mips/mips.cc:20383
 #, gcc-internal-format
 msgid "%<-mfpxx%> can only be used with the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20351
+#: config/mips/mips.cc:20387
 #, gcc-internal-format
 msgid "%<-march=%s%> requires %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20353
+#: config/mips/mips.cc:20389
 #, gcc-internal-format
 msgid "%<-mfpxx%> requires %<-mlra%>"
 msgstr ""
@@ -43225,170 +44643,170 @@ 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:20378
+#: config/mips/mips.cc:20414
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20431
+#: config/mips/mips.cc:20467
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20446
+#: config/mips/mips.cc:20482
 #, gcc-internal-format
 msgid "the %qs architecture does not support madd or msub instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20460
+#: config/mips/mips.cc:20496
 #, gcc-internal-format
 msgid "the %qs architecture does not support odd single-precision registers"
 msgstr ""
 
-#: config/mips/mips.cc:20473
+#: config/mips/mips.cc:20509
 #, gcc-internal-format
 msgid "unsupported combination: %qs%s %s"
 msgstr ""
 
-#: config/mips/mips.cc:20482
+#: config/mips/mips.cc:20518
 #, gcc-internal-format
 msgid "unsupported combination: %qs %s"
 msgstr ""
 
-#: config/mips/mips.cc:20497
+#: config/mips/mips.cc:20533
 #, gcc-internal-format
 msgid "cannot generate position-independent code for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20500
+#: config/mips/mips.cc:20536
 #, gcc-internal-format
 msgid "position-independent code requires %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20533
+#: config/mips/mips.cc:20569
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.cc:20541 config/mips/mips.cc:20544
+#: config/mips/mips.cc:20577 config/mips/mips.cc:20580
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20559
+#: config/mips/mips.cc:20597
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=legacy%>"
 msgstr ""
 
-#: config/mips/mips.cc:20566
+#: config/mips/mips.cc:20604
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=2008%>"
 msgstr ""
 
-#: config/mips/mips.cc:20584
+#: config/mips/mips.cc:20622
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.cc:20594
+#: config/mips/mips.cc:20632
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20604
+#: config/mips/mips.cc:20642
 #, gcc-internal-format
 msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20611
+#: config/mips/mips.cc:20649
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20620
+#: config/mips/mips.cc:20658
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.cc:20631
+#: config/mips/mips.cc:20669
 #, gcc-internal-format
 msgid "the %qs architecture does not support DSP instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20641
+#: config/mips/mips.cc:20679
 #, gcc-internal-format
 msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20651
+#: config/mips/mips.cc:20689
 #, gcc-internal-format
 msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>"
 msgstr ""
 
-#: config/mips/mips.cc:20746
+#: config/mips/mips.cc:20784
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20750
+#: config/mips/mips.cc:20788
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.cc:21586
+#: config/mips/mips.cc:21624
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
 
-#: config/mmix/mmix.cc:317
+#: config/mmix/mmix.cc:318
 #, gcc-internal-format
 msgid "%<-f%s%> not supported: ignored"
 msgstr ""
 
-#: config/mmix/mmix.cc:782
+#: config/mmix/mmix.cc:783
 #, gcc-internal-format
 msgid "support for mode %qs"
 msgstr ""
 
-#: config/mmix/mmix.cc:796
+#: config/mmix/mmix.cc:797
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "too large function value type, needs %d registers, have only %d registers "
 "for this"
 msgstr ""
 
-#: config/mmix/mmix.cc:977
+#: config/mmix/mmix.cc:978
 #, gcc-internal-format
 msgid "%<function_profiler%> support for MMIX"
 msgstr ""
 
-#: config/mmix/mmix.cc:1001
+#: config/mmix/mmix.cc:1002
 #, gcc-internal-format
 msgid "MMIX Internal: Last named vararg would not fit in a register"
 msgstr ""
 
-#: config/mmix/mmix.cc:1641 config/mmix/mmix.cc:1665 config/mmix/mmix.cc:1772
+#: config/mmix/mmix.cc:1643 config/mmix/mmix.cc:1667 config/mmix/mmix.cc:1774
 #, gcc-internal-format, gfc-internal-format
 msgid "MMIX Internal: Bad register: %d"
 msgstr ""
 
 #. Presumably there's a missing case above if we get here.
-#: config/mmix/mmix.cc:1764
+#: config/mmix/mmix.cc:1766
 #, gcc-internal-format
 msgid "MMIX Internal: Missing %qc case in %<mmix_print_operand%>"
 msgstr ""
 
-#: config/mmix/mmix.cc:2053
+#: config/mmix/mmix.cc:2055
 #, gcc-internal-format
 msgid "stack frame not a multiple of 8 bytes: %wd"
 msgstr ""
 
-#: config/mmix/mmix.cc:2306
+#: config/mmix/mmix.cc:2308
 #, gcc-internal-format
 msgid "stack frame not a multiple of octabyte: %wd"
 msgstr ""
 
-#: config/mmix/mmix.cc:2592 config/mmix/mmix.cc:2651
+#: config/mmix/mmix.cc:2594 config/mmix/mmix.cc:2653
 #, gcc-internal-format, gfc-internal-format
 msgid "MMIX Internal: %s is not a shiftable integer"
 msgstr ""
@@ -43579,43 +44997,43 @@ msgid ""
 "mtiny-printf%>"
 msgstr ""
 
-#: config/msp430/msp430.cc:1895
+#: config/msp430/msp430.cc:1897
 #, gcc-internal-format
 msgid "unrecognized interrupt vector argument of %qE attribute"
 msgstr ""
 
-#: config/msp430/msp430.cc:1904
+#: config/msp430/msp430.cc:1906
 #, gcc-internal-format
 msgid "numeric argument of %qE attribute must be in range [0-63]"
 msgstr ""
 
-#: config/msp430/msp430.cc:1910
+#: config/msp430/msp430.cc:1912
 #, gcc-internal-format
 msgid "argument of %qE attribute is not a string constant or number"
 msgstr ""
 
-#: config/msp430/msp430.cc:1939
+#: config/msp430/msp430.cc:1941
 #, gcc-internal-format
 msgid "critical attribute has no effect on interrupt functions"
 msgstr ""
 
-#: config/msp430/msp430.cc:1975
+#: config/msp430/msp430.cc:1977
 #, gcc-internal-format
 msgid "ignoring attribute %qE because it conflicts with attribute %<noinit%>"
 msgstr ""
 
-#: config/msp430/msp430.cc:1978
+#: config/msp430/msp430.cc:1980
 #, gcc-internal-format
 msgid "ignoring attribute %qE because it conflicts with attribute %<section%>"
 msgstr ""
 
-#: config/msp430/msp430.cc:1981
+#: config/msp430/msp430.cc:1983
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %qE because it conflicts with attribute %<persistent%>"
 msgstr ""
 
-#: config/msp430/msp430.cc:1991
+#: config/msp430/msp430.cc:1993
 #, gcc-internal-format
 msgid "%qE attribute ignored.  Large memory model (%<-mlarge%>) is required."
 msgstr ""
@@ -43640,17 +45058,17 @@ msgstr ""
 msgid "argument to interrupt attribute is unsupported for weak functions"
 msgstr ""
 
-#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2955
+#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2989
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes constant arguments"
 msgstr ""
 
-#: config/msp430/msp430.cc:2757 config/pru/pru.cc:2964
+#: config/msp430/msp430.cc:2757 config/pru/pru.cc:2998
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes non-negative cycle counts"
 msgstr ""
 
-#: config/msp430/msp430.cc:2778 config/pru/pru.cc:2977
+#: config/msp430/msp430.cc:2778 config/pru/pru.cc:3011
 #, gcc-internal-format
 msgid "%<__delay_cycles%> is limited to 32-bit loop counts"
 msgstr ""
@@ -43660,13 +45078,13 @@ msgstr ""
 msgid "MSP430 built-in functions only work inside interrupt handlers"
 msgstr ""
 
-#: config/msp430/msp430.cc:2861 config/pru/pru.cc:3048 config/rx/rx.cc:2666
-#: config/xtensa/xtensa.cc:4190 config/xtensa/xtensa.cc:4216
+#: config/msp430/msp430.cc:2861 config/pru/pru.cc:3082 config/rx/rx.cc:2667
+#: config/xtensa/xtensa.cc:4214 config/xtensa/xtensa.cc:4240
 #, gcc-internal-format
 msgid "bad builtin code"
 msgstr ""
 
-#: config/nds32/nds32-intrinsic.cc:126 config/nios2/nios2.cc:3838
+#: config/nds32/nds32-intrinsic.cc:126 config/nios2/nios2.cc:3839
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument to built-in function %s"
 msgstr ""
@@ -43757,69 +45175,69 @@ msgid "cannot use reset attributes to function %qD under linux toolchain"
 msgstr ""
 
 #. Trampoline is not supported on reduced-set registers yet.
-#: config/nds32/nds32.cc:2410 config/nds32/nds32.cc:2464
-#: config/nds32/nds32.cc:3575 config/nds32/nds32.cc:3672
-#: config/nds32/nds32.cc:3687 config/nds32/nds32.cc:3693
-#: config/nds32/nds32.cc:3769 config/nds32/nds32.cc:3775
-#: config/nds32/nds32.cc:3807
+#: config/nds32/nds32.cc:2407 config/nds32/nds32.cc:2461
+#: config/nds32/nds32.cc:3573 config/nds32/nds32.cc:3670
+#: config/nds32/nds32.cc:3685 config/nds32/nds32.cc:3691
+#: config/nds32/nds32.cc:3767 config/nds32/nds32.cc:3773
+#: config/nds32/nds32.cc:3805
 #, gcc-internal-format
 msgid "a nested function is not supported for reduced registers"
 msgstr ""
 
 #. The enum index value for array size is out of range.
-#: config/nds32/nds32.cc:3466
+#: config/nds32/nds32.cc:3464
 #, gcc-internal-format
 msgid "intrinsic register index is out of range"
 msgstr ""
 
-#: config/nds32/nds32.cc:3482 config/nds32/nds32.cc:3489
-#: config/nds32/nds32.cc:3496 config/nds32/nds32.cc:3503
-#: config/nds32/nds32.cc:3510
+#: config/nds32/nds32.cc:3480 config/nds32/nds32.cc:3487
+#: config/nds32/nds32.cc:3494 config/nds32/nds32.cc:3501
+#: config/nds32/nds32.cc:3508
 #, gcc-internal-format
 msgid "CCTL intrinsic function subtype out of range"
 msgstr ""
 
-#: config/nds32/nds32.cc:3947
+#: config/nds32/nds32.cc:3945
 #, gcc-internal-format
 msgid "cannot use %<indirect_call%> attribute under linux toolchain"
 msgstr ""
 
-#: config/nds32/nds32.cc:3955
+#: config/nds32/nds32.cc:3953
 #, gcc-internal-format
 msgid "%<indirect_call%> attribute cannot apply for static function"
 msgstr ""
 
-#: config/nds32/nds32.cc:4044
+#: config/nds32/nds32.cc:4042
 #, gcc-internal-format
 msgid "invalid id value for interrupt/exception attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4072
+#: config/nds32/nds32.cc:4070
 #, gcc-internal-format
 msgid "invalid id value for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4088
+#: config/nds32/nds32.cc:4086
 #, gcc-internal-format
 msgid "invalid nmi function for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4101
+#: config/nds32/nds32.cc:4099
 #, gcc-internal-format
 msgid "invalid warm function for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4152
+#: config/nds32/nds32.cc:4150
 #, gcc-internal-format
 msgid "not support %<-fpic%> option for v3m toolchain"
 msgstr ""
 
-#: config/nds32/nds32.cc:4185
+#: config/nds32/nds32.cc:4183
 #, gcc-internal-format
 msgid "Disable FPU ISA, the ABI option must be enable %<-mfloat-abi=soft%>"
 msgstr ""
 
-#: config/nds32/nds32.cc:4188
+#: config/nds32/nds32.cc:4186
 #, gcc-internal-format
 msgid ""
 "%<-mabi=2fp+%> option only support when FPU available, must be enable %<-"
@@ -43903,95 +45321,100 @@ msgstr ""
 msgid "R2 architecture is little-endian only"
 msgstr ""
 
-#: config/nios2/nios2.cc:3583
+#: config/nios2/nios2.cc:3584
 #, gcc-internal-format
 msgid ""
 "cannot call %<__builtin_custom_%s%> without specifying switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:3692
+#: config/nios2/nios2.cc:3693
 #, gcc-internal-format
 msgid ""
 "custom instruction opcode must be a compile-time constant in the range 0-255 "
 "for %<__builtin_custom_%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:3897
+#: config/nios2/nios2.cc:3898
 #, gcc-internal-format, gfc-internal-format
 msgid "control register number must be in range 0-31 for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3925
+#: config/nios2/nios2.cc:3926
 #, gcc-internal-format, gfc-internal-format
 msgid "register number must be in range 0-31 for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3932
+#: config/nios2/nios2.cc:3933
 #, gcc-internal-format, gfc-internal-format
 msgid "immediate value must fit into a %d-bit integer for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3982
+#: config/nios2/nios2.cc:3983
 #, gcc-internal-format
 msgid "the ENI instruction operand must be either 0 or 1"
 msgstr ""
 
-#: config/nios2/nios2.cc:4010
+#: config/nios2/nios2.cc:4011
 #, gcc-internal-format, gfc-internal-format
 msgid "built-in function %s requires Nios II R%d"
 msgstr ""
 
-#: config/nios2/nios2.cc:4090
+#: config/nios2/nios2.cc:4091
 #, gcc-internal-format
 msgid "switch %<-mcustom-%s%> conflicts with switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4097 config/nios2/nios2.cc:4108
+#: config/nios2/nios2.cc:4098 config/nios2/nios2.cc:4109
 #, gcc-internal-format
 msgid "call to %<__builtin_custom_%s%> conflicts with switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4251
+#: config/nios2/nios2.cc:4252
 #, gcc-internal-format
 msgid "%<custom-fpu-cfg%> option does not support %<no-%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4256
+#: config/nios2/nios2.cc:4257
 #, gcc-internal-format
 msgid "%<custom-fpu-cfg%> option requires configuration argument"
 msgstr ""
 
-#: config/nios2/nios2.cc:4284
+#: config/nios2/nios2.cc:4285
 #, gcc-internal-format
 msgid "%<no-custom-%s%> does not accept arguments"
 msgstr ""
 
-#: config/nios2/nios2.cc:4299
+#: config/nios2/nios2.cc:4300
 #, gcc-internal-format
 msgid "%<custom-%s=%> requires argument"
 msgstr ""
 
-#: config/nios2/nios2.cc:4309
+#: config/nios2/nios2.cc:4310
 #, gcc-internal-format
 msgid "%<custom-%s=%> argument should be a non-negative integer"
 msgstr ""
 
-#: config/nios2/nios2.cc:4321
+#: config/nios2/nios2.cc:4322
 #, gcc-internal-format
 msgid "%<custom-%s=%> is not recognized as FPU instruction"
 msgstr ""
 
-#: config/nios2/nios2.cc:4328
+#: config/nios2/nios2.cc:4329
 #, gcc-internal-format
 msgid "invalid custom instruction option %qs"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:117
+#: config/nvptx/mkoffload.cc:93
+#, gcc-internal-format
+msgid "deleting file %s: %m"
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:118
 #, gcc-internal-format
 msgid "malformed ptx file"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:329
+#: config/nvptx/mkoffload.cc:335
 #, gcc-internal-format
 msgid ""
 "%<omp requires reverse_offload%> requires at least %<sm_35%> for %<-foffload-"
@@ -43999,22 +45422,37 @@ msgid ""
 "device type"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:413
+#: config/nvptx/mkoffload.cc:419 config/nvptx/mkoffload.cc:491
 #, gcc-internal-format
 msgid "Cannot find function declaration for %qs"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:611
+#: config/nvptx/mkoffload.cc:591
+#, gcc-internal-format
+msgid "environment variable COLLECT_GCC_OPTIONS must be set"
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:648
+#, gcc-internal-format
+msgid "COLLECT_GCC must be set."
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:696
 #, gcc-internal-format
 msgid "offload compiler %s not found (consider using %<-B%>)"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:666
+#: config/nvptx/mkoffload.cc:719
 #, gcc-internal-format
-msgid "either %<-fopenacc%> or %<-fopenmp%> must be set"
+msgid "unrecognizable argument of option "
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:766
+#: config/nvptx/mkoffload.cc:795
+#, gcc-internal-format, gfc-internal-format
+msgid "cannot open '%s'"
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:851
 #, gcc-internal-format
 msgid "cannot open intermediate ptx file"
 msgstr ""
@@ -44031,100 +45469,105 @@ msgid ""
 "misa%> (sm_%s)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:362
+#: config/nvptx/nvptx.cc:340
+#, gcc-internal-format
+msgid "%<-march=%> must be specified"
+msgstr ""
+
+#: config/nvptx/nvptx.cc:363
 #, gcc-internal-format
 msgid "not generating patch area, nops not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:461
+#: config/nvptx/nvptx.cc:462
 #, gcc-internal-format
 msgid ""
 "static initialization of variable %q+D in %<.shared%> memory is not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2339
+#: config/nvptx/nvptx.cc:2340
 #, gcc-internal-format
 msgid "cannot emit unaligned pointers in ptx assembly"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2564
+#: config/nvptx/nvptx.cc:2565
 #, gcc-internal-format
 msgid "PTX does not support weak declarations (only weak definitions)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5805
+#: config/nvptx/nvptx.cc:5806
 #, gcc-internal-format
 msgid "%qE attribute requires a void return type"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5828
+#: config/nvptx/nvptx.cc:5829
 #, gcc-internal-format
 msgid "%qE attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6221
+#: config/nvptx/nvptx.cc:6227
 #, gcc-internal-format
 msgid "barrier value must be within [0,15]"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6234
+#: config/nvptx/nvptx.cc:6240
 #, gcc-internal-format
 msgid "complement argument must be constant"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6573
+#: config/nvptx/nvptx.cc:6579
 #, gcc-internal-format
 msgid ""
 "using %<vector_length (%d)%> due to call to vector-partitionable routine, "
 "ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6581
+#: config/nvptx/nvptx.cc:6587
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6595
+#: config/nvptx/nvptx.cc:6601
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7481
+#: config/nvptx/nvptx.cc:7487
 #, gcc-internal-format
 msgid "variable %qD adjusted for OpenACC privatization level: %qs"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7595
+#: config/nvptx/nvptx.cc:7601
 #, gcc-internal-format
 msgid "weak alias definitions not supported in this configuration"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7608
+#: config/nvptx/nvptx.cc:7614
 #, gcc-internal-format
 msgid "non-function alias definitions not supported in this configuration"
 msgstr ""
 
-#: config/or1k/or1k.cc:1313
+#: config/or1k/or1k.cc:1314
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected operand: %d"
 msgstr ""
 
-#: config/pa/pa.cc:529
+#: config/pa/pa.cc:537
 #, gcc-internal-format
 msgid "PIC code generation is not supported in the portable runtime model"
 msgstr ""
 
-#: config/pa/pa.cc:534
+#: config/pa/pa.cc:542
 #, gcc-internal-format
 msgid "PIC code generation is not compatible with fast indirect calls"
 msgstr ""
 
-#: config/pa/pa.cc:539
+#: config/pa/pa.cc:547
 #, gcc-internal-format
 msgid "%<-g%> is only supported when using GAS on this processor"
 msgstr ""
 
-#: config/pa/pa.cc:540
+#: config/pa/pa.cc:548
 #, gcc-internal-format
 msgid "%<-g%> option disabled"
 msgstr ""
@@ -44163,216 +45606,292 @@ msgstr ""
 msgid "malformed %<#pragma CTABLE_ENTRY%> variable address"
 msgstr ""
 
-#: config/pru/pru.cc:2134
+#: config/pru/pru.cc:2168
 #, gcc-internal-format
 msgid "aggregate types are prohibited in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2141
+#: config/pru/pru.cc:2175
 #, gcc-internal-format
 msgid "variables in %<__regio_symbol%> address space cannot have initial value"
 msgstr ""
 
-#: config/pru/pru.cc:2144
+#: config/pru/pru.cc:2178
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space cannot be declared %<register%>"
 msgstr ""
 
-#: config/pru/pru.cc:2147
+#: config/pru/pru.cc:2181
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<volatile%>"
 msgstr ""
 
-#: config/pru/pru.cc:2150
+#: config/pru/pru.cc:2184
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<extern%>"
 msgstr ""
 
-#: config/pru/pru.cc:2153
+#: config/pru/pru.cc:2187
 #, gcc-internal-format
 msgid "only 32-bit access is supported for %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2156
+#: config/pru/pru.cc:2190
 #, gcc-internal-format
 msgid "register name %<%s%> not recognized in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2181
+#: config/pru/pru.cc:2215
 #, gcc-internal-format
 msgid "pointers to %<__regio_symbol%> address space are prohibited"
 msgstr ""
 
-#: config/riscv/riscv-c.cc:176
+#: config/riscv/riscv-c.cc:192
 #, gcc-internal-format
 msgid "%<#pragma riscv intrinsic%> requires a string parameter"
 msgstr ""
 
-#: config/riscv/riscv-c.cc:186
+#: config/riscv/riscv-c.cc:203
 #, gcc-internal-format
-msgid "%<#pragma riscv intrinsic%> option %qs needs 'V' extension enabled"
+msgid ""
+"%<#pragma riscv intrinsic%> option %qs needs 'V' or 'XTHEADVECTOR' extension "
+"enabled"
 msgstr ""
 
-#: config/riscv/riscv-c.cc:194
+#: config/riscv/riscv-c.cc:211
 #, gcc-internal-format
 msgid "unknown %<#pragma riscv intrinsic%> option %qs"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:3860
+#: config/riscv/riscv-target-attr.cc:120
+#, gcc-internal-format
+msgid "unexpected arch for %<target()%> attribute: must start with + or rv"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:132
+#, gcc-internal-format
+msgid "unexpected arch for %<target()%> attribute: bad string found %<%s%>"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:156
+#, gcc-internal-format
+msgid "%<target()%> attribute: arch appears more than once"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:167
+#, gcc-internal-format
+msgid "%<target()%> attribute: cpu appears more than once"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:174
+#, gcc-internal-format
+msgid "%<target()%> attribute: unknown CPU %qs"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:195
+#, gcc-internal-format
+msgid "%<target()%> attribute: tune appears more than once"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:201
+#, gcc-internal-format
+msgid "%<target()%> attribute: unknown TUNE %qs"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:240
+#, gcc-internal-format
+msgid "malformed %<target()%> attribute"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:254
+#, gcc-internal-format
+msgid "attribute %<target(\"%s\")%> does not accept an argument"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:271
+#, gcc-internal-format
+msgid "Got unknown attribute %<target(\"%s\")%>"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:352
+#, gcc-internal-format
+msgid "malformed %<target(\"%s\")%> attribute"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4239
 #, gcc-internal-format
 msgid ""
 "passing %wd to argument %d of %qE, which expects a value in the range [%wd, "
 "%wd] or %wd"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:3990
+#: config/riscv/riscv-vector-builtins.cc:4435
 #, gcc-internal-format
 msgid "RVV type %qT does not have a fixed size"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:3996
+#: config/riscv/riscv-vector-builtins.cc:4441
 #, gcc-internal-format
 msgid "RVV type %qT does not have a defined alignment"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4011
+#: config/riscv/riscv-vector-builtins.cc:4456
 #, gcc-internal-format
 msgid "arithmetic on pointer to RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4019
+#: config/riscv/riscv-vector-builtins.cc:4464
 #, gcc-internal-format
 msgid "member variables cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4021
+#: config/riscv/riscv-vector-builtins.cc:4466
 #, gcc-internal-format
 msgid "fields cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4027
+#: config/riscv/riscv-vector-builtins.cc:4472
 #, gcc-internal-format
 msgid "array elements cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4033
+#: config/riscv/riscv-vector-builtins.cc:4478
 #, gcc-internal-format
 msgid "cannot allocate objects with RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4039
+#: config/riscv/riscv-vector-builtins.cc:4484
 #, gcc-internal-format
 msgid "cannot delete objects with RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4045
+#: config/riscv/riscv-vector-builtins.cc:4490
 #, gcc-internal-format
 msgid "cannot throw or catch RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4051
+#: config/riscv/riscv-vector-builtins.cc:4496
 #, gcc-internal-format
 msgid "capture by copy of RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv.cc:424
+#: config/riscv/riscv-vector-builtins.cc:4633
+#, gcc-internal-format
+msgid "no matching function call to %qE with empty arguments"
+msgstr ""
+
+#: config/riscv/riscv.cc:647
 #, gcc-internal-format
 msgid "unknown cpu %qs for %<-mtune%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:1907
+#: config/riscv/riscv.cc:2458
 #, gcc-internal-format
 msgid "this operation requires the RVV ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:1908
+#: config/riscv/riscv.cc:2459
 #, gcc-internal-format
 msgid ""
 "you can enable RVV using the command-line option %<-march%>, or by using the "
 "%<target%> attribute or pragma"
 msgstr ""
 
-#: config/riscv/riscv.cc:3728 config/riscv/riscv.cc:3770
+#: config/riscv/riscv.cc:4848 config/riscv/riscv.cc:4890
 #, gcc-internal-format
 msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
 msgstr ""
 
-#: config/riscv/riscv.cc:3871
+#: config/riscv/riscv.cc:5237
 #, gcc-internal-format
-msgid ""
-"ABI for the vector type is currently in experimental stage and may changes "
-"in the upcoming version of GCC."
+msgid "RVV type %qT cannot be passed to an unprototyped function"
 msgstr ""
 
-#: config/riscv/riscv.cc:4227
+#: config/riscv/riscv.cc:5515
 #, gcc-internal-format
 msgid ""
 "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or "
 "%<\"machine\"%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:6580
+#: config/riscv/riscv.cc:8875
 #, gcc-internal-format
 msgid "%<-mdiv%> requires %<-march%> to subsume the %<M%> extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:6623
+#: config/riscv/riscv.cc:8917
+#, gcc-internal-format
+msgid ""
+"Current RISC-V GCC does not support VLEN greater than 4096bit for 'V' "
+"Extension"
+msgstr ""
+
+#: config/riscv/riscv.cc:8923
+#, gcc-internal-format
+msgid "Current RISC-V GCC does not support RVV in big-endian mode"
+msgstr ""
+
+#: config/riscv/riscv.cc:8949 config/riscv/riscv.cc:8952
+#, gcc-internal-format
+msgid "code model %qs with %qs"
+msgstr ""
+
+#: config/riscv/riscv.cc:8981
 #, gcc-internal-format
 msgid "requested ABI requires %<-march%> to subsume the %qc extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:6627
+#: config/riscv/riscv.cc:8988
 #, gcc-internal-format
 msgid "rv32e requires ilp32e ABI"
 msgstr ""
 
-#: config/riscv/riscv.cc:6632
+#: config/riscv/riscv.cc:8990
 #, gcc-internal-format
-msgid "z*inx requires ABI ilp32, ilp32e or lp64"
+msgid "rv64e requires lp64e ABI"
 msgstr ""
 
-#: config/riscv/riscv.cc:6636
+#: config/riscv/riscv.cc:8997
+#, gcc-internal-format
+msgid "z*inx requires ABI ilp32, ilp32e, lp64 or lp64e"
+msgstr ""
+
+#: config/riscv/riscv.cc:9001
 #, gcc-internal-format
 msgid "ABI requires %<-march=rv%d%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:6646
+#: config/riscv/riscv.cc:9011
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d"
 msgstr ""
 
-#: config/riscv/riscv.cc:6659
+#: config/riscv/riscv.cc:9024
 #, gcc-internal-format
 msgid ""
 "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-"
 "attribute%>]"
 msgstr ""
 
-#: config/riscv/riscv.cc:6686 config/rs6000/rs6000.cc:4547
+#: config/riscv/riscv.cc:9051 config/rs6000/rs6000.cc:4558
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:6700 config/rs6000/rs6000.cc:4530
+#: config/riscv/riscv.cc:9065 config/rs6000/rs6000.cc:4541
 #, gcc-internal-format
 msgid "%qs is not a valid number in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:6716
-#, gcc-internal-format
-msgid ""
-"Current RISC-V GCC cannot support VLEN greater than 4096bit for 'V' Extension"
-msgstr ""
-
-#: config/riscv/riscv.cc:7022
+#: config/riscv/riscv.cc:9459
 #, gcc-internal-format
 msgid "%qs function cannot have different interrupt type"
 msgstr ""
 
-#: config/riscv/riscv.cc:7545
+#: config/riscv/riscv.cc:9985
 #, gcc-internal-format
 msgid "cannot allocate vl register for %qs on this target"
 msgstr ""
@@ -44732,45 +46251,45 @@ msgstr ""
 msgid "Stack frame larger than 2G is not supported for %<-fsplit-stack%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3216 config/rs6000/rs6000.cc:3219
-#: config/rs6000/rs6000.cc:3222
+#: config/rs6000/rs6000.cc:3226 config/rs6000/rs6000.cc:3229
+#: config/rs6000/rs6000.cc:3232
 #, gcc-internal-format
 msgid "%qs requires %qs or %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3323
+#: config/rs6000/rs6000.cc:3333
 #, gcc-internal-format
 msgid "%qs requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3438
+#: config/rs6000/rs6000.cc:3449
 #, gcc-internal-format
 msgid "%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3487
+#: config/rs6000/rs6000.cc:3498
 #, gcc-internal-format
 msgid "%qs unsupported for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3615
+#: config/rs6000/rs6000.cc:3626
 #, gcc-internal-format
 msgid ""
 "%qs is not supported for 64-bit Darwin; it is incompatible with the "
 "installed C and C++ libraries"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3776
+#: config/rs6000/rs6000.cc:3787
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3793
+#: config/rs6000/rs6000.cc:3804
 #, gcc-internal-format
 msgid "%qs is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3875
+#: config/rs6000/rs6000.cc:3886
 #, gcc-internal-format
 msgid ""
 "power9 target option is incompatible with %<%s=<xxx>%> for <xxx> less than "
@@ -44779,221 +46298,221 @@ msgstr ""
 
 #. Enforce that none of the ISA_3_0_MASKS_SERVER flags
 #. were explicitly cleared.
-#: config/rs6000/rs6000.cc:3883
+#: config/rs6000/rs6000.cc:3894
 #, gcc-internal-format
 msgid "%qs incompatible with explicitly disabled options"
 msgstr ""
 
 #. TARGET_VSX = 1 implies Power 7 and newer
-#: config/rs6000/rs6000.cc:3917 config/rs6000/rs6000.cc:3925
-#: config/rs6000/rs6000.cc:3932 config/rs6000/rs6000.cc:3939
-#: config/rs6000/rs6000.cc:3947 config/rs6000/rs6000.cc:3966
-#: config/rs6000/rs6000.cc:4028 config/rs6000/rs6000.cc:4055
-#: config/rs6000/rs6000.cc:4082 config/rs6000/rs6000.cc:4097
-#: config/rs6000/rs6000.cc:4105 config/rs6000/rs6000.cc:4229
-#: config/rs6000/rs6000.cc:4242 config/rs6000/rs6000.cc:4251
-#: config/rs6000/rs6000.cc:4389 config/rs6000/rs6000.cc:4402
-#: config/rs6000/rs6000.cc:4423
+#: config/rs6000/rs6000.cc:3928 config/rs6000/rs6000.cc:3936
+#: config/rs6000/rs6000.cc:3943 config/rs6000/rs6000.cc:3950
+#: config/rs6000/rs6000.cc:3958 config/rs6000/rs6000.cc:3977
+#: config/rs6000/rs6000.cc:4039 config/rs6000/rs6000.cc:4066
+#: config/rs6000/rs6000.cc:4093 config/rs6000/rs6000.cc:4108
+#: config/rs6000/rs6000.cc:4116 config/rs6000/rs6000.cc:4240
+#: config/rs6000/rs6000.cc:4253 config/rs6000/rs6000.cc:4262
+#: config/rs6000/rs6000.cc:4400 config/rs6000/rs6000.cc:4413
+#: config/rs6000/rs6000.cc:4434
 #, gcc-internal-format
 msgid "%qs requires %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4133
+#: config/rs6000/rs6000.cc:4144
 #, gcc-internal-format
 msgid "target attribute or pragma changes %<long double%> size"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4154
+#: config/rs6000/rs6000.cc:4165
 #, gcc-internal-format
 msgid "%qs requires full ISA 2.06 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4167
+#: config/rs6000/rs6000.cc:4178
 #, gcc-internal-format
 msgid "Using IEEE extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4170
+#: config/rs6000/rs6000.cc:4181
 #, gcc-internal-format
 msgid "Using IBM extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4189
+#: config/rs6000/rs6000.cc:4200
 #, gcc-internal-format
 msgid "%qs requires VSX support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4198
+#: config/rs6000/rs6000.cc:4209
 #, gcc-internal-format
 msgid "The %<-mfloat128%> option may not be fully supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4221
+#: config/rs6000/rs6000.cc:4232
 #, gcc-internal-format
 msgid "%qs requires full ISA 3.0 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4308
+#: config/rs6000/rs6000.cc:4319
 #, gcc-internal-format
 msgid "unknown vectorization library ABI type in %<-mveclibabi=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4321 config/rs6000/rs6000.cc:4336
+#: config/rs6000/rs6000.cc:4332 config/rs6000/rs6000.cc:4347
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4349
+#: config/rs6000/rs6000.cc:4360
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4555
+#: config/rs6000/rs6000.cc:4566
 #, gcc-internal-format
 msgid "%qs needs a valid base register"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4852
+#: config/rs6000/rs6000.cc:4863
 #, gcc-internal-format
 msgid "unknown option for %<%s=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4881
+#: config/rs6000/rs6000.cc:4892
 #, gcc-internal-format
 msgid "%qs is deprecated and not recommended in any circumstances"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:10973
+#: config/rs6000/rs6000.cc:11218
 #, gcc-internal-format
 msgid "%qs is an opaque type, and you cannot set it to other values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:17806
+#: config/rs6000/rs6000.cc:18063
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20202
+#: config/rs6000/rs6000.cc:20459
 #, gcc-internal-format
 msgid ""
 "you cannot take the address of a nested function if you use the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20284
+#: config/rs6000/rs6000.cc:20541
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20286
+#: config/rs6000/rs6000.cc:20543
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20288
+#: config/rs6000/rs6000.cc:20545
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20290
+#: config/rs6000/rs6000.cc:20547
 #, gcc-internal-format
 msgid "use of decimal floating-point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20296
+#: config/rs6000/rs6000.cc:20553
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20299
+#: config/rs6000/rs6000.cc:20556
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20304
+#: config/rs6000/rs6000.cc:20561
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20307
+#: config/rs6000/rs6000.cc:20564
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24444
+#: config/rs6000/rs6000.cc:24705
 #, gcc-internal-format
 msgid "invalid cpu %qs for %s%qs%s"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24447
+#: config/rs6000/rs6000.cc:24708
 #, gcc-internal-format
 msgid "%s%qs%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24449
+#: config/rs6000/rs6000.cc:24710
 #, gcc-internal-format
 msgid "%s%qs%s is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24978
+#: config/rs6000/rs6000.cc:25239
 #, gcc-internal-format
 msgid "%<-mno-%s%> turns off %<-m%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25137
+#: config/rs6000/rs6000.cc:25398
 #, gcc-internal-format
 msgid ""
 "%<target_clones%> attribute needs GLIBC (2.23 and newer) that exports "
 "hardware capability bits"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25426
+#: config/rs6000/rs6000.cc:25687
 #, gcc-internal-format
 msgid "Virtual function multiversioning not supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28563
+#: config/rs6000/rs6000.cc:28825
 #, gcc-internal-format
 msgid ""
 "the result for the xxspltidp instruction is undefined for subnormal input "
 "values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:29041
+#: config/rs6000/rs6000.cc:29303
 #, gcc-internal-format
 msgid "type %<__vector_quad%> requires the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:29046
+#: config/rs6000/rs6000.cc:29308
 #, gcc-internal-format
 msgid "type %<__vector_pair%> requires the %qs option"
 msgstr ""
 
-#: config/rx/rx.cc:651
+#: config/rx/rx.cc:652
 #, gcc-internal-format
 msgid "unrecognized control register number: %d - using %<psw%>"
 msgstr ""
 
-#: config/rx/rx.cc:1384
+#: config/rx/rx.cc:1385
 #, gcc-internal-format
 msgid "multiple fast interrupt routines seen: %qE and %qE"
 msgstr ""
 
-#: config/rx/rx.cc:2480
+#: config/rx/rx.cc:2481
 #, gcc-internal-format
 msgid "invalid control register %d for mvtc; using %<psw%>"
 msgstr ""
 
-#: config/rx/rx.cc:2602
+#: config/rx/rx.cc:2603
 #, gcc-internal-format
 msgid "%<__builtin_rx_%s%> takes %<C%>, %<Z%>, %<S%>, %<O%>, %<I%>, or %<U%>"
 msgstr ""
 
-#: config/rx/rx.cc:2605
+#: config/rx/rx.cc:2606
 #, gcc-internal-format
 msgid "use %<__builtin_rx_mvtc (0, ... )%> to write arbitrary values to PSW"
 msgstr ""
 
-#: config/rx/rx.cc:2652
+#: config/rx/rx.cc:2653
 #, gcc-internal-format
 msgid ""
 "%<-mno-allow-string-insns%> forbids the generation of the RMPA instruction"
@@ -45004,79 +46523,79 @@ msgstr ""
 msgid "RX FPU instructions do not support NaNs and infinities"
 msgstr ""
 
-#: config/s390/s390-c.cc:487
+#: config/s390/s390-c.cc:488
 #, gcc-internal-format
 msgid "builtin %qs can only be used on vector types"
 msgstr ""
 
-#: config/s390/s390-c.cc:717 config/s390/s390.cc:997
+#: config/s390/s390-c.cc:718 config/s390/s390.cc:997
 #, gcc-internal-format
 msgid "constant value required for builtin %qF argument %d"
 msgstr ""
 
-#: config/s390/s390-c.cc:732
+#: config/s390/s390-c.cc:733
 #, gcc-internal-format
 msgid ""
 "valid values for builtin %qF argument %d are 64, 128, 256, 512, 1024, 2048, "
 "and 4096"
 msgstr ""
 
-#: config/s390/s390-c.cc:909
+#: config/s390/s390-c.cc:913
 #, gcc-internal-format
 msgid "builtin %qF is for GCC internal use only"
 msgstr ""
 
-#: config/s390/s390-c.cc:917
+#: config/s390/s390-c.cc:921
 #, gcc-internal-format
 msgid "builtin %qF is deprecated"
 msgstr ""
 
-#: config/s390/s390-c.cc:921
+#: config/s390/s390-c.cc:925
 #, gcc-internal-format
 msgid "%qF requires %<-mvx%>"
 msgstr ""
 
-#: config/s390/s390-c.cc:927
+#: config/s390/s390-c.cc:931
 #, gcc-internal-format
 msgid "%qF requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:933
+#: config/s390/s390-c.cc:937
 #, gcc-internal-format
 msgid "%qF requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:947
+#: config/s390/s390-c.cc:951
 #, gcc-internal-format
 msgid "mismatch in number of arguments for builtin %qF. Expected: %d got %d"
 msgstr ""
 
-#: config/s390/s390-c.cc:996
+#: config/s390/s390-c.cc:1000
 #, gcc-internal-format
 msgid "invalid parameter combination for intrinsic %qs"
 msgstr ""
 
-#: config/s390/s390-c.cc:1002
+#: config/s390/s390-c.cc:1006
 #, gcc-internal-format
 msgid "ambiguous overload for intrinsic %qs"
 msgstr ""
 
-#: config/s390/s390-c.cc:1010
+#: config/s390/s390-c.cc:1014
 #, gcc-internal-format
 msgid "%qs matching variant requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:1019
+#: config/s390/s390-c.cc:1023
 #, gcc-internal-format
 msgid "%qs matching variant requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:1025
+#: config/s390/s390-c.cc:1029
 #, gcc-internal-format
 msgid "%qs matching variant is deprecated"
 msgstr ""
 
-#: config/s390/s390-c.cc:1065
+#: config/s390/s390-c.cc:1069
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range for target type"
 msgstr ""
@@ -45145,19 +46664,19 @@ msgstr ""
 msgid "argument to %qE attribute is not (keep|thunk|thunk-extern)"
 msgstr ""
 
-#: config/s390/s390.cc:10492
+#: config/s390/s390.cc:10581
 #, gcc-internal-format
 msgid "total size of local variables exceeds architecture limit"
 msgstr ""
 
-#: config/s390/s390.cc:11899
+#: config/s390/s390.cc:11988
 #, gcc-internal-format
 msgid ""
 "frame size of function %qs is %wd bytes exceeding user provided stack limit "
 "of %d bytes; an unconditional trap is added"
 msgstr ""
 
-#: config/s390/s390.cc:11915
+#: config/s390/s390.cc:12004
 #, gcc-internal-format
 msgid ""
 "frame size of function %qs is %wd bytes which is more than half the stack "
@@ -45165,140 +46684,160 @@ msgid ""
 "function"
 msgstr ""
 
-#: config/s390/s390.cc:11943
+#: config/s390/s390.cc:12032
 #, gcc-internal-format
 msgid "frame size of %qs is %wd bytes"
 msgstr ""
 
-#: config/s390/s390.cc:11947
+#: config/s390/s390.cc:12036
 #, gcc-internal-format
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/s390/s390.cc:12693
+#: config/s390/s390.cc:12783
 #, gcc-internal-format
 msgid ""
 "parameter passing for argument of type %qT with zero-width bit fields "
 "members changed in GCC 12"
 msgstr ""
 
-#: config/s390/s390.cc:13652
+#: config/s390/s390.cc:13742
 #, gcc-internal-format
 msgid "nested functions cannot be profiled with %<-mfentry%> on s390"
 msgstr ""
 
-#: config/s390/s390.cc:15942
+#: config/s390/s390.cc:16035
 #, gcc-internal-format
 msgid "64-bit ABI not supported in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:15949
+#: config/s390/s390.cc:16042
 #, gcc-internal-format
 msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>"
 msgstr ""
 
-#: config/s390/s390.cc:15984
+#: config/s390/s390.cc:16077
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware vector support not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:15987
+#: config/s390/s390.cc:16080
 #, gcc-internal-format
 msgid "hardware vector support not available with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:16016
+#: config/s390/s390.cc:16109
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware decimal floating-point instructions not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:16020
+#: config/s390/s390.cc:16113
 #, gcc-internal-format
 msgid ""
 "hardware decimal floating-point instructions not available in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:16032
+#: config/s390/s390.cc:16125
 #, gcc-internal-format
 msgid "%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:16041
+#: config/s390/s390.cc:16134
 #, gcc-internal-format
 msgid ""
 "%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in "
 "combination"
 msgstr ""
 
-#: config/s390/s390.cc:16047
+#: config/s390/s390.cc:16140
 #, gcc-internal-format
 msgid "stack size must be greater than the stack guard value"
 msgstr ""
 
-#: config/s390/s390.cc:16049
+#: config/s390/s390.cc:16142
 #, gcc-internal-format
 msgid "stack size must not be greater than 64k"
 msgstr ""
 
-#: config/s390/s390.cc:16052
+#: config/s390/s390.cc:16145
 #, gcc-internal-format
 msgid "%<-mstack-guard%> implies use of %<-mstack-size%>"
 msgstr ""
 
-#: config/s390/s390.cc:16065
+#: config/s390/s390.cc:16158
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16068
+#: config/s390/s390.cc:16161
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16071
+#: config/s390/s390.cc:16164
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16074
+#: config/s390/s390.cc:16167
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16138
+#: config/s390/s390.cc:16231
 #, gcc-internal-format
 msgid "%<-mfentry%> is supported only for 64-bit CPUs"
 msgstr ""
 
 #. argument is not a plain number
-#: config/s390/s390.cc:16174
+#: config/s390/s390.cc:16267
 #, gcc-internal-format
 msgid "arguments to %qs should be non-negative integers"
 msgstr ""
 
-#: config/s390/s390.cc:16181
+#: config/s390/s390.cc:16274
 #, gcc-internal-format
 msgid "argument to %qs is too large (max. %d)"
 msgstr ""
 
-#: config/s390/s390.cc:16212
+#: config/s390/s390.cc:16305
 #, gcc-internal-format
 msgid ""
 "%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>"
 msgstr ""
 
-#: config/s390/s390.cc:16373 config/s390/s390.cc:16423
-#: config/s390/s390.cc:16440
+#: config/s390/s390.cc:16466 config/s390/s390.cc:16516
+#: config/s390/s390.cc:16533
 #, gcc-internal-format
 msgid "attribute %<target%> argument %qs is unknown"
 msgstr ""
 
 #. Value is not allowed for the target attribute.
-#: config/s390/s390.cc:16379
+#: config/s390/s390.cc:16472
 #, gcc-internal-format
 msgid "value %qs is not supported by attribute %<target%>"
 msgstr ""
 
+#: config/s390/s390.cc:17531
+#, gcc-internal-format
+msgid "invalid cc output constraint: %qs"
+msgstr ""
+
+#: config/s390/s390.cc:17536
+#, gcc-internal-format
+msgid "multiple cc output constraints not supported"
+msgstr ""
+
+#: config/s390/s390.cc:17541
+#, gcc-internal-format
+msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
+msgstr ""
+
+#: config/s390/s390.cc:17547
+#, gcc-internal-format
+msgid "invalid type for cc output constraint"
+msgstr ""
+
 #: config/sh/sh.cc:936
 #, gcc-internal-format
 msgid "ignoring %<-fschedule-insns%> because of exception handling bug"
@@ -45341,22 +46880,22 @@ msgstr ""
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sparc/sparc.cc:1843
+#: config/sparc/sparc.cc:1834
 #, gcc-internal-format, gfc-internal-format
 msgid "%s is not supported by this configuration"
 msgstr ""
 
-#: config/sparc/sparc.cc:1850
+#: config/sparc/sparc.cc:1841
 #, gcc-internal-format
 msgid "%<-mlong-double-64%> not allowed with %<-m64%>"
 msgstr ""
 
-#: config/sparc/sparc.cc:1858
+#: config/sparc/sparc.cc:1849
 #, gcc-internal-format
 msgid "%<-fcall-saved-REG%> is not supported for out registers"
 msgstr ""
 
-#: config/sparc/sparc.cc:1982
+#: config/sparc/sparc.cc:1973
 #, gcc-internal-format
 msgid "%<-mcmodel=%> is not supported in 32-bit mode"
 msgstr ""
@@ -45381,12 +46920,12 @@ msgstr ""
 msgid "switch statement of size %lu entries too large"
 msgstr ""
 
-#: config/stormy16/stormy16.cc:2427
+#: config/stormy16/stormy16.cc:2426
 #, gcc-internal-format
 msgid "%<__BELOW100__%> attribute only applies to variables"
 msgstr ""
 
-#: config/stormy16/stormy16.cc:2434
+#: config/stormy16/stormy16.cc:2433
 #, gcc-internal-format
 msgid "%<__BELOW100__%> attribute not allowed with auto storage class"
 msgstr ""
@@ -45606,22 +47145,22 @@ msgstr ""
 msgid "%qs is defined but plugin support is disabled"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2840
+#: config/xtensa/xtensa.cc:2864
 #, gcc-internal-format
 msgid "boolean registers required for the floating-point option"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2875
+#: config/xtensa/xtensa.cc:2899
 #, gcc-internal-format
 msgid "%<-f%s%> is not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2882
+#: config/xtensa/xtensa.cc:2906
 #, gcc-internal-format
 msgid "PIC is required but not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:4325
+#: config/xtensa/xtensa.cc:4349
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in a %<.bss%> section"
 msgstr ""
@@ -45641,546 +47180,562 @@ msgstr ""
 msgid "%<-fexcess-precision=16%> for Ada"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:333
+#: ada/gcc-interface/trans.cc:348
 #, gcc-internal-format, gfc-internal-format
 msgid "%s contains too many lines"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1620
+#: ada/gcc-interface/trans.cc:1640
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline_Always%>"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1622 ada/gcc-interface/trans.cc:1628
+#: ada/gcc-interface/trans.cc:1642 ada/gcc-interface/trans.cc:1648
 #, gcc-internal-format
 msgid "parent subprogram cannot be inlined"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1626
+#: ada/gcc-interface/trans.cc:1646
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline%>"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4153
+#: ada/gcc-interface/utils.cc:4291
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4177
+#: ada/gcc-interface/utils.cc:4315
 #, gcc-internal-format
 msgid "number of components of vector not a power of two"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6413 ada/gcc-interface/utils.cc:6591
-#: ada/gcc-interface/utils.cc:6772
+#: ada/gcc-interface/utils.cc:6551 ada/gcc-interface/utils.cc:6729
+#: ada/gcc-interface/utils.cc:6969
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6468
+#: ada/gcc-interface/utils.cc:6606
 #, gcc-internal-format
 msgid "%qs attribute without arguments on a non-prototype"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6483
+#: ada/gcc-interface/utils.cc:6621
 #, gcc-internal-format
 msgid "%qs argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6505
+#: ada/gcc-interface/utils.cc:6643
 #, gcc-internal-format
 msgid ""
 "%qs argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6514
+#: ada/gcc-interface/utils.cc:6652
 #, gcc-internal-format
 msgid "%qs argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6535
+#: ada/gcc-interface/utils.cc:6673
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6544
+#: ada/gcc-interface/utils.cc:6682
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6732 d/d-attribs.cc:359 d/d-attribs.cc:485
+#: ada/gcc-interface/utils.cc:6929 d/d-attribs.cc:362 d/d-attribs.cc:488
+#: rust/rust-attribs.cc:176
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:7064
+#: ada/gcc-interface/utils.cc:7240
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: c/c-convert.cc:104 c/c-typeck.cc:2316 c/c-typeck.cc:13339 cp/typeck.cc:2497
-#: cp/typeck.cc:9394 cp/typeck.cc:10190 d/d-convert.cc:262
+#: c/c-convert.cc:104 c/c-typeck.cc:2351 c/c-typeck.cc:13556 cp/typeck.cc:2497
+#: cp/typeck.cc:9510 cp/typeck.cc:10298 d/d-convert.cc:262
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c/c-convert.cc:221
+#: c/c-convert.cc:235
 #, gcc-internal-format
 msgid "conversion from %qT to %qT"
 msgstr ""
 
-#: c/c-convert.cc:223
+#: c/c-convert.cc:237
 #, gcc-internal-format
 msgid "only %qT or a null pointer constant can be converted to %qT"
 msgstr ""
 
-#: c/c-convert.cc:227 d/d-convert.cc:322
+#: c/c-convert.cc:241 d/d-convert.cc:322
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
 
-#: c/c-decl.cc:842
+#: c/c-decl.cc:915
 #, gcc-internal-format
 msgid "array %q+D assumed to have one element"
 msgstr ""
 
-#: c/c-decl.cc:883
+#: c/c-decl.cc:956
 #, gcc-internal-format
 msgid "%qD is static but used in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:888
+#: c/c-decl.cc:961
 #, gcc-internal-format
 msgid "%q+D is static but declared in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:1084
+#: c/c-decl.cc:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "GCC supports only %u nested scopes"
 msgstr ""
 
-#: c/c-decl.cc:1226 cp/decl.cc:369
+#: c/c-decl.cc:1299 cp/decl.cc:378
 #, gcc-internal-format
 msgid "label %q+D used but not defined"
 msgstr ""
 
-#: c/c-decl.cc:1271
+#: c/c-decl.cc:1344
 #, gcc-internal-format
 msgid "nested function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1285
+#: c/c-decl.cc:1358
 #, gcc-internal-format
 msgid "inline function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1303
+#: c/c-decl.cc:1376
 #, gcc-internal-format
 msgid "unused variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:1309 cp/decl.cc:712
+#: c/c-decl.cc:1382 cp/decl.cc:733
 #, gcc-internal-format
 msgid "variable %qD set but not used"
 msgstr ""
 
-#: c/c-decl.cc:1314
+#: c/c-decl.cc:1387
 #, gcc-internal-format
 msgid "type of array %q+D completed incompatibly with implicit initialization"
 msgstr ""
 
-#: c/c-decl.cc:1489
+#: c/c-decl.cc:1562
 #, gcc-internal-format
 msgid ""
 "underspecified declaration of %qE, which is already declared in this scope"
 msgstr ""
 
-#: c/c-decl.cc:1660 c/c-decl.cc:7707 c/c-decl.cc:8659 c/c-decl.cc:9596
+#: c/c-decl.cc:1733 c/c-decl.cc:7888 c/c-decl.cc:8890 c/c-decl.cc:9899
 #, gcc-internal-format
 msgid "originally defined here"
 msgstr ""
 
-#: c/c-decl.cc:1883
+#: c/c-decl.cc:1956
 #, gcc-internal-format
 msgid ""
 "a parameter list with an ellipsis cannot match an empty parameter name list "
 "declaration"
 msgstr ""
 
-#: c/c-decl.cc:1890
+#: c/c-decl.cc:1964
 #, gcc-internal-format
 msgid ""
 "an argument type that has a default promotion cannot match an empty "
 "parameter name list declaration"
 msgstr ""
 
-#: c/c-decl.cc:1938
+#: c/c-decl.cc:2012
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares more arguments than previous old-style definition"
 msgstr ""
 
-#: c/c-decl.cc:1944
+#: c/c-decl.cc:2018
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares fewer arguments than previous old-style "
 "definition"
 msgstr ""
 
-#: c/c-decl.cc:1953
+#: c/c-decl.cc:2027
 #, gcc-internal-format
 msgid "prototype for %q+D declares argument %d with incompatible type"
 msgstr ""
 
 #. If we get here, no errors were found, but do issue a warning
 #. for this poor-style construct.
-#: c/c-decl.cc:1966
+#: c/c-decl.cc:2040
 #, gcc-internal-format
 msgid "prototype for %q+D follows non-prototype definition"
 msgstr ""
 
-#: c/c-decl.cc:1984
+#: c/c-decl.cc:2058
 #, gcc-internal-format
 msgid "previous definition of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:1988
+#: c/c-decl.cc:2062
 #, gcc-internal-format
 msgid "previous implicit declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:1992
+#: c/c-decl.cc:2066
 #, gcc-internal-format
 msgid "previous declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:2032
+#: c/c-decl.cc:2128
 #, gcc-internal-format
 msgid "%q+D redeclared as different kind of symbol"
 msgstr ""
 
-#: c/c-decl.cc:2037
+#: c/c-decl.cc:2133
 #, gcc-internal-format
 msgid "built-in function %q+D declared as non-function"
 msgstr ""
 
-#: c/c-decl.cc:2040 c/c-decl.cc:3162
+#: c/c-decl.cc:2136 c/c-decl.cc:3273
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:2050
+#: c/c-decl.cc:2153
+#, gcc-internal-format
+msgid "conflicting redeclaration of enumerator %q+D"
+msgstr ""
+
+#: c/c-decl.cc:2160
 #, gcc-internal-format
 msgid "redeclaration of enumerator %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2089
+#: c/c-decl.cc:2200
 #, gcc-internal-format
 msgid "conflicting types for built-in function %q+D; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2099 c/c-decl.cc:2124
+#: c/c-decl.cc:2210 c/c-decl.cc:2235
 #, gcc-internal-format
 msgid "%qD is declared in header %qs"
 msgstr ""
 
-#: c/c-decl.cc:2110
+#: c/c-decl.cc:2221
 #, gcc-internal-format
 msgid "mismatch in argument %u type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2115
+#: c/c-decl.cc:2226
 #, gcc-internal-format
 msgid "mismatch in return type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2148
+#: c/c-decl.cc:2259
 #, gcc-internal-format
 msgid "conflicting types for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2161 c/c-decl.cc:2198
+#: c/c-decl.cc:2272 c/c-decl.cc:2309
 #, gcc-internal-format
 msgid "conflicting types for %q+D; have %qT"
 msgstr ""
 
-#: c/c-decl.cc:2178
+#: c/c-decl.cc:2289
 #, gcc-internal-format
 msgid "conflicting named address spaces (generic vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2182
+#: c/c-decl.cc:2293
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs generic) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2186
+#: c/c-decl.cc:2297
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2195
+#: c/c-decl.cc:2306
 #, gcc-internal-format
 msgid "conflicting type qualifiers for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2216
+#: c/c-decl.cc:2327
 #, gcc-internal-format
 msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT"
 msgstr ""
 
-#: c/c-decl.cc:2233
+#: c/c-decl.cc:2344
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with different type"
 msgstr ""
 
-#: c/c-decl.cc:2246
+#: c/c-decl.cc:2357
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:2251
+#: c/c-decl.cc:2362
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2279
+#: c/c-decl.cc:2390
 #, gcc-internal-format
 msgid "declaration of %qD shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:2295
+#: c/c-decl.cc:2406
 #, gcc-internal-format
 msgid "declaration of built-in function %qD without a prototype; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2319 c/c-decl.cc:2442
+#: c/c-decl.cc:2430 c/c-decl.cc:2553
 #, gcc-internal-format
 msgid "redefinition of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2358 c/c-decl.cc:2482
+#: c/c-decl.cc:2469 c/c-decl.cc:2593
 #, gcc-internal-format
 msgid "static declaration of %q+D follows non-static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2369 c/c-decl.cc:2377 c/c-decl.cc:2471 c/c-decl.cc:2479
+#: c/c-decl.cc:2480 c/c-decl.cc:2488 c/c-decl.cc:2582 c/c-decl.cc:2590
 #, gcc-internal-format
 msgid "non-static declaration of %q+D follows static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2394
+#: c/c-decl.cc:2505
 #, gcc-internal-format
 msgid "%<gnu_inline%> attribute present on %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2397
+#: c/c-decl.cc:2508
 #, gcc-internal-format
 msgid "but not here"
 msgstr ""
 
-#: c/c-decl.cc:2416
+#: c/c-decl.cc:2527
 #, gcc-internal-format
 msgid "thread-local declaration of %q+D follows non-thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2419
+#: c/c-decl.cc:2530
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q+D follows thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2463
+#: c/c-decl.cc:2574
 #, gcc-internal-format
 msgid "extern declaration of %q+D follows declaration with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2501
+#: c/c-decl.cc:2612
 #, gcc-internal-format
 msgid "declaration of %q+D with no linkage follows extern declaration"
 msgstr ""
 
-#: c/c-decl.cc:2508
+#: c/c-decl.cc:2619
 #, gcc-internal-format
 msgid "redeclaration of %q+D with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2534
+#: c/c-decl.cc:2645
 #, gcc-internal-format
 msgid ""
 "redeclaration of %q+D with different visibility (old visibility preserved)"
 msgstr ""
 
-#: c/c-decl.cc:2555
+#: c/c-decl.cc:2666
 #, gcc-internal-format
 msgid "redefinition of parameter %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2582
+#: c/c-decl.cc:2693
 #, gcc-internal-format
 msgid "redundant redeclaration of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:3120
+#: c/c-decl.cc:3231
 #, gcc-internal-format
 msgid "declaration of %q+D shadows previous non-variable"
 msgstr ""
 
-#: c/c-decl.cc:3142
+#: c/c-decl.cc:3253
 #, gcc-internal-format
 msgid "declaration of %qD shadows a parameter"
 msgstr ""
 
-#: c/c-decl.cc:3155 cp/name-lookup.cc:3321
+#: c/c-decl.cc:3266 cp/name-lookup.cc:3547
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr ""
 
-#: c/c-decl.cc:3181
+#: c/c-decl.cc:3292
 #, gcc-internal-format
 msgid "declaration of %qD shadows a previous local"
 msgstr ""
 
-#: c/c-decl.cc:3187 cp/name-lookup.cc:3085
+#: c/c-decl.cc:3298 cp/name-lookup.cc:3264
 #, gcc-internal-format
 msgid "shadowed declaration is here"
 msgstr ""
 
-#: c/c-decl.cc:3317
+#: c/c-decl.cc:3431
 #, gcc-internal-format
 msgid "nested extern declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3473 c/c-decl.cc:3487
+#: c/c-decl.cc:3587 c/c-decl.cc:3601
 #, gcc-internal-format
 msgid "implicit declaration of function %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3479 c/c-decl.cc:3492
+#: c/c-decl.cc:3593 c/c-decl.cc:3606
 #, gcc-internal-format
 msgid "implicit declaration of function %qE"
 msgstr ""
 
-#: c/c-decl.cc:3511
+#: c/c-decl.cc:3625
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:3782
+#: c/c-decl.cc:3896
 #, gcc-internal-format
 msgid "incompatible implicit declaration of built-in function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3792
+#: c/c-decl.cc:3906
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3803
+#: c/c-decl.cc:3917
 #, gcc-internal-format
 msgid "incompatible implicit declaration of function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3864
+#: c/c-decl.cc:3978
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3869
+#: c/c-decl.cc:3983
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function)"
 msgstr ""
 
-#: c/c-decl.cc:3882
+#: c/c-decl.cc:3996
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3887
+#: c/c-decl.cc:4001
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function)"
 msgstr ""
 
-#: c/c-decl.cc:3891
+#: c/c-decl.cc:4005
 #, gcc-internal-format
 msgid ""
 "each undeclared identifier is reported only once for each function it "
 "appears in"
 msgstr ""
 
-#: c/c-decl.cc:3939 cp/decl.cc:3483
+#: c/c-decl.cc:4053 cp/decl.cc:3579
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr ""
 
-#: c/c-decl.cc:3976
+#: c/c-decl.cc:4090
 #, gcc-internal-format
 msgid "jump into scope of identifier with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:3979
+#: c/c-decl.cc:4093
+#, gcc-internal-format
+msgid "jump skips OpenMP %<allocate%> allocation"
+msgstr ""
+
+#: c/c-decl.cc:4096
 #, gcc-internal-format
 msgid "jump skips variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:3981 c/c-decl.cc:4037 c/c-decl.cc:4128
+#: c/c-decl.cc:4098 c/c-decl.cc:4154 c/c-decl.cc:4245
 #, gcc-internal-format
 msgid "label %qD defined here"
 msgstr ""
 
-#: c/c-decl.cc:4036 c/c-decl.cc:4127
+#: c/c-decl.cc:4153 c/c-decl.cc:4244
 #, gcc-internal-format
 msgid "jump into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:4059
+#: c/c-decl.cc:4176
 #, gcc-internal-format
 msgid "duplicate label declaration %qE"
 msgstr ""
 
-#: c/c-decl.cc:4159 cp/decl.cc:3877
+#: c/c-decl.cc:4276 cp/decl.cc:4080
 #, gcc-internal-format
 msgid "duplicate label %qD"
 msgstr ""
 
-#: c/c-decl.cc:4190
+#: c/c-decl.cc:4307
 #, gcc-internal-format
 msgid ""
 "traditional C lacks a separate namespace for labels, identifier %qE conflicts"
 msgstr ""
 
-#: c/c-decl.cc:4259
+#: c/c-decl.cc:4379
+#, gcc-internal-format
+msgid "switch jumps over OpenMP %<allocate%> allocation"
+msgstr ""
+
+#: c/c-decl.cc:4385
 #, gcc-internal-format
 msgid "switch jumps over variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:4262 c/c-decl.cc:4275
+#: c/c-decl.cc:4388 c/c-decl.cc:4401
 #, gcc-internal-format
 msgid "switch starts here"
 msgstr ""
 
-#: c/c-decl.cc:4274
+#: c/c-decl.cc:4400
 #, gcc-internal-format
 msgid "switch jumps into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:4357
+#: c/c-decl.cc:4483
 #, gcc-internal-format
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c/c-decl.cc:4543 cp/tree.cc:5024
+#: c/c-decl.cc:4669 cp/tree.cc:5024
 #, gcc-internal-format
 msgid "%qE attribute applied to %qD with void return type"
 msgstr ""
 
-#: c/c-decl.cc:4552
+#: c/c-decl.cc:4678
 #, gcc-internal-format
 msgid ""
 "%qE attribute can only be applied to functions or to structure, union or "
 "enumeration types"
 msgstr ""
 
-#: c/c-decl.cc:4572
+#: c/c-decl.cc:4698
 #, gcc-internal-format
 msgid "standard %qE attribute can only be applied to functions"
 msgstr ""
@@ -46189,125 +47744,125 @@ msgstr ""
 #. expressions, but is still appropriate as an error to
 #. avoid types declared in such a context escaping to
 #. the type of an auto variable.
-#: c/c-decl.cc:4848 c/c-decl.cc:8606
+#: c/c-decl.cc:4976 c/c-decl.cc:8829
 #, gcc-internal-format
 msgid "%qT declared in underspecified object initializer"
 msgstr ""
 
-#: c/c-decl.cc:4859
+#: c/c-decl.cc:4987
 #, gcc-internal-format
 msgid "unnamed struct/union that defines no instances"
 msgstr ""
 
-#: c/c-decl.cc:4870
+#: c/c-decl.cc:4998
 #, gcc-internal-format
 msgid "empty declaration with storage class specifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4886
+#: c/c-decl.cc:5014
 #, gcc-internal-format
 msgid "empty declaration with type qualifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4898
+#: c/c-decl.cc:5026
 #, gcc-internal-format
 msgid "empty declaration with %<_Alignas%> does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4912
+#: c/c-decl.cc:5040
 #, gcc-internal-format
 msgid "empty declaration of %<enum%> type does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4935 c/c-decl.cc:4943
+#: c/c-decl.cc:5063 c/c-decl.cc:5071
 #, gcc-internal-format
 msgid "useless type name in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4951
+#: c/c-decl.cc:5079
 #, gcc-internal-format
 msgid "%<inline%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4957
+#: c/c-decl.cc:5085
 #, gcc-internal-format
 msgid "%<_Noreturn%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4963
+#: c/c-decl.cc:5091
 #, gcc-internal-format
 msgid "%<constexpr%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4969
+#: c/c-decl.cc:5097
 #, gcc-internal-format
 msgid "%<auto%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4975
+#: c/c-decl.cc:5103
 #, gcc-internal-format
 msgid "%<register%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4983
+#: c/c-decl.cc:5111
 #, gcc-internal-format
 msgid ""
 "storage class specifier in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:4989
+#: c/c-decl.cc:5117
 #, gcc-internal-format
 msgid "%qs in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:4999
+#: c/c-decl.cc:5127
 #, gcc-internal-format
 msgid "type qualifier in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5005
+#: c/c-decl.cc:5133
 #, gcc-internal-format
 msgid "%<alignas%> in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5014
+#: c/c-decl.cc:5142
 #, gcc-internal-format
 msgid "useless storage class specifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5020
+#: c/c-decl.cc:5148
 #, gcc-internal-format
 msgid "useless %qs in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5033
+#: c/c-decl.cc:5161
 #, gcc-internal-format
 msgid "useless type qualifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5040
+#: c/c-decl.cc:5168
 #, gcc-internal-format
 msgid "useless %<_Alignas%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5058
+#: c/c-decl.cc:5186
 #, gcc-internal-format
 msgid "invalid use of attributes in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5072 c/c-parser.cc:2264
+#: c/c-decl.cc:5200 c/c-parser.cc:2403
 #, gcc-internal-format
 msgid "empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5144
+#: c/c-decl.cc:5272
 #, gcc-internal-format
 msgid ""
 "ISO C90 does not support %<static%> or type qualifiers in parameter array "
 "declarators"
 msgstr ""
 
-#: c/c-decl.cc:5148
+#: c/c-decl.cc:5276
 #, gcc-internal-format
 msgid "ISO C90 does not support %<[*]%> array declarators"
 msgstr ""
@@ -46315,303 +47870,313 @@ msgstr ""
 #. C99 6.7.5.2p4
 #. A function definition isn't function prototype scope C99 6.2.1p4.
 #. C99 6.7.5.2p4
-#: c/c-decl.cc:5154 c/c-decl.cc:8204 c/c-decl.cc:10423
+#: c/c-decl.cc:5282 c/c-decl.cc:8411 c/c-decl.cc:10744
 #, gcc-internal-format
 msgid "%<[*]%> not allowed in other than function prototype scope"
 msgstr ""
 
-#: c/c-decl.cc:5373
+#: c/c-decl.cc:5475 cp/decl2.cc:1852 cp/name-lookup.cc:8767
+#, gcc-internal-format
+msgid "%<omp::%s%> not allowed to be specified in this context"
+msgstr ""
+
+#: c/c-decl.cc:5555
 #, gcc-internal-format
 msgid "%q+D is usually a function"
 msgstr ""
 
-#: c/c-decl.cc:5382
+#: c/c-decl.cc:5560 c/c-decl.cc:10575 cp/decl.cc:17926
+#, gcc-internal-format
+msgid "no previous declaration for %qD"
+msgstr ""
+
+#: c/c-decl.cc:5569
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %<__typeof__%> instead)"
 msgstr ""
 
-#: c/c-decl.cc:5387
+#: c/c-decl.cc:5574
 #, gcc-internal-format
 msgid "function %qD is initialized like a variable"
 msgstr ""
 
 #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c/c-decl.cc:5393
+#: c/c-decl.cc:5580
 #, gcc-internal-format
 msgid "parameter %qD is initialized"
 msgstr ""
 
-#: c/c-decl.cc:5413
+#: c/c-decl.cc:5600
 #, gcc-internal-format
 msgid "variable %qD has initializer but incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:5493
+#: c/c-decl.cc:5680
 #, gcc-internal-format
 msgid "inline function %q+D given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:5549
+#: c/c-decl.cc:5736
 #, gcc-internal-format
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:5551
+#: c/c-decl.cc:5738
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr ""
 
-#: c/c-decl.cc:5632
+#: c/c-decl.cc:5819
 #, gcc-internal-format
 msgid "initializer fails to determine size of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5637
+#: c/c-decl.cc:5824
 #, gcc-internal-format
 msgid "array size missing in %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5641
+#: c/c-decl.cc:5828
 #, gcc-internal-format
 msgid "zero or negative size array %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5732 m2/gm2-gcc/m2type.cc:1270
+#: c/c-decl.cc:5919 m2/gm2-gcc/m2type.cc:1250
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t constant"
 msgstr ""
 
-#: c/c-decl.cc:5782
+#: c/c-decl.cc:5969
 #, gcc-internal-format
 msgid "ignoring %<asm%> specifier for non-static local variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5820
+#: c/c-decl.cc:6007
 #, gcc-internal-format
 msgid "cannot put object with volatile field into register"
 msgstr ""
 
-#: c/c-decl.cc:5906
+#: c/c-decl.cc:6093
 #, gcc-internal-format
 msgid "uninitialized %<const %D%> is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:5921 cp/decl.cc:8818
+#: c/c-decl.cc:6108 cp/decl.cc:9047
 #, gcc-internal-format
 msgid "%q+D in declare target directive does not have mappable type"
 msgstr ""
 
-#: c/c-decl.cc:6184
+#: c/c-decl.cc:6371
 #, gcc-internal-format
 msgid "ISO C forbids forward parameter declarations"
 msgstr ""
 
-#: c/c-decl.cc:6224
+#: c/c-decl.cc:6411
 #, gcc-internal-format
 msgid "file-scope compound literal specifies %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6230
+#: c/c-decl.cc:6417
 #, gcc-internal-format
 msgid "compound literal implicitly auto and declared %qs"
 msgstr ""
 
-#: c/c-decl.cc:6330
+#: c/c-decl.cc:6517
 #, gcc-internal-format
 msgid "defining a type in a compound literal is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:6351 c/c-decl.cc:6366
+#: c/c-decl.cc:6538 c/c-decl.cc:6553
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:6361
+#: c/c-decl.cc:6548
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:6372
+#: c/c-decl.cc:6559
 #, gcc-internal-format
 msgid "negative width in bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6377
+#: c/c-decl.cc:6564
 #, gcc-internal-format
 msgid "zero width for bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6387
+#: c/c-decl.cc:6575
 #, gcc-internal-format
 msgid "bit-field %qs has invalid type"
 msgstr ""
 
-#: c/c-decl.cc:6393
+#: c/c-decl.cc:6581
 #, gcc-internal-format
 msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: c/c-decl.cc:6404
+#: c/c-decl.cc:6592
 #, gcc-internal-format
 msgid "type of bit-field %qs is a GCC extension"
 msgstr ""
 
-#: c/c-decl.cc:6410
+#: c/c-decl.cc:6598
 #, gcc-internal-format
 msgid "width of %qs exceeds its type"
 msgstr ""
 
-#: c/c-decl.cc:6423
+#: c/c-decl.cc:6617
 #, gcc-internal-format
 msgid "%qs is narrower than values of its type"
 msgstr ""
 
-#: c/c-decl.cc:6438
+#: c/c-decl.cc:6632
 #, gcc-internal-format
 msgid "ISO C90 forbids array %qE whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6441
+#: c/c-decl.cc:6635
 #, gcc-internal-format
 msgid "ISO C90 forbids array whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6448
+#: c/c-decl.cc:6642
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array %qE"
 msgstr ""
 
-#: c/c-decl.cc:6450
+#: c/c-decl.cc:6644
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array"
 msgstr ""
 
-#: c/c-decl.cc:6711
+#: c/c-decl.cc:6887
 #, gcc-internal-format
 msgid "%<enum%> underlying type may not be specified here"
 msgstr ""
 
-#: c/c-decl.cc:6739 c/c-decl.cc:7148 c/c-decl.cc:7158
+#: c/c-decl.cc:6915 c/c-decl.cc:7324 c/c-decl.cc:7334
 #, gcc-internal-format
 msgid "variably modified %qE at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6741
+#: c/c-decl.cc:6917
 #, gcc-internal-format
 msgid "variably modified field at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6761
+#: c/c-decl.cc:6937
 #, gcc-internal-format
 msgid "type defaults to %<int%> in declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:6765
+#: c/c-decl.cc:6941
 #, gcc-internal-format
 msgid "type defaults to %<int%> in type name"
 msgstr ""
 
-#: c/c-decl.cc:6797
+#: c/c-decl.cc:6973
 #, gcc-internal-format
 msgid "duplicate %<const%>"
 msgstr ""
 
-#: c/c-decl.cc:6799
+#: c/c-decl.cc:6975
 #, gcc-internal-format
 msgid "duplicate %<restrict%>"
 msgstr ""
 
-#: c/c-decl.cc:6801
+#: c/c-decl.cc:6977
 #, gcc-internal-format
 msgid "duplicate %<volatile%>"
 msgstr ""
 
-#: c/c-decl.cc:6803
+#: c/c-decl.cc:6979
 #, gcc-internal-format
 msgid "duplicate %<_Atomic%>"
 msgstr ""
 
-#: c/c-decl.cc:6806
+#: c/c-decl.cc:6982
 #, gcc-internal-format, gfc-internal-format
 msgid "conflicting named address spaces (%s vs %s)"
 msgstr ""
 
-#: c/c-decl.cc:6829 c/c-parser.cc:3374
+#: c/c-decl.cc:7005 c/c-parser.cc:3573
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified array type"
 msgstr ""
 
-#: c/c-decl.cc:6844
+#: c/c-decl.cc:7020
 #, gcc-internal-format
 msgid "function definition declared %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:6846
+#: c/c-decl.cc:7022
 #, gcc-internal-format
 msgid "function definition declared %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6848
+#: c/c-decl.cc:7024
 #, gcc-internal-format
 msgid "function definition declared %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:6850
+#: c/c-decl.cc:7026
 #, gcc-internal-format
 msgid "function definition declared %qs"
 msgstr ""
 
-#: c/c-decl.cc:6877
+#: c/c-decl.cc:7053
 #, gcc-internal-format
 msgid "storage class specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:6880
+#: c/c-decl.cc:7056
 #, gcc-internal-format
 msgid "storage class specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:6884
+#: c/c-decl.cc:7060
 #, gcc-internal-format
 msgid "storage class specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:6887
+#: c/c-decl.cc:7063
 #, gcc-internal-format
 msgid "storage class specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:6890 cp/decl.cc:12843
+#: c/c-decl.cc:7066 cp/decl.cc:13130
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr ""
 
-#: c/c-decl.cc:6908
+#: c/c-decl.cc:7084
 #, gcc-internal-format
 msgid "%qE initialized and declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:6912
+#: c/c-decl.cc:7088
 #, gcc-internal-format
 msgid "%qE has both %<extern%> and initializer"
 msgstr ""
 
-#: c/c-decl.cc:6917
+#: c/c-decl.cc:7093
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:6921
+#: c/c-decl.cc:7097
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6926
+#: c/c-decl.cc:7102
 #, gcc-internal-format
 msgid "nested function %qE declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:6929
+#: c/c-decl.cc:7105
 #, gcc-internal-format
 msgid "function-scope %qE implicitly auto and declared %qs"
 msgstr ""
@@ -46619,1217 +48184,1257 @@ msgstr ""
 #. Only the innermost declarator (making a parameter be of
 #. array type which is converted to pointer type)
 #. may have static or type qualifiers.
-#: c/c-decl.cc:6976 c/c-decl.cc:7372
+#: c/c-decl.cc:7152 c/c-decl.cc:7548
 #, gcc-internal-format
 msgid "static or type qualifiers in non-parameter array declarator"
 msgstr ""
 
-#: c/c-decl.cc:7039
+#: c/c-decl.cc:7215
 #, gcc-internal-format
 msgid "declaration of %qE as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:7041
+#: c/c-decl.cc:7217
 #, gcc-internal-format
 msgid "declaration of type name as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:7048
+#: c/c-decl.cc:7224
 #, gcc-internal-format
 msgid "declaration of %qE as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:7051
+#: c/c-decl.cc:7227
 #, gcc-internal-format
 msgid "declaration of type name as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:7059 c/c-decl.cc:9265
+#: c/c-decl.cc:7235 c/c-decl.cc:9497
 #, gcc-internal-format
 msgid "invalid use of structure with flexible array member"
 msgstr ""
 
-#: c/c-decl.cc:7091
+#: c/c-decl.cc:7267
 #, gcc-internal-format
 msgid "size of array %qE has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:7095
+#: c/c-decl.cc:7271
 #, gcc-internal-format
 msgid "size of unnamed array has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:7103
+#: c/c-decl.cc:7279
 #, gcc-internal-format
 msgid "size of array %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7106
+#: c/c-decl.cc:7282
 #, gcc-internal-format
 msgid "size of unnamed array has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7118
+#: c/c-decl.cc:7294
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array %qE"
 msgstr ""
 
-#: c/c-decl.cc:7121
+#: c/c-decl.cc:7297
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array"
 msgstr ""
 
-#: c/c-decl.cc:7130
+#: c/c-decl.cc:7306
 #, gcc-internal-format
 msgid "size of array %qE is negative"
 msgstr ""
 
-#: c/c-decl.cc:7132
+#: c/c-decl.cc:7308
 #, gcc-internal-format
 msgid "size of unnamed array is negative"
 msgstr ""
 
-#: c/c-decl.cc:7218
+#: c/c-decl.cc:7394
 #, gcc-internal-format
 msgid "size of array %qE is too large"
 msgstr ""
 
-#: c/c-decl.cc:7221
+#: c/c-decl.cc:7397
 #, gcc-internal-format
 msgid "size of unnamed array is too large"
 msgstr ""
 
-#: c/c-decl.cc:7260 c/c-decl.cc:7882
+#: c/c-decl.cc:7436 c/c-decl.cc:8068
 #, gcc-internal-format
 msgid "ISO C90 does not support flexible array members"
 msgstr ""
 
 #. C99 6.7.5.2p4
-#: c/c-decl.cc:7282
+#: c/c-decl.cc:7458
 #, gcc-internal-format
 msgid "%<[*]%> not in a declaration"
 msgstr ""
 
-#: c/c-decl.cc:7296
+#: c/c-decl.cc:7472
 #, gcc-internal-format
 msgid "array type has incomplete element type %qT"
 msgstr ""
 
-#: c/c-decl.cc:7302
+#: c/c-decl.cc:7478
 #, gcc-internal-format
 msgid ""
 "declaration of %qE as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: c/c-decl.cc:7306
+#: c/c-decl.cc:7482
 #, gcc-internal-format
 msgid ""
 "declaration of multidimensional array must have bounds for all dimensions "
 "except the first"
 msgstr ""
 
-#: c/c-decl.cc:7408
+#: c/c-decl.cc:7584
 #, gcc-internal-format
 msgid "%qE declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7411
+#: c/c-decl.cc:7587
 #, gcc-internal-format
 msgid "type name declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7418
+#: c/c-decl.cc:7594
 #, gcc-internal-format
 msgid "%qE declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7421
+#: c/c-decl.cc:7597
 #, gcc-internal-format
 msgid "type name declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7465
+#: c/c-decl.cc:7641
 #, gcc-internal-format
 msgid "function definition has qualified void return type"
 msgstr ""
 
-#: c/c-decl.cc:7469 cp/decl.cc:13164
+#: c/c-decl.cc:7645 cp/decl.cc:13539
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr ""
 
-#: c/c-decl.cc:7508 c/c-decl.cc:7673 c/c-decl.cc:7727 c/c-decl.cc:7816
-#: c/c-decl.cc:7938 c/c-parser.cc:3376
+#: c/c-decl.cc:7684 c/c-decl.cc:7854 c/c-decl.cc:7908 c/c-decl.cc:8002
+#: c/c-decl.cc:8124 c/c-parser.cc:3575
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified function type"
 msgstr ""
 
-#: c/c-decl.cc:7514 c/c-decl.cc:7679 c/c-decl.cc:7821 c/c-decl.cc:7943
+#: c/c-decl.cc:7690 c/c-decl.cc:7860 c/c-decl.cc:8007 c/c-decl.cc:8129
 #, gcc-internal-format
 msgid "ISO C forbids qualified function types"
 msgstr ""
 
-#: c/c-decl.cc:7564
+#: c/c-decl.cc:7745
 #, gcc-internal-format
 msgid "%qs combined with %<auto%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7568
+#: c/c-decl.cc:7749
 #, gcc-internal-format
 msgid "%qs combined with %<register%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7574
+#: c/c-decl.cc:7755
 #, gcc-internal-format
 msgid "%qs specified for auto variable %qE"
 msgstr ""
 
-#: c/c-decl.cc:7590
+#: c/c-decl.cc:7771
 #, gcc-internal-format
 msgid "%qs specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7593
+#: c/c-decl.cc:7774
 #, gcc-internal-format
 msgid "%qs specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7599
+#: c/c-decl.cc:7780
 #, gcc-internal-format
 msgid "%qs specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7602
+#: c/c-decl.cc:7783
 #, gcc-internal-format
 msgid "%qs specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:7617
+#: c/c-decl.cc:7798
 #, gcc-internal-format
 msgid "bit-field %qE has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7619
+#: c/c-decl.cc:7800
 #, gcc-internal-format
 msgid "bit-field has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7628
+#: c/c-decl.cc:7809
 #, gcc-internal-format
 msgid "alignment specified for typedef %qE"
 msgstr ""
 
-#: c/c-decl.cc:7630
+#: c/c-decl.cc:7811
 #, gcc-internal-format
 msgid "alignment specified for %<register%> object %qE"
 msgstr ""
 
-#: c/c-decl.cc:7635
+#: c/c-decl.cc:7816
 #, gcc-internal-format
 msgid "alignment specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7637
+#: c/c-decl.cc:7818
 #, gcc-internal-format
 msgid "alignment specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7642
+#: c/c-decl.cc:7823
 #, gcc-internal-format
 msgid "alignment specified for bit-field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7644
+#: c/c-decl.cc:7825
 #, gcc-internal-format
 msgid "alignment specified for unnamed bit-field"
 msgstr ""
 
-#: c/c-decl.cc:7647
+#: c/c-decl.cc:7828
 #, gcc-internal-format
 msgid "alignment specified for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:7654
+#: c/c-decl.cc:7835
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE"
 msgstr ""
 
-#: c/c-decl.cc:7657
+#: c/c-decl.cc:7838
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field"
 msgstr ""
 
-#: c/c-decl.cc:7688
+#: c/c-decl.cc:7869
 #, gcc-internal-format
 msgid "typedef %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7690
+#: c/c-decl.cc:7871
 #, gcc-internal-format
 msgid "typedef %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7733
+#: c/c-decl.cc:7914
 #, gcc-internal-format
 msgid "ISO C forbids const or volatile function types"
 msgstr ""
 
 #. C99 6.7.2.1p8
-#: c/c-decl.cc:7744
+#: c/c-decl.cc:7925
 #, gcc-internal-format
 msgid "a member of a structure or union cannot have a variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:7761 cp/decl.cc:11723
+#: c/c-decl.cc:7942 cp/decl.cc:12010
 #, gcc-internal-format
 msgid "variable or field %qE declared void"
 msgstr ""
 
-#: c/c-decl.cc:7806
+#: c/c-decl.cc:7992
 #, gcc-internal-format
 msgid "attributes in parameter array declarator ignored"
 msgstr ""
 
-#: c/c-decl.cc:7848
+#: c/c-decl.cc:8034
 #, gcc-internal-format
 msgid "parameter %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7850
+#: c/c-decl.cc:8036
 #, gcc-internal-format
 msgid "parameter %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7863
+#: c/c-decl.cc:8049
 #, gcc-internal-format
 msgid "field %qE declared as a function"
 msgstr ""
 
-#: c/c-decl.cc:7870
+#: c/c-decl.cc:8056
 #, gcc-internal-format
 msgid "field %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7872
+#: c/c-decl.cc:8058
 #, gcc-internal-format
 msgid "unnamed field has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7909 c/c-decl.cc:7920 c/c-decl.cc:7923
+#: c/c-decl.cc:8095 c/c-decl.cc:8106 c/c-decl.cc:8109
 #, gcc-internal-format
 msgid "invalid storage class for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:7980
+#: c/c-decl.cc:8166
 #, gcc-internal-format
 msgid "cannot inline function %<main%>"
 msgstr ""
 
-#: c/c-decl.cc:7982
+#: c/c-decl.cc:8168
 #, gcc-internal-format
 msgid "%<main%> declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7993
+#: c/c-decl.cc:8179
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7996
+#: c/c-decl.cc:8182
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8015
+#: c/c-decl.cc:8204
+#, gcc-internal-format
+msgid "function previously declared %<static%> redeclared %<extern%>"
+msgstr ""
+
+#: c/c-decl.cc:8222
 #, gcc-internal-format
 msgid "%<constexpr%> object has variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:8019 c/c-parser.cc:10949
+#: c/c-decl.cc:8226 c/c-parser.cc:12258
 #, gcc-internal-format
 msgid "invalid qualifiers for %<constexpr%> object"
 msgstr ""
 
-#: c/c-decl.cc:8025 c/c-parser.cc:10952
+#: c/c-decl.cc:8232 c/c-parser.cc:12261
 #, gcc-internal-format
 msgid "invalid qualifiers for field of %<constexpr%> object"
 msgstr ""
 
-#: c/c-decl.cc:8051
+#: c/c-decl.cc:8258
 #, gcc-internal-format
 msgid "variable previously declared %<static%> redeclared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:8063
+#: c/c-decl.cc:8270
 #, gcc-internal-format
 msgid "variable %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:8065
+#: c/c-decl.cc:8272
 #, gcc-internal-format
 msgid "variable %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8100
+#: c/c-decl.cc:8307
 #, gcc-internal-format
 msgid "non-nested function with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:8102
+#: c/c-decl.cc:8309
 #, gcc-internal-format
 msgid "object with variably modified type must have no linkage"
 msgstr ""
 
-#: c/c-decl.cc:8210 c/c-decl.cc:10228
+#: c/c-decl.cc:8417 c/c-decl.cc:10549
 #, gcc-internal-format
 msgid "function declaration isn%'t a prototype"
 msgstr ""
 
-#: c/c-decl.cc:8220
+#: c/c-decl.cc:8429
 #, gcc-internal-format
 msgid "parameter names (without types) in function declaration"
 msgstr ""
 
-#: c/c-decl.cc:8265
+#: c/c-decl.cc:8474
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8269
+#: c/c-decl.cc:8478
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter %u has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8280
+#: c/c-decl.cc:8489
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has void type"
 msgstr ""
 
-#: c/c-decl.cc:8284
+#: c/c-decl.cc:8493
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter %u has void type"
 msgstr ""
 
-#: c/c-decl.cc:8359
+#: c/c-decl.cc:8568
 #, gcc-internal-format
 msgid "%<void%> as only parameter may not be qualified"
 msgstr ""
 
-#: c/c-decl.cc:8363 c/c-decl.cc:8399
+#: c/c-decl.cc:8572 c/c-decl.cc:8608
 #, gcc-internal-format
 msgid "%<void%> must be the only parameter"
 msgstr ""
 
-#: c/c-decl.cc:8393
+#: c/c-decl.cc:8602
 #, gcc-internal-format
 msgid "parameter %q+D has just a forward declaration"
 msgstr ""
 
-#: c/c-decl.cc:8439
+#: c/c-decl.cc:8650
 #, gcc-internal-format
 msgid ""
 "%<%s %E%> declared inside parameter list will not be visible outside of this "
 "definition or declaration"
 msgstr ""
 
-#: c/c-decl.cc:8445
+#: c/c-decl.cc:8657
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "anonymous %s declared inside parameter list will not be visible outside of "
 "this definition or declaration"
 msgstr ""
 
-#: c/c-decl.cc:8560
+#: c/c-decl.cc:8783
 #, gcc-internal-format
 msgid "enum type defined here"
 msgstr ""
 
-#: c/c-decl.cc:8566
+#: c/c-decl.cc:8789
 #, gcc-internal-format
 msgid "struct defined here"
 msgstr ""
 
-#: c/c-decl.cc:8572
+#: c/c-decl.cc:8795
 #, gcc-internal-format
 msgid "union defined here"
 msgstr ""
 
-#: c/c-decl.cc:8655
+#: c/c-decl.cc:8886
 #, gcc-internal-format
 msgid "redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8657
+#: c/c-decl.cc:8888
 #, gcc-internal-format
 msgid "redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8666
+#: c/c-decl.cc:8897
 #, gcc-internal-format
 msgid "nested redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8668
+#: c/c-decl.cc:8899
 #, gcc-internal-format
 msgid "nested redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8698 c/c-decl.cc:9621
+#: c/c-decl.cc:8929 c/c-decl.cc:9927
 #, gcc-internal-format
 msgid "defining type in %qs expression is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:8704 c/c-decl.cc:9627
+#: c/c-decl.cc:8935 c/c-decl.cc:9933
 #, gcc-internal-format
 msgid "%qT defined in underspecified object initializer"
 msgstr ""
 
-#: c/c-decl.cc:8768 cp/decl.cc:5457
+#: c/c-decl.cc:8999 cp/decl.cc:5661
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr ""
 
-#: c/c-decl.cc:8773
+#: c/c-decl.cc:9004
 #, gcc-internal-format
 msgid "ISO C99 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:8776
+#: c/c-decl.cc:9007
 #, gcc-internal-format
 msgid "ISO C90 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:8869 c/c-decl.cc:8887 c/c-decl.cc:8948
+#: c/c-decl.cc:9100 c/c-decl.cc:9118 c/c-decl.cc:9179
 #, gcc-internal-format
 msgid "duplicate member %q+D"
 msgstr ""
 
-#: c/c-decl.cc:8974
+#: c/c-decl.cc:9205
 #, gcc-internal-format
 msgid "empty struct has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:8977
+#: c/c-decl.cc:9208
 #, gcc-internal-format
 msgid "empty union has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:9157
+#: c/c-decl.cc:9389
 #, gcc-internal-format
 msgid "union has no named members"
 msgstr ""
 
-#: c/c-decl.cc:9159
+#: c/c-decl.cc:9391
 #, gcc-internal-format
 msgid "union has no members"
 msgstr ""
 
-#: c/c-decl.cc:9164
+#: c/c-decl.cc:9396
 #, gcc-internal-format
 msgid "struct has no named members"
 msgstr ""
 
-#: c/c-decl.cc:9166
+#: c/c-decl.cc:9398
 #, gcc-internal-format
 msgid "struct has no members"
 msgstr ""
 
-#: c/c-decl.cc:9244 cp/decl.cc:14147
+#: c/c-decl.cc:9476 cp/decl.cc:14566
 #, gcc-internal-format
 msgid "flexible array member in union"
 msgstr ""
 
-#: c/c-decl.cc:9250
+#: c/c-decl.cc:9482
 #, gcc-internal-format
 msgid "flexible array member not at end of struct"
 msgstr ""
 
-#: c/c-decl.cc:9256
+#: c/c-decl.cc:9488
 #, gcc-internal-format
 msgid "flexible array member in a struct with no named members"
 msgstr ""
 
-#: c/c-decl.cc:9287
+#: c/c-decl.cc:9519
 #, gcc-internal-format
 msgid ""
 "structure containing a flexible array member is not at the end of another "
 "structure"
 msgstr ""
 
-#: c/c-decl.cc:9310
+#: c/c-decl.cc:9542
 #, gcc-internal-format
 msgid "type %qT is too large"
 msgstr ""
 
-#: c/c-decl.cc:9364
+#: c/c-decl.cc:9606
 #, gcc-internal-format
 msgid "type punning toggles scalar storage order"
 msgstr ""
 
-#: c/c-decl.cc:9431
+#: c/c-decl.cc:9673
 #, gcc-internal-format
 msgid "union cannot be made transparent"
 msgstr ""
 
-#: c/c-decl.cc:9586
+#: c/c-decl.cc:9686
+#, gcc-internal-format
+msgid "redefinition of struct or union %qT with variably modified type"
+msgstr ""
+
+#: c/c-decl.cc:9689
+#, gcc-internal-format
+msgid "redefinition of struct or union %qT"
+msgstr ""
+
+#: c/c-decl.cc:9852
 #, gcc-internal-format
 msgid "nested redefinition of %<enum %E%>"
 msgstr ""
 
-#: c/c-decl.cc:9594
+#: c/c-decl.cc:9897
 #, gcc-internal-format
 msgid "redeclaration of %<enum %E%>"
 msgstr ""
 
-#: c/c-decl.cc:9605
+#: c/c-decl.cc:9909
 #, gcc-internal-format
 msgid "%<enum%> declared with but defined without fixed underlying type"
 msgstr ""
 
-#: c/c-decl.cc:9690 cp/decl.cc:16724 m2/gm2-gcc/m2type.cc:2087
+#: c/c-decl.cc:9996 cp/decl.cc:17200 m2/gm2-gcc/m2type.cc:2073
 #, gcc-internal-format
 msgid "specified mode too small for enumerated values"
 msgstr ""
 
-#: c/c-decl.cc:9709
+#: c/c-decl.cc:10015
 #, gcc-internal-format
 msgid "enumeration values exceed range of largest integer"
 msgstr ""
 
-#: c/c-decl.cc:9718
+#: c/c-decl.cc:10024
 #, gcc-internal-format
 msgid "enumeration values exceed range of %qs"
 msgstr ""
 
-#: c/c-decl.cc:9845 c/c-decl.cc:9861
+#: c/c-decl.cc:10133
+#, gcc-internal-format
+msgid "conflicting redefinition of enum %qT"
+msgstr ""
+
+#: c/c-decl.cc:10165 c/c-decl.cc:10181
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:9856
+#: c/c-decl.cc:10176
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:9880
+#: c/c-decl.cc:10200
 #, gcc-internal-format
 msgid "overflow in enumeration values"
 msgstr ""
 
-#: c/c-decl.cc:9887
+#: c/c-decl.cc:10207
 #, gcc-internal-format
 msgid "enumerator value outside the range of underlying type"
 msgstr ""
 
-#: c/c-decl.cc:9915
+#: c/c-decl.cc:10235
 #, gcc-internal-format
 msgid "enumerator value outside the range of %qs"
 msgstr ""
 
-#: c/c-decl.cc:9921
+#: c/c-decl.cc:10241
 #, gcc-internal-format
-msgid "ISO C restricts enumerator values to range of %<int%> before C2X"
+msgid "ISO C restricts enumerator values to range of %<int%> before C23"
 msgstr ""
 
-#: c/c-decl.cc:10121 cp/decl.cc:5777 cp/decl.cc:17303
+#: c/c-decl.cc:10442 cp/decl.cc:5981 cp/decl.cc:17785
 #, gcc-internal-format
 msgid "inline function %qD given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:10139
+#: c/c-decl.cc:10460
 #, gcc-internal-format
 msgid "return type is an incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:10151
+#: c/c-decl.cc:10472
 #, gcc-internal-format
 msgid "return type defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10179
+#: c/c-decl.cc:10500
 #, gcc-internal-format
 msgid "%q+D defined as variadic function without prototype"
 msgstr ""
 
-#: c/c-decl.cc:10237
+#: c/c-decl.cc:10558
 #, gcc-internal-format
 msgid "no previous prototype for %qD"
 msgstr ""
 
-#: c/c-decl.cc:10246
+#: c/c-decl.cc:10567
 #, gcc-internal-format
 msgid "%qD was used with no prototype before its definition"
 msgstr ""
 
-#: c/c-decl.cc:10254 cp/decl.cc:17446
-#, gcc-internal-format
-msgid "no previous declaration for %qD"
-msgstr ""
-
-#: c/c-decl.cc:10264
+#: c/c-decl.cc:10585
 #, gcc-internal-format
 msgid "%qD was used with no declaration before its definition"
 msgstr ""
 
-#: c/c-decl.cc:10283
+#: c/c-decl.cc:10604
 #, gcc-internal-format
 msgid "return type of %qD is not %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10285
+#: c/c-decl.cc:10606
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified return type of %qD"
 msgstr ""
 
-#: c/c-decl.cc:10292
+#: c/c-decl.cc:10613
 #, gcc-internal-format
 msgid "%qD is normally a non-static function"
 msgstr ""
 
-#: c/c-decl.cc:10343
+#: c/c-decl.cc:10664
 #, gcc-internal-format
 msgid "old-style parameter declarations in prototyped function definition"
 msgstr ""
 
-#: c/c-decl.cc:10358
+#: c/c-decl.cc:10679
 #, gcc-internal-format
 msgid "traditional C rejects ISO C style function definitions"
 msgstr ""
 
-#: c/c-decl.cc:10375
+#: c/c-decl.cc:10696
 #, gcc-internal-format
 msgid ""
 "ISO C does not support omitting parameter names in function definitions "
-"before C2X"
+"before C23"
 msgstr ""
 
-#: c/c-decl.cc:10415 c/c-decl.cc:10419
+#: c/c-decl.cc:10736 c/c-decl.cc:10740
 #, gcc-internal-format
 msgid "old-style function definition"
 msgstr ""
 
-#: c/c-decl.cc:10432
+#: c/c-decl.cc:10753
 #, gcc-internal-format
 msgid "parameter name missing from parameter list"
 msgstr ""
 
-#: c/c-decl.cc:10448
+#: c/c-decl.cc:10769
 #, gcc-internal-format
 msgid "%qD declared as a non-parameter"
 msgstr ""
 
-#: c/c-decl.cc:10456
+#: c/c-decl.cc:10777
 #, gcc-internal-format
 msgid "multiple parameters named %qD"
 msgstr ""
 
-#: c/c-decl.cc:10465
+#: c/c-decl.cc:10786
 #, gcc-internal-format
 msgid "parameter %qD declared with void type"
 msgstr ""
 
-#: c/c-decl.cc:10494 c/c-decl.cc:10499
+#: c/c-decl.cc:10815 c/c-decl.cc:10820
 #, gcc-internal-format
 msgid "type of %qD defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10519
+#: c/c-decl.cc:10840
 #, gcc-internal-format
 msgid "parameter %qD has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:10526
+#: c/c-decl.cc:10847
 #, gcc-internal-format
 msgid "declaration for parameter %qD but no such parameter"
 msgstr ""
 
-#: c/c-decl.cc:10579
+#: c/c-decl.cc:10900
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10590
+#: c/c-decl.cc:10911
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10593 c/c-decl.cc:10640 c/c-decl.cc:10654
+#: c/c-decl.cc:10914 c/c-decl.cc:10961 c/c-decl.cc:10975
 #, gcc-internal-format
 msgid "prototype declaration"
 msgstr ""
 
-#: c/c-decl.cc:10632
+#: c/c-decl.cc:10953
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10637
+#: c/c-decl.cc:10958
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10647
+#: c/c-decl.cc:10968
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10652
+#: c/c-decl.cc:10973
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10910 cp/decl.cc:18227
+#: c/c-decl.cc:11231 cp/decl.cc:18722
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
 
-#: c/c-decl.cc:10929 cp/decl.cc:18298
+#: c/c-decl.cc:11250 cp/decl.cc:18793
 #, gcc-internal-format
 msgid "parameter %qD set but not used"
 msgstr ""
 
-#: c/c-decl.cc:11026
+#: c/c-decl.cc:11347
 #, gcc-internal-format
 msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
 msgstr ""
 
-#: c/c-decl.cc:11031
+#: c/c-decl.cc:11352
 #, gcc-internal-format
 msgid ""
 "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to "
 "compile your code"
 msgstr ""
 
-#: c/c-decl.cc:11038
+#: c/c-decl.cc:11359
 #, gcc-internal-format
 msgid "ISO C90 does not support %<for%> loop initial declarations"
 msgstr ""
 
-#: c/c-decl.cc:11072
+#: c/c-decl.cc:11393
 #, gcc-internal-format
 msgid "declaration of static variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11076
+#: c/c-decl.cc:11397
 #, gcc-internal-format
 msgid ""
 "declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11083
+#: c/c-decl.cc:11404
 #, gcc-internal-format
 msgid "%<struct %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11088
+#: c/c-decl.cc:11409
 #, gcc-internal-format
 msgid "%<union %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11094
+#: c/c-decl.cc:11415
 #, gcc-internal-format
 msgid "%<enum %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11098
+#: c/c-decl.cc:11419
 #, gcc-internal-format
 msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11384
+#: c/c-decl.cc:11706
 #, gcc-internal-format
 msgid "incompatible address space qualifiers %qs and %qs"
 msgstr ""
 
-#: c/c-decl.cc:11443 c/c-decl.cc:11450
+#: c/c-decl.cc:11765 c/c-decl.cc:11772
 #, gcc-internal-format
 msgid "duplicate %qE declaration specifier"
 msgstr ""
 
-#: c/c-decl.cc:11478 c/c-decl.cc:12482
+#: c/c-decl.cc:11800 c/c-decl.cc:12878
 #, gcc-internal-format
 msgid "multiple storage classes in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:11480
+#: c/c-decl.cc:11802
 #, gcc-internal-format
 msgid "%qs used with %<auto%>"
 msgstr ""
 
 #. auto may only be used with another storage class specifier,
 #. such as constexpr, if the type is inferred.
-#: c/c-decl.cc:11485
+#: c/c-decl.cc:11807
 #, gcc-internal-format
 msgid "%<auto%> used with %<constexpr%>"
 msgstr ""
 
-#: c/c-decl.cc:11498 c/c-decl.cc:11882 c/c-decl.cc:12277
+#: c/c-decl.cc:11820 c/c-decl.cc:12220 c/c-decl.cc:12673
 #, gcc-internal-format
 msgid "two or more data types in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:11510 cp/parser.cc:33589
+#: c/c-decl.cc:11832 cp/parser.cc:34248
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr ""
 
-#: c/c-decl.cc:11523
+#: c/c-decl.cc:11845
 #, gcc-internal-format
 msgid "ISO C90 does not support %<long long%>"
 msgstr ""
 
-#: c/c-decl.cc:11752 c/c-parser.cc:10603
+#: c/c-decl.cc:12082 c/c-parser.cc:11621
 #, gcc-internal-format
 msgid "ISO C90 does not support complex types"
 msgstr ""
 
-#: c/c-decl.cc:11798
+#: c/c-decl.cc:12132
 #, gcc-internal-format
 msgid "ISO C does not support saturating types"
 msgstr ""
 
-#: c/c-decl.cc:11869 c/c-decl.cc:12417 c/c-decl.cc:12476
+#: c/c-decl.cc:12207 c/c-decl.cc:12813 c/c-decl.cc:12872
 #, gcc-internal-format
 msgid "duplicate %qE"
 msgstr ""
 
-#: c/c-decl.cc:11929
+#: c/c-decl.cc:12267
 #, gcc-internal-format
 msgid "ISO C does not support %<__int%d%> types"
 msgstr ""
 
-#: c/c-decl.cc:11951
+#: c/c-decl.cc:12289
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:11994
+#: c/c-decl.cc:12332
 #, gcc-internal-format
 msgid "ISO C90 does not support boolean types"
 msgstr ""
 
-#: c/c-decl.cc:12113
+#: c/c-decl.cc:12451
 #, gcc-internal-format
-msgid "ISO C does not support the %<_Float%d%s%> type"
+msgid "ISO C does not support the %<_Float%d%s%> type before C23"
 msgstr ""
 
-#: c/c-decl.cc:12163 cp/parser.cc:19758
+#: c/c-decl.cc:12502 cp/parser.cc:20288
 #, gcc-internal-format
 msgid "%<_Float%d%s%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:12234
+#: c/c-decl.cc:12573
 #, gcc-internal-format
-msgid "ISO C does not support decimal floating-point before C2X"
+msgid "ISO C does not support decimal floating-point before C23"
 msgstr ""
 
-#: c/c-decl.cc:12258 c/c-decl.cc:12578 c/c-parser.cc:9613
+#: c/c-decl.cc:12597 c/c-decl.cc:12974 c/c-parser.cc:10628
 #, gcc-internal-format
 msgid "fixed-point types not supported for this target"
 msgstr ""
 
-#: c/c-decl.cc:12260
+#: c/c-decl.cc:12599
 #, gcc-internal-format
 msgid "ISO C does not support fixed-point types"
 msgstr ""
 
-#: c/c-decl.cc:12293
+#: c/c-decl.cc:12628
+#, gcc-internal-format
+msgid "%<_BitInt%> argument is not an integer constant expression"
+msgstr ""
+
+#: c/c-decl.cc:12634
+#, gcc-internal-format
+msgid "%<_BitInt%> argument %qE is not a positive integer constant expression"
+msgstr ""
+
+#: c/c-decl.cc:12641
+#, gcc-internal-format
+msgid "%<_BitInt%> argument %qE is larger than %<BITINT_MAXWIDTH%> %qd"
+msgstr ""
+
+#: c/c-decl.cc:12689
 #, gcc-internal-format
 msgid "C++ lookup of %qD would return a field, not a type"
 msgstr ""
 
-#: c/c-decl.cc:12306
+#: c/c-decl.cc:12702
 #, gcc-internal-format
 msgid "%qE fails to be a typedef or built in type"
 msgstr ""
 
-#: c/c-decl.cc:12361
+#: c/c-decl.cc:12757
 #, gcc-internal-format
 msgid "%qE is not at beginning of declaration"
 msgstr ""
 
 #. auto may only be used with another storage class specifier,
 #. such as constexpr, if the type is inferred.
-#: c/c-decl.cc:12382 c/c-decl.cc:12459
+#: c/c-decl.cc:12778 c/c-decl.cc:12855
 #, gcc-internal-format
 msgid "%qE used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:12384
+#: c/c-decl.cc:12780
 #, gcc-internal-format
 msgid "%qE used with %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:12386 c/c-decl.cc:12455
+#: c/c-decl.cc:12782 c/c-decl.cc:12851
 #, gcc-internal-format
 msgid "%qE used with %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:12388 c/c-decl.cc:12425
+#: c/c-decl.cc:12784 c/c-decl.cc:12821
 #, gcc-internal-format
 msgid "%qE used with %<constexpr%>"
 msgstr ""
 
-#: c/c-decl.cc:12402 c/c-parser.cc:2927 c/c-parser.cc:4224 c/c-parser.cc:8957
+#: c/c-decl.cc:12798 c/c-parser.cc:3100 c/c-parser.cc:4427 c/c-parser.cc:9962
 #, gcc-internal-format
 msgid "ISO C99 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:12405 c/c-parser.cc:2930 c/c-parser.cc:4227 c/c-parser.cc:8960
+#: c/c-decl.cc:12801 c/c-parser.cc:3103 c/c-parser.cc:4430 c/c-parser.cc:9965
 #, gcc-internal-format
 msgid "ISO C90 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:12431
+#: c/c-decl.cc:12827
 #, gcc-internal-format
 msgid "%<__thread%> before %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:12440
+#: c/c-decl.cc:12836
 #, gcc-internal-format
 msgid "%<__thread%> before %<static%>"
 msgstr ""
 
-#: c/c-decl.cc:12446
+#: c/c-decl.cc:12842
 #, gcc-internal-format
 msgid "%<typedef%> used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:12453
+#: c/c-decl.cc:12849
 #, gcc-internal-format
 msgid "%qE used with %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:12461
+#: c/c-decl.cc:12857
 #, gcc-internal-format
 msgid "%qE used with %qs"
 msgstr ""
 
-#: c/c-decl.cc:12474
+#: c/c-decl.cc:12870
 #, gcc-internal-format
 msgid "duplicate %<_Thread_local%> or %<__thread%>"
 msgstr ""
 
-#: c/c-decl.cc:12490
+#: c/c-decl.cc:12886
 #, gcc-internal-format
 msgid "%qs used with %qE"
 msgstr ""
 
-#: c/c-decl.cc:12498
+#: c/c-decl.cc:12894
 #, gcc-internal-format
 msgid "%<constexpr%> used with %qE"
 msgstr ""
 
-#: c/c-decl.cc:12575
+#: c/c-decl.cc:12971
 #, gcc-internal-format
 msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
 msgstr ""
 
-#: c/c-decl.cc:12590
+#: c/c-decl.cc:12986
 #, gcc-internal-format
 msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: c/c-decl.cc:12601
+#: c/c-decl.cc:12997
 #, gcc-internal-format
-msgid "ISO C does not support %<auto%> type deduction before C2X"
+msgid "ISO C does not support %<auto%> type deduction before C23"
 msgstr ""
 
-#: c/c-decl.cc:12630
+#: c/c-decl.cc:13026
 #, gcc-internal-format
 msgid "%<__auto_type%> followed by %<[[]]%> attributes"
 msgstr ""
 
-#: c/c-decl.cc:12656 c/c-decl.cc:12672 c/c-decl.cc:12698
+#: c/c-decl.cc:13052 c/c-decl.cc:13068 c/c-decl.cc:13094
 #, gcc-internal-format
 msgid "ISO C does not support complex integer types"
 msgstr ""
 
-#: c/c-decl.cc:13126 cp/semantics.cc:6152
+#: c/c-decl.cc:13237
+#, gcc-internal-format
+msgid "%<signed _BitInt%> argument must be at least 2"
+msgstr ""
+
+#: c/c-decl.cc:13246
+#, gcc-internal-format
+msgid "ISO C does not support %<%s_BitInt(%d)%> before C23"
+msgstr ""
+
+#: c/c-decl.cc:13545 cp/semantics.cc:6316
 #, 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:13130 cp/semantics.cc:6156
+#: c/c-decl.cc:13549 cp/semantics.cc:6320
 #, 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:388 c/c-typeck.cc:12617 cp/typeck.cc:5636
+#: c/c-fold.cc:389 c/c-typeck.cc:12830 cp/typeck.cc:5734
 #, gcc-internal-format
 msgid "left shift of negative value"
 msgstr ""
 
-#: c/c-fold.cc:398 c/c-typeck.cc:12626 cp/typeck.cc:5644
+#: c/c-fold.cc:399 c/c-typeck.cc:12839 cp/typeck.cc:5742
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:399 c/c-typeck.cc:12554 cp/typeck.cc:5583
+#: c/c-fold.cc:400 c/c-typeck.cc:12766 cp/typeck.cc:5681
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:407 c/c-typeck.cc:12645 cp/typeck.cc:5652
+#: c/c-fold.cc:409 c/c-typeck.cc:12858 cp/typeck.cc:5750
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:408 c/c-typeck.cc:12578 cp/typeck.cc:5594
+#: c/c-fold.cc:410 c/c-typeck.cc:12790 cp/typeck.cc:5692
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:415 c/c-typeck.cc:12637
+#: c/c-fold.cc:417 c/c-typeck.cc:12850
 #, gcc-internal-format
 msgid "left shift count >= width of vector element"
 msgstr ""
 
-#: c/c-fold.cc:416 c/c-typeck.cc:12565
+#: c/c-fold.cc:418 c/c-typeck.cc:12777
 #, gcc-internal-format
 msgid "right shift count >= width of vector element"
 msgstr ""
 
-#: c/c-parser.cc:336
+#: c/c-parser.cc:353
 #, gcc-internal-format
 msgid "identifier %qE conflicts with C++ keyword"
 msgstr ""
 
-#: c/c-parser.cc:1017 cp/parser.cc:3113
+#: c/c-parser.cc:1036 cp/parser.cc:3239
 #, gcc-internal-format
 msgid "version control conflict marker in file"
 msgstr ""
 
-#: c/c-parser.cc:1238 cp/parser.cc:3194
+#: c/c-parser.cc:1257 cp/parser.cc:3320
 #, gcc-internal-format
 msgid "to match this %qs"
 msgstr ""
 
-#: c/c-parser.cc:1367 cp/parser.cc:33823
+#: c/c-parser.cc:1409 cp/parser.cc:34485
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr ""
 
-#: c/c-parser.cc:1770
+#: c/c-parser.cc:1891
 #, gcc-internal-format
 msgid "ISO C forbids an empty translation unit"
 msgstr ""
 
-#: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23291 cp/parser.cc:47620
-#: cp/semantics.cc:3416 cp/semantics.cc:3425
+#: c/c-parser.cc:1917 c/c-parser.cc:1926 c/c-parser.cc:25332 cp/parser.cc:49026
+#: cp/semantics.cc:3564 cp/semantics.cc:3573
 #, gcc-internal-format
 msgid "%qs without corresponding %qs"
 msgstr ""
 
-#: c/c-parser.cc:1901 c/c-parser.cc:12009
+#: c/c-parser.cc:2022 c/c-parser.cc:13376
 #, gcc-internal-format
 msgid "ISO C does not allow extra %<;%> outside of a function"
 msgstr ""
 
-#: c/c-parser.cc:1982
+#: c/c-parser.cc:2105
 #, gcc-internal-format
 msgid "%<assume%> attribute at top level"
 msgstr ""
 
-#: c/c-parser.cc:2132
+#: c/c-parser.cc:2255
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<struct%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2140
+#: c/c-parser.cc:2263
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<union%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2148
+#: c/c-parser.cc:2271
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<enum%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2161 c/c-parser.cc:3193 c/c-parser.cc:4831
+#: c/c-parser.cc:2284 c/c-parser.cc:3368 c/c-parser.cc:5034
 #, gcc-internal-format
 msgid "unknown type name %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-parser.cc:2165 c/c-parser.cc:3197 c/c-parser.cc:4835
+#: c/c-parser.cc:2288 c/c-parser.cc:3372 c/c-parser.cc:5038
 #, gcc-internal-format
 msgid "unknown type name %qE"
 msgstr ""
 
-#: c/c-parser.cc:2192 c/c-parser.cc:13331 c/c-parser.cc:21006
-#: c/c-parser.cc:21601 c/c-parser.cc:22183 cp/parser.cc:45055
-#: cp/parser.cc:49682
+#: c/c-parser.cc:2315 c/c-parser.cc:14736 c/c-parser.cc:22962
+#: c/c-parser.cc:23561 c/c-parser.cc:24147 cp/parser.cc:46386
+#: cp/parser.cc:51112
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr ""
 
-#: c/c-parser.cc:2216
+#: c/c-parser.cc:2339
 #, gcc-internal-format
 msgid "%qT declared in underspecified object declaration"
 msgstr ""
 
-#: c/c-parser.cc:2221
+#: c/c-parser.cc:2344
 #, gcc-internal-format
 msgid "%qT defined in underspecified object declaration"
 msgstr ""
 
-#: c/c-parser.cc:2240
+#: c/c-parser.cc:2379
 #, gcc-internal-format
 msgid "%qs in empty declaration"
 msgstr ""
 
-#: c/c-parser.cc:2254
+#: c/c-parser.cc:2393
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute at top level"
 msgstr ""
 
-#: c/c-parser.cc:2282 c/c-parser.cc:4028
+#: c/c-parser.cc:2421 c/c-parser.cc:4230
 #, gcc-internal-format
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:2300 cp/parser.cc:36076 cp/parser.cc:36148
+#: c/c-parser.cc:2439 cp/parser.cc:36739 cp/parser.cc:36811
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
 
-#: c/c-parser.cc:2335
+#: c/c-parser.cc:2474
 #, gcc-internal-format
 msgid "prefix attributes are ignored for implementations"
 msgstr ""
 
-#: c/c-parser.cc:2356
+#: c/c-parser.cc:2495
 #, gcc-internal-format
 msgid "unexpected attribute"
 msgstr ""
 
-#: c/c-parser.cc:2366 c/c-parser.cc:6766 cp/parser.cc:12647 cp/parser.cc:12869
+#: c/c-parser.cc:2505 c/c-parser.cc:7727 cp/parser.cc:12966 cp/parser.cc:13190
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute not followed by %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:2369 c/c-parser.cc:6749 cp/cp-gimplify.cc:3284
+#: c/c-parser.cc:2508 c/c-parser.cc:7710 cp/cp-gimplify.cc:3637
 #, gcc-internal-format
 msgid "%<assume%> attribute not followed by %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:2402
+#: c/c-parser.cc:2555
 #, gcc-internal-format
 msgid "%<__auto_type%> requires a plain identifier as declarator"
 msgstr ""
 
-#: c/c-parser.cc:2415
+#: c/c-parser.cc:2568
 #, gcc-internal-format
 msgid ""
 "%<auto%> requires a plain identifier, possibly with attributes, as declarator"
 msgstr ""
 
-#: c/c-parser.cc:2441
+#: c/c-parser.cc:2594
 #, gcc-internal-format
 msgid "data definition has no type or storage class"
 msgstr ""
@@ -47837,28 +49442,28 @@ msgstr ""
 #. This means there is an attribute specifier after
 #. the declarator in a function definition.  Provide
 #. some more information for the user.
-#: c/c-parser.cc:2456
+#: c/c-parser.cc:2609
 #, gcc-internal-format
 msgid ""
 "attributes should be specified before the declarator in a function definition"
 msgstr ""
 
-#: c/c-parser.cc:2495
+#: c/c-parser.cc:2648
 #, gcc-internal-format
 msgid "%<__auto_type%> used with a bit-field initializer"
 msgstr ""
 
-#: c/c-parser.cc:2594 c/c-parser.cc:2724
+#: c/c-parser.cc:2758 c/c-parser.cc:2894
 #, gcc-internal-format
 msgid "%qs requires an initialized data declaration"
 msgstr ""
 
-#: c/c-parser.cc:2687
+#: c/c-parser.cc:2857
 #, gcc-internal-format
 msgid "%qs may only be used with a single declarator"
 msgstr ""
 
-#: c/c-parser.cc:2716 cp/parser.cc:15541
+#: c/c-parser.cc:2886 cp/parser.cc:16007
 #, gcc-internal-format
 msgid "expected %<,%> or %<;%>"
 msgstr ""
@@ -47866,274 +49471,353 @@ msgstr ""
 #. This can appear in many cases looking nothing like a
 #. function definition, so we don't give a more specific
 #. error suggesting there was one.
-#: c/c-parser.cc:2731 c/c-parser.cc:2772
+#: c/c-parser.cc:2901 c/c-parser.cc:2942
 #, gcc-internal-format
 msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:2739
+#: c/c-parser.cc:2909
 #, gcc-internal-format
 msgid "ISO C forbids nested functions"
 msgstr ""
 
-#: c/c-parser.cc:2953 c/c-parser.cc:7888 c/c-parser.cc:13392
+#: c/c-parser.cc:3126 c/c-parser.cc:8889 c/c-parser.cc:14809
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
 
-#: c/c-parser.cc:2962
+#: c/c-parser.cc:3135
 #, gcc-internal-format
 msgid "ISO C11 does not support omitting the string in %qE"
 msgstr ""
 
-#: c/c-parser.cc:2968
+#: c/c-parser.cc:3141
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer"
 msgstr ""
 
-#: c/c-parser.cc:2977
+#: c/c-parser.cc:3150
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer constant expression"
 msgstr ""
 
-#: c/c-parser.cc:2982
+#: c/c-parser.cc:3155
 #, gcc-internal-format
 msgid "expression in static assertion is not constant"
 msgstr ""
 
-#: c/c-parser.cc:2989
+#: c/c-parser.cc:3162
 #, gcc-internal-format
 msgid "static assertion failed: %E"
 msgstr ""
 
-#: c/c-parser.cc:2991 cp/semantics.cc:11386
+#: c/c-parser.cc:3164 cp/semantics.cc:11678
 #, gcc-internal-format
 msgid "static assertion failed"
 msgstr ""
 
-#: c/c-parser.cc:3344
+#: c/c-parser.cc:3543
 #, gcc-internal-format
 msgid "%<_Atomic%> in Objective-C"
 msgstr ""
 
-#: c/c-parser.cc:3347
+#: c/c-parser.cc:3546
 #, gcc-internal-format
 msgid "ISO C99 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3350
+#: c/c-parser.cc:3549
 #, gcc-internal-format
 msgid "ISO C90 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3378
+#: c/c-parser.cc:3577
 #, gcc-internal-format
 msgid "%<_Atomic%> applied to a qualified type"
 msgstr ""
 
-#: c/c-parser.cc:3408
+#: c/c-parser.cc:3607
 #, gcc-internal-format
 msgid "%<__GIMPLE%> only valid with %<-fgimple%>"
 msgstr ""
 
-#: c/c-parser.cc:3499
+#: c/c-parser.cc:3699
 #, gcc-internal-format
-msgid "ISO C does not support specifying %<enum%> underlying types before C2X"
+msgid "ISO C does not support specifying %<enum%> underlying types before C23"
 msgstr ""
 
-#: c/c-parser.cc:3508
+#: c/c-parser.cc:3708
 #, gcc-internal-format
 msgid "%<enum%> declared both with and without fixed underlying type"
 msgstr ""
 
-#: c/c-parser.cc:3530
+#: c/c-parser.cc:3731
 #, gcc-internal-format
 msgid "no %<enum%> underlying type specified"
 msgstr ""
 
-#: c/c-parser.cc:3534
+#: c/c-parser.cc:3735
 #, gcc-internal-format
 msgid "invalid %<enum%> underlying type"
 msgstr ""
 
-#: c/c-parser.cc:3564
+#: c/c-parser.cc:3765
 #, gcc-internal-format
 msgid "%<enum%> underlying type incompatible with previous declaration"
 msgstr ""
 
-#: c/c-parser.cc:3599
+#: c/c-parser.cc:3801
 #, gcc-internal-format
 msgid "empty enum is invalid"
 msgstr ""
 
-#: c/c-parser.cc:3603 c/c-parser.cc:4656 c/c-parser.cc:5377 c/c-parser.cc:5389
-#: c/c-parser.cc:5854 c/c-parser.cc:6166 c/c-parser.cc:7755 c/c-parser.cc:7838
-#: c/c-parser.cc:8814 c/c-parser.cc:9131 c/c-parser.cc:9140 c/c-parser.cc:9673
-#: c/c-parser.cc:9860 c/c-parser.cc:9888 c/c-parser.cc:10770
-#: c/c-parser.cc:11288 c/c-parser.cc:11326 c/c-parser.cc:11591
-#: c/c-parser.cc:11642 c/c-parser.cc:11802 c/c-parser.cc:11832
-#: c/c-parser.cc:11840 c/c-parser.cc:11869 c/c-parser.cc:11882
-#: c/c-parser.cc:12188 c/c-parser.cc:12312 c/c-parser.cc:12897
-#: c/c-parser.cc:12950 c/c-parser.cc:12966 c/c-parser.cc:13012
-#: c/c-parser.cc:13857 c/c-parser.cc:13903 c/c-parser.cc:16640
-#: c/c-parser.cc:16777 c/c-parser.cc:17534 c/c-parser.cc:19972
-#: c/c-parser.cc:22718 c/c-parser.cc:22909 c/gimple-parser.cc:1805
-#: c/gimple-parser.cc:1852 cp/parser.cc:9276 cp/parser.cc:33826
-#: cp/parser.cc:37053 cp/parser.cc:39986 cp/parser.cc:40178 cp/parser.cc:46666
-#: cp/parser.cc:48965
+#: c/c-parser.cc:3805 c/c-parser.cc:4859 c/c-parser.cc:5717 c/c-parser.cc:5734
+#: c/c-parser.cc:6263 c/c-parser.cc:6995 c/c-parser.cc:8756 c/c-parser.cc:8839
+#: c/c-parser.cc:9819 c/c-parser.cc:10136 c/c-parser.cc:10145
+#: c/c-parser.cc:10688 c/c-parser.cc:10878 c/c-parser.cc:10906
+#: c/c-parser.cc:12079 c/c-parser.cc:12652 c/c-parser.cc:12690
+#: c/c-parser.cc:12958 c/c-parser.cc:13009 c/c-parser.cc:13169
+#: c/c-parser.cc:13199 c/c-parser.cc:13207 c/c-parser.cc:13236
+#: c/c-parser.cc:13249 c/c-parser.cc:13555 c/c-parser.cc:13679
+#: c/c-parser.cc:14264 c/c-parser.cc:14317 c/c-parser.cc:14333
+#: c/c-parser.cc:14379 c/c-parser.cc:15367 c/c-parser.cc:15412
+#: c/c-parser.cc:18265 c/c-parser.cc:18402 c/c-parser.cc:19159
+#: c/c-parser.cc:21755 c/c-parser.cc:24625 c/c-parser.cc:24814
+#: c/gimple-parser.cc:1895 c/gimple-parser.cc:1942 cp/parser.cc:9524
+#: cp/parser.cc:34488 cp/parser.cc:37716 cp/parser.cc:40816 cp/parser.cc:41008
+#: cp/parser.cc:47959 cp/parser.cc:50378
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr ""
 
-#: c/c-parser.cc:3648 cp/parser.cc:21304
+#: c/c-parser.cc:3850 cp/parser.cc:21836
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr ""
 
-#: c/c-parser.cc:3654 go/gofrontend/embed.cc:424
+#: c/c-parser.cc:3856 go/gofrontend/embed.cc:424
 #, gcc-internal-format
 msgid "expected %<,%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:3697
+#: c/c-parser.cc:3899
 #, gcc-internal-format
 msgid "ISO C forbids forward references to %<enum%> types"
 msgstr ""
 
-#: c/c-parser.cc:3822
+#: c/c-parser.cc:4024
 #, gcc-internal-format
 msgid "expected class name"
 msgstr ""
 
-#: c/c-parser.cc:3844
+#: c/c-parser.cc:4046
 #, gcc-internal-format
 msgid "extra semicolon in struct or union specified"
 msgstr ""
 
-#: c/c-parser.cc:3873
+#: c/c-parser.cc:4075
 #, gcc-internal-format
 msgid "no semicolon at end of struct or union"
 msgstr ""
 
-#: c/c-parser.cc:3990 c/c-parser.cc:5623
+#: c/c-parser.cc:4192 c/c-parser.cc:6029
 #, gcc-internal-format
 msgid "expected specifier-qualifier-list"
 msgstr ""
 
-#: c/c-parser.cc:4001
+#: c/c-parser.cc:4203
 #, gcc-internal-format
 msgid "ISO C forbids member declarations with no members"
 msgstr ""
 
-#: c/c-parser.cc:4095
+#: c/c-parser.cc:4297
 #, gcc-internal-format
 msgid "expected %<,%>, %<;%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:4102
+#: c/c-parser.cc:4304
 #, gcc-internal-format
 msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:4173
+#: c/c-parser.cc:4376
 #, gcc-internal-format
 msgid "%<typeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:4484
+#: c/c-parser.cc:4687
 #, gcc-internal-format
 msgid "expected identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:4717
+#: c/c-parser.cc:4920
 #, gcc-internal-format
-msgid "ISO C requires a named argument before %<...%> before C2X"
+msgid "ISO C requires a named argument before %<...%> before C23"
 msgstr ""
 
-#: c/c-parser.cc:4842
+#: c/c-parser.cc:5045
 #, gcc-internal-format
 msgid "expected declaration specifiers or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:5070
+#: c/c-parser.cc:5274
 #, gcc-internal-format
 msgid "parentheses must be omitted if attribute argument list is empty"
 msgstr ""
 
-#: c/c-parser.cc:5414 cp/parser.cc:29432
+#: c/c-parser.cc:5562 cp/parser.cc:29822
+#, gcc-internal-format
+msgid "expected OpenMP directive name"
+msgstr ""
+
+#: c/c-parser.cc:5609 cp/parser.cc:29878
+#, gcc-internal-format
+msgid "expected %<directive%> or %<sequence%>"
+msgstr ""
+
+#: c/c-parser.cc:5755 cp/parser.cc:30047
+#, gcc-internal-format
+msgid "%<omp::%E%> attribute requires argument"
+msgstr ""
+
+#: c/c-parser.cc:5771 cp/parser.cc:30063
 #, gcc-internal-format
 msgid "%qE attribute does not take any arguments"
 msgstr ""
 
-#: c/c-parser.cc:5469
+#: c/c-parser.cc:5893
 #, gcc-internal-format
-msgid "ISO C does not support %<[[]]%> attributes before C2X"
+msgid "ISO C does not support %<[[]]%> attributes before C23"
 msgstr ""
 
-#: c/c-parser.cc:5700 c/c-parser.cc:5761 c/c-typeck.cc:8613
+#: c/c-parser.cc:6106 c/c-parser.cc:6169 c/c-typeck.cc:8822
 #, gcc-internal-format
 msgid ""
 "variable-sized object may not be initialized except with an empty initializer"
 msgstr ""
 
-#: c/c-parser.cc:5755
+#: c/c-parser.cc:6163
 #, gcc-internal-format
-msgid "ISO C forbids empty initializer braces before C2X"
+msgid "ISO C forbids empty initializer braces before C23"
 msgstr ""
 
-#: c/c-parser.cc:5818
+#: c/c-parser.cc:6227
 #, gcc-internal-format
 msgid "obsolete use of designated initializer with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:5974
+#: c/c-parser.cc:6383
 #, gcc-internal-format
 msgid "ISO C forbids specifying range of elements to initialize"
 msgstr ""
 
-#: c/c-parser.cc:5986
+#: c/c-parser.cc:6395
 #, gcc-internal-format
 msgid "ISO C90 forbids specifying subobject to initialize"
 msgstr ""
 
-#: c/c-parser.cc:5994
+#: c/c-parser.cc:6403
 #, gcc-internal-format
 msgid "obsolete use of designated initializer without %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:6181
+#: c/c-parser.cc:6567 cp/parser.cc:13308
+#, gcc-internal-format
+msgid "inner loops must be perfectly nested in %<#pragma acc loop%>"
+msgstr ""
+
+#: c/c-parser.cc:6574 cp/parser.cc:13315
+#, gcc-internal-format
+msgid "inner loops must be perfectly nested with %<ordered%> clause"
+msgstr ""
+
+#: c/c-parser.cc:6581 cp/parser.cc:13322
+#, gcc-internal-format
+msgid ""
+"inner loops must be perfectly nested with %<reduction%> %<inscan%> clause"
+msgstr ""
+
+#: c/c-parser.cc:6638 c/c-parser.cc:6793 cp/parser.cc:12240 cp/parser.cc:12390
+#: cp/parser.cc:48555
+#, gcc-internal-format
+msgid ""
+"mixing OpenMP directives with attribute and pragma syntax on the same "
+"statement"
+msgstr ""
+
+#: c/c-parser.cc:6646 cp/parser.cc:12248
+#, gcc-internal-format
+msgid "OpenMP %<omp::decl%> attribute on a statement"
+msgstr ""
+
+#: c/c-parser.cc:6670 c/c-parser.cc:6889 c/c-parser.cc:25015 cp/parser.cc:12272
+#: cp/parser.cc:48535 cp/parser.cc:48675
+#, gcc-internal-format
+msgid "unknown OpenMP directive name in %qs attribute argument"
+msgstr ""
+
+#: c/c-parser.cc:6762 cp/parser.cc:12359
+#, 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 ""
+
+#: c/c-parser.cc:6770 cp/parser.cc:12367
+#, gcc-internal-format
+msgid ""
+"multiple OpenMP standalone directives among %<omp::directive%> attributes "
+"must be all within the same %<omp::sequence%>"
+msgstr ""
+
+#: c/c-parser.cc:6782 cp/parser.cc:12379
+#, gcc-internal-format
+msgid ""
+"standalone OpenMP directives in %<omp::directive%> attribute can only appear "
+"on an empty statement"
+msgstr ""
+
+#: c/c-parser.cc:6901 cp/parser.cc:12509
+#, gcc-internal-format
+msgid ""
+"mixing OpenMP directives with attribute and pragma syntax on the same "
+"declaration"
+msgstr ""
+
+#: c/c-parser.cc:7010
 #, gcc-internal-format
 msgid "ISO C forbids label declarations"
 msgstr ""
 
-#: c/c-parser.cc:6187 c/c-parser.cc:6276 c/c-parser.cc:6290
-#: c/gimple-parser.cc:418
+#: c/c-parser.cc:7016 c/c-parser.cc:7197 c/c-parser.cc:7222
+#: c/gimple-parser.cc:424
 #, gcc-internal-format
 msgid "expected declaration or statement"
 msgstr ""
 
-#: c/c-parser.cc:6222
+#: c/c-parser.cc:7126
 #, gcc-internal-format
 msgid ""
 "a label can only be part of a statement and a declaration is not a statement"
 msgstr ""
 
-#: c/c-parser.cc:6234 c/c-parser.cc:6267
+#: c/c-parser.cc:7146 c/c-parser.cc:7188
 #, gcc-internal-format
 msgid "ISO C90 forbids mixed declarations and code"
 msgstr ""
 
-#: c/c-parser.cc:6298
+#: c/c-parser.cc:7230
 #, gcc-internal-format
 msgid "expected %<}%> before %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:6303 cp/parser.cc:12994
+#: c/c-parser.cc:7235 cp/parser.cc:13369
 #, gcc-internal-format
 msgid "%<else%> without a previous %<if%>"
 msgstr ""
 
-#: c/c-parser.cc:6321
+#: c/c-parser.cc:7266
 #, gcc-internal-format
 msgid "label at end of compound statement"
 msgstr ""
@@ -48142,1206 +49826,1292 @@ msgstr ""
 #. c_parser_skip_until_found stops at a closing nesting
 #. delimiter without consuming it, but here we need to consume
 #. it to proceed further.
-#: c/c-parser.cc:6342 c/c-parser.cc:6355 c/c-parser.cc:6791
-#: c/gimple-parser.cc:2343 cp/parser.cc:12553
+#: c/c-parser.cc:7315 c/c-parser.cc:7319 c/c-parser.cc:7752
+#: c/gimple-parser.cc:2434 cp/parser.cc:12872
 #, gcc-internal-format
 msgid "expected statement"
 msgstr ""
 
-#: c/c-parser.cc:6414
+#: c/c-parser.cc:7374
 #, gcc-internal-format
 msgid "expected %<:%> or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:6442
+#: c/c-parser.cc:7402
 #, gcc-internal-format
 msgid ""
 "GNU-style attribute between label and declaration appertains to the label"
 msgstr ""
 
-#: c/c-parser.cc:6673
+#: c/c-parser.cc:7634
 #, gcc-internal-format
 msgid "expected identifier or %<*%>"
 msgstr ""
 
-#: c/c-parser.cc:6774
+#: c/c-parser.cc:7735
 #, gcc-internal-format
 msgid ""
 "only attribute %<fallthrough%> or %<assume%> can be applied to a null "
 "statement"
 msgstr ""
 
-#: c/c-parser.cc:6899 cp/parser.cc:14563
+#: c/c-parser.cc:7860 cp/parser.cc:14984
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<if%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6941 cp/parser.cc:14566
+#: c/c-parser.cc:7902 cp/parser.cc:14987
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<else%> statement"
 msgstr ""
 
-#: c/c-parser.cc:7072 cp/parser.cc:13363
+#: c/c-parser.cc:8033 cp/parser.cc:13782
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:7212
+#: c/c-parser.cc:8122 c/c-parser.cc:8187 c/c-parser.cc:8306 cp/parser.cc:14614
+#, gcc-internal-format
+msgid "loop not permitted in intervening code in OpenMP loop body"
+msgstr ""
+
+#: c/c-parser.cc:8195
 #, gcc-internal-format
 msgid "suggest braces around empty body in %<do%> statement"
 msgstr ""
 
-#: c/c-parser.cc:7344 c/c-parser.cc:7376
+#: c/c-parser.cc:8340 c/c-parser.cc:8372
 #, gcc-internal-format
 msgid "multiple iterating variables in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:7399
+#: c/c-parser.cc:8395
 #, gcc-internal-format
 msgid "invalid iterating variable in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:7423 cp/parser.cc:13650
+#: c/c-parser.cc:8419 cp/parser.cc:14069
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:7429 cp/parser.cc:13656
+#: c/c-parser.cc:8425 cp/parser.cc:14075
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC unroll%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:7465
+#: c/c-parser.cc:8466
 #, gcc-internal-format
 msgid "missing collection in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:7587 c/c-parser.cc:7598 c/c-parser.cc:7609
+#: c/c-parser.cc:8588 c/c-parser.cc:8599 c/c-parser.cc:8610
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qE"
 msgstr ""
 
-#: c/c-parser.cc:7588 c/c-parser.cc:7599 c/c-parser.cc:7610 cp/parser.cc:22211
-#: cp/parser.cc:22228 cp/parser.cc:22242
+#: c/c-parser.cc:8589 c/c-parser.cc:8600 c/c-parser.cc:8611 cp/parser.cc:22744
+#: cp/parser.cc:22761 cp/parser.cc:22775
 #, gcc-internal-format
 msgid "first seen here"
 msgstr ""
 
-#: c/c-parser.cc:7619
+#: c/c-parser.cc:8620
 #, gcc-internal-format
 msgid "%qE is not a valid %<asm%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:7669
+#: c/c-parser.cc:8670
 #, gcc-internal-format
 msgid "expected %<:%> or %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:7968 cp/parser.cc:4575
+#: c/c-parser.cc:8969 cp/parser.cc:4706
 #, gcc-internal-format
 msgid "a wide string is invalid in this context"
 msgstr ""
 
-#: c/c-parser.cc:8174
+#: c/c-parser.cc:9177
 #, gcc-internal-format
 msgid "ISO C forbids omitting the middle term of a %<?:%> expression"
 msgstr ""
 
 #. Location of the binary operator.
 #. Quiet warning.
-#: c/c-parser.cc:8396 cp/typeck.cc:5417
+#: c/c-parser.cc:9401 cp/typeck.cc:5513
 #, gcc-internal-format
 msgid ""
 "division %<sizeof (%T) / sizeof (%T)%> does not compute the number of array "
 "elements"
 msgstr ""
 
-#: c/c-parser.cc:8402 cp/typeck.cc:5422
+#: c/c-parser.cc:9407 cp/typeck.cc:5518
 #, gcc-internal-format
 msgid "first %<sizeof%> operand was declared here"
 msgstr ""
 
-#: c/c-parser.cc:8673
+#: c/c-parser.cc:9678
 #, gcc-internal-format
 msgid "storage class specifier in cast"
 msgstr ""
 
-#: c/c-parser.cc:8676
+#: c/c-parser.cc:9681
 #, gcc-internal-format
 msgid "alignment specified for type name in cast"
 msgstr ""
 
-#: c/c-parser.cc:8777
+#: c/c-parser.cc:9782
 #, gcc-internal-format
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: c/c-parser.cc:8909
+#: c/c-parser.cc:9914
 #, gcc-internal-format
 msgid "storage class specifier in %<sizeof%>"
 msgstr ""
 
-#: c/c-parser.cc:8912
+#: c/c-parser.cc:9917
 #, gcc-internal-format
 msgid "alignment specified for type name in %<sizeof%>"
 msgstr ""
 
-#: c/c-parser.cc:8928
+#: c/c-parser.cc:9933
 #, gcc-internal-format
 msgid "%<sizeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:9001
+#: c/c-parser.cc:10006
 #, gcc-internal-format
 msgid "storage class specifier in %qE"
 msgstr ""
 
-#: c/c-parser.cc:9004
+#: c/c-parser.cc:10009
 #, gcc-internal-format
 msgid "alignment specified for type name in %qE"
 msgstr ""
 
-#: c/c-parser.cc:9028
+#: c/c-parser.cc:10033
 #, gcc-internal-format
 msgid "ISO C does not allow %<%E (expression)%>"
 msgstr ""
 
-#: c/c-parser.cc:9181
+#: c/c-parser.cc:10186
 #, gcc-internal-format
 msgid "cannot take address of %qs"
 msgstr ""
 
-#: c/c-parser.cc:9264
+#: c/c-parser.cc:10269
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:9267
+#: c/c-parser.cc:10272
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:9336
+#: c/c-parser.cc:10341
 #, gcc-internal-format
 msgid "%<_Generic%> association has function type"
 msgstr ""
 
-#: c/c-parser.cc:9339
+#: c/c-parser.cc:10344
 #, gcc-internal-format
 msgid "%<_Generic%> association has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:9343
+#: c/c-parser.cc:10348
 #, gcc-internal-format
 msgid "%<_Generic%> association has variable length type"
 msgstr ""
 
-#: c/c-parser.cc:9367
+#: c/c-parser.cc:10382
 #, gcc-internal-format
 msgid "duplicate %<default%> case in %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:9368
+#: c/c-parser.cc:10383
 #, gcc-internal-format
 msgid "original %<default%> is here"
 msgstr ""
 
-#: c/c-parser.cc:9376
+#: c/c-parser.cc:10391
 #, gcc-internal-format
 msgid "%<_Generic%> specifies two compatible types"
 msgstr ""
 
-#: c/c-parser.cc:9377
+#: c/c-parser.cc:10392
 #, gcc-internal-format
 msgid "compatible type is here"
 msgstr ""
 
-#: c/c-parser.cc:9400
+#: c/c-parser.cc:10415
 #, gcc-internal-format
 msgid "%<_Generic%> selector matches multiple associations"
 msgstr ""
 
-#: c/c-parser.cc:9402
+#: c/c-parser.cc:10417
 #, gcc-internal-format
 msgid "other match is here"
 msgstr ""
 
-#: c/c-parser.cc:9427
+#: c/c-parser.cc:10442
 #, gcc-internal-format
 msgid ""
 "%<_Generic%> selector of type %qT is not compatible with any association"
 msgstr ""
 
-#: c/c-parser.cc:9448
+#: c/c-parser.cc:10463
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is not a function pointer"
 msgstr ""
 
-#: c/c-parser.cc:9456
+#: c/c-parser.cc:10471
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is unprototyped"
 msgstr ""
 
-#: c/c-parser.cc:9462
+#: c/c-parser.cc:10477
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has variable arguments"
 msgstr ""
 
-#: c/c-parser.cc:9478
+#: c/c-parser.cc:10493
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has no arguments"
 msgstr ""
 
-#: c/c-parser.cc:9501 c/c-parser.cc:9505
+#: c/c-parser.cc:10516 c/c-parser.cc:10520
 #, gcc-internal-format
 msgid "ISO C does not support %qs predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:9509
+#: c/c-parser.cc:10524
 #, gcc-internal-format
 msgid "ISO C90 does not support %<__func__%> predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:9687 c/c-parser.cc:10837 c/c-parser.cc:10859
-#: c/c-parser.cc:19389 c/gimple-parser.cc:1721 c/gimple-parser.cc:2360
-#: cp/parser.cc:42130
+#: c/c-parser.cc:10702 c/c-parser.cc:12146 c/c-parser.cc:12168
+#: c/c-parser.cc:21172 c/gimple-parser.cc:1811 c/gimple-parser.cc:2451
+#: cp/parser.cc:43040
 #, gcc-internal-format
 msgid "expected expression"
 msgstr ""
 
-#: c/c-parser.cc:9708
+#: c/c-parser.cc:10724
 #, gcc-internal-format
 msgid "braced-group within expression allowed only inside a function"
 msgstr ""
 
-#: c/c-parser.cc:9722
+#: c/c-parser.cc:10739
 #, gcc-internal-format
 msgid "ISO C forbids braced-groups within expressions"
 msgstr ""
 
-#: c/c-parser.cc:9915
+#: c/c-parser.cc:10933
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_choose_expr%>"
 msgstr ""
 
-#: c/c-parser.cc:9931
+#: c/c-parser.cc:10949
 #, gcc-internal-format
 msgid "first argument to %<__builtin_choose_expr%> not a constant"
 msgstr ""
 
-#: c/c-parser.cc:10001 c/c-parser.cc:10018 c/c-parser.cc:10025
+#: c/c-parser.cc:11019 c/c-parser.cc:11036 c/c-parser.cc:11043
 #, gcc-internal-format
 msgid "too few arguments to %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10046
+#: c/c-parser.cc:11064
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments"
 msgstr ""
 
-#: c/c-parser.cc:10090 c/c-parser.cc:10100
+#: c/c-parser.cc:11108 c/c-parser.cc:11118
 #, gcc-internal-format
 msgid ""
 "invalid type-generic return type for argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10122 c/c-parser.cc:10132
+#: c/c-parser.cc:11140 c/c-parser.cc:11150
 #, gcc-internal-format
 msgid ""
 "invalid type-generic type for argument %u of argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10165
+#: c/c-parser.cc:11183
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> all have the same type"
 msgstr ""
 
-#: c/c-parser.cc:10184
+#: c/c-parser.cc:11202
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter"
 msgstr ""
 
-#: c/c-parser.cc:10232
+#: c/c-parser.cc:11250
 #, gcc-internal-format
 msgid ""
 "duplicate type-generic parameter type for function argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10255
+#: c/c-parser.cc:11273
 #, gcc-internal-format
 msgid "bad return type for function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10272
+#: c/c-parser.cc:11290
 #, gcc-internal-format
 msgid ""
 "bad type for argument %u of function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:10311
+#: c/c-parser.cc:11329
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid type of argument %u of type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10322
+#: c/c-parser.cc:11340
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "decimal floating-point argument %u to complex-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10330
+#: c/c-parser.cc:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "decimal floating-point argument %u to binary-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10338 c/c-parser.cc:10368
+#: c/c-parser.cc:11356 c/c-parser.cc:11386
 #, gcc-internal-format
 msgid ""
 "both complex and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10346 c/c-parser.cc:10388
+#: c/c-parser.cc:11364 c/c-parser.cc:11406
 #, gcc-internal-format
 msgid ""
 "both binary and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10360
+#: c/c-parser.cc:11378
 #, gcc-internal-format, gfc-internal-format
 msgid "complex argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10380
+#: c/c-parser.cc:11398
 #, gcc-internal-format, gfc-internal-format
 msgid "binary argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:10483
+#: c/c-parser.cc:11501
 #, gcc-internal-format
 msgid "no matching function for type-generic call"
 msgstr ""
 
-#: c/c-parser.cc:10524
+#: c/c-parser.cc:11542
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>"
 msgstr ""
 
-#: c/c-parser.cc:10537
+#: c/c-parser.cc:11555
 #, gcc-internal-format
 msgid ""
 "first argument to %<__builtin_call_with_static_chain%> must be a call "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:10541
+#: c/c-parser.cc:11559
 #, gcc-internal-format
 msgid ""
 "second argument to %<__builtin_call_with_static_chain%> must be a pointer "
 "type"
 msgstr ""
 
-#: c/c-parser.cc:10567
+#: c/c-parser.cc:11585
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_complex%>"
 msgstr ""
 
-#: c/c-parser.cc:10589
+#: c/c-parser.cc:11607
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operand not of real binary floating-point type"
 msgstr ""
 
-#: c/c-parser.cc:10598
+#: c/c-parser.cc:11616
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operands of different types"
 msgstr ""
 
-#: c/c-parser.cc:10643 c/c-parser.cc:10672 cp/parser.cc:7603
+#: c/c-parser.cc:11661 c/c-parser.cc:11690 cp/parser.cc:7764
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shuffle%>"
 msgstr ""
 
-#: c/c-parser.cc:10814 cp/parser.cc:5983
+#: c/c-parser.cc:11851
+#, gcc-internal-format
+msgid "wrong number of arguments to %qs"
+msgstr ""
+
+#: c/c-parser.cc:11860
+#, gcc-internal-format
+msgid "%qs operand not an integral type"
+msgstr ""
+
+#: c/c-parser.cc:12123 cp/parser.cc:6134
 #, gcc-internal-format
 msgid "%<omp_all_memory%> may only be used in OpenMP %<depend%> clause"
 msgstr ""
 
-#: c/c-parser.cc:10824
+#: c/c-parser.cc:12133
 #, gcc-internal-format
-msgid "ISO C does not support %qs before C2X"
+msgid "ISO C does not support %qs before C23"
 msgstr ""
 
-#: c/c-parser.cc:10912
+#: c/c-parser.cc:12221
 #, gcc-internal-format
 msgid "%qT declared in %<constexpr%> compound literal"
 msgstr ""
 
-#: c/c-parser.cc:10917
+#: c/c-parser.cc:12226
 #, gcc-internal-format
 msgid "%qT defined in %<constexpr%> compound literal"
 msgstr ""
 
-#: c/c-parser.cc:10932
+#: c/c-parser.cc:12241
 #, gcc-internal-format
 msgid "compound literal has variable size"
 msgstr ""
 
-#: c/c-parser.cc:10937
+#: c/c-parser.cc:12246
 #, gcc-internal-format
 msgid "compound literal has function type"
 msgstr ""
 
-#: c/c-parser.cc:10968
+#: c/c-parser.cc:12277
 #, gcc-internal-format
 msgid "compound literal qualified by address-space qualifier"
 msgstr ""
 
-#: c/c-parser.cc:10973
+#: c/c-parser.cc:12282
 #, gcc-internal-format
 msgid "ISO C90 forbids compound literals"
 msgstr ""
 
-#: c/c-parser.cc:10975
+#: c/c-parser.cc:12284
 #, gcc-internal-format
-msgid "ISO C forbids storage class specifiers in compound literals before C2X"
+msgid "ISO C forbids storage class specifiers in compound literals before C23"
 msgstr ""
 
-#: c/c-parser.cc:10989
+#: c/c-parser.cc:12298
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal"
 msgstr ""
 
-#: c/c-parser.cc:11064
+#: c/c-parser.cc:12373
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11069
+#: c/c-parser.cc:12378
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of complex type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:11077
+#: c/c-parser.cc:12386
 #, gcc-internal-format
 msgid "taking the absolute value of unsigned type %qT has no effect"
 msgstr ""
 
-#: c/c-parser.cc:11088
+#: c/c-parser.cc:12397
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of integer "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11092
+#: c/c-parser.cc:12401
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of decimal "
 "floating-point type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11097
+#: c/c-parser.cc:12406
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of complex "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11110
+#: c/c-parser.cc:12419
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of integer type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:11114
+#: c/c-parser.cc:12423
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11131
+#: c/c-parser.cc:12440
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "integer type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11136
+#: c/c-parser.cc:12445
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "floating-point type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11141
+#: c/c-parser.cc:12450
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "complex type %qT"
 msgstr ""
 
-#: c/c-parser.cc:11167
+#: c/c-parser.cc:12476
 #, gcc-internal-format
 msgid ""
 "absolute value function %qD given an argument of type %qT but has parameter "
 "of type %qT which may cause truncation of value"
 msgstr ""
 
-#: c/c-parser.cc:11613
+#: c/c-parser.cc:12606 cp/parser.cc:8164
+#, gcc-internal-format
+msgid "calls to the OpenMP runtime API are not permitted in intervening code"
+msgstr ""
+
+#: c/c-parser.cc:12980
 #, gcc-internal-format
 msgid "expected identifier or %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:11709
+#: c/c-parser.cc:13076
 #, gcc-internal-format
 msgid "extra semicolon"
 msgstr ""
 
-#: c/c-parser.cc:11957
+#: c/c-parser.cc:13324
 #, gcc-internal-format
 msgid "extra semicolon in method definition specified"
 msgstr ""
 
-#: c/c-parser.cc:12089
+#: c/c-parser.cc:13456
 #, gcc-internal-format
 msgid "method attributes must be specified at the end only"
 msgstr ""
 
-#: c/c-parser.cc:12109
+#: c/c-parser.cc:13476
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%> after method attribute definition"
 msgstr ""
 
-#: c/c-parser.cc:12231
+#: c/c-parser.cc:13598
 #, gcc-internal-format
 msgid "objective-c method declaration is expected"
 msgstr ""
 
-#: c/c-parser.cc:12683
+#: c/c-parser.cc:14050
 #, gcc-internal-format
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c/c-parser.cc:12751 cp/parser.cc:36910
+#: c/c-parser.cc:14118 cp/parser.cc:37573
 #, gcc-internal-format
 msgid "empty property attribute list"
 msgstr ""
 
-#: c/c-parser.cc:12765 cp/parser.cc:36923
+#: c/c-parser.cc:14132 cp/parser.cc:37586
 #, gcc-internal-format
 msgid "missing property attribute"
 msgstr ""
 
-#: c/c-parser.cc:12804
+#: c/c-parser.cc:14171
 #, gcc-internal-format
 msgid "unknown property attribute %<%s%s%>"
 msgstr ""
 
-#: c/c-parser.cc:12807 cp/parser.cc:36960
+#: c/c-parser.cc:14174 cp/parser.cc:37623
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c/c-parser.cc:12816 cp/parser.cc:36969
+#: c/c-parser.cc:14183 cp/parser.cc:37632
 #, gcc-internal-format
 msgid "expected %<=%> after Objective-C %qE"
 msgstr ""
 
-#: c/c-parser.cc:12827 cp/parser.cc:36983
+#: c/c-parser.cc:14194 cp/parser.cc:37646
 #, gcc-internal-format
 msgid "expected %qE selector name"
 msgstr ""
 
-#: c/c-parser.cc:12843 cp/parser.cc:37002
+#: c/c-parser.cc:14210 cp/parser.cc:37665
 #, gcc-internal-format
 msgid "setter method names must terminate with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:13057 cp/parser.cc:49292
+#: c/c-parser.cc:14434 cp/semantics.cc:13110
 #, 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:13102 c/c-parser.cc:21598 c/c-parser.cc:21906
-#: c/c-parser.cc:21969 c/c-parser.cc:22078 cp/parser.cc:45052
-#: cp/parser.cc:45399 cp/parser.cc:45513 cp/parser.cc:45609 cp/parser.cc:49339
-#: cp/parser.cc:49355 cp/parser.cc:49371 cp/parser.cc:49388 cp/parser.cc:49405
-#: cp/parser.cc:49422 cp/parser.cc:49449 cp/parser.cc:49463 cp/parser.cc:49488
-#: cp/parser.cc:49502
+#: c/c-parser.cc:14470 cp/parser.cc:50733
+#, gcc-internal-format
+msgid "intervening code must not contain OpenMP directives"
+msgstr ""
+
+#: c/c-parser.cc:14490 c/c-parser.cc:23558 c/c-parser.cc:23867
+#: c/c-parser.cc:23930 c/c-parser.cc:24040 cp/parser.cc:46383
+#: cp/parser.cc:46731 cp/parser.cc:46846 cp/parser.cc:46945 cp/parser.cc:50754
+#: cp/parser.cc:50770 cp/parser.cc:50786 cp/parser.cc:50803 cp/parser.cc:50820
+#: cp/parser.cc:50837 cp/parser.cc:50864 cp/parser.cc:50878 cp/parser.cc:50903
+#: cp/parser.cc:50917
 #, gcc-internal-format
 msgid "%<#pragma %s%> may only be used in compound statements"
 msgstr ""
 
-#: c/c-parser.cc:13125 cp/parser.cc:49477
+#: c/c-parser.cc:14513 cp/parser.cc:50892
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be at file scope"
 msgstr ""
 
-#: c/c-parser.cc:13215 cp/parser.cc:49601
+#: c/c-parser.cc:14603 cp/parser.cc:51016
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> "
 "%<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:13222 cp/parser.cc:49607
+#: c/c-parser.cc:14610 cp/parser.cc:51022
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
 "construct"
 msgstr ""
 
-#: c/c-parser.cc:13234 c/c-parser.cc:13246
+#: c/c-parser.cc:14622 c/c-parser.cc:14638
 #, gcc-internal-format
 msgid "%<#pragma %s%> may only be used at file scope"
 msgstr ""
 
-#: c/c-parser.cc:13276 c/c-parser.cc:13300 cp/parser.cc:49636
-#: cp/parser.cc:49669
+#: c/c-parser.cc:14705 cp/parser.cc:51099
 #, gcc-internal-format
 msgid "for, while or do statement expected"
 msgstr ""
 
-#: c/c-parser.cc:13313 cp/parser.cc:49329
+#: c/c-parser.cc:14718 cp/parser.cc:50744
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c/c-parser.cc:13666 c/c-parser.cc:17358 c/c-parser.cc:18926
-#: c/c-parser.cc:18945 c/c-parser.cc:19149 c/c-parser.cc:19207
-#: c/c-parser.cc:19214 c/c-parser.cc:19221 c/c-parser.cc:23817
-#: c/c-parser.cc:23825 c/c-parser.cc:24095 c/c-parser.cc:24105
-#: c/c-parser.cc:24199 c/c-parser.cc:24206 c/c-parser.cc:24213
-#: cp/parser.cc:37431 cp/parser.cc:40813 cp/parser.cc:41678 cp/parser.cc:41715
-#: cp/parser.cc:41904 cp/parser.cc:41967 cp/parser.cc:41974 cp/parser.cc:41981
-#: cp/parser.cc:46887 cp/parser.cc:46894 cp/parser.cc:46901 cp/parser.cc:48226
-#: cp/parser.cc:48234 cp/parser.cc:48386 cp/parser.cc:48396
+#: c/c-parser.cc:15085 c/c-parser.cc:18983 c/c-parser.cc:20640
+#: c/c-parser.cc:20659 c/c-parser.cc:20910 c/c-parser.cc:20968
+#: c/c-parser.cc:20975 c/c-parser.cc:20982 c/c-parser.cc:25881
+#: c/c-parser.cc:25889 c/c-parser.cc:26159 c/c-parser.cc:26169
+#: c/c-parser.cc:26263 c/c-parser.cc:26270 c/c-parser.cc:26277
+#: cp/parser.cc:38096 cp/parser.cc:41648 cp/parser.cc:42566 cp/parser.cc:42603
+#: cp/parser.cc:42792 cp/parser.cc:42855 cp/parser.cc:42862 cp/parser.cc:42869
+#: cp/parser.cc:48178 cp/parser.cc:48185 cp/parser.cc:48192 cp/parser.cc:49639
+#: cp/parser.cc:49647 cp/parser.cc:49799 cp/parser.cc:49809
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:13693
+#: c/c-parser.cc:15112
 #, gcc-internal-format
 msgid "expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:14008 c/c-parser.cc:14020
+#: c/c-parser.cc:15517 c/c-parser.cc:15529
 #, gcc-internal-format
 msgid "expected %<)%> or %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:14171 c/c-parser.cc:24504
+#: c/c-parser.cc:15697 c/c-parser.cc:26565
 #, gcc-internal-format
 msgid "%qD is not a variable"
 msgstr ""
 
-#: c/c-parser.cc:14175 cp/semantics.cc:8396
+#: c/c-parser.cc:15701 cp/semantics.cc:8541
 #, gcc-internal-format
 msgid "%qD is not a pointer variable"
 msgstr ""
 
-#: c/c-parser.cc:14217 cp/parser.cc:38171
+#: c/c-parser.cc:15743 cp/parser.cc:38950
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:14312 cp/parser.cc:38249
+#: c/c-parser.cc:15838 cp/parser.cc:39028
 #, gcc-internal-format
 msgid "expected %<none%> or %<present%>"
 msgstr ""
 
-#: c/c-parser.cc:14314 cp/parser.cc:38251
+#: c/c-parser.cc:15840 cp/parser.cc:39030
 #, gcc-internal-format
 msgid "expected %<none%>, %<shared%>, %<private%> or %<firstprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:14435 cp/parser.cc:38363
+#: c/c-parser.cc:15925 cp/parser.cc:39100
+#, gcc-internal-format
+msgid "expected constant logical expression"
+msgstr ""
+
+#: c/c-parser.cc:16002 cp/parser.cc:39182
 #, gcc-internal-format
 msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
 msgstr ""
 
-#: c/c-parser.cc:14455 c/c-parser.cc:21962 c/c-parser.cc:22071
-#: cp/parser.cc:38381 cp/parser.cc:45391 cp/parser.cc:45505
+#: c/c-parser.cc:16022 c/c-parser.cc:23923 c/c-parser.cc:24033
+#: cp/parser.cc:39200 cp/parser.cc:46723 cp/parser.cc:46838
 #, gcc-internal-format
 msgid "expected %<data%>"
 msgstr ""
 
-#: c/c-parser.cc:14508 cp/parser.cc:38436
+#: c/c-parser.cc:16075 cp/parser.cc:39255
 #, gcc-internal-format
 msgid "too many %<if%> clauses with %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:14515 cp/parser.cc:38443
+#: c/c-parser.cc:16082 cp/parser.cc:39262
 #, gcc-internal-format
 msgid "too many %<if%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:14517 cp/parser.cc:38445
+#: c/c-parser.cc:16084 cp/parser.cc:39264
 #, gcc-internal-format
 msgid "too many %<if%> clauses without modifier"
 msgstr ""
 
-#: c/c-parser.cc:14523 cp/parser.cc:38451
+#: c/c-parser.cc:16090 cp/parser.cc:39270
 #, gcc-internal-format
 msgid ""
 "if any %<if%> clause has modifier, then all %<if%> clauses have to use "
 "modifier"
 msgstr ""
 
-#: c/c-parser.cc:14628 c/c-parser.cc:14688 c/c-parser.cc:14749
-#: c/c-parser.cc:14796 c/c-parser.cc:14875 c/c-parser.cc:15261
-#: c/c-parser.cc:15343 c/c-parser.cc:15910 c/c-parser.cc:16055
-#: c/c-parser.cc:16120 c/c-parser.cc:17295
+#: c/c-parser.cc:16195 c/c-parser.cc:16255 c/c-parser.cc:16317
+#: c/c-parser.cc:16365 c/c-parser.cc:16445 c/c-parser.cc:16842
+#: c/c-parser.cc:16924 c/c-parser.cc:17529 c/c-parser.cc:17674
+#: c/c-parser.cc:17742 c/c-parser.cc:18920
 #, gcc-internal-format
 msgid "expected integer expression"
 msgstr ""
 
-#: c/c-parser.cc:14639
+#: c/c-parser.cc:16206
 #, gcc-internal-format
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14699
+#: c/c-parser.cc:16267
 #, gcc-internal-format
 msgid "%<num_tasks%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14760 cp/semantics.cc:8623
+#: c/c-parser.cc:16329 cp/semantics.cc:8755
 #, gcc-internal-format
 msgid "%<grainsize%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14808 cp/semantics.cc:8653
+#: c/c-parser.cc:16378 cp/semantics.cc:8785
 #, gcc-internal-format
 msgid "%<priority%> value must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:14842 cp/parser.cc:38677
+#: c/c-parser.cc:16412 cp/parser.cc:39496
 #, gcc-internal-format
 msgid "expected constant integer expression with valid sync-hint value"
 msgstr ""
 
-#: c/c-parser.cc:14914 cp/parser.cc:38747
+#: c/c-parser.cc:16484 cp/parser.cc:39566
 #, gcc-internal-format
 msgid ""
 "expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> "
 "or %<default%>"
 msgstr ""
 
-#: c/c-parser.cc:14982 cp/parser.cc:38819
+#: c/c-parser.cc:16552
 #, gcc-internal-format
-msgid "expected %<scalar%>, %<aggregate%> or %<pointer%>"
+msgid "expected %<scalar%>, %<aggregate%>, %<pointer%> or %<all%>"
 msgstr ""
 
-#: c/c-parser.cc:15048 cp/parser.cc:38888
+#: c/c-parser.cc:16629 cp/parser.cc:39718
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with %qs category"
 msgstr ""
 
-#: c/c-parser.cc:15051 cp/parser.cc:38891
+#: c/c-parser.cc:16632 cp/parser.cc:39721
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with unspecified category"
 msgstr ""
 
-#: c/c-parser.cc:15135 cp/semantics.cc:7445 cp/semantics.cc:7498
+#: c/c-parser.cc:16716 cp/semantics.cc:7612 cp/semantics.cc:7667
 #, gcc-internal-format
 msgid "%qs expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:15147 c/c-parser.cc:15270 cp/semantics.cc:7477
-#: cp/semantics.cc:7512
+#: c/c-parser.cc:16728 c/c-parser.cc:16851 cp/semantics.cc:7646
+#: cp/semantics.cc:7681
 #, gcc-internal-format
 msgid "%qs value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:15209 cp/parser.cc:37943
+#: c/c-parser.cc:16790 cp/parser.cc:38722
 #, gcc-internal-format
 msgid "too many %<static%> arguments"
 msgstr ""
 
-#: c/c-parser.cc:15243 cp/parser.cc:37976
+#: c/c-parser.cc:16824 cp/parser.cc:38755
 #, gcc-internal-format
 msgid "unexpected argument"
 msgstr ""
 
-#: c/c-parser.cc:15410 cp/semantics.cc:8839
+#: c/c-parser.cc:16991 cp/semantics.cc:8972
 #, gcc-internal-format
 msgid "%<tile%> argument needs positive integral constant"
 msgstr ""
 
-#: c/c-parser.cc:15485 cp/parser.cc:38941
+#: c/c-parser.cc:17059 cp/parser.cc:41829
+#, gcc-internal-format
+msgid "too many %<self%> clauses"
+msgstr ""
+
+#: c/c-parser.cc:17101 cp/parser.cc:39771
 #, gcc-internal-format
 msgid "expected %<reproducible%> or %<unconstrained%>"
 msgstr ""
 
-#: c/c-parser.cc:15494 c/c-parser.cc:15500 cp/parser.cc:38950
-#: cp/parser.cc:38960
+#: c/c-parser.cc:17110 c/c-parser.cc:17116 cp/parser.cc:39780
+#: cp/parser.cc:39790
 #, gcc-internal-format
 msgid "expected %<concurrent%>"
 msgstr ""
 
-#: c/c-parser.cc:15536 cp/parser.cc:39000
+#: c/c-parser.cc:17152 cp/parser.cc:39830
 #, gcc-internal-format
 msgid "expected %<teams%>, %<parallel%> or %<thread%>"
 msgstr ""
 
-#: c/c-parser.cc:15589 cp/parser.cc:39068
+#: c/c-parser.cc:17205 cp/parser.cc:39898
 #, gcc-internal-format
 msgid "ordered argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15714 c/c-parser.cc:23374 cp/parser.cc:47873
+#: c/c-parser.cc:17330 c/c-parser.cc:25432 cp/parser.cc:49280
 #, gcc-internal-format
 msgid ""
 "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or "
 "identifier"
 msgstr ""
 
-#: c/c-parser.cc:15834 cp/parser.cc:39326
+#: c/c-parser.cc:17452 cp/parser.cc:40156
 #, gcc-internal-format
 msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
 msgstr ""
 
-#: c/c-parser.cc:15888 cp/parser.cc:39342
+#: c/c-parser.cc:17506 cp/parser.cc:40172
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15892 cp/parser.cc:39345
+#: c/c-parser.cc:17510 cp/parser.cc:40175
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15904 cp/semantics.cc:7559
+#: c/c-parser.cc:17523 cp/semantics.cc:7728
 #, gcc-internal-format
 msgid "chunk size value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:15927 cp/parser.cc:39365
+#: c/c-parser.cc:17546 cp/parser.cc:40195
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:16065 c/c-parser.cc:16075
+#: c/c-parser.cc:17685 c/c-parser.cc:17696
 #, gcc-internal-format
 msgid "%<num_teams%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16082 cp/semantics.cc:7526
+#: c/c-parser.cc:17704 cp/semantics.cc:7695
 #, gcc-internal-format
 msgid "%<num_teams%> lower bound %qE bigger than upper bound %qE"
 msgstr ""
 
-#: c/c-parser.cc:16130 cp/semantics.cc:7655
+#: c/c-parser.cc:17753 cp/semantics.cc:7824
 #, gcc-internal-format
 msgid "%<thread_limit%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16175 cp/semantics.cc:7783
+#: c/c-parser.cc:17798 cp/semantics.cc:7952
 #, gcc-internal-format
 msgid ""
 "%<aligned%> clause alignment expression must be positive constant integer "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:16285 c/c-parser.cc:18915 cp/parser.cc:41670
+#: c/c-parser.cc:17910 c/c-parser.cc:20627 cp/parser.cc:42558
 #, gcc-internal-format
 msgid "expected %<allocator%> or %<align%>"
 msgstr ""
 
-#: c/c-parser.cc:16292
+#: c/c-parser.cc:17917
 #, gcc-internal-format
 msgid "duplicate %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:16340 cp/semantics.cc:7918
+#: c/c-parser.cc:17965 cp/semantics.cc:8087
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:16351 cp/semantics.cc:7873 cp/semantics.cc:7889
+#: c/c-parser.cc:17976 cp/semantics.cc:8042 cp/semantics.cc:8058
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause %<align%> modifier argument needs to be positive "
 "constant power of two integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16470 cp/parser.cc:39812
+#: c/c-parser.cc:18095 cp/parser.cc:40642
 #, gcc-internal-format
 msgid "multiple linear modifiers"
 msgstr ""
 
-#: c/c-parser.cc:16482 cp/parser.cc:39825
+#: c/c-parser.cc:18107 cp/parser.cc:40655
 #, gcc-internal-format
 msgid "multiple %<step%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:16490 c/c-parser.cc:16518
+#: c/c-parser.cc:18115 c/c-parser.cc:18143
 #, gcc-internal-format
 msgid "%<linear%> clause step expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:16570
+#: c/c-parser.cc:18195
 #, gcc-internal-format
 msgid ""
 "%<safelen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16609
+#: c/c-parser.cc:18234
 #, gcc-internal-format
 msgid ""
 "%<simdlen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16969 cp/parser.cc:40372
+#: c/c-parser.cc:18594 cp/parser.cc:41202
 #, gcc-internal-format
 msgid "%<iterator%> modifier incompatible with %qs"
 msgstr ""
 
-#: c/c-parser.cc:17017 cp/parser.cc:40427 cp/parser.cc:40874 cp/parser.cc:40924
+#: c/c-parser.cc:18642 cp/parser.cc:41257 cp/parser.cc:41709 cp/parser.cc:41759
 #, gcc-internal-format
 msgid "invalid depend kind"
 msgstr ""
 
-#: c/c-parser.cc:17078 cp/parser.cc:40457
+#: c/c-parser.cc:18703 cp/parser.cc:41287
 #, gcc-internal-format
 msgid "invalid doacross kind"
 msgstr ""
 
-#: c/c-parser.cc:17147 cp/parser.cc:40600
+#: c/c-parser.cc:18772 cp/parser.cc:41430
 #, gcc-internal-format
 msgid "too many %<always%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:17157 cp/parser.cc:40613
+#: c/c-parser.cc:18782 cp/parser.cc:41443
 #, gcc-internal-format
 msgid "too many %<close%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:17167 cp/parser.cc:40626
+#: c/c-parser.cc:18792 cp/parser.cc:41456
 #, gcc-internal-format
 msgid "too many %<present%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:17175 cp/parser.cc:40637
+#: c/c-parser.cc:18800 cp/parser.cc:41467
 #, gcc-internal-format
 msgid ""
 "%<map%> clause with map-type modifier other than %<always%>, %<close%> or "
 "%<present%>"
 msgstr ""
 
-#: c/c-parser.cc:17213 cp/parser.cc:40677
+#: c/c-parser.cc:18838 cp/parser.cc:41507
 #, gcc-internal-format
 msgid "invalid map kind"
 msgstr ""
 
-#: c/c-parser.cc:17265 cp/parser.cc:40736
+#: c/c-parser.cc:18890 cp/parser.cc:41571
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause"
 msgstr ""
 
-#: c/c-parser.cc:17277 cp/parser.cc:40747
+#: c/c-parser.cc:18902 cp/parser.cc:41582
 #, gcc-internal-format
 msgid "expected %<ancestor%> or %<device_num%>"
 msgstr ""
 
-#: c/c-parser.cc:17300 cp/semantics.cc:7680
+#: c/c-parser.cc:18925 cp/semantics.cc:7849
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%>"
 msgstr ""
 
-#: c/c-parser.cc:17333 cp/parser.cc:40818
+#: c/c-parser.cc:18958 cp/parser.cc:41653
 #, gcc-internal-format
 msgid "invalid dist_schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:17412
+#: c/c-parser.cc:19037
 #, gcc-internal-format
 msgid "invalid proc_bind kind"
 msgstr ""
 
-#: c/c-parser.cc:17456
+#: c/c-parser.cc:19081
 #, gcc-internal-format
 msgid "expected %<host%>, %<nohost%> or %<any%>"
 msgstr ""
 
-#: c/c-parser.cc:17554 cp/semantics.cc:8099
+#: c/c-parser.cc:19179 cp/semantics.cc:8268
 #, gcc-internal-format
 msgid ""
 "%<detach%> clause event handle has type %qT rather than "
 "%<omp_event_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:17756 cp/parser.cc:41163
+#: c/c-parser.cc:19391 cp/parser.cc:42045
 #, gcc-internal-format
 msgid "expected an OpenACC clause"
 msgstr ""
 
-#: c/c-parser.cc:17767 c/c-parser.cc:18127 cp/parser.cc:41174
-#: cp/parser.cc:41576
+#: c/c-parser.cc:19402 c/c-parser.cc:19767 cp/parser.cc:42056
+#: cp/parser.cc:42464
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr ""
 
-#: c/c-parser.cc:17811 cp/parser.cc:41221
+#: c/c-parser.cc:19447 cp/parser.cc:42104
 #, gcc-internal-format
 msgid "clauses in %<simd%> trait should be separated by %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:17960 cp/parser.cc:41409
+#: c/c-parser.cc:19600 cp/parser.cc:42297
 #, gcc-internal-format
 msgid "%qs must be the first clause of %qs"
 msgstr ""
 
-#: c/c-parser.cc:18116 cp/parser.cc:41565
+#: c/c-parser.cc:19756 cp/parser.cc:42453
 #, gcc-internal-format
 msgid "expected an OpenMP clause"
 msgstr ""
 
-#: c/c-parser.cc:18249 cp/parser.cc:45940
+#: c/c-parser.cc:19891 cp/parser.cc:47284
 #, gcc-internal-format
 msgid "no valid clauses specified in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18259 cp/parser.cc:45950
+#: c/c-parser.cc:19901 cp/parser.cc:47294
 #, gcc-internal-format
 msgid "array section in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18279 cp/parser.cc:45970
+#: c/c-parser.cc:19921 cp/parser.cc:47314
 #, gcc-internal-format
 msgid "%qD must be a global variable in %<#pragma acc declare link%>"
 msgstr ""
 
-#: c/c-parser.cc:18290 cp/parser.cc:45981
+#: c/c-parser.cc:19932 cp/parser.cc:47325
 #, gcc-internal-format
 msgid "invalid OpenACC clause at file scope"
 msgstr ""
 
-#: c/c-parser.cc:18297 cp/parser.cc:45988
+#: c/c-parser.cc:19939 cp/parser.cc:47332
 #, gcc-internal-format
 msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18305 cp/parser.cc:45996
+#: c/c-parser.cc:19947 cp/parser.cc:47340
 #, gcc-internal-format
 msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18316 cp/parser.cc:46018
+#: c/c-parser.cc:19958 cp/parser.cc:47362
 #, gcc-internal-format
 msgid ""
 "%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18326 cp/parser.cc:46028
+#: c/c-parser.cc:19968 cp/parser.cc:47385
 #, gcc-internal-format
 msgid "variable %qD used more than once with %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:18419 cp/parser.cc:46126
+#: c/c-parser.cc:20061 cp/parser.cc:47469
 #, gcc-internal-format
 msgid "expected %<data%> after %<#pragma acc %s%>"
 msgstr ""
 
-#: c/c-parser.cc:18435 cp/parser.cc:46143
+#: c/c-parser.cc:20077 cp/parser.cc:47486
 #, gcc-internal-format
 msgid "%<#pragma acc %s data%> has no data movement clause"
 msgstr ""
 
-#: c/c-parser.cc:18685 cp/parser.cc:3241
+#: c/c-parser.cc:20109 cp/parser.cc:47244
+#, gcc-internal-format
+msgid "%<host_data%> construct requires %<use_device%> clause"
+msgstr ""
+
+#: c/c-parser.cc:20338 cp/parser.cc:3367
 #, gcc-internal-format
 msgid "%qE has not been declared"
 msgstr ""
 
-#: c/c-parser.cc:18689
+#: c/c-parser.cc:20342
 #, gcc-internal-format
 msgid "expected function name"
 msgstr ""
 
-#: c/c-parser.cc:18707 cp/parser.cc:48653
+#: c/c-parser.cc:20360 cp/parser.cc:50066
 #, gcc-internal-format
 msgid "%qD does not refer to a function"
 msgstr ""
 
-#: c/c-parser.cc:18730 c/c-parser.cc:18778 cp/parser.cc:1586
+#: c/c-parser.cc:20383 c/c-parser.cc:20431 cp/parser.cc:1662
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:18770 cp/parser.cc:48704 cp/parser.cc:48751
+#: c/c-parser.cc:20423 cp/parser.cc:50117 cp/parser.cc:50164
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:18801 cp/parser.cc:48779
+#: c/c-parser.cc:20454 cp/parser.cc:50192
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before use"
 msgstr ""
 
-#: c/c-parser.cc:18802 cp/parser.cc:48781
+#: c/c-parser.cc:20455 cp/parser.cc:50194
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before definition"
 msgstr ""
 
-#: c/c-parser.cc:18846 cp/parser.cc:46344
+#: c/c-parser.cc:20500 cp/parser.cc:47702
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc update%> must contain at least one %<device%> or %<host%> or "
 "%<self%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18937 cp/parser.cc:41690 cp/parser.cc:41705
+#: c/c-parser.cc:20558
+#, gcc-internal-format
+msgid ""
+"variable %qD used in the %<allocator%> clause must be declared before %qD"
+msgstr ""
+
+#: c/c-parser.cc:20562 c/c-parser.cc:20585
+#, gcc-internal-format
+msgid "to be allocated variable declared here"
+msgstr ""
+
+#: c/c-parser.cc:20580
+#, gcc-internal-format
+msgid ""
+"variable %qD used in the %<allocator%> clause must not be modified between "
+"declaration of %qD and its %<allocate%> directive"
+msgstr ""
+
+#: c/c-parser.cc:20583
+#, gcc-internal-format
+msgid "modified here"
+msgstr ""
+
+#: c/c-parser.cc:20651 cp/parser.cc:42578 cp/parser.cc:42593
 #, gcc-internal-format
 msgid ""
 "%<align%> clause argument needs to be positive constant power of two integer "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:18960
+#: c/c-parser.cc:20675
 #, gcc-internal-format
 msgid ""
 "%<allocator%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#. FIXME: When implementing properly, delete the align/allocate expr error
-#. check above and add one in semantics.cc (to properly handle templates).
-#. Base this on the allocator/align modifiers check for the 'allocate' clause
-#. in semantics.cc's finish_omp_clauses.
-#: c/c-parser.cc:18977 cp/parser.cc:41738
+#: c/c-parser.cc:20692
 #, gcc-internal-format
-msgid "%<#pragma omp allocate%> not yet supported"
+msgid ""
+"function parameter %qD may not appear as list item in an %<allocate%> "
+"directive"
+msgstr ""
+
+#: c/c-parser.cc:20699
+#, gcc-internal-format
+msgid "%<allocate%> directive must be in the same scope as %qD"
+msgstr ""
+
+#: c/c-parser.cc:20707
+#, gcc-internal-format
+msgid "%qD already appeared as list item in an %<allocate%> directive"
+msgstr ""
+
+#: c/c-parser.cc:20714
+#, gcc-internal-format
+msgid "%<allocator%> clause required for static variable %qD"
+msgstr ""
+
+#: c/c-parser.cc:20721
+#, gcc-internal-format
+msgid "%<allocator%> clause requires a predefined allocator as %qD is static"
 msgstr ""
 
-#: c/c-parser.cc:19115 cp/parser.cc:41870
+#: c/c-parser.cc:20725
+#, gcc-internal-format
+msgid ""
+"%<#pragma omp allocate%> for static variables like %qD not yet supported"
+msgstr ""
+
+#: c/c-parser.cc:20876 cp/parser.cc:42758
 #, gcc-internal-format
 msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19154 cp/parser.cc:41909
+#: c/c-parser.cc:20915 cp/parser.cc:42797
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acquire%> or %<relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:19178 cp/parser.cc:41938
+#: c/c-parser.cc:20939 cp/parser.cc:42826
 #, gcc-internal-format
 msgid ""
 "expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, "
@@ -49349,437 +51119,494 @@ msgid ""
 "%<hint%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19193 cp/parser.cc:41953
+#: c/c-parser.cc:20954 cp/parser.cc:42841
 #, gcc-internal-format
 msgid "too many atomic clauses"
 msgstr ""
 
-#: c/c-parser.cc:19200 cp/parser.cc:41960
+#: c/c-parser.cc:20961 cp/parser.cc:42848
 #, gcc-internal-format
 msgid "too many memory order clauses"
 msgstr ""
 
-#: c/c-parser.cc:19238 c/c-parser.cc:19245 cp/parser.cc:41998
-#: cp/parser.cc:42005
+#: c/c-parser.cc:20999 c/c-parser.cc:21006 cp/parser.cc:42886
+#: cp/parser.cc:42893
 #, gcc-internal-format
 msgid "%qs clause is incompatible with %<read%> or %<write%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:19251 c/c-parser.cc:19256 cp/parser.cc:42011
-#: cp/parser.cc:42016
+#: c/c-parser.cc:21012 c/c-parser.cc:21017 cp/parser.cc:42899
+#: cp/parser.cc:42904
 #, gcc-internal-format
 msgid "%qs clause requires %qs clause"
 msgstr ""
 
-#: c/c-parser.cc:19300 cp/parser.cc:42060
+#: c/c-parser.cc:21040 cp/parser.cc:42927
+#, gcc-internal-format
+msgid ""
+"%<#pragma omp atomic write%> incompatible with %<acquire%> clause implicitly "
+"provided by a %<requires%> directive"
+msgstr ""
+
+#: c/c-parser.cc:21051 cp/parser.cc:42938
+#, gcc-internal-format
+msgid ""
+"%<#pragma omp atomic read%> incompatible with %<release%> clause implicitly "
+"provided by a %<requires%> directive"
+msgstr ""
+
+#: c/c-parser.cc:21083 cp/parser.cc:42970
 #, gcc-internal-format
 msgid "%<#pragma omp atomic read%> incompatible with %<release%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19310 cp/parser.cc:42070
+#: c/c-parser.cc:21093 cp/parser.cc:42980
 #, gcc-internal-format
 msgid "%<#pragma omp atomic write%> incompatible with %<acquire%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19433 cp/parser.cc:42170
+#: c/c-parser.cc:21216 cp/parser.cc:43080
 #, gcc-internal-format
 msgid "expected %<==%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:19440 cp/parser.cc:42177
+#: c/c-parser.cc:21223 cp/parser.cc:43087
 #, gcc-internal-format
 msgid "expected %<==%>, %<<%> or %<>%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:19513 cp/parser.cc:42242 cp/parser.cc:42525 cp/parser.cc:42619
-#: cp/parser.cc:42637
+#: c/c-parser.cc:21296 cp/parser.cc:43152 cp/parser.cc:43435 cp/parser.cc:43529
+#: cp/parser.cc:43547
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:19524 cp/parser.cc:42253
+#: c/c-parser.cc:21307 cp/parser.cc:43163
 #, gcc-internal-format
 msgid "unexpected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:19584 cp/parser.cc:42692
+#: c/c-parser.cc:21367 cp/parser.cc:43602
 #, gcc-internal-format
 msgid "invalid form of %<pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:19855 cp/parser.cc:42546 cp/parser.cc:42572
+#: c/c-parser.cc:21638 cp/parser.cc:43456 cp/parser.cc:43482
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:19859 cp/parser.cc:42612 cp/parser.cc:42646
+#: c/c-parser.cc:21642 cp/parser.cc:43522 cp/parser.cc:43556
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:19910 cp/parser.cc:42681
+#: c/c-parser.cc:21693 cp/parser.cc:43591
 #, gcc-internal-format
 msgid "%<weak%> clause requires atomic equality comparison"
 msgstr ""
 
-#: c/c-parser.cc:19916 cp/semantics.cc:10998 cp/semantics.cc:11008
+#: c/c-parser.cc:21699 cp/semantics.cc:11160 cp/semantics.cc:11170
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic capture%> uses two different expressions for memory"
 msgstr ""
 
-#: c/c-parser.cc:20016 cp/semantics.cc:11085
+#: c/c-parser.cc:21802 cp/semantics.cc:11247
 #, gcc-internal-format
 msgid "%<depobj%> expression is not lvalue expression"
 msgstr ""
 
-#: c/c-parser.cc:20077 cp/parser.cc:42847
+#: c/c-parser.cc:21845
+#, gcc-internal-format
+msgid "%<destroy%> expression is not lvalue expression"
+msgstr ""
+
+#: c/c-parser.cc:21851 cp/parser.cc:43744
+#, gcc-internal-format
+msgid ""
+"the %<destroy%> expression %qE should be the same as the %<depobj%> argument "
+"%qE"
+msgstr ""
+
+#: c/c-parser.cc:21882 cp/parser.cc:43780
 #, gcc-internal-format
 msgid "expected %<in%>, %<out%>, %<inout%>, %<mutexinoutset%> or %<inoutset%>"
 msgstr ""
 
-#: c/c-parser.cc:20089 cp/parser.cc:42863
+#: c/c-parser.cc:21894 cp/parser.cc:43796
 #, gcc-internal-format
 msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20130 cp/parser.cc:42901
+#: c/c-parser.cc:21935 cp/parser.cc:43834
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acq_rel%>, %<release%> or %<acquire%>"
 msgstr ""
 
-#: c/c-parser.cc:20138 cp/parser.cc:42909
+#: c/c-parser.cc:21943 cp/parser.cc:43842
 #, gcc-internal-format
 msgid "%<flush%> list specified together with memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:20143
+#: c/c-parser.cc:21948
 #, gcc-internal-format
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c/c-parser.cc:20201 cp/parser.cc:43648
+#: c/c-parser.cc:22019 cp/parser.cc:44548
+#, gcc-internal-format
+msgid ""
+"%<[[omp::directive(%s)]]%> must be the only specified attribute on a "
+"statement"
+msgstr ""
+
+#: c/c-parser.cc:22086 cp/parser.cc:44617
 #, gcc-internal-format
 msgid "%<#pragma omp scan%> with zero preceding executable statements"
 msgstr ""
 
-#: c/c-parser.cc:20235 cp/parser.cc:43681
+#: c/c-parser.cc:22120 cp/parser.cc:44650
 #, gcc-internal-format
 msgid "expected %<inclusive%> or %<exclusive%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20240 cp/parser.cc:43687
+#: c/c-parser.cc:22125 cp/parser.cc:44656
 #, gcc-internal-format
 msgid "expected %<#pragma omp scan%>"
 msgstr ""
 
-#: c/c-parser.cc:20248 cp/parser.cc:43695
+#: c/c-parser.cc:22134 cp/parser.cc:44665
 #, gcc-internal-format
 msgid "%<#pragma omp scan%> with zero succeeding executable statements"
 msgstr ""
 
-#: c/c-parser.cc:20304 cp/parser.cc:43746
-#, gcc-internal-format
-msgid "%<ordered%> clause parameter is less than %<collapse%>"
-msgstr ""
-
-#: c/c-parser.cc:20320 cp/parser.cc:43772
+#: c/c-parser.cc:22252 cp/semantics.cc:10734 cp/semantics.cc:10819
 #, gcc-internal-format
-msgid "for statement expected"
+msgid "expected iteration declaration or initialization"
 msgstr ""
 
-#: c/c-parser.cc:20398 cp/semantics.cc:10576 cp/semantics.cc:10667
+#: c/c-parser.cc:22340 c/c-parser.cc:22355 cp/parser.cc:45012
+#: cp/parser.cc:45027
 #, gcc-internal-format
-msgid "expected iteration declaration or initialization"
+msgid "not enough nested loops"
 msgstr ""
 
-#: c/c-parser.cc:20484
+#: c/c-parser.cc:22455 cp/parser.cc:45299
 #, gcc-internal-format
-msgid "not enough perfectly nested loops"
+msgid "%<ordered%> clause parameter is less than %<collapse%>"
 msgstr ""
 
-#: c/c-parser.cc:20532 cp/parser.cc:44086
+#: c/c-parser.cc:22466 cp/parser.cc:45310
 #, gcc-internal-format
-msgid "collapsed loops not perfectly nested"
+msgid "for statement expected"
 msgstr ""
 
-#: c/c-parser.cc:20615 cp/parser.cc:43882 cp/parser.cc:43924 cp/pt.cc:18544
+#: c/c-parser.cc:22578 cp/parser.cc:44850 cp/parser.cc:44893 cp/pt.cc:18109
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
 
-#: c/c-parser.cc:21030 cp/parser.cc:44490
+#: c/c-parser.cc:22986 cp/parser.cc:45821
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp ordered%> with %qs clause may only be used in compound "
 "statements"
 msgstr ""
 
-#: c/c-parser.cc:21244 cp/parser.cc:44696
+#: c/c-parser.cc:23202 cp/parser.cc:46027
 #, gcc-internal-format
 msgid "expected %<for%> after %qs"
 msgstr ""
 
-#: c/c-parser.cc:21589 cp/parser.cc:45043
+#: c/c-parser.cc:23549 cp/parser.cc:46374
 #, gcc-internal-format
 msgid "expected %<point%>"
 msgstr ""
 
-#: c/c-parser.cc:21855 cp/parser.cc:45329
+#: c/c-parser.cc:23816 cp/parser.cc:46661
 #, 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:21871 cp/parser.cc:45345
+#: c/c-parser.cc:23832 cp/parser.cc:46677
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target data%> must contain at least one %<map%>, "
 "%<use_device_ptr%> or %<use_device_addr%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21919 cp/parser.cc:45622
+#: c/c-parser.cc:23880 cp/parser.cc:46958
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target update%> must contain at least one %<from%> or %<to%> "
 "clauses"
 msgstr ""
 
-#: c/c-parser.cc:22020 cp/parser.cc:45451
+#: c/c-parser.cc:23982 cp/parser.cc:46784
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target enter data%> with map-type other than %<to%>, "
 "%<tofrom%> or %<alloc%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22032 cp/parser.cc:45463
+#: c/c-parser.cc:23994 cp/parser.cc:46796
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target enter data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22129 cp/parser.cc:45565
+#: c/c-parser.cc:24093 cp/parser.cc:46901
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target exit data%> with map-type other than %<from%>, "
 "%<tofrom%>, %<release%> or %<delete%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22142 cp/parser.cc:45578
+#: c/c-parser.cc:24106 cp/parser.cc:46914
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target exit data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22385 cp/semantics.cc:10107
+#: c/c-parser.cc:24351 cp/semantics.cc:10242
 #, 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:22442
+#: c/c-parser.cc:24408
 #, 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:22493 c/c-parser.cc:22521
+#: c/c-parser.cc:24459 c/c-parser.cc:24497
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> must be followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:22560 cp/parser.cc:46494
+#: c/c-parser.cc:24530 cp/parser.cc:47846
 #, gcc-internal-format
 msgid "expected trait selector name"
 msgstr ""
 
-#: c/c-parser.cc:22613 cp/parser.cc:46546
+#: c/c-parser.cc:24542 cp/parser.cc:47860
 #, gcc-internal-format
-msgid "selector %qs not allowed for context selector set %qs"
+msgid "unknown selector %qs for context selector set %qs"
 msgstr ""
 
-#: c/c-parser.cc:22638 cp/parser.cc:46570
+#: c/c-parser.cc:24570 cp/parser.cc:47889
 #, gcc-internal-format
 msgid "selector %qs does not accept any properties"
 msgstr ""
 
-#: c/c-parser.cc:22665 cp/parser.cc:46609 cp/pt.cc:11849
+#: c/c-parser.cc:24592 cp/parser.cc:47921
 #, gcc-internal-format
-msgid "score argument must be constant integer expression"
+msgid "%<score%> cannot be specified in traits in the %qs trait-selector-set"
 msgstr ""
 
-#: c/c-parser.cc:22668 cp/parser.cc:46612 cp/pt.cc:11866
+#: c/c-parser.cc:24601 cp/parser.cc:47931
 #, gcc-internal-format
-msgid "score argument must be non-negative"
+msgid "%<score%> argument must be constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:22692 cp/parser.cc:46640 cp/pt.cc:11852
+#: c/c-parser.cc:24604 cp/parser.cc:47934
 #, gcc-internal-format
-msgid "property must be constant integer expression or string literal"
+msgid "%<score%> argument must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:22737 cp/parser.cc:46686
+#: c/c-parser.cc:24645 cp/parser.cc:47980
 #, gcc-internal-format
 msgid "expected identifier or string literal"
 msgstr ""
 
-#: c/c-parser.cc:22759 cp/parser.cc:46708 cp/pt.cc:11856
+#: c/c-parser.cc:24670 cp/parser.cc:48005 cp/pt.cc:12022
 #, gcc-internal-format
 msgid "property must be constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:22770 cp/parser.cc:46719
+#: c/c-parser.cc:24684 cp/parser.cc:48019
 #, gcc-internal-format
 msgid ""
 "properties for %<simd%> selector may not be specified in %<metadirective%>"
 msgstr ""
 
-#: c/c-parser.cc:22857 cp/parser.cc:46805
+#. FIXME: The "requires" selector was added in OpenMP 5.1.
+#. Currently only the now-deprecated syntax
+#. from OpenMP 5.0 is supported.
+#: c/c-parser.cc:24705 cp/parser.cc:48035 fortran/openmp.cc:5891
 #, gcc-internal-format
-msgid "expected %<construct%>, %<device%>, %<implementation%> or %<user%>"
+msgid "%<requires%> selector is not supported yet"
 msgstr ""
 
-#: c/c-parser.cc:22936 cp/parser.cc:47122
+#: c/c-parser.cc:24764 cp/parser.cc:48098
+#, gcc-internal-format
+msgid "expected context selector set name"
+msgstr ""
+
+#: c/c-parser.cc:24841 cp/parser.cc:48413
 #, gcc-internal-format
 msgid "expected %<match%>"
 msgstr ""
 
-#: c/c-parser.cc:22956
+#: c/c-parser.cc:24861
 #, gcc-internal-format
 msgid "variant %qD is not a function"
 msgstr ""
 
-#: c/c-parser.cc:22962 cp/decl.cc:8098
+#: c/c-parser.cc:24868 cp/decl.cc:8318
 #, gcc-internal-format
 msgid "variant %qD and base %qD have incompatible types"
 msgstr ""
 
-#: c/c-parser.cc:22974 cp/decl.cc:8107
+#: c/c-parser.cc:24880 cp/decl.cc:8327
 #, gcc-internal-format
 msgid "variant %qD is a built-in"
 msgstr ""
 
-#: c/c-parser.cc:23019
+#: c/c-parser.cc:24926
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:23027 cp/parser.cc:47167
+#: c/c-parser.cc:24934 cp/parser.cc:48458
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:23141 cp/parser.cc:47371
+#: c/c-parser.cc:25135 cp/parser.cc:48748
 #, gcc-internal-format
 msgid "%qD specified both in declare target %<link%> and %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:23145 cp/parser.cc:47375
+#: c/c-parser.cc:25139 cp/parser.cc:48752
 #, gcc-internal-format
 msgid ""
 "%qD specified both in declare target %<link%> and %<to%> or %<enter%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:23194 cp/parser.cc:47486
+#: c/c-parser.cc:25199 cp/parser.cc:48882
 #, gcc-internal-format
-msgid "directive with only %<device_type%> clause"
+msgid "directive with only %<device_type%> or %<indirect%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:23234 c/c-parser.cc:23274 cp/parser.cc:47534
-#: cp/parser.cc:47581
+#: c/c-parser.cc:25202 cp/parser.cc:48885
+#, gcc-internal-format
+msgid ""
+"%<device_type%> clause must specify 'any' when used with an %<indirect%> "
+"clause"
+msgstr ""
+
+#: c/c-parser.cc:25251 c/c-parser.cc:25293 cp/parser.cc:48940
+#: cp/parser.cc:48987
 #, gcc-internal-format
 msgid "expected %<target%>"
 msgstr ""
 
-#: c/c-parser.cc:23246 cp/parser.cc:47547
+#: c/c-parser.cc:25265 cp/parser.cc:48953
 #, gcc-internal-format
 msgid "expected %<declare target%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:23280 cp/parser.cc:47588
+#: c/c-parser.cc:25300 cp/parser.cc:48994
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp end declare target%> without corresponding %<#pragma omp "
 "declare target%> or %<#pragma omp begin declare target%>"
 msgstr ""
 
-#: c/c-parser.cc:23298 cp/parser.cc:47643
+#: c/c-parser.cc:25311 c/c-parser.cc:25342 cp/parser.cc:49005
+#: cp/parser.cc:49036
+#, gcc-internal-format
+msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
+msgstr ""
+
+#: c/c-parser.cc:25318 c/c-parser.cc:25347 cp/parser.cc:49012
+#: cp/parser.cc:49041
+#, gcc-internal-format
+msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
+msgstr ""
+
+#: c/c-parser.cc:25355 cp/parser.cc:49049
 #, gcc-internal-format
 msgid "expected %<declare%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:23324
+#: c/c-parser.cc:25382
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> not at file or block scope"
 msgstr ""
 
-#: c/c-parser.cc:23401
+#: c/c-parser.cc:25459
 #, gcc-internal-format
 msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:23405
+#: c/c-parser.cc:25463
 #, gcc-internal-format
 msgid "function or array type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:23408
+#: c/c-parser.cc:25466
 #, gcc-internal-format
 msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:23411
+#: c/c-parser.cc:25469
 #, gcc-internal-format
 msgid ""
 "const, volatile or restrict qualified type in %<#pragma omp declare "
 "reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:23419
+#: c/c-parser.cc:25477
 #, gcc-internal-format
 msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
 msgstr ""
 
-#: c/c-parser.cc:23428
+#: c/c-parser.cc:25486
 #, gcc-internal-format
 msgid "previous %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:23549
+#: c/c-parser.cc:25607
 #, gcc-internal-format
 msgid "expected %<omp_priv%> or function-name"
 msgstr ""
 
-#: c/c-parser.cc:23560
+#: c/c-parser.cc:25618
 #, gcc-internal-format
 msgid "expected function-name %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:23579
+#: c/c-parser.cc:25637
 #, gcc-internal-format
 msgid "one of the initializer call arguments should be %<&omp_priv%>"
 msgstr ""
 
-#: c/c-parser.cc:23710 cp/parser.cc:48115
+#: c/c-parser.cc:25768 cp/parser.cc:49522
 #, gcc-internal-format
 msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
 msgstr ""
 
-#: c/c-parser.cc:23773 cp/parser.cc:48176
+#: c/c-parser.cc:25837 cp/parser.cc:49589
 #, gcc-internal-format
-msgid "expected %<seq_cst%>, %<relaxed%> or %<acq_rel%>"
+msgid ""
+"expected %<acq_rel%>, %<acquire%>, %<relaxed%>, %<release%> or %<seq_cst%>"
 msgstr ""
 
-#: c/c-parser.cc:23802 cp/parser.cc:48211
+#: c/c-parser.cc:25866 cp/parser.cc:49624
 #, gcc-internal-format
 msgid ""
 "expected %<unified_address%>, %<unified_shared_memory%>, "
@@ -49787,143 +51614,143 @@ msgid ""
 "clause"
 msgstr ""
 
-#: c/c-parser.cc:23820 cp/parser.cc:48229
+#: c/c-parser.cc:25884 cp/parser.cc:49642
 #, gcc-internal-format
 msgid ""
 "%qs clause used lexically after first target construct or offloading API"
 msgstr ""
 
-#: c/c-parser.cc:23832 cp/parser.cc:48241
+#: c/c-parser.cc:25896 cp/parser.cc:49654
 #, gcc-internal-format
 msgid ""
 "more than one %<atomic_default_mem_order%> clause in a single compilation "
 "unit"
 msgstr ""
 
-#: c/c-parser.cc:23841 cp/parser.cc:48250
+#: c/c-parser.cc:25905 cp/parser.cc:49663
 #, gcc-internal-format
 msgid ""
 "%<atomic_default_mem_order%> clause used lexically after first %<atomic%> "
 "construct without memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:23855 cp/parser.cc:48264
+#: c/c-parser.cc:25919 cp/parser.cc:49677
 #, gcc-internal-format
 msgid "%<pragma omp requires%> requires at least one clause"
 msgstr ""
 
-#: c/c-parser.cc:23874
+#: c/c-parser.cc:25938
 #, gcc-internal-format
 msgid "zero sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:23880
+#: c/c-parser.cc:25944
 #, gcc-internal-format
 msgid "variable sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:24037 cp/parser.cc:48321
+#: c/c-parser.cc:26101 cp/parser.cc:49734
 #, gcc-internal-format
 msgid "expected %<at%>, %<severity%> or %<message%> clause"
 msgstr ""
 
-#: c/c-parser.cc:24070 cp/parser.cc:48356
+#: c/c-parser.cc:26134 cp/parser.cc:49769
 #, gcc-internal-format
 msgid "expected %qs or %qs"
 msgstr ""
 
-#: c/c-parser.cc:24127 cp/parser.cc:48418
+#: c/c-parser.cc:26191 cp/parser.cc:49831
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp error%> with %<at(execution)%> clause may only be used in "
 "compound statements"
 msgstr ""
 
-#: c/c-parser.cc:24150 cp/parser.cc:48445
+#: c/c-parser.cc:26214 cp/parser.cc:49858
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered: %s"
 msgstr ""
 
-#: c/c-parser.cc:24153 cp/parser.cc:48448
+#: c/c-parser.cc:26217 cp/parser.cc:49861
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered"
 msgstr ""
 
-#: c/c-parser.cc:24180 cp/parser.cc:46868
+#: c/c-parser.cc:26244 cp/parser.cc:48159
 #, gcc-internal-format
 msgid "expected at least one assumption clause"
 msgstr ""
 
-#: c/c-parser.cc:24266 cp/parser.cc:46954
+#: c/c-parser.cc:26330 cp/parser.cc:48245
 #, gcc-internal-format
 msgid "expected directive name"
 msgstr ""
 
-#: c/c-parser.cc:24279 cp/parser.cc:46967
+#: c/c-parser.cc:26343 cp/parser.cc:48258
 #, gcc-internal-format
 msgid "unknown OpenMP directive name in %qs clause argument"
 msgstr ""
 
-#: c/c-parser.cc:24286 cp/parser.cc:46974
+#: c/c-parser.cc:26350 cp/parser.cc:48265
 #, gcc-internal-format
 msgid ""
 "%<%s%s%s%s%s%> directive mentioned in both %<absent%> and %<contains%> "
 "clauses"
 msgstr ""
 
-#: c/c-parser.cc:24297 cp/parser.cc:46985
+#: c/c-parser.cc:26361 cp/parser.cc:48276
 #, gcc-internal-format
 msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:24320 cp/parser.cc:47012
+#: c/c-parser.cc:26384 cp/parser.cc:48303
 #, gcc-internal-format
 msgid "unknown assumption clause %qs"
 msgstr ""
 
-#: c/c-parser.cc:24333 cp/parser.cc:47022
+#: c/c-parser.cc:26397 cp/parser.cc:48313
 #, gcc-internal-format
 msgid "expected assumption clause"
 msgstr ""
 
-#: c/c-parser.cc:24506 cp/semantics.cc:9474
+#: c/c-parser.cc:26567 cp/semantics.cc:9608
 #, gcc-internal-format
 msgid "%qE declared %<threadprivate%> after first use"
 msgstr ""
 
-#: c/c-parser.cc:24508 cp/semantics.cc:9476
+#: c/c-parser.cc:26569 cp/semantics.cc:9610
 #, gcc-internal-format
 msgid "automatic variable %qE cannot be %<threadprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:24512 cp/semantics.cc:9478
+#: c/c-parser.cc:26573 cp/semantics.cc:9612
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:24692 cp/parser.cc:49187
+#: c/c-parser.cc:26753 cp/parser.cc:50600
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c/c-parser.cc:24698 cp/parser.cc:49193
+#: c/c-parser.cc:26759 cp/parser.cc:50606
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:24707
+#: c/c-parser.cc:26768
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or "
 "a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c/c-parser.cc:24715 cp/parser.cc:49211
+#: c/c-parser.cc:26776 cp/parser.cc:50624
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:24799
+#: c/c-parser.cc:26869
 #, gcc-internal-format
 msgid "no closing brace"
 msgstr ""
@@ -49933,7 +51760,7 @@ msgstr ""
 msgid "%qD has an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:251 c/c-typeck.cc:11127 c/c-typeck.cc:11169 cp/call.cc:4872
+#: c/c-typeck.cc:251 c/c-typeck.cc:11336 c/c-typeck.cc:11378 cp/call.cc:4919
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr ""
@@ -49943,7 +51770,7 @@ msgstr ""
 msgid "invalid use of flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871
+#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3919
 #, gcc-internal-format
 msgid "invalid use of array with unspecified bounds"
 msgstr ""
@@ -49971,146 +51798,153 @@ msgid ""
 "arguments"
 msgstr ""
 
-#: c/c-typeck.cc:605 c/c-typeck.cc:630
+#: c/c-typeck.cc:707 c/c-typeck.cc:730
 #, gcc-internal-format
 msgid "function types not truly compatible in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:780
+#: c/c-typeck.cc:886
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and vector types"
 msgstr ""
 
-#: c/c-typeck.cc:785
+#: c/c-typeck.cc:891
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and complex types"
 msgstr ""
 
-#: c/c-typeck.cc:790
+#: c/c-typeck.cc:896
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and other floating types"
 msgstr ""
 
-#: c/c-typeck.cc:1335
+#: c/c-typeck.cc:926
+#, gcc-internal-format
+msgid "%<_Complex _BitInt(%d)%> unsupported"
+msgstr ""
+
+#: c/c-typeck.cc:1472
 #, gcc-internal-format
 msgid ""
 "invalid use of pointers to arrays with different qualifiers in ISO C before "
-"C2X"
+"C23"
 msgstr ""
 
-#: c/c-typeck.cc:1339
+#: c/c-typeck.cc:1476
 #, gcc-internal-format
 msgid "types are not quite compatible"
 msgstr ""
 
-#: c/c-typeck.cc:1343
+#: c/c-typeck.cc:1480
 #, gcc-internal-format
 msgid "pointer target types incompatible in C++"
 msgstr ""
 
-#: c/c-typeck.cc:1650
+#: c/c-typeck.cc:1655
 #, gcc-internal-format
 msgid "function return types not compatible due to %<volatile%>"
 msgstr ""
 
-#: c/c-typeck.cc:1911
+#: c/c-typeck.cc:1905
 #, gcc-internal-format
-msgid "converting an array compound literal to a pointer is ill-formed in C++"
+msgid ""
+"converting an array compound literal to a pointer leads to a dangling "
+"pointer in C++"
 msgstr ""
 
-#: c/c-typeck.cc:2564 c/c-typeck.cc:9643
+#: c/c-typeck.cc:2599 c/c-typeck.cc:9852
 #, gcc-internal-format
 msgid "%qT has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: c/c-typeck.cc:2568 c/c-typeck.cc:9647
+#: c/c-typeck.cc:2603 c/c-typeck.cc:9856
 #, gcc-internal-format
 msgid "%qT has no member named %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2577
+#: c/c-typeck.cc:2612
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic structure %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2580
+#: c/c-typeck.cc:2615
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic union %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2644
+#: c/c-typeck.cc:2679
 #, gcc-internal-format
 msgid ""
 "%qE is a pointer to pointer; did you mean to dereference it before applying "
 "%<->%> to it?"
 msgstr ""
 
-#: c/c-typeck.cc:2653
+#: c/c-typeck.cc:2688
 #, gcc-internal-format
 msgid "%qE is a pointer; did you mean to use %<->%>?"
 msgstr ""
 
-#: c/c-typeck.cc:2660
+#: c/c-typeck.cc:2695
 #, gcc-internal-format
 msgid "request for member %qE in something not a structure or union"
 msgstr ""
 
-#: c/c-typeck.cc:2708
+#: c/c-typeck.cc:2743
 #, gcc-internal-format
 msgid "dereferencing %<void *%> pointer"
 msgstr ""
 
-#: c/c-typeck.cc:2763
+#: c/c-typeck.cc:2798
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer nor vector"
 msgstr ""
 
-#: c/c-typeck.cc:2773 cp/typeck.cc:3991 cp/typeck.cc:4084
+#: c/c-typeck.cc:2808 cp/typeck.cc:4004 cp/typeck.cc:4098
 #, gcc-internal-format
 msgid "array subscript is not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:2779
+#: c/c-typeck.cc:2814
 #, gcc-internal-format
 msgid "subscripted value is pointer to function"
 msgstr ""
 
-#: c/c-typeck.cc:2833
+#: c/c-typeck.cc:2869
 #, gcc-internal-format
 msgid "ISO C forbids subscripting %<register%> array"
 msgstr ""
 
-#: c/c-typeck.cc:2836
+#: c/c-typeck.cc:2872
 #, gcc-internal-format
 msgid "ISO C90 forbids subscripting non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:2904
+#: c/c-typeck.cc:2991
 #, gcc-internal-format
 msgid "underspecified %qD referenced in its initializer"
 msgstr ""
 
-#: c/c-typeck.cc:2955
+#: c/c-typeck.cc:3046
 #, gcc-internal-format
 msgid "enum constant defined here"
 msgstr ""
 
-#: c/c-typeck.cc:3063 cp/typeck.cc:2141
+#: c/c-typeck.cc:3154 cp/typeck.cc:2141
 #, gcc-internal-format
 msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:3224
+#: c/c-typeck.cc:3315
 #, gcc-internal-format
 msgid "called object %qE is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3229
+#: c/c-typeck.cc:3320
 #, gcc-internal-format
 msgid "called object %qD is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3235
+#: c/c-typeck.cc:3326
 #, gcc-internal-format
 msgid "called object is not a function or function pointer"
 msgstr ""
@@ -50118,1758 +51952,1743 @@ msgstr ""
 #. This situation leads to run-time undefined behavior.  We can't,
 #. therefore, simply error unless we can prove that all possible
 #. executions of the program must execute the code.
-#: c/c-typeck.cc:3264
+#: c/c-typeck.cc:3355
 #, gcc-internal-format
 msgid "function called through a non-compatible type"
 msgstr ""
 
-#: c/c-typeck.cc:3269 c/c-typeck.cc:3324
+#: c/c-typeck.cc:3360 c/c-typeck.cc:3415
 #, gcc-internal-format
 msgid "function with qualified void return type called"
 msgstr ""
 
-#: c/c-typeck.cc:3379
+#: c/c-typeck.cc:3470
 #, gcc-internal-format, gfc-internal-format
 msgid "type of formal parameter %d is incomplete"
 msgstr ""
 
-#: c/c-typeck.cc:3391
+#: c/c-typeck.cc:3482
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3397
+#: c/c-typeck.cc:3488
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3403
+#: c/c-typeck.cc:3494
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3409
+#: c/c-typeck.cc:3500
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3415
+#: c/c-typeck.cc:3506
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3421
+#: c/c-typeck.cc:3512
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3437
+#: c/c-typeck.cc:3528
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as %<float%> rather than %<double%> due to "
 "prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3463
+#: c/c-typeck.cc:3554
 #, gcc-internal-format
 msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3489
+#: c/c-typeck.cc:3580
 #, gcc-internal-format
 msgid "passing argument %d of %qE with different width due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3513
+#: c/c-typeck.cc:3604
 #, gcc-internal-format
 msgid "passing argument %d of %qE as unsigned due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3518
+#: c/c-typeck.cc:3609
 #, gcc-internal-format
 msgid "passing argument %d of %qE as signed due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3672
+#: c/c-typeck.cc:3775
 #, gcc-internal-format
 msgid "too many arguments to method %qE"
 msgstr ""
 
-#: c/c-typeck.cc:3682
+#: c/c-typeck.cc:3785
 #, gcc-internal-format
 msgid "too many arguments to built-in function %qE expecting %d"
 msgstr ""
 
-#: c/c-typeck.cc:3757
+#: c/c-typeck.cc:3860
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT when passing argument to function"
 msgstr ""
 
-#: c/c-typeck.cc:3825
+#: c/c-typeck.cc:3930
 #, gcc-internal-format
 msgid "too few arguments to built-in function %qE expecting %u"
 msgstr ""
 
-#: c/c-typeck.cc:4003 c/c-typeck.cc:4031 cp/typeck.cc:5682 cp/typeck.cc:5965
+#: c/c-typeck.cc:4108 c/c-typeck.cc:4136 cp/typeck.cc:5780 cp/typeck.cc:6063
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behavior"
 msgstr ""
 
-#: c/c-typeck.cc:4011 c/c-typeck.cc:4022 cp/typeck.cc:5714 cp/typeck.cc:5738
+#: c/c-typeck.cc:4116 c/c-typeck.cc:4127 cp/typeck.cc:5812 cp/typeck.cc:5836
 #, gcc-internal-format
 msgid "comparison between pointer and zero character constant"
 msgstr ""
 
-#: c/c-typeck.cc:4014 c/c-typeck.cc:4025 cp/typeck.cc:5717 cp/typeck.cc:5741
+#: c/c-typeck.cc:4119 c/c-typeck.cc:4130 cp/typeck.cc:5815 cp/typeck.cc:5839
 #, gcc-internal-format
 msgid "did you mean to dereference the pointer?"
 msgstr ""
 
-#: c/c-typeck.cc:4052
+#: c/c-typeck.cc:4157
 #, gcc-internal-format
 msgid "comparison between %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4111
+#: c/c-typeck.cc:4216
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4114
+#: c/c-typeck.cc:4219
 #, gcc-internal-format
 msgid "pointer to a function used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4148
+#: c/c-typeck.cc:4253
 #, gcc-internal-format
 msgid "arithmetic on pointer to an incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:4157 cp/typeck.cc:6769
+#: c/c-typeck.cc:4262 cp/typeck.cc:6858
 #, gcc-internal-format
 msgid "arithmetic on pointer to an empty aggregate"
 msgstr ""
 
-#: c/c-typeck.cc:4600
+#: c/c-typeck.cc:4708
 #, gcc-internal-format
 msgid "%<~%> on a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4604
+#: c/c-typeck.cc:4712
 #, gcc-internal-format
 msgid "did you mean to use logical not?"
 msgstr ""
 
-#: c/c-typeck.cc:4614
+#: c/c-typeck.cc:4722
 #, gcc-internal-format
 msgid "ISO C does not support %<~%> for complex conjugation"
 msgstr ""
 
-#: c/c-typeck.cc:4638
+#: c/c-typeck.cc:4746
 #, gcc-internal-format
 msgid "wrong type argument to absu"
 msgstr ""
 
-#: c/c-typeck.cc:4663
+#: c/c-typeck.cc:4772
 #, gcc-internal-format
 msgid "wrong type argument to unary exclamation mark"
 msgstr ""
 
-#: c/c-typeck.cc:4721
+#: c/c-typeck.cc:4830
 #, gcc-internal-format
 msgid "increment of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4724
+#: c/c-typeck.cc:4833
 #, gcc-internal-format
 msgid "decrement of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4731
+#: c/c-typeck.cc:4840
 #, gcc-internal-format
 msgid "increment of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4734
+#: c/c-typeck.cc:4843
 #, gcc-internal-format
 msgid "decrement of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4750
+#: c/c-typeck.cc:4859
 #, gcc-internal-format
 msgid "ISO C does not support %<++%> and %<--%> on complex types"
 msgstr ""
 
-#: c/c-typeck.cc:4776 c/c-typeck.cc:4810
+#: c/c-typeck.cc:4885 c/c-typeck.cc:4919
 #, gcc-internal-format
 msgid "wrong type argument to increment"
 msgstr ""
 
-#: c/c-typeck.cc:4778 c/c-typeck.cc:4813
+#: c/c-typeck.cc:4887 c/c-typeck.cc:4922
 #, gcc-internal-format
 msgid "wrong type argument to decrement"
 msgstr ""
 
-#: c/c-typeck.cc:4798
+#: c/c-typeck.cc:4907
 #, gcc-internal-format
 msgid "increment of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4802
+#: c/c-typeck.cc:4911
 #, gcc-internal-format
 msgid "decrement of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4910
+#: c/c-typeck.cc:5019
 #, gcc-internal-format
 msgid "taking address of expression of type %<void%>"
 msgstr ""
 
-#: c/c-typeck.cc:4969 c/c-typeck.cc:5162
+#: c/c-typeck.cc:5078 c/c-typeck.cc:5271
 #, gcc-internal-format
 msgid "cannot take address of bit-field %qD"
 msgstr ""
 
-#: c/c-typeck.cc:4983
+#: c/c-typeck.cc:5092
 #, gcc-internal-format
 msgid "cannot take address of scalar with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:4991
+#: c/c-typeck.cc:5100
 #, gcc-internal-format
 msgid "address of array with reverse scalar storage order requested"
 msgstr ""
 
-#: c/c-typeck.cc:5177
+#: c/c-typeck.cc:5286
 #, gcc-internal-format
 msgid "address of register compound literal requested"
 msgstr ""
 
-#: c/c-typeck.cc:5198
+#: c/c-typeck.cc:5307
 #, gcc-internal-format
 msgid "global register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5201
+#: c/c-typeck.cc:5310
 #, gcc-internal-format
 msgid "register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5206
+#: c/c-typeck.cc:5315
 #, gcc-internal-format
 msgid "address of global register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5208 d/d-codegen.cc:721
+#: c/c-typeck.cc:5317 d/d-codegen.cc:721
 #, gcc-internal-format
 msgid "address of register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5347
+#: c/c-typeck.cc:5456
 #, gcc-internal-format
 msgid "non-lvalue array in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5429
+#: c/c-typeck.cc:5538
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other result of conditional"
 msgstr ""
 
-#: c/c-typeck.cc:5488 c/c-typeck.cc:5494
+#: c/c-typeck.cc:5597 c/c-typeck.cc:5603
 #, gcc-internal-format
 msgid ""
 "operand of %<?:%> changes signedness from %qT to %qT due to unsignedness of "
 "other operand"
 msgstr ""
 
-#: c/c-typeck.cc:5511
+#: c/c-typeck.cc:5620
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr with only one void side"
 msgstr ""
 
-#: c/c-typeck.cc:5528
+#: c/c-typeck.cc:5637
 #, gcc-internal-format
 msgid "pointers to disjoint address spaces used in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5552
+#: c/c-typeck.cc:5661
 #, gcc-internal-format
 msgid "pointer to array loses qualifier in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5556
+#: c/c-typeck.cc:5665
 #, gcc-internal-format
 msgid ""
 "pointer to array loses qualifier in conditional expression in ISO C before "
-"C2X"
+"C23"
 msgstr ""
 
-#: c/c-typeck.cc:5561
+#: c/c-typeck.cc:5670
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:5576
+#: c/c-typeck.cc:5692
 #, gcc-internal-format
-msgid ""
-"pointer type mismatch between %qT and %qT of %qD and %qD in conditional "
-"expression"
+msgid "pointer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5581
+#: c/c-typeck.cc:5695
 #, gcc-internal-format
-msgid "pointer type mismatch in conditional expression"
+msgid "first expression has type %qT"
+msgstr ""
+
+#: c/c-typeck.cc:5696
+#, gcc-internal-format
+msgid "second expression has type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:5590 c/c-typeck.cc:5601
+#: c/c-typeck.cc:5707 c/c-typeck.cc:5720
 #, gcc-internal-format
 msgid "pointer/integer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5622
+#: c/c-typeck.cc:5747
 #, gcc-internal-format
 msgid "type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5737
+#: c/c-typeck.cc:5862
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5741
+#: c/c-typeck.cc:5866
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5759
+#: c/c-typeck.cc:5884
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5764
+#: c/c-typeck.cc:5889
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5773 cp/cvt.cc:1100 rust/backend/rust-tree.cc:642
+#: c/c-typeck.cc:5898 cp/cvt.cc:1102 rust/backend/rust-tree.cc:640
 #, gcc-internal-format
 msgid "in call to %qD, declared here"
 msgstr ""
 
-#: c/c-typeck.cc:5822
+#: c/c-typeck.cc:5947
 #, gcc-internal-format
 msgid "left-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5840 c/c-typeck.cc:11702
+#: c/c-typeck.cc:5965 c/c-typeck.cc:11905
 #, gcc-internal-format
 msgid "right-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5911
+#: c/c-typeck.cc:6036
 msgid "cast adds %q#v qualifier to function type"
 msgstr ""
 
-#: c/c-typeck.cc:5917
+#: c/c-typeck.cc:6042
 msgid "cast discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:5952
+#: c/c-typeck.cc:6077
 #, gcc-internal-format
 msgid ""
 "to be safe all intermediate pointers in cast from %qT to %qT must be "
 "%<const%> qualified"
 msgstr ""
 
-#: c/c-typeck.cc:6046
+#: c/c-typeck.cc:6174
 #, gcc-internal-format
 msgid "cast specifies array type"
 msgstr ""
 
-#: c/c-typeck.cc:6052
+#: c/c-typeck.cc:6180
 #, gcc-internal-format
 msgid "cast specifies function type"
 msgstr ""
 
-#: c/c-typeck.cc:6067
+#: c/c-typeck.cc:6195
 #, gcc-internal-format
 msgid "ISO C forbids casting nonscalar to the same type"
 msgstr ""
 
-#: c/c-typeck.cc:6087
+#: c/c-typeck.cc:6199
+#, gcc-internal-format
+msgid "useless cast to type %qT"
+msgstr ""
+
+#: c/c-typeck.cc:6219
 #, gcc-internal-format
 msgid "ISO C forbids casts to union type"
 msgstr ""
 
-#: c/c-typeck.cc:6097
+#: c/c-typeck.cc:6229
 #, gcc-internal-format
 msgid "cast to union type from type not present in union"
 msgstr ""
 
-#: c/c-typeck.cc:6132
+#: c/c-typeck.cc:6264
 #, gcc-internal-format
 msgid ""
 "cast to %qs address space pointer from disjoint generic address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6137
+#: c/c-typeck.cc:6269
 #, gcc-internal-format
 msgid ""
 "cast to generic address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6142
+#: c/c-typeck.cc:6274
 #, gcc-internal-format
 msgid ""
 "cast to %qs address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6162
+#: c/c-typeck.cc:6307
 #, gcc-internal-format
 msgid "cast increases required alignment of target type"
 msgstr ""
 
-#: c/c-typeck.cc:6173
+#: c/c-typeck.cc:6319
 #, gcc-internal-format
 msgid "cast from pointer to integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6178
+#: c/c-typeck.cc:6324
 #, gcc-internal-format
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6187 cp/typeck.cc:9180
+#: c/c-typeck.cc:6334 cp/typeck.cc:9294
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6201
+#: c/c-typeck.cc:6348
 #, gcc-internal-format
 msgid "ISO C forbids conversion of function pointer to object pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6210
+#: c/c-typeck.cc:6357
 #, gcc-internal-format
 msgid "ISO C forbids conversion of object pointer to function pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6220
+#: c/c-typeck.cc:6367
 #, gcc-internal-format
 msgid "cast between incompatible function types from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6316
+#: c/c-typeck.cc:6479
 #, gcc-internal-format
 msgid "defining a type in a cast is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6357
+#: c/c-typeck.cc:6520
 #, gcc-internal-format
 msgid "assignment to expression with array type"
 msgstr ""
 
-#: c/c-typeck.cc:6483
+#: c/c-typeck.cc:6646
 #, gcc-internal-format
 msgid "enum conversion in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6685 c/c-typeck.cc:6707 c/c-typeck.cc:6733
+#: c/c-typeck.cc:6848 c/c-typeck.cc:6865 c/c-typeck.cc:6916
 #, gcc-internal-format
 msgid "(near initialization for %qs)"
 msgstr ""
 
-#: c/c-typeck.cc:6748
+#: c/c-typeck.cc:6931
 #, gcc-internal-format
 msgid "array initialized from parenthesized string constant"
 msgstr ""
 
-#: c/c-typeck.cc:6791 c/c-typeck.cc:7032
+#: c/c-typeck.cc:6974 c/c-typeck.cc:7215
 #, gcc-internal-format
 msgid "expected %qT but argument is of type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6825
+#: c/c-typeck.cc:7008
 #, gcc-internal-format
 msgid ""
 "%qD argument %d type is %qT where %qT is expected in a call to built-in "
 "function declared without prototype"
 msgstr ""
 
-#: c/c-typeck.cc:6828
+#: c/c-typeck.cc:7011
 #, gcc-internal-format
 msgid ""
 "%qD argument %d promotes to %qT where %qT is expected in a call to built-in "
 "function declared without prototype"
 msgstr ""
 
-#: c/c-typeck.cc:6833
+#: c/c-typeck.cc:7016
 #, gcc-internal-format
 msgid "built-in %qD declared here"
 msgstr ""
 
-#: c/c-typeck.cc:7027
+#: c/c-typeck.cc:7210
 #, gcc-internal-format
 msgid "enum conversion when passing argument %d of %qE is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7036
+#: c/c-typeck.cc:7219
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7041
+#: c/c-typeck.cc:7224
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7046
+#: c/c-typeck.cc:7229
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in return is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7064
+#: c/c-typeck.cc:7247
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7243 c/c-typeck.cc:7628
+#: c/c-typeck.cc:7426 c/c-typeck.cc:7824
 msgid ""
 "passing argument %d of %qE makes %q#v qualified function pointer from "
 "unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7246 c/c-typeck.cc:7631
+#: c/c-typeck.cc:7429 c/c-typeck.cc:7827
 msgid "assignment makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7249 c/c-typeck.cc:7633
+#: c/c-typeck.cc:7432 c/c-typeck.cc:7829
 msgid "initialization makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7252 c/c-typeck.cc:7635
+#: c/c-typeck.cc:7435 c/c-typeck.cc:7831
 msgid "return makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7260 c/c-typeck.cc:7519 c/c-typeck.cc:7562
+#: c/c-typeck.cc:7443 c/c-typeck.cc:7715 c/c-typeck.cc:7758
 msgid ""
 "passing argument %d of %qE discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7262 c/c-typeck.cc:7521 c/c-typeck.cc:7564
+#: c/c-typeck.cc:7445 c/c-typeck.cc:7717 c/c-typeck.cc:7760
 msgid "assignment discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7264 c/c-typeck.cc:7523 c/c-typeck.cc:7566
+#: c/c-typeck.cc:7447 c/c-typeck.cc:7719 c/c-typeck.cc:7762
 msgid "initialization discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7266 c/c-typeck.cc:7525 c/c-typeck.cc:7568
+#: c/c-typeck.cc:7449 c/c-typeck.cc:7721 c/c-typeck.cc:7764
 msgid "return discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7275
+#: c/c-typeck.cc:7458
 #, gcc-internal-format
 msgid "ISO C prohibits argument conversion to union type"
 msgstr ""
 
-#: c/c-typeck.cc:7343
+#: c/c-typeck.cc:7526
 #, gcc-internal-format
 msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7358
+#: c/c-typeck.cc:7553
 #, gcc-internal-format
 msgid "passing argument %d of %qE from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7369
+#: c/c-typeck.cc:7564
 #, gcc-internal-format
 msgid "assignment from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7380
+#: c/c-typeck.cc:7575
 #, gcc-internal-format
 msgid "initialization from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7390
+#: c/c-typeck.cc:7585
 #, gcc-internal-format
 msgid "return from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7406
+#: c/c-typeck.cc:7601
 #, gcc-internal-format
 msgid "expected %qT but pointer is of type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7421
+#: c/c-typeck.cc:7616
 #, gcc-internal-format
 msgid "argument %d of %qE might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7427
+#: c/c-typeck.cc:7622
 #, gcc-internal-format
 msgid "assignment left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7433
+#: c/c-typeck.cc:7628
 #, gcc-internal-format
 msgid ""
 "initialization left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7438 cp/typeck.cc:10343
+#: c/c-typeck.cc:7633 cp/typeck.cc:10457
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7461
+#: c/c-typeck.cc:7657
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible scalar storage order"
 msgstr ""
 
-#: c/c-typeck.cc:7471
+#: c/c-typeck.cc:7667
 #, gcc-internal-format
 msgid ""
 "assignment to %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7481
+#: c/c-typeck.cc:7677
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7486
+#: c/c-typeck.cc:7682
 #, gcc-internal-format
 msgid ""
 "returning %qT from pointer type with incompatible scalar storage order %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7536
+#: c/c-typeck.cc:7732
 #, gcc-internal-format
 msgid ""
 "ISO C forbids passing argument %d of %qE between function pointer and %<void "
 "*%>"
 msgstr ""
 
-#: c/c-typeck.cc:7539
+#: c/c-typeck.cc:7735
 #, gcc-internal-format
 msgid "ISO C forbids assignment between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7541
+#: c/c-typeck.cc:7737
 #, gcc-internal-format
 msgid "ISO C forbids initialization between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7543
+#: c/c-typeck.cc:7739
 #, gcc-internal-format
 msgid "ISO C forbids return between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7573
+#: c/c-typeck.cc:7769
 #, gcc-internal-format
-msgid "array with qualifier on the element is not qualified before C2X"
+msgid "array with qualifier on the element is not qualified before C23"
 msgstr ""
 
-#: c/c-typeck.cc:7590
+#: c/c-typeck.cc:7786
 #, gcc-internal-format
 msgid "pointer targets in passing argument %d of %qE differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7598
+#: c/c-typeck.cc:7794
 #, gcc-internal-format
 msgid "pointer targets in assignment from %qT to %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7604
+#: c/c-typeck.cc:7800
 #, gcc-internal-format
 msgid "pointer targets in initialization of %qT from %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7609
+#: c/c-typeck.cc:7805
 #, gcc-internal-format
 msgid ""
 "pointer targets in returning %qT from a function with return type %qT differ "
 "in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7651
+#: c/c-typeck.cc:7847
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:7659
+#: c/c-typeck.cc:7856
 #, gcc-internal-format
 msgid "assignment to %qT from pointer to %qD with incompatible type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7664
+#: c/c-typeck.cc:7861
 #, gcc-internal-format
 msgid "assignment to %qT from incompatible pointer type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7671
+#: c/c-typeck.cc:7868
 #, gcc-internal-format
 msgid "initialization of %qT from pointer to %qD with incompatible type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7676
+#: c/c-typeck.cc:7873
 #, gcc-internal-format
 msgid "initialization of %qT from incompatible pointer type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7683
+#: c/c-typeck.cc:7880
 #, gcc-internal-format
 msgid ""
 "returning pointer to %qD of type %qT from a function with incompatible type "
 "%qT"
 msgstr ""
 
-#: c/c-typeck.cc:7688
+#: c/c-typeck.cc:7885
 #, gcc-internal-format
 msgid "returning %qT from a function with incompatible return type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7728
+#: c/c-typeck.cc:7927
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7735
+#: c/c-typeck.cc:7934
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7741
+#: c/c-typeck.cc:7940
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7745
+#: c/c-typeck.cc:7945
 #, gcc-internal-format
 msgid ""
 "returning %qT from a function with return type %qT makes pointer from "
 "integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7765
+#: c/c-typeck.cc:7966
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7772
+#: c/c-typeck.cc:7973
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7778
+#: c/c-typeck.cc:7979
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7782
+#: c/c-typeck.cc:7983
 #, gcc-internal-format
 msgid ""
 "returning %qT from a function with return type %qT makes integer from "
 "pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7814
+#: c/c-typeck.cc:8015
 #, gcc-internal-format
 msgid "incompatible type for argument %d of %qE"
 msgstr ""
 
-#: c/c-typeck.cc:7825
+#: c/c-typeck.cc:8026
 #, gcc-internal-format
 msgid "incompatible types when assigning to type %qT from type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7836
+#: c/c-typeck.cc:8037
 #, gcc-internal-format
 msgid "incompatible types when initializing type %qT using type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7846
+#: c/c-typeck.cc:8047
 #, gcc-internal-format
 msgid "incompatible types when returning type %qT but %qT was expected"
 msgstr ""
 
-#: c/c-typeck.cc:7926
+#: c/c-typeck.cc:8127
 #, gcc-internal-format
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr ""
 
-#: c/c-typeck.cc:8168
+#: c/c-typeck.cc:8369
 #, gcc-internal-format
 msgid "%<constexpr%> pointer initializer is not null"
 msgstr ""
 
-#: c/c-typeck.cc:8176
+#: c/c-typeck.cc:8377
 #, gcc-internal-format
 msgid "%<constexpr%> integer initializer is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8179 c/c-typeck.cc:8241 c/c-typeck.cc:8378
+#: c/c-typeck.cc:8380 c/c-typeck.cc:8442 c/c-typeck.cc:8579
 #, gcc-internal-format
 msgid "%<constexpr%> initializer not representable in type of object"
 msgstr ""
 
-#: c/c-typeck.cc:8189
+#: c/c-typeck.cc:8390
 #, gcc-internal-format
 msgid "%<constexpr%> initializer is not an arithmetic constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8206
+#: c/c-typeck.cc:8407
 #, gcc-internal-format
 msgid "%<constexpr%> initializer for a real type is of complex type"
 msgstr ""
 
-#: c/c-typeck.cc:8215
+#: c/c-typeck.cc:8416
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> initializer for a binary floating-point type is of decimal type"
 msgstr ""
 
-#: c/c-typeck.cc:8343 c/c-typeck.cc:9269 cp/typeck2.cc:1223
+#: c/c-typeck.cc:8544 c/c-typeck.cc:9478 cp/typeck2.cc:1219
 #, gcc-internal-format
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:8359 cp/typeck2.cc:1240
+#: c/c-typeck.cc:8560 cp/typeck2.cc:1236
 #, gcc-internal-format
 msgid ""
 "cannot initialize array of %qT from a string literal with type array of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:8418
+#: c/c-typeck.cc:8619
 #, gcc-internal-format
 msgid "array of inappropriate type initialized from string constant"
 msgstr ""
 
-#: c/c-typeck.cc:8486 cp/typeck.cc:2533
+#: c/c-typeck.cc:8687 cp/typeck.cc:2533
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:8505 c/c-typeck.cc:8529 c/c-typeck.cc:8532 c/c-typeck.cc:8540
-#: c/c-typeck.cc:8587 c/c-typeck.cc:10133 c/c-typeck.cc:10212
+#: c/c-typeck.cc:8701 c/c-typeck.cc:8827 c/c-typeck.cc:9563
+#, gcc-internal-format
+msgid "invalid initializer"
+msgstr ""
+
+#: c/c-typeck.cc:8713 c/c-typeck.cc:8737 c/c-typeck.cc:8740 c/c-typeck.cc:8748
+#: c/c-typeck.cc:8796 c/c-typeck.cc:10342 c/c-typeck.cc:10421
 #, gcc-internal-format
 msgid "initializer element is not constant"
 msgstr ""
 
-#: c/c-typeck.cc:8514
+#: c/c-typeck.cc:8722
 #, gcc-internal-format
 msgid "array initialized from non-constant array expression"
 msgstr ""
 
-#: c/c-typeck.cc:8545 c/c-typeck.cc:8600 c/c-typeck.cc:10222
+#: c/c-typeck.cc:8753 c/c-typeck.cc:8809 c/c-typeck.cc:10431
 #, gcc-internal-format
 msgid "initializer element is not a constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8594 c/c-typeck.cc:10217
+#: c/c-typeck.cc:8803 c/c-typeck.cc:10426
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr ""
 
-#: c/c-typeck.cc:8618 c/c-typeck.cc:9354
-#, gcc-internal-format
-msgid "invalid initializer"
-msgstr ""
-
-#: c/c-typeck.cc:8896 cp/decl.cc:7476
+#: c/c-typeck.cc:9105 cp/decl.cc:7691
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
 msgstr ""
 
-#: c/c-typeck.cc:9116
+#: c/c-typeck.cc:9325
 #, gcc-internal-format
 msgid "extra brace group at end of initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9199
+#: c/c-typeck.cc:9408
 #, gcc-internal-format
 msgid "braces around scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9266 c/c-typeck.cc:10755 cp/typeck2.cc:1250 cp/typeck2.cc:1608
+#: c/c-typeck.cc:9475 c/c-typeck.cc:10964 cp/typeck2.cc:1246 cp/typeck2.cc:1604
 #, gcc-internal-format
 msgid "initialization of flexible array member in a nested context"
 msgstr ""
 
-#: c/c-typeck.cc:9303
+#: c/c-typeck.cc:9512
 #, gcc-internal-format
 msgid "missing braces around initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9326
+#: c/c-typeck.cc:9535
 #, gcc-internal-format
 msgid "missing initializer for field %qD of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:9366
+#: c/c-typeck.cc:9575
 #, gcc-internal-format
 msgid "extra elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9485 c/c-typeck.cc:9567
+#: c/c-typeck.cc:9694 c/c-typeck.cc:9776
 #, gcc-internal-format
 msgid "array index in non-array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9490 c/c-typeck.cc:9629
+#: c/c-typeck.cc:9699 c/c-typeck.cc:9838
 #, gcc-internal-format
 msgid "field name not in record or union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9540
+#: c/c-typeck.cc:9749
 #, gcc-internal-format
 msgid "array index in initializer not of integer type"
 msgstr ""
 
-#: c/c-typeck.cc:9549 c/c-typeck.cc:9558
+#: c/c-typeck.cc:9758 c/c-typeck.cc:9767
 #, gcc-internal-format
 msgid "array index in initializer is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:9563 c/c-typeck.cc:9565
+#: c/c-typeck.cc:9772 c/c-typeck.cc:9774
 #, gcc-internal-format
 msgid "nonconstant array index in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9569 c/c-typeck.cc:9572
+#: c/c-typeck.cc:9778 c/c-typeck.cc:9781
 #, gcc-internal-format
 msgid "array index in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9591
+#: c/c-typeck.cc:9800
 #, gcc-internal-format
 msgid "empty index range in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9600
+#: c/c-typeck.cc:9809
 #, gcc-internal-format
 msgid "array index range in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9702 c/c-typeck.cc:9732 c/c-typeck.cc:10310
+#: c/c-typeck.cc:9911 c/c-typeck.cc:9941 c/c-typeck.cc:10519
 #, gcc-internal-format
 msgid "initialized field with side-effects overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:9706 c/c-typeck.cc:9736 c/c-typeck.cc:10313
+#: c/c-typeck.cc:9915 c/c-typeck.cc:9945 c/c-typeck.cc:10522
 #, gcc-internal-format
 msgid "initialized field overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:10244
+#: c/c-typeck.cc:10453
 #, gcc-internal-format
 msgid "enum conversion in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:10625
+#: c/c-typeck.cc:10834
 #, gcc-internal-format
 msgid "excess elements in %qT initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10637 c/c-typeck.cc:10714
+#: c/c-typeck.cc:10846 c/c-typeck.cc:10923
 #, gcc-internal-format
 msgid "excess elements in struct initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10658
+#: c/c-typeck.cc:10867
 #, gcc-internal-format
 msgid ""
 "positional initialization of field in %<struct%> declared with "
 "%<designated_init%> attribute"
 msgstr ""
 
-#: c/c-typeck.cc:10729 cp/typeck2.cc:1227
+#: c/c-typeck.cc:10938 cp/typeck2.cc:1223
 #, gcc-internal-format
 msgid "non-static initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:10824
+#: c/c-typeck.cc:11033
 #, gcc-internal-format
 msgid "excess elements in union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10846
+#: c/c-typeck.cc:11055
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr ""
 
-#: c/c-typeck.cc:10908
+#: c/c-typeck.cc:11117
 #, gcc-internal-format
 msgid "excess elements in array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10942
+#: c/c-typeck.cc:11151
 #, gcc-internal-format
 msgid "excess elements in vector initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10974
+#: c/c-typeck.cc:11183
 #, gcc-internal-format
 msgid "excess elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:11217
+#: c/c-typeck.cc:11426
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr ""
 
-#: c/c-typeck.cc:11223
+#: c/c-typeck.cc:11432
 #, gcc-internal-format
 msgid "computed goto must be pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:11252 c/gimple-parser.cc:2471 cp/typeck.cc:10945
+#: c/c-typeck.cc:11461 c/gimple-parser.cc:2562 cp/typeck.cc:11056
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr ""
 
-#: c/c-typeck.cc:11280 c/c-typeck.cc:11284
+#: c/c-typeck.cc:11488
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr ""
 
-#: c/c-typeck.cc:11298 c/gimple-parser.cc:2481
+#: c/c-typeck.cc:11501 c/gimple-parser.cc:2572
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:11301
+#: c/c-typeck.cc:11504
 #, gcc-internal-format
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:11378
+#: c/c-typeck.cc:11581
 #, gcc-internal-format
 msgid "function returns address of label"
 msgstr ""
 
-#: c/c-typeck.cc:11469 cp/semantics.cc:1540
+#: c/c-typeck.cc:11672 cp/semantics.cc:1637
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:11494
+#: c/c-typeck.cc:11697
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:11532 c/c-typeck.cc:11540
+#: c/c-typeck.cc:11735 c/c-typeck.cc:11743
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:11546 cp/parser.cc:12781
+#: c/c-typeck.cc:11749 cp/parser.cc:13099
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11548
+#: c/c-typeck.cc:11751
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11624 cp/parser.cc:14397
+#: c/c-typeck.cc:11827 cp/parser.cc:14819
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c/c-typeck.cc:11627 c/c-typeck.cc:11647 cp/decl.cc:3849 cp/parser.cc:14407
-#: cp/parser.cc:14428
+#: c/c-typeck.cc:11830 c/c-typeck.cc:11850 cp/decl.cc:4052 cp/parser.cc:14829
+#: cp/parser.cc:14850
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: c/c-typeck.cc:11630 cp/parser.cc:14410
+#: c/c-typeck.cc:11833 cp/parser.cc:14832
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c/c-typeck.cc:11644 cp/parser.cc:14420
+#: c/c-typeck.cc:11847 cp/parser.cc:14842
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c/c-typeck.cc:11684 cp/cp-gimplify.cc:256
+#: c/c-typeck.cc:11887 cp/cp-gimplify.cc:272
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c/c-typeck.cc:11728
+#: c/c-typeck.cc:11931
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:12019
+#: c/c-typeck.cc:12222
 #, 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:12024
+#: c/c-typeck.cc:12227
 #, 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:12042 c/c-typeck.cc:12080
+#: c/c-typeck.cc:12245 c/c-typeck.cc:12283
 #, gcc-internal-format
 msgid ""
 "the comparison will always evaluate as %<false%> for the address of %qE will "
 "never be NULL"
 msgstr ""
 
-#: c/c-typeck.cc:12047 c/c-typeck.cc:12085
+#: c/c-typeck.cc:12250 c/c-typeck.cc:12288
 #, gcc-internal-format
 msgid ""
 "the comparison will always evaluate as %<true%> for the address of %qE will "
 "never be NULL"
 msgstr ""
 
-#: c/c-typeck.cc:12667 c/c-typeck.cc:12828 cp/typeck.cc:5987
+#: c/c-typeck.cc:12880 c/c-typeck.cc:13044 cp/typeck.cc:6085
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c/c-typeck.cc:12675 c/c-typeck.cc:12836 cp/typeck.cc:6000
+#: c/c-typeck.cc:12888 c/c-typeck.cc:13052 cp/typeck.cc:6098
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c/c-typeck.cc:12690 c/c-typeck.cc:12851 cp/typeck.cc:6018
+#: c/c-typeck.cc:12903 c/c-typeck.cc:13067 cp/typeck.cc:6116
 #, gcc-internal-format
 msgid "comparison between types %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12700 c/c-typeck.cc:12861 cp/typeck.cc:6035
+#: c/c-typeck.cc:12913 c/c-typeck.cc:13077 cp/typeck.cc:6133
 #, gcc-internal-format
 msgid "could not find an integer type of the same size as %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12714 cp/typeck.cc:5671
+#: c/c-typeck.cc:12927 cp/typeck.cc:5769
 #, gcc-internal-format
 msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
 msgstr ""
 
-#: c/c-typeck.cc:12752 c/c-typeck.cc:12902
+#: c/c-typeck.cc:12966 c/c-typeck.cc:13118
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:12759 c/c-typeck.cc:12765
+#: c/c-typeck.cc:12973 c/c-typeck.cc:12979
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12772 c/c-typeck.cc:12912
+#: c/c-typeck.cc:12986 c/c-typeck.cc:13128
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c/c-typeck.cc:12784 c/c-typeck.cc:12789 c/c-typeck.cc:12938
-#: c/c-typeck.cc:12943
+#: c/c-typeck.cc:12999 c/c-typeck.cc:13005 c/c-typeck.cc:13155
+#: c/c-typeck.cc:13161
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c/c-typeck.cc:12890
+#: c/c-typeck.cc:13106
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c/c-typeck.cc:12892
+#: c/c-typeck.cc:13108
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c/c-typeck.cc:12897
+#: c/c-typeck.cc:13113
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12920 c/c-typeck.cc:12923 c/c-typeck.cc:12930
-#: c/c-typeck.cc:12933
+#: c/c-typeck.cc:13136 c/c-typeck.cc:13139 c/c-typeck.cc:13146
+#: c/c-typeck.cc:13149
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c/c-typeck.cc:13009
+#: c/c-typeck.cc:13226
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other operand of binary "
 "expression"
 msgstr ""
 
-#: c/c-typeck.cc:13327
+#: c/c-typeck.cc:13544
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13331
+#: c/c-typeck.cc:13548
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13335
+#: c/c-typeck.cc:13552
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13351
+#: c/c-typeck.cc:13568
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13541 cp/semantics.cc:11158
+#: c/c-typeck.cc:13771 cp/semantics.cc:11320
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, "
 "%<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13552 c/c-typeck.cc:13562 cp/semantics.cc:11169
-#: cp/semantics.cc:11179
+#: c/c-typeck.cc:13782 c/c-typeck.cc:13792 cp/semantics.cc:11331
+#: cp/semantics.cc:11341
 #, gcc-internal-format
 msgid "expected %<cancel%> %<if%> clause modifier"
 msgstr ""
 
-#: c/c-typeck.cc:13597 cp/semantics.cc:11214
+#: c/c-typeck.cc:13827 cp/semantics.cc:11376
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp cancellation point%> must specify one of %<parallel%>, "
 "%<for%>, %<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13642 c/c-typeck.cc:15367 c/c-typeck.cc:15503
-#: c/c-typeck.cc:15586
-#, gcc-internal-format
-msgid "%<_Atomic%> %qE in %qs clause"
-msgstr ""
-
-#: c/c-typeck.cc:13666 c/c-typeck.cc:15282 c/c-typeck.cc:15489
-#: cp/semantics.cc:5239 cp/semantics.cc:8014 cp/semantics.cc:8274
-#, gcc-internal-format
-msgid "bit-field %qE in %qs clause"
-msgstr ""
-
-#: c/c-typeck.cc:13675 c/c-typeck.cc:15513 cp/semantics.cc:5249
-#: cp/semantics.cc:8295
-#, gcc-internal-format
-msgid "%qE is a member of a union"
-msgstr ""
-
-#: c/c-typeck.cc:13692 c/c-typeck.cc:15522 cp/semantics.cc:8304
-#, gcc-internal-format
-msgid "cannot dereference %qE in %qs clause"
-msgstr ""
-
-#: c/c-typeck.cc:13703 cp/semantics.cc:5274 cp/semantics.cc:8349
+#: c/c-typeck.cc:13895 cp/semantics.cc:5481 cp/semantics.cc:8489
 #, gcc-internal-format
 msgid "%qD is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13707 c/c-typeck.cc:15550 cp/semantics.cc:5278
-#: cp/semantics.cc:8353
+#: c/c-typeck.cc:13899 c/c-typeck.cc:15706 cp/semantics.cc:5485
+#: cp/semantics.cc:8493
 #, gcc-internal-format
 msgid "%qE is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13715
+#: c/c-typeck.cc:13907
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13725 c/c-typeck.cc:15557 c/c-typeck.cc:15687
-#: cp/semantics.cc:5287 cp/semantics.cc:8360 cp/semantics.cc:8556
+#: c/c-typeck.cc:13917 c/c-typeck.cc:15713 c/c-typeck.cc:15867
+#: cp/semantics.cc:5494 cp/semantics.cc:8500 cp/semantics.cc:8688
 #, gcc-internal-format
 msgid "%qD is threadprivate variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13762 cp/semantics.cc:5321
+#: c/c-typeck.cc:13954 cp/semantics.cc:5528
 #, gcc-internal-format
 msgid "low bound %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13769 cp/semantics.cc:5328
+#: c/c-typeck.cc:13961 cp/semantics.cc:5535
 #, gcc-internal-format
 msgid "length %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13792 cp/semantics.cc:5361
+#: c/c-typeck.cc:13984 cp/semantics.cc:5568
 #, gcc-internal-format
 msgid "expected single pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13810 c/c-typeck.cc:13877 c/c-typeck.cc:14169
-#: cp/semantics.cc:5379 cp/semantics.cc:5446
+#: c/c-typeck.cc:14002 c/c-typeck.cc:14069 c/c-typeck.cc:14362
+#: cp/semantics.cc:5586 cp/semantics.cc:5653
 #, gcc-internal-format
 msgid "zero length array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13829 cp/semantics.cc:5398
+#: c/c-typeck.cc:14021 cp/semantics.cc:5605
 #, gcc-internal-format
 msgid "for unknown bound array type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13837 cp/semantics.cc:5406
+#: c/c-typeck.cc:14029 cp/semantics.cc:5613
 #, gcc-internal-format
 msgid "negative low bound in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13846 c/c-typeck.cc:13970 cp/semantics.cc:5415
-#: cp/semantics.cc:5539
+#: c/c-typeck.cc:14038 c/c-typeck.cc:14162 cp/semantics.cc:5622
+#: cp/semantics.cc:5746
 #, gcc-internal-format
 msgid "negative length in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13863 cp/semantics.cc:5432
+#: c/c-typeck.cc:14055 cp/semantics.cc:5639
 #, gcc-internal-format
 msgid "low bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13906 cp/semantics.cc:5475
+#: c/c-typeck.cc:14098 cp/semantics.cc:5682
 #, gcc-internal-format
 msgid "length %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13921 cp/semantics.cc:5490
+#: c/c-typeck.cc:14113 cp/semantics.cc:5697
 #, gcc-internal-format
 msgid "high bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13958 cp/semantics.cc:5527
+#: c/c-typeck.cc:14150 cp/semantics.cc:5734
 #, gcc-internal-format
 msgid "for array function parameter length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13962 cp/semantics.cc:5531
+#: c/c-typeck.cc:14154 cp/semantics.cc:5738
 #, gcc-internal-format
 msgid "for pointer type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13989 c/c-typeck.cc:14108 cp/semantics.cc:5558
-#: cp/semantics.cc:5692
+#: c/c-typeck.cc:14182 c/c-typeck.cc:14301 cp/semantics.cc:5765
+#: cp/semantics.cc:5901
 #, gcc-internal-format
 msgid "array section is not contiguous in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13999 cp/semantics.cc:5568
+#: c/c-typeck.cc:14192 cp/semantics.cc:5775
 #, gcc-internal-format
 msgid "%qE does not have pointer or array type"
 msgstr ""
 
-#: c/c-typeck.cc:14386 cp/semantics.cc:6673
+#: c/c-typeck.cc:14568 cp/semantics.cc:6837
 #, gcc-internal-format
 msgid "iterator %qD has neither integral nor pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:14393
+#: c/c-typeck.cc:14575
 #, gcc-internal-format
 msgid "iterator %qD has %<_Atomic%> qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:14399 cp/semantics.cc:6680
+#: c/c-typeck.cc:14581 cp/semantics.cc:6844
 #, gcc-internal-format
 msgid "iterator %qD has const qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:14412 cp/semantics.cc:6696
+#: c/c-typeck.cc:14594 cp/semantics.cc:6860
 #, gcc-internal-format
 msgid "iterator step with non-integral type"
 msgstr ""
 
-#: c/c-typeck.cc:14432 cp/semantics.cc:6732
+#: c/c-typeck.cc:14614 cp/semantics.cc:6896
 #, gcc-internal-format
 msgid "iterator %qD has zero step"
 msgstr ""
 
-#: c/c-typeck.cc:14459
+#: c/c-typeck.cc:14641
 #, gcc-internal-format
 msgid "type of iterator %qD refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14466 cp/semantics.cc:6766
+#: c/c-typeck.cc:14648 cp/semantics.cc:6930
 #, gcc-internal-format
 msgid "begin expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14472 cp/semantics.cc:6772
+#: c/c-typeck.cc:14654 cp/semantics.cc:6936
 #, gcc-internal-format
 msgid "end expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14478 cp/semantics.cc:6778
+#: c/c-typeck.cc:14660 cp/semantics.cc:6942
 #, gcc-internal-format
 msgid "step expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14515 cp/semantics.cc:6826
+#: c/c-typeck.cc:14697 cp/semantics.cc:6990
 #, gcc-internal-format
 msgid "expected pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14610 cp/semantics.cc:6914
+#: c/c-typeck.cc:14792 cp/semantics.cc:7079
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
 msgstr ""
 
-#: c/c-typeck.cc:14632 cp/semantics.cc:6934
+#: c/c-typeck.cc:14814 cp/semantics.cc:7099
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause with array section"
 msgstr ""
 
-#: c/c-typeck.cc:14658 c/c-typeck.cc:14668
+#: c/c-typeck.cc:14840 c/c-typeck.cc:14850
 #, gcc-internal-format
 msgid "%qD in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: c/c-typeck.cc:14688
+#: c/c-typeck.cc:14870
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14700
+#: c/c-typeck.cc:14882
 #, gcc-internal-format
 msgid "zero sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14708
+#: c/c-typeck.cc:14890
 #, gcc-internal-format
 msgid "variable sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14752
+#: c/c-typeck.cc:14934
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c/c-typeck.cc:14761 cp/semantics.cc:6565
+#: c/c-typeck.cc:14943 cp/semantics.cc:6729
 #, gcc-internal-format
 msgid "user defined reduction not found for %qE"
 msgstr ""
 
-#: c/c-typeck.cc:14849
+#: c/c-typeck.cc:15031
 #, gcc-internal-format
 msgid "variable length element type in array %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14867 c/c-typeck.cc:15781 cp/semantics.cc:9091
+#: c/c-typeck.cc:15049 c/c-typeck.cc:15961 cp/semantics.cc:9225
 #, gcc-internal-format
 msgid "%<nowait%> clause must not be used together with %<copyprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14879 cp/semantics.cc:9159
+#: c/c-typeck.cc:15061 cp/semantics.cc:9293
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c/c-typeck.cc:14894 cp/semantics.cc:6977
+#: c/c-typeck.cc:15076 cp/semantics.cc:7142
 #, gcc-internal-format
 msgid ""
 "modifier should not be specified in %<linear%> clause on %<simd%> or %<for%> "
 "constructs when not using OpenMP 5.2 modifiers"
 msgstr ""
 
-#: c/c-typeck.cc:14903
+#: c/c-typeck.cc:15085
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:14911
+#: c/c-typeck.cc:15093
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<linear%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14930 cp/semantics.cc:7061
+#: c/c-typeck.cc:15112 cp/semantics.cc:7226
 #, gcc-internal-format
 msgid "%<linear%> clause step %qE is neither constant nor a parameter"
 msgstr ""
 
-#: c/c-typeck.cc:14960 c/c-typeck.cc:15681 c/c-typeck.cc:15926
-#: cp/semantics.cc:7148 cp/semantics.cc:8550 cp/semantics.cc:8900
+#: c/c-typeck.cc:15142 c/c-typeck.cc:15861 c/c-typeck.cc:16108
+#: cp/semantics.cc:7313 cp/semantics.cc:8682 cp/semantics.cc:9033
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:14978 cp/semantics.cc:7166
+#: c/c-typeck.cc:15159 cp/semantics.cc:7331
 #, gcc-internal-format
 msgid "%qD appears more than once in data-sharing clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14989 cp/semantics.cc:7177
+#: c/c-typeck.cc:15170 cp/semantics.cc:7342
 #, gcc-internal-format
 msgid "%qD appears more than once in reduction clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15003 c/c-typeck.cc:15073 c/c-typeck.cc:15107
+#: c/c-typeck.cc:15184 c/c-typeck.cc:15254 c/c-typeck.cc:15289
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15013 c/c-typeck.cc:15080 c/c-typeck.cc:15411
-#: c/c-typeck.cc:15604 c/c-typeck.cc:15612 c/c-typeck.cc:15629
-#: c/c-typeck.cc:15639 c/c-typeck.cc:15647 cp/semantics.cc:7191
-#: cp/semantics.cc:7201 cp/semantics.cc:7294 cp/semantics.cc:7301
-#: cp/semantics.cc:7348 cp/semantics.cc:8183 cp/semantics.cc:8414
-#: cp/semantics.cc:8422 cp/semantics.cc:8439 cp/semantics.cc:8449
-#: cp/semantics.cc:8457
+#: c/c-typeck.cc:15194 c/c-typeck.cc:15262 c/c-typeck.cc:15609
+#: c/c-typeck.cc:15761 c/c-typeck.cc:15769 c/c-typeck.cc:15785
+#: c/c-typeck.cc:15794 c/c-typeck.cc:15802 cp/semantics.cc:7356
+#: cp/semantics.cc:7366 cp/semantics.cc:7459 cp/semantics.cc:7467
+#: cp/semantics.cc:7514 cp/semantics.cc:8371 cp/semantics.cc:8560
+#: cp/semantics.cc:8568 cp/semantics.cc:8588 cp/semantics.cc:8597
+#: cp/semantics.cc:8605
 #, gcc-internal-format
 msgid "%qD appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15016 c/c-typeck.cc:15086 c/c-typeck.cc:15615
-#: c/c-typeck.cc:15650 cp/semantics.cc:7204 cp/semantics.cc:7307
-#: cp/semantics.cc:8425 cp/semantics.cc:8460
+#: c/c-typeck.cc:15197 c/c-typeck.cc:15268 c/c-typeck.cc:15805
+#: cp/semantics.cc:7369 cp/semantics.cc:7473 cp/semantics.cc:8608
 #, gcc-internal-format
 msgid "%qD appears both in data and map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15061 cp/semantics.cc:7281
+#: c/c-typeck.cc:15242 cp/semantics.cc:7446
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:15100 cp/semantics.cc:7340
+#: c/c-typeck.cc:15282 cp/semantics.cc:7506
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:15119 cp/semantics.cc:7735
+#: c/c-typeck.cc:15301 cp/semantics.cc:7904
 #, gcc-internal-format
 msgid "%qE is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15126
+#: c/c-typeck.cc:15308
 #, gcc-internal-format
 msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15133
+#: c/c-typeck.cc:15315
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15140
+#: c/c-typeck.cc:15322
 #, gcc-internal-format
 msgid "%qE appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15153 cp/semantics.cc:7806
+#: c/c-typeck.cc:15335 cp/semantics.cc:7975
 #, gcc-internal-format
 msgid "%qE is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15159
+#: c/c-typeck.cc:15341
 #, gcc-internal-format
 msgid "%qE appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15172 cp/semantics.cc:7845
+#: c/c-typeck.cc:15354 cp/semantics.cc:8014
 #, gcc-internal-format
 msgid "%qE is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15178
+#: c/c-typeck.cc:15360
 #, gcc-internal-format
 msgid "%qE appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15248 cp/semantics.cc:7971
+#: c/c-typeck.cc:15430 cp/semantics.cc:8140
 #, gcc-internal-format
 msgid "%<depend%> clause with %<depobj%> dependence type on array section"
 msgstr ""
 
-#: c/c-typeck.cc:15263 cp/semantics.cc:7986
+#: c/c-typeck.cc:15445 cp/semantics.cc:8155
 #, gcc-internal-format
 msgid ""
 "%<omp_all_memory%> used with %<depend%> kind other than %<out%> or %<inout%>"
 msgstr ""
 
-#: c/c-typeck.cc:15271 cp/semantics.cc:8004
+#: c/c-typeck.cc:15453 cp/semantics.cc:8173
 #, gcc-internal-format
 msgid "%qE is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15292 cp/semantics.cc:8026
+#: c/c-typeck.cc:15474 cp/semantics.cc:8195
 #, gcc-internal-format
 msgid ""
 "%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> "
 "dependence type"
 msgstr ""
 
-#: c/c-typeck.cc:15302 cp/semantics.cc:8038
+#: c/c-typeck.cc:15484 cp/semantics.cc:8207
 #, 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:15359 cp/semantics.cc:8133
+#: c/c-typeck.cc:15545 cp/semantics.cc:8306
 #, gcc-internal-format
 msgid "array section does not have mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15407 c/c-typeck.cc:15626 cp/semantics.cc:8179
-#: cp/semantics.cc:8436
+#: c/c-typeck.cc:15565 c/c-typeck.cc:15641 c/c-typeck.cc:15677
+#: cp/semantics.cc:8326 cp/semantics.cc:8405 cp/semantics.cc:8441
 #, gcc-internal-format
-msgid "%qD appears more than once in motion clauses"
+msgid "unsupported map expression %qE"
 msgstr ""
 
-#: c/c-typeck.cc:15415 c/c-typeck.cc:15632 cp/semantics.cc:8187
-#: cp/semantics.cc:8442
+#: c/c-typeck.cc:15605 c/c-typeck.cc:15782 cp/semantics.cc:8367
+#: cp/semantics.cc:8585
 #, gcc-internal-format
-msgid "%qD appears more than once in map clauses"
+msgid "%qD appears more than once in motion clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15496 cp/semantics.cc:8281
+#: c/c-typeck.cc:15613 c/c-typeck.cc:15788 cp/semantics.cc:8375
+#: cp/semantics.cc:8591
 #, gcc-internal-format
-msgid "%qE does not have a mappable type in %qs clause"
+msgid "%qD appears more than once in map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15577 c/c-typeck.cc:15694 cp/semantics.cc:8383
-#: cp/semantics.cc:8563
+#: c/c-typeck.cc:15732 c/c-typeck.cc:15874 cp/semantics.cc:8528
+#: cp/semantics.cc:8695
 #, gcc-internal-format
 msgid "%qD does not have a mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15677 cp/semantics.cc:8545
+#: c/c-typeck.cc:15857 cp/semantics.cc:8677
 #, gcc-internal-format
 msgid "%qE is neither a variable nor a function name in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15703 cp/semantics.cc:8575
+#: c/c-typeck.cc:15883 cp/semantics.cc:8707
 #, gcc-internal-format
 msgid "%qE appears more than once on the same %<declare target%> directive"
 msgstr ""
 
-#: c/c-typeck.cc:15717 cp/semantics.cc:8591
+#: c/c-typeck.cc:15897 cp/semantics.cc:8723
 #, gcc-internal-format
 msgid "%qD is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15720 cp/semantics.cc:8594
+#: c/c-typeck.cc:15900 cp/semantics.cc:8726
 #, gcc-internal-format
 msgid "%qE is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15739
+#: c/c-typeck.cc:15919
 #, gcc-internal-format
 msgid "%qs variable is not a pointer"
 msgstr ""
 
-#: c/c-typeck.cc:15746
+#: c/c-typeck.cc:15926
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15794 c/c-typeck.cc:15887 cp/semantics.cc:9053
+#: c/c-typeck.cc:15974 c/c-typeck.cc:16069 cp/semantics.cc:9187
 #, gcc-internal-format
 msgid "%<order%> clause must not be used together with %<ordered%>"
 msgstr ""
 
-#: c/c-typeck.cc:15814 cp/semantics.cc:8078
+#: c/c-typeck.cc:15994 cp/semantics.cc:8247
 #, gcc-internal-format
 msgid "too many %qs clauses on a task construct"
 msgstr ""
 
-#: c/c-typeck.cc:15909 cp/semantics.cc:8868
+#: c/c-typeck.cc:16091 cp/semantics.cc:9001
 #, gcc-internal-format
 msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
 msgstr ""
 
-#: c/c-typeck.cc:15976 cp/semantics.cc:9230
+#: c/c-typeck.cc:16158 cp/semantics.cc:9364
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15986
+#: c/c-typeck.cc:16168
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> "
 "clauses"
 msgstr ""
 
-#: c/c-typeck.cc:16017 cp/semantics.cc:9005
+#: c/c-typeck.cc:16199 cp/semantics.cc:9139
 #, gcc-internal-format
 msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
 msgstr ""
 
-#: c/c-typeck.cc:16029 cp/semantics.cc:9018
+#: c/c-typeck.cc:16211 cp/semantics.cc:9152
 #, gcc-internal-format
 msgid ""
 "%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16040 c/c-typeck.cc:16048 cp/semantics.cc:9027
-#: cp/semantics.cc:9045
+#: c/c-typeck.cc:16222 c/c-typeck.cc:16230 cp/semantics.cc:9161
+#: cp/semantics.cc:9179
 #, gcc-internal-format
 msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16096 cp/semantics.cc:8985
+#: c/c-typeck.cc:16278 cp/semantics.cc:9119
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16147 cp/semantics.cc:9035
+#: c/c-typeck.cc:16329 cp/semantics.cc:9169
 #, gcc-internal-format
 msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16157 cp/semantics.cc:9064
+#: c/c-typeck.cc:16339 cp/semantics.cc:9198
 #, gcc-internal-format
 msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16175 cp/semantics.cc:9255
+#: c/c-typeck.cc:16357 cp/semantics.cc:9389
 #, gcc-internal-format
 msgid ""
 "the event handle of a %<detach%> clause should not be in a data-sharing "
 "clause"
 msgstr ""
 
-#: c/c-typeck.cc:16349
+#: c/c-typeck.cc:16532
 #, gcc-internal-format
 msgid "cannot use %<va_arg%> with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:16354
+#: c/c-typeck.cc:16537
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is of incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:16360
+#: c/c-typeck.cc:16543
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is a function type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:16366
+#: c/c-typeck.cc:16549
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -51889,1681 +53708,1748 @@ msgstr ""
 msgid "expected frequency value"
 msgstr ""
 
-#: c/gimple-parser.cc:325
+#: c/gimple-parser.cc:331
 #, gcc-internal-format
 msgid "edge not found"
 msgstr ""
 
-#: c/gimple-parser.cc:341
+#: c/gimple-parser.cc:347
 #, gcc-internal-format
 msgid "SSA name %qE with version %d has no definition"
 msgstr ""
 
-#: c/gimple-parser.cc:491 c/gimple-parser.cc:497
+#: c/gimple-parser.cc:497 c/gimple-parser.cc:503
 #, gcc-internal-format
 msgid "expected block index"
 msgstr ""
 
-#: c/gimple-parser.cc:505
+#: c/gimple-parser.cc:511
 #, gcc-internal-format
 msgid "invalid block index"
 msgstr ""
 
-#: c/gimple-parser.cc:516
+#: c/gimple-parser.cc:522
 #, gcc-internal-format
 msgid "expected block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:534
+#: c/gimple-parser.cc:540
 #, gcc-internal-format
 msgid "expected loop number"
 msgstr ""
 
-#: c/gimple-parser.cc:552
+#: c/gimple-parser.cc:558
 #, gcc-internal-format
 msgid "unknown block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:565 c/gimple-parser.cc:1983
+#: c/gimple-parser.cc:571 c/gimple-parser.cc:2073
 #, gcc-internal-format
 msgid "expected count value"
 msgstr ""
 
-#: c/gimple-parser.cc:588 c/gimple-parser.cc:675
+#: c/gimple-parser.cc:594 c/gimple-parser.cc:681
 #, gcc-internal-format
 msgid "stmts without block"
 msgstr ""
 
-#: c/gimple-parser.cc:625
+#: c/gimple-parser.cc:631
 #, gcc-internal-format
 msgid "duplicate loop header"
 msgstr ""
 
-#: c/gimple-parser.cc:832
+#: c/gimple-parser.cc:838
 #, gcc-internal-format
 msgid "invalid source block specification"
 msgstr ""
 
-#: c/gimple-parser.cc:899
+#: c/gimple-parser.cc:905
 #, gcc-internal-format
 msgid "unexpected RHS for assignment"
 msgstr ""
 
-#: c/gimple-parser.cc:1003
+#: c/gimple-parser.cc:1005
 #, gcc-internal-format
 msgid "%<&&%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1006
+#: c/gimple-parser.cc:1008
 #, gcc-internal-format
 msgid "%<||%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1120
+#: c/gimple-parser.cc:1162
 #, gcc-internal-format
 msgid "expected pointer as argument of unary %<*%>"
 msgstr ""
 
-#: c/gimple-parser.cc:1146
+#: c/gimple-parser.cc:1188
 #, gcc-internal-format
 msgid "%<!%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1205 c/gimple-parser.cc:1543
+#: c/gimple-parser.cc:1247 c/gimple-parser.cc:1633
 #, gcc-internal-format
 msgid "expected constant offset"
 msgstr ""
 
-#: c/gimple-parser.cc:1266
+#: c/gimple-parser.cc:1308
 #, gcc-internal-format
 msgid "SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1288
+#: c/gimple-parser.cc:1330
 #, gcc-internal-format
 msgid "base variable or SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1295
+#: c/gimple-parser.cc:1337
 #, gcc-internal-format
 msgid "invalid base %qE for SSA name"
 msgstr ""
 
-#: c/gimple-parser.cc:1323
+#: c/gimple-parser.cc:1365
 #, gcc-internal-format
 msgid "expecting internal function name"
 msgstr ""
 
-#: c/gimple-parser.cc:1336
+#: c/gimple-parser.cc:1378
 #, gcc-internal-format
 msgid "unknown internal function %qE"
 msgstr ""
 
-#: c/gimple-parser.cc:1475
+#: c/gimple-parser.cc:1520
 #, gcc-internal-format
 msgid "invalid type of %<__MEM%> operand"
 msgstr ""
 
-#: c/gimple-parser.cc:1537
+#: c/gimple-parser.cc:1563
+#, gcc-internal-format
+msgid "expected constant offset for %<__MEM%> operand"
+msgstr ""
+
+#: c/gimple-parser.cc:1574
+#, gcc-internal-format
+msgid "expected constant step for %<__MEM%> operand"
+msgstr ""
+
+#: c/gimple-parser.cc:1627
 #, gcc-internal-format
 msgid "expected constant size"
 msgstr ""
 
-#: c/gimple-parser.cc:1575 c/gimple-parser.cc:1605 c/gimple-parser.cc:1645
-#: c/gimple-parser.cc:1653 c/gimple-parser.cc:1662
+#: c/gimple-parser.cc:1665 c/gimple-parser.cc:1695 c/gimple-parser.cc:1735
+#: c/gimple-parser.cc:1743 c/gimple-parser.cc:1752
 #, gcc-internal-format
 msgid "invalid _Literal"
 msgstr ""
 
-#: c/gimple-parser.cc:1584
+#: c/gimple-parser.cc:1674
 #, gcc-internal-format
 msgid "invalid type for _Literal with constructor"
 msgstr ""
 
-#: c/gimple-parser.cc:1697
+#: c/gimple-parser.cc:1787
 #, gcc-internal-format
 msgid "anonymous SSA name cannot have default definition"
 msgstr ""
 
-#: c/gimple-parser.cc:1781
+#: c/gimple-parser.cc:1871
 #, gcc-internal-format
 msgid "invalid call to non-function"
 msgstr ""
 
-#: c/gimple-parser.cc:1837
+#: c/gimple-parser.cc:1927
 #, gcc-internal-format
 msgid "dereference of non-pointer"
 msgstr ""
 
-#: c/gimple-parser.cc:1964
+#: c/gimple-parser.cc:2054
 #, gcc-internal-format
 msgid "expected pass name"
 msgstr ""
 
-#: c/gimple-parser.cc:2003
+#: c/gimple-parser.cc:2093
 #, gcc-internal-format
 msgid "invalid operation"
 msgstr ""
 
-#: c/gimple-parser.cc:2167
+#: c/gimple-parser.cc:2258
 #, gcc-internal-format
 msgid "comparison required"
 msgstr ""
 
-#: c/gimple-parser.cc:2219
+#: c/gimple-parser.cc:2310
 #, gcc-internal-format
 msgid "%<catch%> is not supported"
 msgstr ""
 
-#: c/gimple-parser.cc:2221
+#: c/gimple-parser.cc:2312
 #, gcc-internal-format
 msgid "expected %<finally%> or %<catch%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2265 c/gimple-parser.cc:2302
+#: c/gimple-parser.cc:2356 c/gimple-parser.cc:2393
 #, gcc-internal-format
 msgid "expected goto expression"
 msgstr ""
 
-#: c/gimple-parser.cc:2273
+#: c/gimple-parser.cc:2364
 #, gcc-internal-format
 msgid "expected else statement"
 msgstr ""
 
-#: c/gimple-parser.cc:2416
+#: c/gimple-parser.cc:2507
 #, gcc-internal-format
 msgid "expected case label"
 msgstr ""
 
 #. A bad conversion for 'this' must be discarding cv-quals.
-#: cp/call.cc:3842
+#: cp/call.cc:3865
 #, gcc-internal-format
 msgid "  passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:3846
+#: cp/call.cc:3869
 msgid "  no known conversion for implicit %<this%> parameter from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3853
+#: cp/call.cc:3876
 #, gcc-internal-format, gfc-internal-format
 msgid "  conversion of argument %d would be ill-formed:"
 msgstr ""
 
 #. Conversion of conversion function return value failed.
-#: cp/call.cc:3861
+#: cp/call.cc:3884
 msgid "  no known conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3867
+#: cp/call.cc:3890
 msgid "  no known conversion for argument %d from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3881 cp/pt.cc:7018
+#: cp/call.cc:3904 cp/pt.cc:7090
 #, 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] ""
 msgstr[1] ""
 
-#: cp/call.cc:3886 cp/pt.cc:7023
+#: cp/call.cc:3909 cp/pt.cc:7095
 #, gcc-internal-format, gfc-internal-format
 msgid "  candidate expects %d argument, %d provided"
 msgid_plural "  candidate expects %d arguments, %d provided"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:3914
+#: cp/call.cc:3937
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3919
+#: cp/call.cc:3942
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3923
+#: cp/call.cc:3946
 #, gcc-internal-format
 msgid "%s%<%D(%T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3927
+#: cp/call.cc:3950
 #, gcc-internal-format
 msgid "%s%qT (conversion)"
 msgstr ""
 
-#: cp/call.cc:3929
+#: cp/call.cc:3952
 #, gcc-internal-format
 msgid "%s%#qD (near match)"
 msgstr ""
 
-#: cp/call.cc:3931
+#: cp/call.cc:3954
+#, gcc-internal-format
+msgid "%s%#qD (ignored)"
+msgstr ""
+
+#: cp/call.cc:3956
 #, gcc-internal-format
 msgid "%s%#qD (deleted)"
 msgstr ""
 
-#: cp/call.cc:3933
+#: cp/call.cc:3958
 #, gcc-internal-format
 msgid "%s%#qD (reversed)"
 msgstr ""
 
-#: cp/call.cc:3935
+#: cp/call.cc:3960
 #, gcc-internal-format
 msgid "%s%#qD (rewritten)"
 msgstr ""
 
-#: cp/call.cc:3937
+#: cp/call.cc:3962
 #, gcc-internal-format
 msgid "%s%#qD"
 msgstr ""
 
-#: cp/call.cc:3941
+#: cp/call.cc:3966
 #, gcc-internal-format
 msgid "  inherited here"
 msgstr ""
 
-#: cp/call.cc:3962
+#: cp/call.cc:3987
 #, gcc-internal-format
 msgid ""
 "  return type %qT of explicit conversion function cannot be converted to %qT "
 "with a qualification conversion"
 msgstr ""
 
-#: cp/call.cc:3968
+#: cp/call.cc:3993
 #, gcc-internal-format
 msgid ""
 "  conversion from return type %qT of template conversion function "
 "specialization to %qT is not an exact match"
 msgstr ""
 
-#: cp/call.cc:3979
+#: cp/call.cc:4004
 #, gcc-internal-format
 msgid ""
 "  substitution of deduced template arguments resulted in errors seen above"
 msgstr ""
 
 #. Re-run template unification with diagnostics.
-#: cp/call.cc:3984
+#: cp/call.cc:4009
 #, gcc-internal-format
 msgid "  template argument deduction/substitution failed:"
 msgstr ""
 
-#: cp/call.cc:3998
+#: cp/call.cc:4023
 #, gcc-internal-format
 msgid ""
 "  a constructor taking a single argument of its own class type is invalid"
 msgstr ""
 
-#: cp/call.cc:4005
+#: cp/call.cc:4030
 #, gcc-internal-format
 msgid ""
 "  an inherited constructor is not a candidate for initialization from an "
 "expression of the same or derived type"
 msgstr ""
 
-#: cp/call.cc:4141 cp/call.cc:4683
+#: cp/call.cc:4109
+#, gcc-internal-format
+msgid ""
+"some candidates omitted; use %<-fdiagnostics-all-candidates%> to display them"
+msgstr ""
+
+#: cp/call.cc:4190 cp/call.cc:4735
 #, gcc-internal-format
 msgid "designated initializers cannot be used with a non-aggregate type %qT"
 msgstr ""
 
-#: cp/call.cc:4580
+#: cp/call.cc:4629
 msgid "conversion from %qH to %qI is ambiguous"
 msgstr ""
 
-#: cp/call.cc:4689 cp/cvt.cc:864
+#: cp/call.cc:4741 cp/cvt.cc:864
 msgid "could not convert %qE from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:4756
+#: cp/call.cc:4806
 msgid ""
 "initializing %qH with %qI in converted constant expression does not bind "
 "directly"
 msgstr ""
 
-#: cp/call.cc:4777
+#: cp/call.cc:4827
 msgid "conversion from %qH to %qI in a converted constant expression"
 msgstr ""
 
-#: cp/call.cc:4965
+#: cp/call.cc:5012
 #, gcc-internal-format
 msgid "no matching function for call to %<%D(%A)%>"
 msgstr ""
 
-#: cp/call.cc:4968
+#: cp/call.cc:5015
 #, gcc-internal-format
 msgid "call of overloaded %<%D(%A)%> is ambiguous"
 msgstr ""
 
 #. It's no good looking for an overloaded operator() on a
 #. pointer-to-member-function.
-#: cp/call.cc:5255
+#: cp/call.cc:5299
 #, gcc-internal-format
 msgid ""
 "pointer-to-member function %qE cannot be called without an object; consider "
 "using %<.*%> or %<->*%>"
 msgstr ""
 
-#: cp/call.cc:5335
+#: cp/call.cc:5378
 #, gcc-internal-format
 msgid "no match for call to %<(%T) (%A)%>"
 msgstr ""
 
-#: cp/call.cc:5349
+#: cp/call.cc:5392
 #, gcc-internal-format
 msgid "call of %<(%T) (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:5395
+#: cp/call.cc:5435
 #, gcc-internal-format
 msgid "ambiguous overload for "
 msgstr ""
 
-#: cp/call.cc:5396
+#: cp/call.cc:5436
 #, gcc-internal-format
 msgid "no match for "
 msgstr ""
 
-#: cp/call.cc:5399
+#: cp/call.cc:5439
 #, gcc-internal-format
 msgid " (operand types are %qT, %qT, and %qT)"
 msgstr ""
 
-#: cp/call.cc:5401
+#: cp/call.cc:5441
 #, gcc-internal-format
 msgid " (operand types are %qT and %qT)"
 msgstr ""
 
-#: cp/call.cc:5403
+#: cp/call.cc:5443
 #, gcc-internal-format
 msgid " (operand type is %qT)"
 msgstr ""
 
-#: cp/call.cc:5420
+#: cp/call.cc:5460
 #, gcc-internal-format
 msgid "ternary %<operator?:%>"
 msgstr ""
 
-#: cp/call.cc:5424
+#: cp/call.cc:5464
 #, gcc-internal-format
 msgid "ternary %<operator?:%> in %<%E ? %E : %E%>"
 msgstr ""
 
-#: cp/call.cc:5433 cp/call.cc:5477 cp/call.cc:5487
+#: cp/call.cc:5473 cp/call.cc:5517 cp/call.cc:5527
 #, gcc-internal-format
 msgid "%<operator%s%>"
 msgstr ""
 
-#: cp/call.cc:5436
+#: cp/call.cc:5476
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E%s%>"
 msgstr ""
 
-#: cp/call.cc:5443
+#: cp/call.cc:5483
 #, gcc-internal-format
 msgid "%<operator[]%>"
 msgstr ""
 
-#: cp/call.cc:5446
+#: cp/call.cc:5486
 #, gcc-internal-format
 msgid "%<operator[]%> in %<%E[%E]%>"
 msgstr ""
 
-#: cp/call.cc:5454
+#: cp/call.cc:5494
 #, gcc-internal-format
 msgid "%qs"
 msgstr ""
 
-#: cp/call.cc:5457
+#: cp/call.cc:5497
 #, gcc-internal-format
 msgid "%qs in %<%s %E%>"
 msgstr ""
 
-#: cp/call.cc:5463
+#: cp/call.cc:5503
 #, gcc-internal-format
 msgid "%<operator %s%>"
 msgstr ""
 
-#: cp/call.cc:5466
+#: cp/call.cc:5506
 #, gcc-internal-format
 msgid "%<operator %s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5481
+#: cp/call.cc:5521
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E %s %E%>"
 msgstr ""
 
-#: cp/call.cc:5490
+#: cp/call.cc:5530
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5603
+#: cp/call.cc:5642
 #, gcc-internal-format
 msgid "ISO C++ forbids omitting the middle term of a %<?:%> expression"
 msgstr ""
 
-#: cp/call.cc:5678
+#: cp/call.cc:5719
 #, gcc-internal-format
 msgid ""
 "inferred scalar type %qT is not an integer or floating-point type of the "
 "same size as %qT"
 msgstr ""
 
-#: cp/call.cc:5695 cp/call.cc:5702
+#: cp/call.cc:5736 cp/call.cc:5743
 msgid "conversion of scalar %qH to vector %qI involves truncation"
 msgstr ""
 
-#: cp/call.cc:5758
+#: cp/call.cc:5799
 #, gcc-internal-format
 msgid "incompatible vector types in conditional expression: %qT, %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:5810 cp/call.cc:6162 cp/call.cc:6182
+#: cp/call.cc:5851 cp/call.cc:6197 cp/call.cc:6217
 #, gcc-internal-format
 msgid "operands to %<?:%> of types %qT and %qT have unordered conversion rank"
 msgstr ""
 
-#: cp/call.cc:5882
+#: cp/call.cc:5923
 #, gcc-internal-format
 msgid ""
 "second operand to the conditional operator is of type %<void%>, but the "
 "third operand is neither a throw-expression nor of type %<void%>"
 msgstr ""
 
-#: cp/call.cc:5887
+#: cp/call.cc:5928
 #, gcc-internal-format
 msgid ""
 "third operand to the conditional operator is of type %<void%>, but the "
 "second operand is neither a throw-expression nor of type %<void%>"
 msgstr ""
 
-#: cp/call.cc:5936 cp/call.cc:6051 cp/call.cc:6285
+#: cp/call.cc:5974 cp/call.cc:6086 cp/call.cc:6337
 #, gcc-internal-format
 msgid "operands to %<?:%> have different types %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:5940
+#: cp/call.cc:5978
 #, gcc-internal-format
 msgid "  and each type can be converted to the other"
 msgstr ""
 
-#: cp/call.cc:6190
+#: cp/call.cc:6225
 msgid ""
 "implicit conversion from %qH to %qI to match other result of conditional"
 msgstr ""
 
-#: cp/call.cc:6206
+#: cp/call.cc:6243
 #, gcc-internal-format
 msgid "enumerated mismatch in conditional expression: %qT vs %qT"
 msgstr ""
 
-#: cp/call.cc:6219
+#: cp/call.cc:6263
+#, gcc-internal-format
+msgid ""
+"conditional expression between enumeration type %qT and floating-point type "
+"%qT"
+msgstr ""
+
+#: cp/call.cc:6267
+#, gcc-internal-format
+msgid ""
+"conditional expression between floating-point type %qT and enumeration type "
+"%qT"
+msgstr ""
+
+#: cp/call.cc:6271
 #, gcc-internal-format
 msgid ""
 "conditional expression between enumeration type %qT and floating-point type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:6224
+#: cp/call.cc:6276
 #, gcc-internal-format
 msgid ""
 "conditional expression between floating-point type %qT and enumeration type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:6240
+#: cp/call.cc:6292
 #, gcc-internal-format
 msgid "enumerated and non-enumerated type in conditional expression"
 msgstr ""
 
-#: cp/call.cc:7091
+#: cp/call.cc:7184
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr ""
 
-#: cp/call.cc:7093
+#: cp/call.cc:7186
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs"
 msgstr ""
 
-#: cp/call.cc:7173
+#: cp/call.cc:7266
 #, gcc-internal-format
 msgid ""
 "in C++20 this comparison calls the current function recursively with "
 "reversed arguments"
 msgstr ""
 
-#: cp/call.cc:7226
+#: cp/call.cc:7319
 #, gcc-internal-format
 msgid "return type of %qD is not %qs"
 msgstr ""
 
-#: cp/call.cc:7228
+#: cp/call.cc:7321
 #, gcc-internal-format
 msgid "used as rewritten candidate for comparison of %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:7305
+#: cp/call.cc:7404
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr ""
 
-#: cp/call.cc:7498
+#: cp/call.cc:7591
 #, gcc-internal-format
 msgid "no match for call to %<%T::operator[] (%A)%>"
 msgstr ""
 
-#: cp/call.cc:7512
+#: cp/call.cc:7605
 #, gcc-internal-format
 msgid "call of %<%T::operator[] (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:7793
+#: cp/call.cc:7883
 #, gcc-internal-format
 msgid ""
 "exception cleanup for this placement new selects non-placement %<operator "
 "delete%>"
 msgstr ""
 
-#: cp/call.cc:7796
+#: cp/call.cc:7886
 #, gcc-internal-format
 msgid ""
 "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-"
 "fsized-deallocation%>)"
 msgstr ""
 
-#: cp/call.cc:7833
+#: cp/call.cc:7923
 #, gcc-internal-format
 msgid "%qD is a usual (non-placement) deallocation function"
 msgstr ""
 
-#: cp/call.cc:8027
+#: cp/call.cc:8117
 #, gcc-internal-format
 msgid "no corresponding deallocation function for %qD"
 msgstr ""
 
-#: cp/call.cc:8030
+#: cp/call.cc:8120
 #, 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:8039
+#: cp/call.cc:8129
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr ""
 
-#: cp/call.cc:8075
+#: cp/call.cc:8165
 #, gcc-internal-format
 msgid "%q#D is private within this context"
 msgstr ""
 
-#: cp/call.cc:8076 cp/decl.cc:8888
+#: cp/call.cc:8166 cp/decl.cc:9117
 #, gcc-internal-format
 msgid "declared private here"
 msgstr ""
 
-#: cp/call.cc:8081
+#: cp/call.cc:8171
 #, gcc-internal-format
 msgid "%q#D is protected within this context"
 msgstr ""
 
-#: cp/call.cc:8082 cp/decl.cc:8889
+#: cp/call.cc:8172 cp/decl.cc:9118
 #, gcc-internal-format
 msgid "declared protected here"
 msgstr ""
 
-#: cp/call.cc:8089
+#: cp/call.cc:8179
 #, gcc-internal-format
 msgid "%q#D is inaccessible within this context"
 msgstr ""
 
-#: cp/call.cc:8170
+#: cp/call.cc:8260
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8173 cp/call.cc:8192 cp/decl.cc:10560 cp/decl.cc:10568
-#: cp/typeck.cc:4591
+#: cp/call.cc:8263 cp/call.cc:8282 cp/decl.cc:10846 cp/decl.cc:10854
+#: cp/typeck.cc:4605
 #, gcc-internal-format
 msgid "  declared here"
 msgstr ""
 
-#: cp/call.cc:8177
+#: cp/call.cc:8267
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr ""
 
-#: cp/call.cc:8189
+#: cp/call.cc:8279
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type for argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8196
+#: cp/call.cc:8286
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type %qT"
 msgstr ""
 
-#: cp/call.cc:8263
+#: cp/call.cc:8353
 #, gcc-internal-format
 msgid "  initializing argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8284
+#: cp/call.cc:8374
 #, gcc-internal-format
 msgid ""
 "conversions to arrays of unknown bound are only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/call.cc:8334
+#: cp/call.cc:8424
 #, gcc-internal-format
 msgid "too many braces around initializer for %qT"
 msgstr ""
 
-#: cp/call.cc:8345
+#: cp/call.cc:8435
 msgid "converting to %qH from %qI requires direct-initialization"
 msgstr ""
 
-#: cp/call.cc:8357
-msgid "converting to %qH from %qI with greater conversion rank"
+#: cp/call.cc:8447
+msgid ""
+"ISO C++ does not allow converting to %qH from %qI with greater conversion "
+"rank"
 msgstr ""
 
-#: cp/call.cc:8364
-msgid "converting to %qH from %qI with unordered conversion ranks"
+#: cp/call.cc:8455
+msgid ""
+"ISO C++ does not allow converting to %qH from %qI with unordered conversion "
+"rank"
 msgstr ""
 
-#: cp/call.cc:8379
+#: cp/call.cc:8471
 msgid "invalid user-defined conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:8412 cp/cvt.cc:227
+#: cp/call.cc:8504 cp/cvt.cc:227
 msgid "invalid conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:8459 cp/call.cc:8466
+#: cp/call.cc:8551 cp/call.cc:8564
 #, gcc-internal-format
 msgid ""
 "converting to %qT from initializer list would use explicit constructor %qD"
 msgstr ""
 
-#: cp/call.cc:8462
+#: cp/call.cc:8557
 #, gcc-internal-format
 msgid "in C++11 and above a default constructor can be explicit"
 msgstr ""
 
-#: cp/call.cc:8743
+#: cp/call.cc:8842
 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8752
+#: cp/call.cc:8851
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to a value of type %qI"
 msgstr ""
 
-#: cp/call.cc:8757
+#: cp/call.cc:8856
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
 #. extype is volatile
-#: cp/call.cc:8760
+#: cp/call.cc:8859
 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8773
+#: cp/call.cc:8872
 msgid "cannot bind reference of type %qH to %qI due to different array bounds"
 msgstr ""
 
-#: cp/call.cc:8776
+#: cp/call.cc:8875
 msgid "binding reference of type %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:8815
+#: cp/call.cc:8914
 #, gcc-internal-format
 msgid "cannot bind bit-field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8818 cp/call.cc:8836
+#: cp/call.cc:8917 cp/call.cc:8935
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8821
+#: cp/call.cc:8920
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:9022
+#: cp/call.cc:9121
 msgid "implicit conversion from %qH to %qI when passing argument to function"
 msgstr ""
 
-#: cp/call.cc:9051 cp/cvt.cc:1992
+#: cp/call.cc:9150 cp/cvt.cc:1997
 #, gcc-internal-format
 msgid ""
 "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, "
 "%qT after"
 msgstr ""
 
-#: cp/call.cc:9095
+#: cp/call.cc:9194
 #, gcc-internal-format
 msgid ""
 "passing objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally supported"
 msgstr ""
 
-#: cp/call.cc:9131
+#: cp/call.cc:9230
 #, gcc-internal-format
 msgid "cannot receive reference type %qT through %<...%>"
 msgstr ""
 
-#: cp/call.cc:9141
+#: cp/call.cc:9240
 #, gcc-internal-format
 msgid ""
 "receiving objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally-supported"
 msgstr ""
 
-#: cp/call.cc:9209
+#: cp/call.cc:9308
 #, gcc-internal-format
 msgid "recursive evaluation of default argument for %q#D"
 msgstr ""
 
-#: cp/call.cc:9218
+#: cp/call.cc:9317
 #, gcc-internal-format
 msgid ""
 "call to %qD uses the default argument for parameter %P, which is not yet "
 "defined"
 msgstr ""
 
-#: cp/call.cc:9318
+#: cp/call.cc:9417
 #, gcc-internal-format
 msgid "argument of function call might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/call.cc:9388
+#: cp/call.cc:9497
 #, gcc-internal-format
 msgid "use of multiversioned function without a default"
 msgstr ""
 
-#: cp/call.cc:10013
+#: cp/call.cc:10002
+#, gcc-internal-format
+msgid "use %<-fdiagnostics-all-candidates%> to display considered candidates"
+msgstr ""
+
+#: cp/call.cc:10125
 #, gcc-internal-format
 msgid "passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:10016 cp/call.cc:12786
+#: cp/call.cc:10128 cp/call.cc:12974
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
 
-#: cp/call.cc:10041
+#: cp/call.cc:10153
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr ""
 
-#: cp/call.cc:10246
+#: cp/call.cc:10378
 #, gcc-internal-format
 msgid "passing arguments to ellipsis of inherited constructor %qD"
 msgstr ""
 
-#: cp/call.cc:10381
+#: cp/call.cc:10515
 #, gcc-internal-format
 msgid ""
 "assignment from temporary %<initializer_list%> does not extend the lifetime "
 "of the underlying array"
 msgstr ""
 
-#: cp/call.cc:10778
+#: cp/call.cc:10882
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment"
 msgstr ""
 
-#: cp/call.cc:10781
+#: cp/call.cc:10885
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10786
+#: cp/call.cc:10890
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with %qs member %qD"
 msgstr ""
 
-#: cp/call.cc:10791
+#: cp/call.cc:10895
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of type %#qT containing a pointer to data member%s"
 msgstr ""
 
-#: cp/call.cc:10806
+#: cp/call.cc:10910
 #, gcc-internal-format
 msgid "; use assignment or value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10808
+#: cp/call.cc:10912
 #, gcc-internal-format
 msgid "; use assignment instead"
 msgstr ""
 
-#: cp/call.cc:10810
+#: cp/call.cc:10914
 #, gcc-internal-format
 msgid "; use value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10813
+#: cp/call.cc:10917
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10816
+#: cp/call.cc:10920
 #, gcc-internal-format
 msgid "%qD clearing an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10818
+#: cp/call.cc:10922
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s"
 msgstr ""
 
-#: cp/call.cc:10839
+#: cp/call.cc:10943
 #, gcc-internal-format
 msgid "; use copy-assignment or copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10841
+#: cp/call.cc:10945
 #, gcc-internal-format
 msgid "; use copy-assignment instead"
 msgstr ""
 
-#: cp/call.cc:10843
+#: cp/call.cc:10947
 #, gcc-internal-format
 msgid "; use copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10846
+#: cp/call.cc:10950
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10849
+#: cp/call.cc:10953
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivially copyable type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10852
+#: cp/call.cc:10956
 #, gcc-internal-format
 msgid "%qD writing to an object with a deleted copy constructor"
 msgstr ""
 
-#: cp/call.cc:10863
+#: cp/call.cc:10967
 #, gcc-internal-format
 msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT"
 msgstr ""
 
-#: cp/call.cc:10875
+#: cp/call.cc:10979
 #, 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:10894
+#: cp/call.cc:10998
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes "
 "unchanged"
 msgstr ""
 
-#: cp/call.cc:10897
+#: cp/call.cc:11001
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged"
 msgstr ""
 
-#: cp/call.cc:10907
+#: cp/call.cc:11011
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of non-trivially copyable type %#qT; use %<new%> and "
 "%<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10910
+#: cp/call.cc:11014
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of type %#qT with deleted copy constructor; use %<new%> "
 "and %<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10913
+#: cp/call.cc:11017
 #, gcc-internal-format
 msgid "%qD moving an object of type %#qT with deleted destructor"
 msgstr ""
 
-#: cp/call.cc:10922
+#: cp/call.cc:11026
 #, 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:10944
+#: cp/call.cc:11048
 #, gcc-internal-format
 msgid "%#qT declared here"
 msgstr ""
 
-#: cp/call.cc:10998
+#: cp/call.cc:11102
 #, gcc-internal-format
 msgid ""
 "argument %u in call to function %qE has pointer to a non-trivially-copyable "
 "type (%qT)"
 msgstr ""
 
-#: cp/call.cc:11065
+#: cp/call.cc:11169
 #, gcc-internal-format
 msgid "constructor delegates to itself"
 msgstr ""
 
-#: cp/call.cc:11340 cp/typeck.cc:10278
+#: cp/call.cc:11444 cp/typeck.cc:10388
 msgid "cannot convert %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:11362
+#: cp/call.cc:11466
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::operator %T(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:11394
+#: cp/call.cc:11498
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::%s%E(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:11443
+#: cp/call.cc:11546
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr ""
 
-#: cp/call.cc:11481 cp/pt.cc:16888 cp/typeck.cc:3492
+#: cp/call.cc:11584 cp/pt.cc:17138 cp/typeck.cc:3482
 #, gcc-internal-format
 msgid "cannot call constructor %<%T::%D%> directly"
 msgstr ""
 
-#: cp/call.cc:11483
+#: cp/call.cc:11586
 #, gcc-internal-format
 msgid "for a function-style cast, remove the redundant %<::%D%>"
 msgstr ""
 
-#: cp/call.cc:11671
+#: cp/call.cc:11768
 #, gcc-internal-format
 msgid "no matching function for call to %<%s(%A)%>"
 msgstr ""
 
-#: cp/call.cc:11674
+#: cp/call.cc:11771
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:11697
+#: cp/call.cc:11794
 #, gcc-internal-format
 msgid "pure virtual %q#D called from non-static data member initializer"
 msgstr ""
 
-#: cp/call.cc:11702
+#: cp/call.cc:11799
 #, gcc-internal-format
 msgid "pure virtual %q#D called from constructor"
 msgstr ""
 
-#: cp/call.cc:11703
+#: cp/call.cc:11800
 #, gcc-internal-format
 msgid "pure virtual %q#D called from destructor"
 msgstr ""
 
-#: cp/call.cc:11726
+#: cp/call.cc:11823
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr ""
 
-#: cp/call.cc:12784
+#: cp/call.cc:12972
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.cc:12810
+#: cp/call.cc:12998
 #, gcc-internal-format
 msgid ""
 "C++20 says that these are ambiguous, even though the second is reversed:"
 msgstr ""
 
-#: cp/call.cc:12833
+#: cp/call.cc:13021
 #, gcc-internal-format
 msgid "try making the operator a %<const%> member function"
 msgstr ""
 
-#: cp/call.cc:12896
+#: cp/call.cc:13084
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr ""
 
-#: cp/call.cc:12897
+#: cp/call.cc:13085
 msgid "  for conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:12900
+#: cp/call.cc:13088
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
 msgstr ""
 
-#: cp/call.cc:13184
+#: cp/call.cc:13372
 #, gcc-internal-format
 msgid "default argument mismatch in overload resolution"
 msgstr ""
 
-#: cp/call.cc:13188
+#: cp/call.cc:13376
 #, gcc-internal-format
 msgid " candidate 1: %q#F"
 msgstr ""
 
-#: cp/call.cc:13190
+#: cp/call.cc:13378
 #, gcc-internal-format
 msgid " candidate 2: %q#F"
 msgstr ""
 
-#: cp/call.cc:13236
+#: cp/call.cc:13424
 #, 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:13642
+#: cp/call.cc:13832
 #, gcc-internal-format
 msgid "a temporary bound to %qD only persists until the constructor exits"
 msgstr ""
 
-#: cp/call.cc:13797
+#: cp/call.cc:13985
 msgid ""
 "invalid initialization of non-const reference of type %qH from an rvalue of "
 "type %qI"
 msgstr ""
 
-#: cp/call.cc:13801
+#: cp/call.cc:13989
 msgid ""
 "invalid initialization of reference of type %qH from expression of type %qI"
 msgstr ""
 
-#: cp/call.cc:14077
+#: cp/call.cc:14281
 #, gcc-internal-format
 msgid "possibly dangling reference to a temporary"
 msgstr ""
 
-#: cp/call.cc:14078
+#: cp/call.cc:14282
 #, gcc-internal-format
 msgid "the temporary was destroyed at the end of the full expression %qE"
 msgstr ""
 
-#: cp/class.cc:321
+#: cp/call.cc:14550
+#, gcc-internal-format
+msgid "explicit conversion function was not considered"
+msgstr ""
+
+#: cp/class.cc:322
 #, gcc-internal-format
 msgid ""
 "cannot convert from pointer to base class %qT to pointer to derived class "
 "%qT because the base is virtual"
 msgstr ""
 
-#: cp/class.cc:325
+#: cp/class.cc:326
 #, gcc-internal-format
 msgid ""
 "cannot convert from base class %qT to derived class %qT because the base is "
 "virtual"
 msgstr ""
 
-#: cp/class.cc:332
+#: cp/class.cc:333
 #, gcc-internal-format
 msgid ""
 "cannot convert from pointer to base class %qT to pointer to derived class "
 "%qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.cc:337
+#: cp/class.cc:338
 #, gcc-internal-format
 msgid ""
 "cannot convert from base class %qT to derived class %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.cc:390
+#: cp/class.cc:391
 #, gcc-internal-format
 msgid "cannot convert from %qT to base class %qT because %qT is incomplete"
 msgstr ""
 
-#: cp/class.cc:1209
+#: cp/class.cc:1435
 #, gcc-internal-format
 msgid "%q#D conflicts with version inherited from %qT"
 msgstr ""
 
-#: cp/class.cc:1212
+#: cp/class.cc:1438
 #, gcc-internal-format
 msgid "version inherited from %qT declared here"
 msgstr ""
 
-#: cp/class.cc:1231
+#: cp/class.cc:1457
 #, gcc-internal-format
 msgid "%q#D cannot be overloaded with %q#D"
 msgstr ""
 
-#: cp/class.cc:1233 cp/decl.cc:1872 cp/decl.cc:1884 cp/decl.cc:1909
-#: cp/decl.cc:1932 cp/name-lookup.cc:2720 cp/name-lookup.cc:3034
+#: cp/class.cc:1459 cp/decl.cc:1928 cp/decl.cc:1940 cp/decl.cc:1965
+#: cp/decl.cc:1988 cp/name-lookup.cc:2895 cp/name-lookup.cc:3213
 #, gcc-internal-format
 msgid "previous declaration %q#D"
 msgstr ""
 
-#: cp/class.cc:1275
+#: cp/class.cc:1501
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.cc:1278
+#: cp/class.cc:1504
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.cc:1381
+#: cp/class.cc:1607
 #, gcc-internal-format
 msgid "%qD invalid in %q#T because of local method %q#D with same name"
 msgstr ""
 
-#: cp/class.cc:1385
+#: cp/class.cc:1611
 #, gcc-internal-format
 msgid "local method %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:1390
+#: cp/class.cc:1616
 #, gcc-internal-format
 msgid "%qD invalid in %q#T because of local member %q#D with same name"
 msgstr ""
 
-#: cp/class.cc:1394
+#: cp/class.cc:1620
 #, gcc-internal-format
 msgid "local member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:1465
+#: cp/class.cc:1691
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its return type) has"
 msgstr ""
 
-#: cp/class.cc:1468 cp/class.cc:1475 cp/class.cc:1482 cp/class.cc:1494
-#: cp/cvt.cc:1102 rust/backend/rust-tree.cc:645
+#: cp/class.cc:1694 cp/class.cc:1701 cp/class.cc:1708 cp/class.cc:1720
+#: cp/cvt.cc:1104 rust/backend/rust-tree.cc:643
 #, gcc-internal-format
 msgid "%qT declared here"
 msgstr ""
 
-#: cp/class.cc:1473
+#: cp/class.cc:1699
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its type) has"
 msgstr ""
 
-#: cp/class.cc:1480
+#: cp/class.cc:1706
 #, gcc-internal-format
 msgid "%qT does not have the %E ABI tag that base %qT has"
 msgstr ""
 
-#: cp/class.cc:1488
+#: cp/class.cc:1714
 #, 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:1799
+#: cp/class.cc:2025
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.cc:2273
+#: cp/class.cc:2499
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.cc:2285
+#: cp/class.cc:2511
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.cc:2328
+#: cp/class.cc:2554
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.cc:2332
+#: cp/class.cc:2558
 #, gcc-internal-format
 msgid "%q#D is public, but requires an existing %q#T object"
 msgstr ""
 
-#: cp/class.cc:2622
+#: cp/class.cc:2848
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.cc:2982
+#: cp/class.cc:3208
 #, gcc-internal-format
 msgid "%qD can be marked override"
 msgstr ""
 
-#: cp/class.cc:2985
+#: cp/class.cc:3211
 #, gcc-internal-format
 msgid "%q+#D marked %<override%>, but does not override"
 msgstr ""
 
-#: cp/class.cc:3000
+#: cp/class.cc:3226
 #, gcc-internal-format
 msgid "%q+#D marked %<final%>, but is not virtual"
 msgstr ""
 
-#: cp/class.cc:3077
+#: cp/class.cc:3303
 #, gcc-internal-format
 msgid "%qD was hidden"
 msgstr ""
 
-#: cp/class.cc:3078
+#: cp/class.cc:3304
 #, gcc-internal-format
 msgid "  by %qD"
 msgstr ""
 
-#: cp/class.cc:3290
+#: cp/class.cc:3516
 #, gcc-internal-format
 msgid "the ellipsis in %qD is not inherited"
 msgstr ""
 
-#: cp/class.cc:3482
+#: cp/class.cc:3720
 #, gcc-internal-format
 msgid "bit-field %q#D with non-integral type %qT"
 msgstr ""
 
-#: cp/class.cc:3498
+#: cp/class.cc:3736
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.cc:3503
+#: cp/class.cc:3741
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3508
+#: cp/class.cc:3746
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3518
+#: cp/class.cc:3756
 #, gcc-internal-format
 msgid "width of %qD exceeds its type"
 msgstr ""
 
-#: cp/class.cc:3524
+#: cp/class.cc:3762
 #, gcc-internal-format
 msgid "%qD is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.cc:3585
+#: cp/class.cc:3823
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3588
+#: cp/class.cc:3826
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3590
+#: cp/class.cc:3828
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3594
+#: cp/class.cc:3832
 #, gcc-internal-format
 msgid ""
 "unrestricted unions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/class.cc:3710
+#: cp/class.cc:3948
 #, 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:3723
+#: cp/class.cc:3961
 #, gcc-internal-format
 msgid "non-static data member %q+D in a union may not have reference type %qT"
 msgstr ""
 
-#: cp/class.cc:3736
+#: cp/class.cc:3974
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared function type"
 msgstr ""
 
-#: cp/class.cc:3742
+#: cp/class.cc:3980
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared method type"
 msgstr ""
 
-#: cp/class.cc:3813
+#: cp/class.cc:4051
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q#D"
 msgstr ""
 
-#: cp/class.cc:3865
+#: cp/class.cc:4103
 #, gcc-internal-format
 msgid "member %q+D cannot be declared as a %<mutable%> reference"
 msgstr ""
 
-#: cp/class.cc:3868
+#: cp/class.cc:4106
 #, gcc-internal-format
 msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
 msgstr ""
 
-#: cp/class.cc:3899
+#: cp/class.cc:4137
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.cc:3901
+#: cp/class.cc:4139
 #, gcc-internal-format
 msgid "initialized member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:3949
+#: cp/class.cc:4187
 #, gcc-internal-format
 msgid "field %q#D with same name as class"
 msgstr ""
 
-#: cp/class.cc:3977
+#: cp/class.cc:4215
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.cc:3982
+#: cp/class.cc:4220
 #, gcc-internal-format
 msgid "  but does not declare %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3984
+#: cp/class.cc:4222
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3988
+#: cp/class.cc:4226
 #, gcc-internal-format
 msgid "  but does not declare %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3990
+#: cp/class.cc:4228
 #, gcc-internal-format
 msgid "pointer member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:4447
+#: cp/class.cc:4316
+#, gcc-internal-format
+msgid "layout of %qs member of type %qT changes in %qs"
+msgstr ""
+
+#: cp/class.cc:4709
 #, gcc-internal-format
 msgid "alignment of %qD increased in %<-fabi-version=9%> (GCC 5.2)"
 msgstr ""
 
-#: cp/class.cc:4450
+#: cp/class.cc:4712
 #, gcc-internal-format
 msgid "alignment of %qD will increase in %<-fabi-version=9%>"
 msgstr ""
 
-#: cp/class.cc:4778
+#: cp/class.cc:5040
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.cc:4819
+#: cp/class.cc:5081
 #, gcc-internal-format
 msgid "no viable destructor for %qT"
 msgstr ""
 
-#: cp/class.cc:4821
+#: cp/class.cc:5083
 #, gcc-internal-format
 msgid "destructor for %qT is ambiguous"
 msgstr ""
 
-#: cp/class.cc:5287
+#: cp/class.cc:5551
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.cc:5308
+#: cp/class.cc:5572
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.cc:5932 cp/constexpr.cc:302
+#: cp/class.cc:6204 cp/constexpr.cc:302
 #, gcc-internal-format
 msgid ""
 "enclosing class of %<constexpr%> non-static member function %q+#D is not a "
 "literal type"
 msgstr ""
 
-#: cp/class.cc:5958 rust/backend/rust-tree.cc:6024
+#: cp/class.cc:6230 rust/backend/rust-tree.cc:6076
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.cc:5961 rust/backend/rust-tree.cc:6027
+#: cp/class.cc:6233 rust/backend/rust-tree.cc:6079
 #, gcc-internal-format
 msgid "  %qT is a closure type, which is only literal in C++17 and later"
 msgstr ""
 
-#: cp/class.cc:5964 rust/backend/rust-tree.cc:6035
+#: cp/class.cc:6236 rust/backend/rust-tree.cc:6087
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr ""
 
-#: cp/class.cc:5967 rust/backend/rust-tree.cc:6032
+#: cp/class.cc:6239 rust/backend/rust-tree.cc:6084
 #, gcc-internal-format
 msgid "  %q+T does not have %<constexpr%> destructor"
 msgstr ""
 
-#: cp/class.cc:5975 rust/backend/rust-tree.cc:6040
+#: cp/class.cc:6247 rust/backend/rust-tree.cc:6092
 #, 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:6008 rust/backend/rust-tree.cc:6072
+#: cp/class.cc:6280 rust/backend/rust-tree.cc:6124
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.cc:6023 rust/backend/rust-tree.cc:6086
+#: cp/class.cc:6295 rust/backend/rust-tree.cc:6138
 #, gcc-internal-format
 msgid "  non-static data member %qD has non-literal type"
 msgstr ""
 
-#: cp/class.cc:6030 rust/backend/rust-tree.cc:6093
+#: cp/class.cc:6302 rust/backend/rust-tree.cc:6145
 #, gcc-internal-format
 msgid "  non-static data member %qD has volatile type"
 msgstr ""
 
-#: cp/class.cc:6163
+#: cp/class.cc:6435
 #, gcc-internal-format
 msgid "base class %q#T has accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:6192
+#: cp/class.cc:6464
 #, gcc-internal-format
 msgid "non-static reference %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6198
+#: cp/class.cc:6470
 #, gcc-internal-format
 msgid "non-static const member %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6538
+#: cp/class.cc:6816
 #, 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:6542
+#: cp/class.cc:6820
 #, gcc-internal-format
 msgid ""
 "offset of %qD for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC "
 "12)"
 msgstr ""
 
-#: cp/class.cc:6582
+#: cp/class.cc:6860
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6594
+#: cp/class.cc:6872
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6836
+#: cp/class.cc:7114
 #, gcc-internal-format
 msgid ""
 "offset of %qD is not ABI-compliant and may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.cc:7031
+#: cp/class.cc:7310
 #, gcc-internal-format
 msgid "size of type %qT is too large (%qE bytes)"
 msgstr ""
 
-#: cp/class.cc:7317
+#: cp/class.cc:7596
 #, gcc-internal-format
 msgid "invalid use of %q#T with a zero-size array in %q#D"
 msgstr ""
 
-#: cp/class.cc:7319
+#: cp/class.cc:7598
 #, gcc-internal-format
 msgid "invalid use of %q#T with a flexible array member in %q#T"
 msgstr ""
 
-#: cp/class.cc:7324
+#: cp/class.cc:7603
 #, gcc-internal-format
 msgid "array member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7352
+#: cp/class.cc:7631
 #, gcc-internal-format
 msgid "zero-size array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7354
+#: cp/class.cc:7633
 #, gcc-internal-format
 msgid "zero-size array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7363 cp/class.cc:7394
+#: cp/class.cc:7642 cp/class.cc:7673
 #, gcc-internal-format
 msgid "in the definition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7371
+#: cp/class.cc:7650
 #, gcc-internal-format
 msgid "flexible array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7373
+#: cp/class.cc:7652
 #, gcc-internal-format
 msgid "flexible array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7392
+#: cp/class.cc:7671
 #, gcc-internal-format
 msgid "next member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7506 cp/decl.cc:17146 cp/parser.cc:27005
+#: cp/class.cc:7785 cp/decl.cc:17628 cp/parser.cc:27637
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7650
+#: cp/class.cc:7929
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:7678
+#: cp/class.cc:7957
 #, gcc-internal-format
 msgid "type transparent %q#T does not have any fields"
 msgstr ""
 
-#: cp/class.cc:7684
+#: cp/class.cc:7963
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.cc:7688
+#: cp/class.cc:7967
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.cc:7694
+#: cp/class.cc:7973
 #, 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:7843
+#: cp/class.cc:8144
 #, gcc-internal-format
 msgid "definition of %qD does not match %<#include <initializer_list>%>"
 msgstr ""
 
-#: cp/class.cc:7854
+#: cp/class.cc:8155
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.cc:8361
+#: cp/class.cc:8662
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.cc:8451
+#: cp/class.cc:8752
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.cc:8609
+#: cp/class.cc:8910
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.cc:8636
+#: cp/class.cc:8937
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.cc:8663
+#: cp/class.cc:8979
+#, gcc-internal-format
+msgid ""
+"ISO C++ forbids taking the address of an unqualified or parenthesized non-"
+"static member function to form a pointer to explicit object member function."
+msgstr ""
+
+#: cp/class.cc:8984
+#, gcc-internal-format
+msgid ""
+"a pointer to explicit object member function can only be formed with %<&%E%>"
+msgstr ""
+
+#: cp/class.cc:8994
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.cc:8666
+#: cp/class.cc:8997
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.cc:8744 cp/class.cc:8786
+#: cp/class.cc:9076
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.cc:8764
+#: cp/class.cc:9096
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
 
-#: cp/class.cc:9072
+#: cp/class.cc:9395
 #, gcc-internal-format
 msgid "declaration of %q#D changes meaning of %qD"
 msgstr ""
 
-#: cp/class.cc:9075
+#: cp/class.cc:9398
 #, gcc-internal-format
 msgid "used here to mean %q#D"
 msgstr ""
@@ -53601,7 +55487,7 @@ msgstr ""
 msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
 msgstr ""
 
-#: cp/constexpr.cc:272 cp/decl.cc:14249
+#: cp/constexpr.cc:272 cp/decl.cc:14668
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu+"
@@ -53648,456 +55534,516 @@ msgstr ""
 msgid "%qD is not usable as a %<constexpr%> function because:"
 msgstr ""
 
-#: cp/constexpr.cc:1556 cp/constexpr.cc:3187
-#: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586
+#: cp/constexpr.cc:1320 cp/constexpr.cc:6349
+#, gcc-internal-format
+msgid "destroying %qE outside its lifetime"
+msgstr ""
+
+#: cp/constexpr.cc:1611 cp/constexpr.cc:3308
+#: rust/backend/rust-constexpr.cc:3326 rust/backend/rust-constexpr.cc:3589
 #, gcc-internal-format
 msgid "%<constexpr%> call flows off the end of the function"
 msgstr ""
 
-#: cp/constexpr.cc:1558 cp/constexpr.cc:1657 cp/constexpr.cc:1666
-#: cp/constexpr.cc:3401 rust/backend/rust-constexpr.cc:3329
-#: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320
+#: cp/constexpr.cc:1613 cp/constexpr.cc:1712 cp/constexpr.cc:1721
+#: cp/constexpr.cc:3580 rust/backend/rust-constexpr.cc:3331
+#: rust/backend/rust-constexpr.cc:3341 rust/backend/rust-constexpr.cc:4324
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:2008
+#: cp/constexpr.cc:1898 cp/constexpr.cc:5915 cp/constexpr.cc:8214
+#: rust/backend/rust-constexpr.cc:875 rust/backend/rust-constexpr.cc:2494
+#, gcc-internal-format
+msgid "dereferencing a null pointer"
+msgstr ""
+
+#: cp/constexpr.cc:2077
 #, gcc-internal-format
 msgid "the comparison reduces to %qE"
 msgstr ""
 
-#: cp/constexpr.cc:2011
+#: cp/constexpr.cc:2080
 #, gcc-internal-format
 msgid "%qE evaluates to false"
 msgstr ""
 
-#: cp/constexpr.cc:2090
+#: cp/constexpr.cc:2159
 #, gcc-internal-format
 msgid "failed %<assume%> attribute assumption"
 msgstr ""
 
-#: cp/constexpr.cc:2125 cp/constexpr.cc:9259
-#: rust/backend/rust-constexpr.cc:5754
+#: cp/constexpr.cc:2194 cp/constexpr.cc:9664
+#: rust/backend/rust-constexpr.cc:5758
 #, gcc-internal-format
 msgid "call to internal function %qE"
 msgstr ""
 
-#: cp/constexpr.cc:2179 rust/backend/rust-constexpr.cc:2613
+#: cp/constexpr.cc:2248 rust/backend/rust-constexpr.cc:2615
 #, gcc-internal-format
 msgid "modifying a const object %qE is not allowed in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:2207 rust/backend/rust-constexpr.cc:2616
+#: cp/constexpr.cc:2276 rust/backend/rust-constexpr.cc:2618
 #, gcc-internal-format
 msgid "originally declared %<const%> here"
 msgstr ""
 
-#: cp/constexpr.cc:2432 cp/constexpr.cc:2487 cp/constexpr.cc:2519
-#: cp/constexpr.cc:2540
+#: cp/constexpr.cc:2532 cp/constexpr.cc:2588 cp/constexpr.cc:2621
+#: cp/constexpr.cc:2643
 #, gcc-internal-format
 msgid "reference %<dynamic_cast%> failed"
 msgstr ""
 
-#: cp/constexpr.cc:2433
+#: cp/constexpr.cc:2533
 #, gcc-internal-format
 msgid "dynamic type %qT of its operand does not have a base class of type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2457
+#: cp/constexpr.cc:2557
 #, gcc-internal-format
 msgid "virtual table pointer is used uninitialized"
 msgstr ""
 
-#: cp/constexpr.cc:2488 cp/constexpr.cc:2520
+#: cp/constexpr.cc:2589 cp/constexpr.cc:2622
 #, gcc-internal-format
 msgid ""
 "static type %qT of its operand is a non-public base class of dynamic type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2542
+#: cp/constexpr.cc:2645
 #, gcc-internal-format
 msgid "%qT is an ambiguous base class of dynamic type %qT of its operand"
 msgstr ""
 
-#: cp/constexpr.cc:2545
+#: cp/constexpr.cc:2648
 #, gcc-internal-format
 msgid ""
 "dynamic type %qT of its operand does not have an unambiguous public base "
 "class %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2622 cp/constexpr.cc:2896 cp/constexpr.cc:9295
-#: rust/backend/rust-constexpr.cc:5785
+#: cp/constexpr.cc:2725 cp/constexpr.cc:3005 cp/constexpr.cc:9700
+#: rust/backend/rust-constexpr.cc:5789
 #, gcc-internal-format
 msgid "call to non-%<constexpr%> function %qD"
 msgstr ""
 
 #. virtual_offset is only set for virtual bases, which make the
 #. class non-literal, so we don't need to handle it here.
-#: cp/constexpr.cc:2628
+#: cp/constexpr.cc:2731
 #, gcc-internal-format
 msgid "calling constexpr member function %qD through virtual base subobject"
 msgstr ""
 
-#: cp/constexpr.cc:2744 rust/backend/rust-constexpr.cc:3384
+#: cp/constexpr.cc:2847 rust/backend/rust-constexpr.cc:3387
 #, gcc-internal-format
 msgid "expression %qE does not designate a %<constexpr%> function"
 msgstr ""
 
-#: cp/constexpr.cc:2817
+#: cp/constexpr.cc:2925
 #, gcc-internal-format
 msgid "array deallocation of object allocated with non-array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2821 cp/constexpr.cc:2843
+#: cp/constexpr.cc:2929 cp/constexpr.cc:2952
 #, gcc-internal-format
 msgid "allocation performed here"
 msgstr ""
 
-#: cp/constexpr.cc:2839
+#: cp/constexpr.cc:2948
 #, gcc-internal-format
 msgid "non-array deallocation of object allocated with array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2856
+#: cp/constexpr.cc:2965
 #, gcc-internal-format
 msgid "deallocation of already deallocated storage"
 msgstr ""
 
-#: cp/constexpr.cc:2863
+#: cp/constexpr.cc:2972
 #, gcc-internal-format
 msgid "deallocation of storage that was not previously allocated"
 msgstr ""
 
-#: cp/constexpr.cc:2980 rust/backend/rust-constexpr.cc:3439
+#: cp/constexpr.cc:3089 rust/backend/rust-constexpr.cc:3442
 #, gcc-internal-format
 msgid "%qD called in a constant expression before its definition is complete"
 msgstr ""
 
-#: cp/constexpr.cc:2987
+#: cp/constexpr.cc:3096
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:2991 rust/backend/rust-constexpr.cc:3453
+#: cp/constexpr.cc:3100 rust/backend/rust-constexpr.cc:3456
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/constexpr.cc:3063 rust/backend/rust-constexpr.cc:3495
+#: cp/constexpr.cc:3172 rust/backend/rust-constexpr.cc:3498
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/constexpr.cc:3074 rust/backend/rust-constexpr.cc:3506
+#: cp/constexpr.cc:3183 rust/backend/rust-constexpr.cc:3509
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> evaluation depth exceeds maximum of %d (use %<-fconstexpr-"
 "depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/constexpr.cc:3441
+#: cp/constexpr.cc:3538
+#, gcc-internal-format
+msgid "reference to %qD is not a constant expression"
+msgstr ""
+
+#: cp/constexpr.cc:3541
+#, gcc-internal-format
+msgid "pointer to %qD is not a constant expression"
+msgstr ""
+
+#: cp/constexpr.cc:3547
+#, gcc-internal-format
+msgid ""
+"address of non-static constexpr variable %qD may differ on each invocation "
+"of the enclosing function; add %<static%> to give it a constant address"
+msgstr ""
+
+#: cp/constexpr.cc:3623
 #, gcc-internal-format
 msgid "right operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3448
+#: cp/constexpr.cc:3630
 #, gcc-internal-format
 msgid ""
 "right operand of shift expression %q+E is greater than or equal to the "
 "precision %wu of the left operand"
 msgstr ""
 
-#: cp/constexpr.cc:3471
+#: cp/constexpr.cc:3653
 #, gcc-internal-format
 msgid "left operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3490
+#: cp/constexpr.cc:3672
 #, gcc-internal-format
 msgid "shift expression %q+E overflows"
 msgstr ""
 
-#: cp/constexpr.cc:3689
+#: cp/constexpr.cc:3871
 #, gcc-internal-format
 msgid "arithmetic involving a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4111 rust/backend/rust-constexpr.cc:4395
+#: cp/constexpr.cc:4306 rust/backend/rust-constexpr.cc:4399
 #, gcc-internal-format
 msgid ""
 "array subscript value %qE is outside the bounds of array %qD of type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:4114 rust/backend/rust-constexpr.cc:4400
+#: cp/constexpr.cc:4309 rust/backend/rust-constexpr.cc:4404
 #, gcc-internal-format
 msgid ""
 "nonzero array subscript %qE is used with array %qD of type %qT with unknown "
 "bounds"
 msgstr ""
 
-#: cp/constexpr.cc:4119 rust/backend/rust-constexpr.cc:4407
+#: cp/constexpr.cc:4314 rust/backend/rust-constexpr.cc:4411
 #, gcc-internal-format
 msgid "array subscript value %qE is outside the bounds of array type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:4122 rust/backend/rust-constexpr.cc:4412
+#: cp/constexpr.cc:4317 rust/backend/rust-constexpr.cc:4416
 #, gcc-internal-format
 msgid ""
 "nonzero array subscript %qE is used with array of type %qT with unknown "
 "bounds"
 msgstr ""
 
-#: cp/constexpr.cc:4307 rust/backend/rust-constexpr.cc:1664
+#: cp/constexpr.cc:4505 rust/backend/rust-constexpr.cc:1667
 #, gcc-internal-format
 msgid "accessing uninitialized array element"
 msgstr ""
 
-#: cp/constexpr.cc:4371 rust/backend/rust-constexpr.cc:1721
+#: cp/constexpr.cc:4567 rust/backend/rust-constexpr.cc:1724
 #, gcc-internal-format
 msgid "dereferencing a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4390 cp/constexpr.cc:4490 cp/constexpr.cc:4502
-#: cp/constexpr.cc:7066 cp/constexpr.cc:7180 cp/constexpr.cc:9209
-#: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980
-#: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739
-#: rust/backend/rust-constexpr.cc:5708
+#: cp/constexpr.cc:4586 cp/constexpr.cc:4702 cp/constexpr.cc:4714
+#: cp/constexpr.cc:7408 cp/constexpr.cc:7528 cp/constexpr.cc:9614
+#: rust/backend/rust-constexpr.cc:1738 rust/backend/rust-constexpr.cc:1983
+#: rust/backend/rust-constexpr.cc:2225 rust/backend/rust-constexpr.cc:4743
+#: rust/backend/rust-constexpr.cc:5712
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4398 rust/backend/rust-constexpr.cc:1741
+#: cp/constexpr.cc:4594 rust/backend/rust-constexpr.cc:1744
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4428 cp/constexpr.cc:4450
-#: rust/backend/rust-constexpr.cc:1771 rust/backend/rust-constexpr.cc:1794
+#: cp/constexpr.cc:4626 cp/constexpr.cc:4662 cp/constexpr.cc:6513
+#: rust/backend/rust-constexpr.cc:1774 rust/backend/rust-constexpr.cc:1797
 #, gcc-internal-format
 msgid "accessing uninitialized member %qD"
 msgstr ""
 
-#: cp/constexpr.cc:4430 rust/backend/rust-constexpr.cc:1773
+#: cp/constexpr.cc:4628 cp/constexpr.cc:4641 cp/constexpr.cc:6508
+#: rust/backend/rust-constexpr.cc:1776
 #, gcc-internal-format
 msgid ""
 "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4568
+#: cp/constexpr.cc:4780
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4571
+#: cp/constexpr.cc:4783
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4582
+#: cp/constexpr.cc:4794
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4585
+#: cp/constexpr.cc:4797
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4596
+#: cp/constexpr.cc:4808
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4599
+#: cp/constexpr.cc:4811
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4610
+#: cp/constexpr.cc:4822
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT is a pointer to member type"
 msgstr ""
 
-#: cp/constexpr.cc:4614
+#: cp/constexpr.cc:4826
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a pointer to member "
 "type"
 msgstr ""
 
-#: cp/constexpr.cc:4625
+#: cp/constexpr.cc:4837
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:4628
+#: cp/constexpr.cc:4840
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a volatile subobject"
 msgstr ""
 
-#: cp/constexpr.cc:4781
+#: cp/constexpr.cc:4993
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated on the target"
 msgstr ""
 
-#: cp/constexpr.cc:4790 cp/constexpr.cc:4800
+#: cp/constexpr.cc:5002 cp/constexpr.cc:5012
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the type is too large"
 msgstr ""
 
-#: cp/constexpr.cc:4820
+#: cp/constexpr.cc:5032
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the argument cannot be encoded"
 msgstr ""
 
-#: cp/constexpr.cc:4866
+#: cp/constexpr.cc:5078
 #, gcc-internal-format
 msgid "%qs accessing uninitialized byte at offset %d"
 msgstr ""
 
-#: cp/constexpr.cc:4878
+#: cp/constexpr.cc:5090
 #, gcc-internal-format
 msgid ""
 "%qs cannot be constant evaluated because the argument cannot be interpreted"
 msgstr ""
 
-#: cp/constexpr.cc:5691 cp/constexpr.cc:7829 rust/backend/rust-constexpr.cc:872
-#: rust/backend/rust-constexpr.cc:2492
-#, gcc-internal-format
-msgid "dereferencing a null pointer"
-msgstr ""
-
-#: cp/constexpr.cc:5711 rust/backend/rust-constexpr.cc:892
+#: cp/constexpr.cc:5935 rust/backend/rust-constexpr.cc:895
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
 #. Provide a more accurate message for deleted variables.
-#: cp/constexpr.cc:5750 cp/constexpr.cc:5783
+#: cp/constexpr.cc:5975 cp/constexpr.cc:6008
 #, gcc-internal-format
 msgid "use of allocated storage after deallocation in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5752 cp/constexpr.cc:5778 cp/constexpr.cc:5785
+#: cp/constexpr.cc:5977 cp/constexpr.cc:6003 cp/constexpr.cc:6010
+#: cp/constexpr.cc:6344
 #, gcc-internal-format
 msgid "allocated here"
 msgstr ""
 
-#: cp/constexpr.cc:5756
+#: cp/constexpr.cc:5981
 #, gcc-internal-format
-msgid "accessing object outside its lifetime"
+msgid "accessing %qE outside its lifetime"
 msgstr ""
 
-#: cp/constexpr.cc:5776
+#: cp/constexpr.cc:6001
 #, gcc-internal-format
 msgid ""
 "the content of uninitialized storage is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5788 rust/backend/rust-constexpr.cc:4037
+#: cp/constexpr.cc:6013 rust/backend/rust-constexpr.cc:4041
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5796
+#: cp/constexpr.cc:6021
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr ""
 
-#: cp/constexpr.cc:5801
+#: cp/constexpr.cc:6026
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr ""
 
-#: cp/constexpr.cc:5804
+#: cp/constexpr.cc:6029
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:5809 cp/constexpr.cc:5816
+#: cp/constexpr.cc:6034 cp/constexpr.cc:6041
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5822
+#: cp/constexpr.cc:6047
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/constexpr.cc:5825
+#: cp/constexpr.cc:6050
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/constexpr.cc:6094 rust/backend/rust-constexpr.cc:2751
+#: cp/constexpr.cc:6342
 #, gcc-internal-format
-msgid "modification of %qE is not a constant expression"
+msgid ""
+"modification of allocated storage after deallocation is not a constant "
+"expression"
+msgstr ""
+
+#: cp/constexpr.cc:6351
+#, gcc-internal-format
+msgid "modification of %qE outside its lifetime is not a constant expression"
+msgstr ""
+
+#: cp/constexpr.cc:6358
+#, gcc-internal-format
+msgid ""
+"destroying %qE from outside current evaluation is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6193
+#: cp/constexpr.cc:6361
 #, gcc-internal-format
-msgid "change of the active member of a union from %qD to %qD"
+msgid ""
+"modification of %qE from outside current evaluation is not a constant "
+"expression"
 msgstr ""
 
-#: cp/constexpr.cc:6206 rust/backend/rust-constexpr.cc:2820
+#: cp/constexpr.cc:6488
+#, gcc-internal-format
+msgid ""
+"change of the active member of a union from %qD to %qD is not a constant "
+"expression before C++20"
+msgstr ""
+
+#: cp/constexpr.cc:6517
+#, gcc-internal-format
+msgid ""
+"%qD does not implicitly begin its lifetime because %qT does not have a non-"
+"deleted trivial default constructor, use %<std::construct_at%> instead"
+msgstr ""
+
+#: cp/constexpr.cc:6524
+#, gcc-internal-format
+msgid ""
+"initializing %qD requires a member access expression as the left operand of "
+"the assignment"
+msgstr ""
+
+#: cp/constexpr.cc:6536 rust/backend/rust-constexpr.cc:2822
 #, gcc-internal-format
 msgid ""
 "change of the active member of a union from %qD to %qD during initialization"
 msgstr ""
 
-#: cp/constexpr.cc:6652 cp/constexpr.cc:8173 cp/constexpr.cc:8185
-#: rust/backend/rust-constexpr.cc:4664
+#: cp/constexpr.cc:6984 cp/constexpr.cc:8563 cp/constexpr.cc:8575
+#: rust/backend/rust-constexpr.cc:4668
 #, gcc-internal-format
 msgid "statement is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6748 rust/backend/rust-constexpr.cc:4929
+#: cp/constexpr.cc:7080 rust/backend/rust-constexpr.cc:4933
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> loop iteration count exceeds limit of %d (use %<-fconstexpr-"
 "loop-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:6845 rust/backend/rust-constexpr.cc:996
+#: cp/constexpr.cc:7187 rust/backend/rust-constexpr.cc:999
 #, gcc-internal-format
 msgid "inline assembly is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6847 rust/backend/rust-constexpr.cc:997
+#: cp/constexpr.cc:7189 rust/backend/rust-constexpr.cc:1000
 #, gcc-internal-format
 msgid ""
 "only unevaluated inline assembly is allowed in a %<constexpr%> function in C+"
 "+20"
 msgstr ""
 
-#: cp/constexpr.cc:6865
+#: cp/constexpr.cc:7207
 #, gcc-internal-format
 msgid "use of %qD"
 msgstr ""
 
-#: cp/constexpr.cc:6869
+#: cp/constexpr.cc:7211
 #, gcc-internal-format
 msgid ""
 "its value can vary between compiler versions or with different %<-mtune%> or "
 "%<-mcpu%> flags"
 msgstr ""
 
-#: cp/constexpr.cc:6871
+#: cp/constexpr.cc:7213
 #, gcc-internal-format
 msgid ""
 "if this use is part of a public ABI, change it to instead use a constant "
 "variable you define"
 msgstr ""
 
-#: cp/constexpr.cc:6873
+#: cp/constexpr.cc:7215
 #, gcc-internal-format, gfc-internal-format
 msgid "the default value for the current CPU tuning is %d bytes"
 msgstr ""
 
-#: cp/constexpr.cc:6875
+#: cp/constexpr.cc:7217
 #, gcc-internal-format
 msgid ""
 "you can stabilize this value with %<--param "
@@ -54105,231 +56051,250 @@ msgid ""
 "Wno-interference-size%>"
 msgstr ""
 
-#: cp/constexpr.cc:7028
+#: cp/constexpr.cc:7370
 #, gcc-internal-format
 msgid "value %qE of type %qT is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7041
+#: cp/constexpr.cc:7383
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-"
 "fconstexpr-ops-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:7210
+#: cp/constexpr.cc:7558
 #, gcc-internal-format
 msgid "control passes through definition of %qD with thread storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:7213
+#: cp/constexpr.cc:7561
 #, gcc-internal-format
 msgid "control passes through definition of %qD with static storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:7278 cp/constexpr.cc:9904
-#: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203
+#: cp/constexpr.cc:7626 cp/constexpr.cc:10308
+#: rust/backend/rust-constexpr.cc:2056 rust/backend/rust-constexpr.cc:6206
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7727 cp/constexpr.cc:9404
+#: cp/constexpr.cc:8075 cp/constexpr.cc:9815
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7755 rust/backend/rust-constexpr.cc:2459
+#: cp/constexpr.cc:8103 rust/backend/rust-constexpr.cc:2461
 #, gcc-internal-format
 msgid ""
 "conversion from pointer type %qT to arithmetic type %qT in a constant "
 "expression"
 msgstr ""
 
-#: cp/constexpr.cc:7793 rust/backend/rust-constexpr.cc:2478
+#: cp/constexpr.cc:8153
 #, gcc-internal-format
-msgid "cast from %qT is not allowed"
+msgid ""
+"cast from %qT is not allowed in a constant expression because pointed-to "
+"type %qT is not similar to %qT"
 msgstr ""
 
-#: cp/constexpr.cc:7806
+#: cp/constexpr.cc:8160
+#, gcc-internal-format
+msgid "pointed-to object declared here"
+msgstr ""
+
+#: cp/constexpr.cc:8165
+#, gcc-internal-format
+msgid ""
+"cast from %qT is not allowed in a constant expression because %qE does not "
+"point to an object"
+msgstr ""
+
+#: cp/constexpr.cc:8177
+#, gcc-internal-format
+msgid "cast from %qT is not allowed in a constant expression before C++26"
+msgstr ""
+
+#: cp/constexpr.cc:8191
 #, gcc-internal-format
 msgid "%qE is not a constant expression when the class %qT is still incomplete"
 msgstr ""
 
-#: cp/constexpr.cc:7840 rust/backend/rust-constexpr.cc:2504
+#: cp/constexpr.cc:8225 rust/backend/rust-constexpr.cc:2506
 #, gcc-internal-format
 msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7974 cp/constexpr.cc:9714 cp/constexpr.cc:10127
-#: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412
+#: cp/constexpr.cc:8363 cp/constexpr.cc:10126 cp/constexpr.cc:10531
+#: rust/backend/rust-constexpr.cc:6100 rust/backend/rust-constexpr.cc:6415
 #, gcc-internal-format
 msgid "expression %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8019 cp/constexpr.cc:10168
+#: cp/constexpr.cc:8408 cp/constexpr.cc:10572
 #, gcc-internal-format
 msgid "%<goto%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8077
+#: cp/constexpr.cc:8466
 #, gcc-internal-format
 msgid "contract predicate is false in constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8093
+#: cp/constexpr.cc:8482
 #, gcc-internal-format
 msgid "unexpected template-id %qE"
 msgstr ""
 
-#: cp/constexpr.cc:8099 cp/constraint.cc:178 cp/constraint.cc:753
+#: cp/constexpr.cc:8488 cp/constraint.cc:178 cp/constraint.cc:755
 #, gcc-internal-format
 msgid "function concept must be called"
 msgstr ""
 
-#: cp/constexpr.cc:8124
+#: cp/constexpr.cc:8513
 #, gcc-internal-format
 msgid "address of a call to %qs is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8188
+#: cp/constexpr.cc:8578
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/constexpr.cc:8450 rust/backend/rust-constexpr.cc:5154
+#: cp/constexpr.cc:8854 rust/backend/rust-constexpr.cc:5158
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to mutable subobjects of "
 "%qT"
 msgstr ""
 
-#: cp/constexpr.cc:8458 rust/backend/rust-constexpr.cc:5163
+#: cp/constexpr.cc:8862 rust/backend/rust-constexpr.cc:5167
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to an incompletely "
 "initialized variable"
 msgstr ""
 
-#: cp/constexpr.cc:8474 rust/backend/rust-constexpr.cc:5179
+#: cp/constexpr.cc:8878 rust/backend/rust-constexpr.cc:5183
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to a result of %<operator "
 "new%>"
 msgstr ""
 
-#: cp/constexpr.cc:8485 rust/backend/rust-constexpr.cc:5191
+#: cp/constexpr.cc:8889 rust/backend/rust-constexpr.cc:5195
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because allocated storage has not been "
 "deallocated"
 msgstr ""
 
-#: cp/constexpr.cc:8505 rust/backend/rust-constexpr.cc:5209
+#: cp/constexpr.cc:8909 rust/backend/rust-constexpr.cc:5213
 #, gcc-internal-format
 msgid "immediate evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:8509
+#: cp/constexpr.cc:8913
 #, gcc-internal-format
 msgid "constant evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:9146 rust/backend/rust-constexpr.cc:5663
+#: cp/constexpr.cc:9551 rust/backend/rust-constexpr.cc:5667
 #, gcc-internal-format
 msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:9369
+#: cp/constexpr.cc:9780
 #, gcc-internal-format
 msgid "lambda capture of %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9372
+#: cp/constexpr.cc:9783
 #, gcc-internal-format
 msgid "because it is used as a glvalue"
 msgstr ""
 
-#: cp/constexpr.cc:9428 rust/backend/rust-constexpr.cc:5889
+#: cp/constexpr.cc:9839 rust/backend/rust-constexpr.cc:5893
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from integer to pointer"
 msgstr ""
 
-#: cp/constexpr.cc:9462 rust/backend/rust-constexpr.cc:5917
+#: cp/constexpr.cc:9873 rust/backend/rust-constexpr.cc:5921
 #, gcc-internal-format
 msgid ""
 "address-of an object %qE with thread local or automatic storage is not a "
 "constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9501
+#: cp/constexpr.cc:9912
 #, gcc-internal-format
 msgid "use of %<this%> in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9650
+#: cp/constexpr.cc:10061
 #, gcc-internal-format
 msgid "lambda-expression is not a constant expression before C++17"
 msgstr ""
 
-#: cp/constexpr.cc:9662
+#: cp/constexpr.cc:10073
 #, gcc-internal-format
 msgid "new-expression is not a constant expression before C++20"
 msgstr ""
 
-#: cp/constexpr.cc:9728
+#: cp/constexpr.cc:10140
 #, gcc-internal-format
 msgid "virtual functions cannot be %<constexpr%> before C++20"
 msgstr ""
 
-#: cp/constexpr.cc:9744
+#: cp/constexpr.cc:10156
 #, gcc-internal-format
 msgid ""
 "%<typeid%> is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/constexpr.cc:9807
+#: cp/constexpr.cc:10219
 #, gcc-internal-format
 msgid "cast to non-integral type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9868
+#: cp/constexpr.cc:10272
 #, gcc-internal-format
 msgid "%qD defined %<thread_local%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:9876
+#: cp/constexpr.cc:10280
 #, gcc-internal-format
 msgid "%qD defined %<static%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:9954 rust/backend/rust-constexpr.cc:6248
+#: cp/constexpr.cc:10358 rust/backend/rust-constexpr.cc:6251
 #, gcc-internal-format
 msgid "division by zero is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10055 rust/backend/rust-constexpr.cc:6346
+#: cp/constexpr.cc:10459 rust/backend/rust-constexpr.cc:6349
 #, gcc-internal-format
 msgid "%<delete[]%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10124
+#: cp/constexpr.cc:10528
 #, gcc-internal-format
 msgid "neither branch of %<if%> is a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10137
+#: cp/constexpr.cc:10541
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr ""
 
-#: cp/constexpr.cc:10185 rust/backend/rust-constexpr.cc:6424
+#: cp/constexpr.cc:10589 rust/backend/rust-constexpr.cc:6427
 #, gcc-internal-format
 msgid ""
 "label definition in %<constexpr%> function only available with %<-std=c+"
 "+2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/constexpr.cc:10216 rust/backend/rust-constexpr.cc:6435
+#: cp/constexpr.cc:10620 rust/backend/rust-constexpr.cc:6438
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr ""
@@ -54339,373 +56304,418 @@ msgstr ""
 msgid "constraint expression does not have type %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:373
+#: cp/constraint.cc:375
 #, gcc-internal-format
 msgid "function call of variable concept %qE"
 msgstr ""
 
-#: cp/constraint.cc:545
+#: cp/constraint.cc:547
 #, gcc-internal-format
 msgid "MAP %qD TO %qT"
 msgstr ""
 
-#: cp/constraint.cc:547
+#: cp/constraint.cc:549
 #, gcc-internal-format
 msgid "MAP %qD TO %qE"
 msgstr ""
 
-#: cp/constraint.cc:560
+#: cp/constraint.cc:562
 #, gcc-internal-format
 msgid "argument %qT"
 msgstr ""
 
-#: cp/constraint.cc:562
+#: cp/constraint.cc:564
 #, gcc-internal-format
 msgid "argument %qE"
 msgstr ""
 
-#: cp/constraint.cc:1212
+#: cp/constraint.cc:1214
 #, gcc-internal-format
 msgid "%qT does not match original declaration"
 msgstr ""
 
-#: cp/constraint.cc:1215
+#: cp/constraint.cc:1217
 #, gcc-internal-format
 msgid "original template declaration here"
 msgstr ""
 
-#: cp/constraint.cc:1415
+#: cp/constraint.cc:1417
 #, gcc-internal-format
 msgid "no matching concepts for %qE"
 msgstr ""
 
-#: cp/constraint.cc:1718
+#: cp/constraint.cc:1723
 #, gcc-internal-format
 msgid "%qE cannot be introduced with an ellipsis %<...%>"
 msgstr ""
 
-#: cp/constraint.cc:1719
+#: cp/constraint.cc:1724
 #, gcc-internal-format
 msgid "prototype declared here"
 msgstr ""
 
-#: cp/constraint.cc:1806
+#: cp/constraint.cc:1811
 #, gcc-internal-format
 msgid "all template parameters of %qD must be introduced"
 msgstr ""
 
-#: cp/constraint.cc:1834
+#: cp/constraint.cc:1839
 #, gcc-internal-format
 msgid "cannot deduce template parameters from introduction list"
 msgstr ""
 
-#: cp/constraint.cc:1998
+#: cp/constraint.cc:2004
 #, gcc-internal-format
 msgid "the required expression %qE is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:2005
+#: cp/constraint.cc:2011
 #, gcc-internal-format
 msgid "the required expression %qE is invalid"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2044
+#: cp/constraint.cc:2053
 #, gcc-internal-format
 msgid "the required type %qT is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:2048
+#: cp/constraint.cc:2057
 #, gcc-internal-format
 msgid "the required type %qT is invalid"
 msgstr ""
 
-#: cp/constraint.cc:2101 cp/constraint.cc:2174
+#: cp/constraint.cc:2112 cp/constraint.cc:2185
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT"
 msgstr ""
 
-#: cp/constraint.cc:2127
+#: cp/constraint.cc:2140
 #, gcc-internal-format
 msgid "%qE is not %<noexcept%>"
 msgstr ""
 
-#: cp/constraint.cc:2151
+#: cp/constraint.cc:2162
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement, because"
 msgstr ""
 
-#: cp/constraint.cc:2158
+#: cp/constraint.cc:2169
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement"
 msgstr ""
 
-#: cp/constraint.cc:2169
+#: cp/constraint.cc:2180
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT because"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2201
+#: cp/constraint.cc:2224
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied, because"
 msgstr ""
 
-#: cp/constraint.cc:2205
+#: cp/constraint.cc:2228
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2705
+#: cp/constraint.cc:2742
 #, gcc-internal-format
 msgid "satisfaction of atomic constraint %qE depends on itself"
 msgstr ""
 
-#: cp/constraint.cc:2751
+#: cp/constraint.cc:2788
 #, gcc-internal-format
 msgid "satisfaction value of atomic constraint %qE changed from %qE to %qE"
 msgstr ""
 
-#: cp/constraint.cc:2754
+#: cp/constraint.cc:2791
 #, gcc-internal-format
 msgid "satisfaction value first evaluated to %qE from here"
 msgstr ""
 
-#: cp/constraint.cc:2871
+#: cp/constraint.cc:2908
 #, gcc-internal-format
 msgid "no operand of the disjunction is satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2884
+#: cp/constraint.cc:2921
 #, gcc-internal-format
 msgid "the operand %qE is unsatisfied because"
 msgstr ""
 
-#: cp/constraint.cc:3526
+#: cp/constraint.cc:3563
 #, gcc-internal-format
 msgid "definition of concept %qD is empty"
 msgstr ""
 
-#: cp/constraint.cc:3529
+#: cp/constraint.cc:3566
 #, gcc-internal-format
 msgid "definition of concept %qD has multiple statements"
 msgstr ""
 
-#: cp/constraint.cc:3685
+#: cp/constraint.cc:3722
 #, gcc-internal-format
 msgid "  %qT is not nothrow copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3688 cp/constraint.cc:3783
+#: cp/constraint.cc:3725 cp/constraint.cc:3810
 #, gcc-internal-format
 msgid "  %qT is not nothrow default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3691
+#: cp/constraint.cc:3728
 #, gcc-internal-format
 msgid "  %qT is not nothrow copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3694
+#: cp/constraint.cc:3731
 #, gcc-internal-format
 msgid "  %qT is not trivially copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3697 cp/constraint.cc:3777
+#: cp/constraint.cc:3734 cp/constraint.cc:3850
 #, gcc-internal-format
 msgid "  %qT is not trivially default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3700
+#: cp/constraint.cc:3737
 #, gcc-internal-format
 msgid "  %qT is not trivially copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3703
+#: cp/constraint.cc:3740
 #, gcc-internal-format
 msgid "  %qT is not trivially destructible"
 msgstr ""
 
-#: cp/constraint.cc:3706
+#: cp/constraint.cc:3743
+#, gcc-internal-format
+msgid "  %qT does not have unique object representations"
+msgstr ""
+
+#: cp/constraint.cc:3746
 #, gcc-internal-format
 msgid "  %qT does not have a virtual destructor"
 msgstr ""
 
-#: cp/constraint.cc:3709
+#: cp/constraint.cc:3749
 #, gcc-internal-format
 msgid "  %qT is not an abstract class"
 msgstr ""
 
-#: cp/constraint.cc:3712
+#: cp/constraint.cc:3752
+#, gcc-internal-format
+msgid "  %qT is not an aggregate"
+msgstr ""
+
+#: cp/constraint.cc:3755
+#, gcc-internal-format
+msgid "  %qT is not an array"
+msgstr ""
+
+#: cp/constraint.cc:3758
+#, gcc-internal-format
+msgid "  %qT is not assignable from %qT"
+msgstr ""
+
+#: cp/constraint.cc:3761
 #, gcc-internal-format
 msgid "  %qT is not a base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3715
+#: cp/constraint.cc:3764
+#, gcc-internal-format
+msgid "  %qT is not a bounded array"
+msgstr ""
+
+#: cp/constraint.cc:3767
 #, gcc-internal-format
 msgid "  %qT is not a class"
 msgstr ""
 
-#: cp/constraint.cc:3718
+#: cp/constraint.cc:3771
+#, gcc-internal-format
+msgid "  %qT is not default constructible"
+msgstr ""
+
+#: cp/constraint.cc:3773
+#, gcc-internal-format
+msgid "  %qT is not constructible from %qE"
+msgstr ""
+
+#: cp/constraint.cc:3776
+#, gcc-internal-format
+msgid "  %qT is not convertible from %qE"
+msgstr ""
+
+#: cp/constraint.cc:3779
 #, gcc-internal-format
 msgid "  %qT is not an empty class"
 msgstr ""
 
-#: cp/constraint.cc:3721
+#: cp/constraint.cc:3782
 #, gcc-internal-format
 msgid "  %qT is not an enum"
 msgstr ""
 
-#: cp/constraint.cc:3724
+#: cp/constraint.cc:3785
 #, gcc-internal-format
 msgid "  %qT is not a final class"
 msgstr ""
 
-#: cp/constraint.cc:3727
+#: cp/constraint.cc:3788
+#, gcc-internal-format
+msgid "  %qT is not a function"
+msgstr ""
+
+#: cp/constraint.cc:3791
 #, gcc-internal-format
 msgid "  %qT is not layout compatible with %qT"
 msgstr ""
 
-#: cp/constraint.cc:3730
+#: cp/constraint.cc:3794
 #, gcc-internal-format
 msgid "  %qT is not a literal type"
 msgstr ""
 
-#: cp/constraint.cc:3733
+#: cp/constraint.cc:3797
 #, gcc-internal-format
-msgid "  %qT is not pointer-interconvertible base of %qT"
+msgid "  %qT is not a member function pointer"
 msgstr ""
 
-#: cp/constraint.cc:3737
+#: cp/constraint.cc:3800
 #, gcc-internal-format
-msgid "  %qT is not a POD type"
+msgid "  %qT is not a member object pointer"
 msgstr ""
 
-#: cp/constraint.cc:3740
+#: cp/constraint.cc:3803
 #, gcc-internal-format
-msgid "  %qT is not a polymorphic type"
+msgid "  %qT is not a member pointer"
 msgstr ""
 
-#: cp/constraint.cc:3743
+#: cp/constraint.cc:3806
 #, gcc-internal-format
-msgid "  %qT is not the same as %qT"
+msgid "  %qT is not nothrow assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3746
+#: cp/constraint.cc:3812
 #, gcc-internal-format
-msgid "  %qT is not an standard layout type"
+msgid "  %qT is not nothrow constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3749
+#: cp/constraint.cc:3815
 #, gcc-internal-format
-msgid "  %qT is not a trivial type"
+msgid "  %qT is not nothrow convertible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3752
+#: cp/constraint.cc:3818
 #, gcc-internal-format
-msgid "  %qT is not a union"
+msgid "  %qT is not an object type"
 msgstr ""
 
-#: cp/constraint.cc:3755
+#: cp/constraint.cc:3821
 #, gcc-internal-format
-msgid "  %qT is not an aggregate"
+msgid "  %qT is not pointer-interconvertible base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3758
+#: cp/constraint.cc:3825
 #, gcc-internal-format
-msgid "  %qT is not trivially copyable"
+msgid "  %qT is not a POD type"
 msgstr ""
 
-#: cp/constraint.cc:3761
+#: cp/constraint.cc:3828
 #, gcc-internal-format
-msgid "  %qT is not assignable from %qT"
+msgid "  %qT is not a polymorphic type"
 msgstr ""
 
-#: cp/constraint.cc:3764
+#: cp/constraint.cc:3831
 #, gcc-internal-format
-msgid "  %qT is not trivially assignable from %qT"
+msgid "  %qT is not a reference"
 msgstr ""
 
-#: cp/constraint.cc:3767
+#: cp/constraint.cc:3834
 #, gcc-internal-format
-msgid "  %qT is not nothrow assignable from %qT"
+msgid "  %qT is not the same as %qT"
 msgstr ""
 
-#: cp/constraint.cc:3771
+#: cp/constraint.cc:3837
 #, gcc-internal-format
-msgid "  %qT is not default constructible"
+msgid "  %qT is not a scoped enum"
 msgstr ""
 
-#: cp/constraint.cc:3773
+#: cp/constraint.cc:3840
 #, gcc-internal-format
-msgid "  %qT is not constructible from %qE"
+msgid "  %qT is not an standard layout type"
 msgstr ""
 
-#: cp/constraint.cc:3779
+#: cp/constraint.cc:3843
 #, gcc-internal-format
-msgid "  %qT is not trivially constructible from %qE"
+msgid "  %qT is not a trivial type"
 msgstr ""
 
-#: cp/constraint.cc:3785
+#: cp/constraint.cc:3846
 #, gcc-internal-format
-msgid "  %qT is not nothrow constructible from %qE"
+msgid "  %qT is not trivially assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3788
+#: cp/constraint.cc:3852
 #, gcc-internal-format
-msgid "  %qT does not have unique object representations"
+msgid "  %qT is not trivially constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3791
+#: cp/constraint.cc:3855
 #, gcc-internal-format
-msgid "  %qT is not convertible from %qE"
+msgid "  %qT is not trivially copyable"
 msgstr ""
 
-#: cp/constraint.cc:3794
+#: cp/constraint.cc:3858
 #, gcc-internal-format
-msgid "  %qT is not nothrow convertible from %qE"
+msgid "  %qT is not a union"
 msgstr ""
 
-#: cp/constraint.cc:3797
+#: cp/constraint.cc:3861
 #, gcc-internal-format
 msgid ""
 "  %qT is not a reference that binds to a temporary object of type %qT "
 "(direct-initialization)"
 msgstr ""
 
-#: cp/constraint.cc:3801
+#: cp/constraint.cc:3865
 #, gcc-internal-format
 msgid ""
 "  %qT is not a reference that binds to a temporary object of type %qT (copy-"
 "initialization)"
 msgstr ""
 
-#: cp/constraint.cc:3805
+#: cp/constraint.cc:3869
 #, gcc-internal-format
 msgid "  %qD is not deducible from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3832
+#: cp/constraint.cc:3896
 #, gcc-internal-format
 msgid "invalid constraints"
 msgstr ""
 
-#: cp/constraint.cc:3857
+#: cp/constraint.cc:3921
 #, gcc-internal-format
 msgid "constraint %qE has type %qT, not %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:3860
+#: cp/constraint.cc:3924
 #, gcc-internal-format
 msgid "the expression %qE evaluated to %<false%>"
 msgstr ""
 
-#: cp/constraint.cc:3911
+#: cp/constraint.cc:3975
 #, gcc-internal-format
 msgid "constraints not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:3926
+#: cp/constraint.cc:3990
 #, gcc-internal-format
 msgid "set %qs to at least %d for more detail"
 msgstr ""
@@ -54798,73 +56808,73 @@ msgstr ""
 msgid "%<-fcontract-semantic=%> level must be default, audit, or axiom"
 msgstr ""
 
-#: cp/contracts.cc:643
+#: cp/contracts.cc:647
 #, gcc-internal-format
 msgid "constructor does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:645
+#: cp/contracts.cc:649
 #, gcc-internal-format
 msgid "destructor does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:646
+#: cp/contracts.cc:650
 #, gcc-internal-format
 msgid "function does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:1144
+#: cp/contracts.cc:1149
 #, gcc-internal-format
 msgid "mismatched contract attribute in declaration"
 msgstr ""
 
-#: cp/contracts.cc:1146 cp/contracts.cc:1177
+#: cp/contracts.cc:1151 cp/contracts.cc:1182
 #, gcc-internal-format
 msgid "previous contract here"
 msgstr ""
 
-#: cp/contracts.cc:1174
+#: cp/contracts.cc:1179
 #, gcc-internal-format
 msgid "mismatched contract condition in declaration"
 msgstr ""
 
-#: cp/contracts.cc:1217
+#: cp/contracts.cc:1222
 #, gcc-internal-format
 msgid ""
 "declaration has a different number of contracts than previously declared"
 msgstr ""
 
-#: cp/contracts.cc:1223
+#: cp/contracts.cc:1228
 #, gcc-internal-format
 msgid "original declaration with fewer contracts here"
 msgstr ""
 
-#: cp/contracts.cc:1960
+#: cp/contracts.cc:1965
 #, gcc-internal-format
 msgid "contracts must appertain to a function type"
 msgstr ""
 
-#: cp/contracts.cc:2173
+#: cp/contracts.cc:2178
 #, gcc-internal-format
 msgid "cannot add contracts after definition"
 msgstr ""
 
-#: cp/contracts.cc:2174
+#: cp/contracts.cc:2179
 #, gcc-internal-format
 msgid "original definition here"
 msgstr ""
 
-#: cp/contracts.cc:2182
+#: cp/contracts.cc:2187
 #, gcc-internal-format
 msgid "cannot add contracts to a virtual function"
 msgstr ""
 
-#: cp/contracts.cc:2183
+#: cp/contracts.cc:2188
 #, gcc-internal-format
 msgid "original declaration here"
 msgstr ""
 
-#: cp/contracts.cc:2193
+#: cp/contracts.cc:2198
 #, gcc-internal-format
 msgid "declaration adds contracts to %q#D"
 msgstr ""
@@ -54911,7 +56921,7 @@ msgstr ""
 msgid "%<return_void%> declared here"
 msgstr ""
 
-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314
+#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4283
 #, gcc-internal-format
 msgid "no member named %qE in %qT"
 msgstr ""
@@ -54975,146 +56985,163 @@ msgstr ""
 msgid "must be declared with %<noexcept(true)%>"
 msgstr ""
 
-#: cp/coroutines.cc:962
+#: cp/coroutines.cc:957
 #, gcc-internal-format
 msgid "awaitable type %qT is not a structure"
 msgstr ""
 
-#: cp/coroutines.cc:1077
+#: cp/coroutines.cc:1072
 #, gcc-internal-format
 msgid "%<await_suspend%> must return %<void%>, %<bool%> or a coroutine handle"
 msgstr ""
 
-#: cp/coroutines.cc:1391
+#: cp/coroutines.cc:1379
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<co_return%> statement"
 msgstr ""
 
-#: cp/coroutines.cc:1429
+#: cp/coroutines.cc:1416
 #, gcc-internal-format
 msgid "the align argument to %<__builtin_coro_promise%> must be a constant"
 msgstr ""
 
-#: cp/coroutines.cc:1439
+#: cp/coroutines.cc:1426
 #, gcc-internal-format
 msgid "the direction argument to %<__builtin_coro_promise%> must be a constant"
 msgstr ""
 
-#: cp/coroutines.cc:1922
+#: cp/coroutines.cc:1904
 #, gcc-internal-format
 msgid "no suspend point info for %qD"
 msgstr ""
 
-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688
+#: cp/coroutines.cc:2102 cp/coroutines.cc:4657
 #, gcc-internal-format
 msgid ""
 "%qE is provided by %qT but is not usable with the function signature %qD"
 msgstr ""
 
-#: cp/coroutines.cc:2570
+#: cp/coroutines.cc:2546
 #, gcc-internal-format
 msgid "duplicate info for %qE"
 msgstr ""
 
-#: cp/coroutines.cc:3722
+#: cp/coroutines.cc:3691
 #, gcc-internal-format
 msgid "await expressions are not permitted in handlers"
 msgstr ""
 
-#: cp/coroutines.cc:3954
+#: cp/coroutines.cc:3923
 #, gcc-internal-format
 msgid "variable length arrays are not yet supported in coroutines"
 msgstr ""
 
-#: cp/coroutines.cc:4693
+#: cp/coroutines.cc:4662
 #, gcc-internal-format
 msgid ""
 "%qE is provided by %qT but %qE is not marked %<throw()%> or %<noexcept%>"
 msgstr ""
 
-#: cp/coroutines.cc:4696
+#: cp/coroutines.cc:4665
 #, gcc-internal-format
 msgid ""
 "%qE is marked %<throw()%> or %<noexcept%> but no usable "
 "%<get_return_object_on_allocation_failure%> is provided by %qT"
 msgstr ""
 
-#: cp/coroutines.cc:4725
+#: cp/coroutines.cc:4694
 #, gcc-internal-format
 msgid "%qE is provided by %qT but %<std::nothrow%> cannot be found"
 msgstr ""
 
 #. We can't initialize a non-class return value from void.
-#: cp/coroutines.cc:5122
+#: cp/coroutines.cc:5076
 #, gcc-internal-format
 msgid ""
 "cannot initialize a return object of type %qT with an rvalue of type %<void%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:176
+#: cp/cp-gimplify.cc:192
 #, gcc-internal-format
 msgid "both branches of %<if%> statement marked as %qs"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1054 cp/cp-gimplify.cc:1066
+#: cp/cp-gimplify.cc:536
+#, gcc-internal-format
+msgid ""
+"%qD was promoted to an immediate function because its body contains an "
+"immediate-escalating expression %qE"
+msgstr ""
+
+#: cp/cp-gimplify.cc:539
+#, gcc-internal-format
+msgid "%qD was promoted to an immediate function"
+msgstr ""
+
+#: cp/cp-gimplify.cc:1164
 #, gcc-internal-format
 msgid "taking address of an immediate function %qD"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1675
+#: cp/cp-gimplify.cc:1263
+#, gcc-internal-format
+msgid "call to consteval function %qE is not a constant expression"
+msgstr ""
+
+#: cp/cp-gimplify.cc:2002
 #, gcc-internal-format
 msgid "%<throw%> will always call %<terminate%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1678
+#: cp/cp-gimplify.cc:2005
 #, gcc-internal-format
 msgid "in C++11 destructors default to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1690
+#: cp/cp-gimplify.cc:2017
 #, gcc-internal-format
 msgid ""
 "in C++11 this %<throw%> will call %<terminate%> because destructors default "
 "to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3251
+#: cp/cp-gimplify.cc:3604
 #, gcc-internal-format
 msgid "ignoring attribute %qE after earlier %qE"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3293
+#: cp/cp-gimplify.cc:3646
 #, gcc-internal-format
 msgid "pack expansion of %qE attribute"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3296
+#: cp/cp-gimplify.cc:3649
 #, gcc-internal-format
 msgid "use fold expression in the attribute argument instead"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3335 cp/cp-gimplify.cc:3347 cp/decl.cc:4253
-#: cp/method.cc:978
+#: cp/cp-gimplify.cc:3688 cp/cp-gimplify.cc:3700 cp/decl.cc:4456
+#: cp/method.cc:984
 #, gcc-internal-format
 msgid "%qD is not a type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3353
+#: cp/cp-gimplify.cc:3706
 #, gcc-internal-format
 msgid "%qD is not a class type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3370
+#: cp/cp-gimplify.cc:3723
 #, gcc-internal-format
 msgid "%qD does not have %<const char *%> type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3380
+#: cp/cp-gimplify.cc:3733
 #, gcc-internal-format
 msgid "%qD does not have integral type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3392
+#: cp/cp-gimplify.cc:3745
 #, gcc-internal-format
 msgid ""
 "%<std::source_location::__impl%> does not contain only non-static data "
@@ -55157,7 +57184,7 @@ msgstr ""
 msgid "conversion from %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/cvt.cc:498 cp/typeck.cc:8711
+#: cp/cvt.cc:498 cp/typeck.cc:8825
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr ""
@@ -55197,636 +57224,676 @@ msgstr ""
 msgid "conversion from %qH to non-scalar type %qI requested"
 msgstr ""
 
-#: cp/cvt.cc:1072
+#: cp/cvt.cc:1074
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD, declared with attribute %<nodiscard%>: %<%s%>"
 msgstr ""
 
-#: cp/cvt.cc:1074
+#: cp/cvt.cc:1076
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1090
+#: cp/cvt.cc:1092
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>: "
 "%<%s%>"
 msgstr ""
 
-#: cp/cvt.cc:1092
+#: cp/cvt.cc:1094
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1114
+#: cp/cvt.cc:1116
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD, declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: cp/cvt.cc:1168
+#: cp/cvt.cc:1170
 #, gcc-internal-format
 msgid "pseudo-destructor is not called"
 msgstr ""
 
-#: cp/cvt.cc:1264 rust/backend/rust-tree.cc:341
+#: cp/cvt.cc:1268 rust/backend/rust-tree.cc:339
 #, gcc-internal-format
 msgid "conversion to void will not access object of incomplete type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1268 rust/backend/rust-tree.cc:347
+#: cp/cvt.cc:1272 rust/backend/rust-tree.cc:345
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in second operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1273 rust/backend/rust-tree.cc:354
+#: cp/cvt.cc:1277 rust/backend/rust-tree.cc:352
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in third operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1278 rust/backend/rust-tree.cc:361
+#: cp/cvt.cc:1282 rust/backend/rust-tree.cc:359
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in right operand "
 "of comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1283 rust/backend/rust-tree.cc:368
+#: cp/cvt.cc:1287 rust/backend/rust-tree.cc:366
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1288 rust/backend/rust-tree.cc:375
+#: cp/cvt.cc:1292 rust/backend/rust-tree.cc:373
 #, gcc-internal-format
 msgid "indirection will not access object of incomplete type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1292 rust/backend/rust-tree.cc:381
+#: cp/cvt.cc:1296 rust/backend/rust-tree.cc:379
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1308 rust/backend/rust-tree.cc:398
+#: cp/cvt.cc:1312 rust/backend/rust-tree.cc:396
 #, gcc-internal-format
 msgid "conversion to void will not access object of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1312 rust/backend/rust-tree.cc:404
+#: cp/cvt.cc:1316 rust/backend/rust-tree.cc:402
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in second operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1317 rust/backend/rust-tree.cc:411
+#: cp/cvt.cc:1321 rust/backend/rust-tree.cc:409
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in third operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1322 rust/backend/rust-tree.cc:418
+#: cp/cvt.cc:1326 rust/backend/rust-tree.cc:416
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in right operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1327 rust/backend/rust-tree.cc:425
+#: cp/cvt.cc:1331 rust/backend/rust-tree.cc:423
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1332 rust/backend/rust-tree.cc:432
+#: cp/cvt.cc:1336 rust/backend/rust-tree.cc:430
 #, gcc-internal-format
 msgid "implicit dereference will not access object of type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1336 rust/backend/rust-tree.cc:438
+#: cp/cvt.cc:1340 rust/backend/rust-tree.cc:436
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1350 rust/backend/rust-tree.cc:452
+#: cp/cvt.cc:1354 rust/backend/rust-tree.cc:450
 #, gcc-internal-format
 msgid ""
 "conversion to void will not access object of non-trivially-copyable type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1355 rust/backend/rust-tree.cc:458
+#: cp/cvt.cc:1359 rust/backend/rust-tree.cc:456
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "second operand of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1360 rust/backend/rust-tree.cc:465
+#: cp/cvt.cc:1364 rust/backend/rust-tree.cc:463
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "third operand of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1365 rust/backend/rust-tree.cc:472
+#: cp/cvt.cc:1369 rust/backend/rust-tree.cc:470
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "right operand of comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1370 rust/backend/rust-tree.cc:479
+#: cp/cvt.cc:1374 rust/backend/rust-tree.cc:477
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "left operand of comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1375 rust/backend/rust-tree.cc:486
+#: cp/cvt.cc:1379 rust/backend/rust-tree.cc:484
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "statement"
 msgstr ""
 
-#: cp/cvt.cc:1380 rust/backend/rust-tree.cc:492
+#: cp/cvt.cc:1384 rust/backend/rust-tree.cc:490
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in for "
 "increment expression"
 msgstr ""
 
-#: cp/cvt.cc:1421 rust/backend/rust-tree.cc:533
+#: cp/cvt.cc:1426 rust/backend/rust-tree.cc:531
 #, gcc-internal-format
 msgid "conversion to void will not access object %qE of incomplete type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1425 rust/backend/rust-tree.cc:539
+#: cp/cvt.cc:1430 rust/backend/rust-tree.cc:537
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in second operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1430 rust/backend/rust-tree.cc:546
+#: cp/cvt.cc:1435 rust/backend/rust-tree.cc:544
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in third operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1435 rust/backend/rust-tree.cc:553
+#: cp/cvt.cc:1440 rust/backend/rust-tree.cc:551
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in right operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1440 rust/backend/rust-tree.cc:559
+#: cp/cvt.cc:1445 rust/backend/rust-tree.cc:557
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1445 rust/backend/rust-tree.cc:565
+#: cp/cvt.cc:1450 rust/backend/rust-tree.cc:563
 #, gcc-internal-format
 msgid "variable %qE of incomplete type %qT will not be accessed in statement"
 msgstr ""
 
-#: cp/cvt.cc:1449 rust/backend/rust-tree.cc:571
+#: cp/cvt.cc:1454 rust/backend/rust-tree.cc:569
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1505
+#: cp/cvt.cc:1510
 #, gcc-internal-format
 msgid "conversion to void cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1509
+#: cp/cvt.cc:1514
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression cannot resolve address of "
 "overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1513
+#: cp/cvt.cc:1518
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression cannot resolve address of overloaded "
 "function"
 msgstr ""
 
-#: cp/cvt.cc:1517
+#: cp/cvt.cc:1522
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1521
+#: cp/cvt.cc:1526
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1525
+#: cp/cvt.cc:1530
 #, gcc-internal-format
 msgid "statement cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1529
+#: cp/cvt.cc:1534
 #, gcc-internal-format
 msgid "for increment expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1545
+#: cp/cvt.cc:1550
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1550
+#: cp/cvt.cc:1555
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1555
+#: cp/cvt.cc:1560
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1560
+#: cp/cvt.cc:1565
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1565
+#: cp/cvt.cc:1570
 #, gcc-internal-format
 msgid "statement is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1570
+#: cp/cvt.cc:1575
 #, gcc-internal-format
 msgid "for increment expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1599
+#: cp/cvt.cc:1604
 #, gcc-internal-format
 msgid "second operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1604
+#: cp/cvt.cc:1609
 #, gcc-internal-format
 msgid "third operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1609
+#: cp/cvt.cc:1614
 #, gcc-internal-format
 msgid "right operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1613
+#: cp/cvt.cc:1618
 #, gcc-internal-format
 msgid "left operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1617
+#: cp/cvt.cc:1622
 #, gcc-internal-format
 msgid "statement has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1621
+#: cp/cvt.cc:1626
 #, gcc-internal-format
 msgid "for increment expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1774
+#: cp/cvt.cc:1779
 #, gcc-internal-format
 msgid "converting NULL to non-pointer type"
 msgstr ""
 
-#: cp/cvt.cc:1892
+#: cp/cvt.cc:1897
 #, gcc-internal-format
 msgid "default type conversion cannot deduce template argument for %qD"
 msgstr ""
 
-#: cp/cvt.cc:1907
+#: cp/cvt.cc:1912
 #, gcc-internal-format
 msgid "ambiguous default type conversion from %qT"
 msgstr ""
 
-#: cp/cvt.cc:1910
+#: cp/cvt.cc:1915
 #, gcc-internal-format
 msgid "  candidate conversions include %qD and %qD"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2301
+#: cp/cxx-pretty-print.cc:2315
 #, gcc-internal-format
 msgid "template-parameter-"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2315
+#: cp/cxx-pretty-print.cc:2329
 #, gcc-internal-format
 msgid "requires"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2835 cp/error.cc:397
+#: cp/cxx-pretty-print.cc:2849 cp/error.cc:399
 #, gcc-internal-format
 msgid "with"
 msgstr ""
 
-#: cp/decl.cc:694
+#: cp/decl.cc:715
 #, gcc-internal-format
 msgid "unused structured binding declaration"
 msgstr ""
 
-#: cp/decl.cc:697
+#: cp/decl.cc:718
 #, gcc-internal-format
 msgid "unused variable %qD"
 msgstr ""
 
-#: cp/decl.cc:707
+#: cp/decl.cc:728
 #, gcc-internal-format
 msgid "structured binding declaration set but not used"
 msgstr ""
 
-#: cp/decl.cc:862
+#: cp/decl.cc:883
 #, gcc-internal-format
 msgid "%qF declared %<static%> but never defined"
 msgstr ""
 
-#: cp/decl.cc:869
+#: cp/decl.cc:890
 #, gcc-internal-format
 msgid "odr-used inline variable %qD is not defined"
 msgstr ""
 
-#: cp/decl.cc:1282
+#: cp/decl.cc:1335
 #, gcc-internal-format
 msgid "%qD was declared %<extern%> and later %<static%>"
 msgstr ""
 
-#: cp/decl.cc:1322
+#: cp/decl.cc:1375
 #, gcc-internal-format
 msgid "declaration of %qF has a different exception specifier"
 msgstr ""
 
-#: cp/decl.cc:1336
+#: cp/decl.cc:1389
 #, gcc-internal-format
 msgid "from previous declaration %qF"
 msgstr ""
 
-#: cp/decl.cc:1389
+#: cp/decl.cc:1442
 #, gcc-internal-format
 msgid "redeclaration %qD differs in %qs from previous declaration"
 msgstr ""
 
-#: cp/decl.cc:1393 cp/decl.cc:16149
+#: cp/decl.cc:1446 cp/decl.cc:16605
 #, gcc-internal-format
 msgid "previous declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:1422
+#: cp/decl.cc:1475
 #, gcc-internal-format
 msgid "cannot specialize concept %q#D"
 msgstr ""
 
-#: cp/decl.cc:1444
+#: cp/decl.cc:1497
 #, gcc-internal-format
 msgid "redeclaration of %q#D may not have default arguments"
 msgstr ""
 
-#: cp/decl.cc:1473
+#: cp/decl.cc:1526
 #, gcc-internal-format
 msgid ""
 "friend declaration of %q#D specifies default arguments and isn%'t the only "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:1476
+#: cp/decl.cc:1529
 #, gcc-internal-format
 msgid "previous declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:1525
+#: cp/decl.cc:1581
 #, gcc-internal-format
 msgid "ambiguating new declaration %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1527 cp/decl.cc:1948
+#: cp/decl.cc:1583 cp/decl.cc:2008
 #, gcc-internal-format
 msgid "old declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1567
+#: cp/decl.cc:1623
 #, gcc-internal-format
 msgid "redefinition of default argument for %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1569
+#: cp/decl.cc:1625
 #, gcc-internal-format
 msgid "original definition appeared here"
 msgstr ""
 
-#: cp/decl.cc:1635
+#: cp/decl.cc:1691
 #, gcc-internal-format
 msgid "built-in function %qD declared as non-function"
 msgstr ""
 
-#: cp/decl.cc:1648 cp/decl.cc:1774
+#: cp/decl.cc:1704 cp/decl.cc:1830
 #, gcc-internal-format
 msgid "shadowing built-in function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1649 cp/decl.cc:1775
+#: cp/decl.cc:1705 cp/decl.cc:1831
 #, gcc-internal-format
 msgid "shadowing library function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1657
+#: cp/decl.cc:1713
 #, gcc-internal-format
 msgid "library function %q#D redeclared as non-function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1661 cp/decl.cc:1722
+#: cp/decl.cc:1717 cp/decl.cc:1778
 #, gcc-internal-format
 msgid "declaration of %q#D conflicts with built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1749
+#: cp/decl.cc:1805
 #, gcc-internal-format
 msgid "definition of %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1755 cp/decl.cc:1769
+#: cp/decl.cc:1811 cp/decl.cc:1825
 #, gcc-internal-format
 msgid "new declaration %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1759
+#: cp/decl.cc:1815
 #, gcc-internal-format
 msgid "ignoring the %q#D declaration"
 msgstr ""
 
-#: cp/decl.cc:1863
+#: cp/decl.cc:1919
 #, gcc-internal-format
 msgid "literal operator %q#D conflicts with raw literal operator"
 msgstr ""
 
-#: cp/decl.cc:1867
+#: cp/decl.cc:1923
 #, gcc-internal-format
 msgid "raw literal operator %q#D conflicts with literal operator template"
 msgstr ""
 
-#: cp/decl.cc:1883
+#: cp/decl.cc:1939
 #, gcc-internal-format
 msgid "%q#D redeclared as different kind of entity"
 msgstr ""
 
-#: cp/decl.cc:1907
+#: cp/decl.cc:1963
 #, gcc-internal-format
 msgid "conflicting declaration of template %q#D"
 msgstr ""
 
-#: cp/decl.cc:1929
+#: cp/decl.cc:1985
 #, gcc-internal-format
 msgid "conflicting declaration of C function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1946
+#: cp/decl.cc:2006
 #, gcc-internal-format
 msgid "ambiguating new declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:1956
+#: cp/decl.cc:2016
 #, gcc-internal-format
 msgid "conflicting declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1958
+#: cp/decl.cc:2018
 #, gcc-internal-format
 msgid "previous declaration as %q#D"
 msgstr ""
 
-#: cp/decl.cc:1968
+#: cp/decl.cc:2028
 #, gcc-internal-format
 msgid "redeclaration of %<pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/decl.cc:1970
+#: cp/decl.cc:2030
 #, gcc-internal-format
 msgid "previous %<pragma omp declare reduction%> declaration"
 msgstr ""
 
-#: cp/decl.cc:2028
+#: cp/decl.cc:2088
 #, gcc-internal-format
 msgid "%q#D previously defined here"
 msgstr ""
 
-#: cp/decl.cc:2029 cp/name-lookup.cc:3160 cp/name-lookup.cc:3189
-#: cp/name-lookup.cc:3213
+#: cp/decl.cc:2089 cp/name-lookup.cc:3366 cp/name-lookup.cc:3404
+#: cp/name-lookup.cc:3430
 #, gcc-internal-format
 msgid "%q#D previously declared here"
 msgstr ""
 
-#: cp/decl.cc:2040
+#: cp/decl.cc:2097
+#, gcc-internal-format
+msgid "parameter declaration is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2102
+#, gcc-internal-format
+msgid "structured binding at namespace scope is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2106
+#, gcc-internal-format
+msgid "static structured binding is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2110
+#, gcc-internal-format
+msgid "extern structured binding is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2117
+#, gcc-internal-format
+msgid "static data member is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2120
+#, gcc-internal-format
+msgid "variable at namespace scope is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2123
+#, gcc-internal-format
+msgid "static variable is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2126
+#, gcc-internal-format
+msgid "extern variable is not name-independent"
+msgstr ""
+
+#: cp/decl.cc:2138
 #, gcc-internal-format
 msgid "prototype specified for %q#D"
 msgstr ""
 
-#: cp/decl.cc:2042
+#: cp/decl.cc:2140
 #, gcc-internal-format
 msgid "previous non-prototype definition here"
 msgstr ""
 
-#: cp/decl.cc:2082
+#: cp/decl.cc:2180
 #, gcc-internal-format
 msgid "conflicting declaration of %q#D with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2085
+#: cp/decl.cc:2183
 #, gcc-internal-format
 msgid "previous declaration with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2134 cp/decl.cc:2144
+#: cp/decl.cc:2232 cp/decl.cc:2242
 #, gcc-internal-format
 msgid "default argument given for parameter %d of %q#D"
 msgstr ""
 
-#: cp/decl.cc:2137 cp/decl.cc:2147
+#: cp/decl.cc:2235 cp/decl.cc:2245
 #, gcc-internal-format
 msgid "previous specification in %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2187
+#: cp/decl.cc:2285
 #, gcc-internal-format
 msgid "declaration %qD conflicts with builtin"
 msgstr ""
 
-#: cp/decl.cc:2190
+#: cp/decl.cc:2288
 #, gcc-internal-format
 msgid "declaration %qD conflicts with import"
 msgstr ""
 
-#: cp/decl.cc:2191
+#: cp/decl.cc:2289
 #, gcc-internal-format
 msgid "import declared %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2203
+#: cp/decl.cc:2306 cp/decl.cc:16628
 #, gcc-internal-format
-msgid "conflicting exporting declaration %qD"
+msgid "conflicting exporting for declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:2204
+#: cp/decl.cc:2308 cp/decl.cc:16630
 #, gcc-internal-format
-msgid "previous declaration %q#D here"
+msgid "previously declared here without exporting"
 msgstr ""
 
-#: cp/decl.cc:2231
+#: cp/decl.cc:2335
 #, gcc-internal-format
 msgid "previous definition of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2232
+#: cp/decl.cc:2336
 #, gcc-internal-format
 msgid "previous declaration of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2245
+#: cp/decl.cc:2349
 #, gcc-internal-format
 msgid ""
 "function %qD declared %<[[noreturn]]%> but its first declaration was not"
 msgstr ""
 
-#: cp/decl.cc:2292
+#: cp/decl.cc:2396
 #, gcc-internal-format
 msgid "redundant redeclaration of %qD in same scope"
 msgstr ""
 
-#: cp/decl.cc:2308
+#: cp/decl.cc:2412
 #, gcc-internal-format
 msgid "deleted definition of %qD is not first declaration"
 msgstr ""
@@ -55839,12 +57906,12 @@ 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:2806
+#: cp/decl.cc:2910
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr ""
 
-#: cp/decl.cc:2988
+#: cp/decl.cc:3092
 #, gcc-internal-format
 msgid ""
 "%qD: visibility attribute ignored because it conflicts with previous "
@@ -55852,38 +57919,33 @@ msgid ""
 msgstr ""
 
 #. Reject two definitions.
-#: cp/decl.cc:3252 cp/decl.cc:3281 cp/decl.cc:3323 cp/decl.cc:3340
-#: cp/decl.cc:3443
+#: cp/decl.cc:3356 cp/decl.cc:3385 cp/decl.cc:3423 cp/decl.cc:3440
+#: cp/decl.cc:3539
 #, gcc-internal-format
 msgid "redefinition of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3268
+#: cp/decl.cc:3372
 #, gcc-internal-format
 msgid "%qD conflicts with used function"
 msgstr ""
 
-#: cp/decl.cc:3278
+#: cp/decl.cc:3382
 #, gcc-internal-format
 msgid "%q#D not declared in class"
 msgstr ""
 
-#: cp/decl.cc:3292 cp/decl.cc:3350
+#: cp/decl.cc:3396 cp/decl.cc:3450
 #, gcc-internal-format
 msgid "%q+D redeclared inline with %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3295 cp/decl.cc:3353
+#: cp/decl.cc:3399 cp/decl.cc:3453
 #, gcc-internal-format
 msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3302 cp/decl.cc:3360
-#, gcc-internal-format
-msgid "deduction guide %q+D redeclared"
-msgstr ""
-
-#: cp/decl.cc:3309
+#: cp/decl.cc:3409
 #, gcc-internal-format
 msgid "comparison operator %q+D defaulted after its first declaration"
 msgstr ""
@@ -55891,2477 +57953,2603 @@ msgstr ""
 #. is_primary=
 #. is_partial=
 #. is_friend_decl=
-#: cp/decl.cc:3374
+#: cp/decl.cc:3470
 #, gcc-internal-format
 msgid "redeclaration of friend %q#D may not have default template arguments"
 msgstr ""
 
-#: cp/decl.cc:3389
+#: cp/decl.cc:3485
 #, gcc-internal-format
 msgid "thread-local declaration of %q#D follows non-thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3392
+#: cp/decl.cc:3488
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q#D follows thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3407 cp/decl.cc:3451 cp/name-lookup.cc:2715
-#: cp/name-lookup.cc:3187 cp/name-lookup.cc:3211
+#: cp/decl.cc:3503 cp/decl.cc:3547 cp/name-lookup.cc:2890
+#: cp/name-lookup.cc:3398 cp/name-lookup.cc:3401 cp/name-lookup.cc:3424
+#: cp/name-lookup.cc:3427
 #, gcc-internal-format
 msgid "redeclaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3434
+#: cp/decl.cc:3530
 #, gcc-internal-format
 msgid "redundant redeclaration of %<constexpr%> static data member %qD"
 msgstr ""
 
-#: cp/decl.cc:3502
+#: cp/decl.cc:3598
 #, gcc-internal-format
 msgid "local label %qE conflicts with existing label"
 msgstr ""
 
-#: cp/decl.cc:3503
+#: cp/decl.cc:3599
 #, gcc-internal-format
 msgid "previous label"
 msgstr ""
 
-#: cp/decl.cc:3585
+#: cp/decl.cc:3689
+#, gcc-internal-format
+msgid "jump to label %qD"
+msgstr ""
+
+#: cp/decl.cc:3690
+#, gcc-internal-format
+msgid "jump to case label"
+msgstr ""
+
+#: cp/decl.cc:3694
+#, gcc-internal-format
+msgid "  as a possible target of computed goto"
+msgstr ""
+
+#: cp/decl.cc:3696
 #, gcc-internal-format
 msgid "  from here"
 msgstr ""
 
-#: cp/decl.cc:3609 cp/decl.cc:3834
+#: cp/decl.cc:3724 cp/decl.cc:3962
 #, gcc-internal-format
 msgid "  exits OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3633
+#: cp/decl.cc:3749
 #, gcc-internal-format
 msgid "  crosses initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3645 cp/decl.cc:3801
+#: cp/decl.cc:3761 cp/decl.cc:3928
 #, gcc-internal-format
 msgid "  enters %<try%> block"
 msgstr ""
 
-#: cp/decl.cc:3651 cp/decl.cc:3790 cp/decl.cc:3803
+#: cp/decl.cc:3767 cp/decl.cc:3917 cp/decl.cc:3930
 #, gcc-internal-format
 msgid "  enters %<catch%> block"
 msgstr ""
 
-#: cp/decl.cc:3657 cp/decl.cc:3817
+#: cp/decl.cc:3773 cp/decl.cc:3944
 #, gcc-internal-format
 msgid "  enters OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3663 cp/decl.cc:3805
+#: cp/decl.cc:3779 cp/decl.cc:3932
 #, gcc-internal-format
 msgid "  enters synchronized or atomic statement"
 msgstr ""
 
-#: cp/decl.cc:3669 cp/decl.cc:3811
+#: cp/decl.cc:3785 cp/decl.cc:3938
 #, gcc-internal-format
 msgid "  enters statement expression"
 msgstr ""
 
-#: cp/decl.cc:3676 cp/decl.cc:3807
+#: cp/decl.cc:3792 cp/decl.cc:3934
 #, gcc-internal-format
 msgid "  enters %<constexpr if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3682 cp/decl.cc:3809
+#: cp/decl.cc:3798 cp/decl.cc:3936
 #, gcc-internal-format
 msgid "  enters %<consteval if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3795
+#: cp/decl.cc:3829 cp/decl.cc:4003
+#, gcc-internal-format
+msgid "  does not destroy %qD"
+msgstr ""
+
+#: cp/decl.cc:3831 cp/decl.cc:3986
+#, gcc-internal-format
+msgid "  does not clean up handled exception"
+msgstr ""
+
+#: cp/decl.cc:3922
 #, gcc-internal-format
 msgid "  skips initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:4260 cp/parser.cc:7044
+#: cp/decl.cc:4463 cp/parser.cc:7205
 #, gcc-internal-format
 msgid "%qD used without template arguments"
 msgstr ""
 
-#: cp/decl.cc:4266
+#: cp/decl.cc:4469
 #, gcc-internal-format
 msgid "%qD is a function, not a type"
 msgstr ""
 
-#: cp/decl.cc:4277
+#: cp/decl.cc:4480
 #, gcc-internal-format
 msgid "%q#T is not a class"
 msgstr ""
 
-#: cp/decl.cc:4316 cp/decl.cc:4417
+#: cp/decl.cc:4519 cp/decl.cc:4620
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4317
+#: cp/decl.cc:4520
 #, gcc-internal-format
 msgid "no type named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4330
+#: cp/decl.cc:4533
 #, gcc-internal-format
 msgid "lookup of %qT in %qT is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:4339
+#: cp/decl.cc:4542
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a class template"
 msgstr ""
 
-#: cp/decl.cc:4352
+#: cp/decl.cc:4555
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#D, which is not a type"
 msgstr ""
 
-#: cp/decl.cc:4426
+#: cp/decl.cc:4629
 #, gcc-internal-format
 msgid "template parameters do not match template %qD"
 msgstr ""
 
-#: cp/decl.cc:4783
+#: cp/decl.cc:4986
 #, gcc-internal-format
 msgid "%<-faligned-new=%d%> is not a power of two"
 msgstr ""
 
-#: cp/decl.cc:4957
+#: cp/decl.cc:5160
 #, gcc-internal-format
 msgid "%<--param destructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4961
+#: cp/decl.cc:5164
 #, gcc-internal-format
 msgid ""
 "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-"
 "line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:4974
+#: cp/decl.cc:5177
 #, gcc-internal-format
 msgid "%<--param constructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4979
+#: cp/decl.cc:5182
 #, gcc-internal-format
 msgid ""
 "%<--param constructive-interference-size=%d%> is greater than %<--param l1-"
 "cache-line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:5305
+#: cp/decl.cc:5509
 #, gcc-internal-format
 msgid ""
 "%q#D invalid; an anonymous union may only have public non-static data members"
 msgstr ""
 
-#: cp/decl.cc:5315 cp/parser.cc:23059
+#: cp/decl.cc:5519 cp/parser.cc:23596
 #, gcc-internal-format
 msgid "this flexibility is deprecated and will be removed"
 msgstr ""
 
-#: cp/decl.cc:5344
+#: cp/decl.cc:5548
 #, gcc-internal-format
 msgid "anonymous struct with base classes"
 msgstr ""
 
-#: cp/decl.cc:5356
+#: cp/decl.cc:5560
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5359
+#: cp/decl.cc:5563
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5362
+#: cp/decl.cc:5566
 #, gcc-internal-format
 msgid ""
 "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5381
+#: cp/decl.cc:5585
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5384
+#: cp/decl.cc:5588
 #, gcc-internal-format
 msgid "attribute for %q#T must follow the %qs keyword"
 msgstr ""
 
-#: cp/decl.cc:5426
+#: cp/decl.cc:5630
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr ""
 
-#: cp/decl.cc:5431
+#: cp/decl.cc:5635
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr ""
 
-#: cp/decl.cc:5448
+#: cp/decl.cc:5652
 #, gcc-internal-format
 msgid "%<auto%> can only be specified for variables or function declarations"
 msgstr ""
 
-#: cp/decl.cc:5481
+#: cp/decl.cc:5685
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr ""
 
-#: cp/decl.cc:5489
+#: cp/decl.cc:5693
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr ""
 
-#: cp/decl.cc:5496
+#: cp/decl.cc:5700
 #, gcc-internal-format
 msgid "%<inline%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5499
+#: cp/decl.cc:5703
 #, gcc-internal-format
 msgid "%<virtual%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5504
+#: cp/decl.cc:5708
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr ""
 
-#: cp/decl.cc:5507
+#: cp/decl.cc:5711
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr ""
 
-#: cp/decl.cc:5510
+#: cp/decl.cc:5714
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5514
+#: cp/decl.cc:5718
 #, gcc-internal-format
 msgid "%<const%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5518
+#: cp/decl.cc:5722
 #, gcc-internal-format
 msgid "%<volatile%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5522
+#: cp/decl.cc:5726
 #, gcc-internal-format
 msgid "%<__restrict%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5526
+#: cp/decl.cc:5730
 #, gcc-internal-format
 msgid "%<__thread%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5530
+#: cp/decl.cc:5734
 #, gcc-internal-format
 msgid "%<typedef%> was ignored in this declaration"
 msgstr ""
 
-#: cp/decl.cc:5533 cp/decl.cc:5536 cp/decl.cc:5539
+#: cp/decl.cc:5737 cp/decl.cc:5740 cp/decl.cc:5743
 #, gcc-internal-format
 msgid "%qs cannot be used for type declarations"
 msgstr ""
 
-#: cp/decl.cc:5561
+#: cp/decl.cc:5765
 #, gcc-internal-format
 msgid "attribute ignored in explicit instantiation %q#T"
 msgstr ""
 
-#: cp/decl.cc:5564
+#: cp/decl.cc:5768
 #, gcc-internal-format
 msgid "no attribute can be applied to an explicit instantiation"
 msgstr ""
 
-#: cp/decl.cc:5643
+#: cp/decl.cc:5847
 #, 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:5647
+#: cp/decl.cc:5851
 #, gcc-internal-format
 msgid ""
 "ignoring attributes applied to dependent type %qT without an associated "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:5713 cp/decl2.cc:1022
+#: cp/decl.cc:5917 cp/decl2.cc:1064
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %qs instead)"
 msgstr ""
 
-#: cp/decl.cc:5726
+#: cp/decl.cc:5930
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr ""
 
-#: cp/decl.cc:5764
+#: cp/decl.cc:5968
 #, gcc-internal-format
 msgid "definition of %q#D is marked %<dllimport%>"
 msgstr ""
 
-#: cp/decl.cc:5788
+#: cp/decl.cc:5992
 #, gcc-internal-format
 msgid "%q+#D is not a static data member of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5796
+#: cp/decl.cc:6000
 #, gcc-internal-format
 msgid "non-member-template declaration of %qD"
 msgstr ""
 
-#: cp/decl.cc:5797
+#: cp/decl.cc:6001
 #, gcc-internal-format
 msgid "does not match member template declaration here"
 msgstr ""
 
-#: cp/decl.cc:5809
+#: cp/decl.cc:6013
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:5821
+#: cp/decl.cc:6025
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr ""
 
-#: cp/decl.cc:5871 cp/decl.cc:5875
+#: cp/decl.cc:6075 cp/decl.cc:6079
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr ""
 
-#: cp/decl.cc:5893
+#: cp/decl.cc:6097
 #, gcc-internal-format
 msgid "block-scope extern declaration %q#D not permitted in module purview"
 msgstr ""
 
-#: cp/decl.cc:5929
+#: cp/decl.cc:6133
 #, gcc-internal-format
 msgid ""
 "%qD defined %<thread_local%> in %qs function only available with %<-std=c+"
 "+2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/decl.cc:5935
+#: cp/decl.cc:6139
 #, gcc-internal-format
 msgid ""
 "%qD defined %<static%> in %qs function only available with %<-std=c++2b%> or "
 "%<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/decl.cc:6001
+#: cp/decl.cc:6205
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr ""
 
-#: cp/decl.cc:6010 cp/decl.cc:7333
+#: cp/decl.cc:6214 cp/decl.cc:7548
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:6021
+#: cp/decl.cc:6225
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr ""
 
-#: cp/decl.cc:6091
+#: cp/decl.cc:6295
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr ""
 
-#: cp/decl.cc:6174
+#: cp/decl.cc:6378
 #, gcc-internal-format
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6180
+#: cp/decl.cc:6384
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6199
+#: cp/decl.cc:6403
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
 
-#: cp/decl.cc:6203
+#: cp/decl.cc:6407
 #, gcc-internal-format
 msgid "C99 designator %qE is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:6264
+#: cp/decl.cc:6468
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr ""
 
-#: cp/decl.cc:6271
+#: cp/decl.cc:6475
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr ""
 
-#: cp/decl.cc:6283
+#: cp/decl.cc:6487
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:6323
+#: cp/decl.cc:6527
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t known"
 msgstr ""
 
-#: cp/decl.cc:6348
+#: cp/decl.cc:6552
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t constant"
 msgstr ""
 
-#: cp/decl.cc:6431
+#: cp/decl.cc:6636
 #, gcc-internal-format
 msgid ""
 "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with "
 "multiple copies)"
 msgstr ""
 
-#: cp/decl.cc:6435
+#: cp/decl.cc:6640
 #, 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:6441
+#: cp/decl.cc:6646
 #, gcc-internal-format
 msgid "you can work around this by removing the initializer"
 msgstr ""
 
-#: cp/decl.cc:6483 rust/backend/rust-tree.cc:3230
+#: cp/decl.cc:6688 rust/backend/rust-tree.cc:3278
 #, gcc-internal-format
 msgid "uninitialized %<const %D%>"
 msgstr ""
 
-#: cp/decl.cc:6490 rust/backend/rust-tree.cc:3237
+#: cp/decl.cc:6695 rust/backend/rust-tree.cc:3285
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> function"
 msgstr ""
 
-#: cp/decl.cc:6499 rust/backend/rust-tree.cc:3246
+#: cp/decl.cc:6704 rust/backend/rust-tree.cc:3294
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> context"
 msgstr ""
 
-#: cp/decl.cc:6507
+#: cp/decl.cc:6712
 #, gcc-internal-format
 msgid "%q#T has no user-provided default constructor"
 msgstr ""
 
-#: cp/decl.cc:6511
+#: cp/decl.cc:6716
 #, gcc-internal-format
 msgid ""
 "constructor is not user-provided because it is explicitly defaulted in the "
 "class body"
 msgstr ""
 
-#: cp/decl.cc:6514
+#: cp/decl.cc:6719
 #, gcc-internal-format
 msgid "and the implicitly-defined constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/decl.cc:6706
+#: cp/decl.cc:6912
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
 msgstr ""
 
-#: cp/decl.cc:6778
+#: cp/decl.cc:6984
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
 msgstr ""
 
-#: cp/decl.cc:6822
+#: cp/decl.cc:7028
 #, gcc-internal-format
 msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
 msgstr ""
 
-#: cp/decl.cc:6835
+#: cp/decl.cc:7044 cp/init.cc:3377 cp/search.cc:1230
+#, gcc-internal-format
+msgid "request for member %qD is ambiguous"
+msgstr ""
+
+#: cp/decl.cc:7049
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr ""
 
-#: cp/decl.cc:6859
+#: cp/decl.cc:7074
 #, gcc-internal-format
 msgid "%qD is not a direct member of %qT"
 msgstr ""
 
-#: cp/decl.cc:6914
+#: cp/decl.cc:7129
 #, gcc-internal-format
 msgid "invalid initializer for %q#D"
 msgstr ""
 
-#: cp/decl.cc:6964
+#: cp/decl.cc:7179
 #, gcc-internal-format
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.cc:7003 cp/decl.cc:7291 cp/typeck2.cc:1621 cp/typeck2.cc:1952
-#: cp/typeck2.cc:2000 cp/typeck2.cc:2047
+#: cp/decl.cc:7218 cp/decl.cc:7506 cp/typeck2.cc:1617 cp/typeck2.cc:1947
+#: cp/typeck2.cc:1995 cp/typeck2.cc:2042
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
 
-#: cp/decl.cc:7045
+#: cp/decl.cc:7260
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:7055
+#: cp/decl.cc:7270
 #, gcc-internal-format
 msgid "too many braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:7188
+#: cp/decl.cc:7403
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr ""
 
-#: cp/decl.cc:7321
+#: cp/decl.cc:7536
 #, gcc-internal-format
 msgid "structured binding has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:7335
+#: cp/decl.cc:7550
 #, gcc-internal-format
 msgid "elements of array %q#T have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7348
+#: cp/decl.cc:7563
 #, gcc-internal-format
 msgid "variable-sized compound literal"
 msgstr ""
 
-#: cp/decl.cc:7404
+#: cp/decl.cc:7619
 #, gcc-internal-format
 msgid "%q#D has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7425
+#: cp/decl.cc:7640
 #, gcc-internal-format
 msgid "scalar object %qD requires one element in initializer"
 msgstr ""
 
-#: cp/decl.cc:7470
+#: cp/decl.cc:7685
 #, gcc-internal-format
 msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
 msgstr ""
 
-#: cp/decl.cc:7613
+#: cp/decl.cc:7828
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr ""
 
-#: cp/decl.cc:7652
+#: cp/decl.cc:7867
 #, gcc-internal-format
 msgid "initializer invalid for static member with constructor"
 msgstr ""
 
-#: cp/decl.cc:7654
+#: cp/decl.cc:7869
 #, gcc-internal-format
 msgid "non-constant in-class initialization invalid for static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7657
+#: cp/decl.cc:7872
 #, gcc-internal-format
 msgid ""
 "non-constant in-class initialization invalid for non-inline static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7662
+#: cp/decl.cc:7877
 #, gcc-internal-format
 msgid "(an out of class initialization is required)"
 msgstr ""
 
-#: cp/decl.cc:7864
+#: cp/decl.cc:8083
 #, gcc-internal-format
 msgid "reference %qD is initialized with itself"
 msgstr ""
 
-#: cp/decl.cc:8121
+#: cp/decl.cc:8342
 #, gcc-internal-format
 msgid "could not find variant declaration"
 msgstr ""
 
-#: cp/decl.cc:8145
+#: cp/decl.cc:8366
 #, gcc-internal-format
 msgid "%<declare variant%> on constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:8150
+#: cp/decl.cc:8371
 #, gcc-internal-format
 msgid "%<declare variant%> on destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:8155
+#: cp/decl.cc:8376
 #, gcc-internal-format
 msgid "%<declare variant%> on defaulted %qD"
 msgstr ""
 
-#: cp/decl.cc:8160
+#: cp/decl.cc:8381
 #, gcc-internal-format
 msgid "%<declare variant%> on deleted %qD"
 msgstr ""
 
-#: cp/decl.cc:8165
+#: cp/decl.cc:8386
 #, gcc-internal-format
 msgid "%<declare variant%> on virtual %qD"
 msgstr ""
 
-#: cp/decl.cc:8214
+#: cp/decl.cc:8440
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr ""
 
-#: cp/decl.cc:8235 cp/decl.cc:14792
+#: cp/decl.cc:8461 cp/decl.cc:15224
 #, gcc-internal-format
 msgid "ISO C++17 does not allow %<register%> storage class specifier"
 msgstr ""
 
-#: cp/decl.cc:8239 cp/decl.cc:14796
+#: cp/decl.cc:8465 cp/decl.cc:15228
 #, gcc-internal-format
 msgid "%<register%> storage class specifier used"
 msgstr ""
 
-#: cp/decl.cc:8284 cp/decl.cc:14759
+#: cp/decl.cc:8510 cp/decl.cc:15191
 #, gcc-internal-format
 msgid "declaration of %q#D has no initializer"
 msgstr ""
 
-#: cp/decl.cc:8320
+#: cp/decl.cc:8546
 #, gcc-internal-format
 msgid ""
 "initializer for %<decltype(auto) %D%> has function type; did you forget the "
 "%<()%>?"
 msgstr ""
 
-#: cp/decl.cc:8331
+#: cp/decl.cc:8557
 #, gcc-internal-format
 msgid "deduced type %qT for %qD is incomplete"
 msgstr ""
 
-#: cp/decl.cc:8469
+#: cp/decl.cc:8695
 #, gcc-internal-format
 msgid "variable concept has no initializer"
 msgstr ""
 
-#: cp/decl.cc:8528
+#: cp/decl.cc:8754
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:8571
+#: cp/decl.cc:8797
 #, gcc-internal-format
 msgid ""
 "%<constinit%> can only be applied to a variable with static or thread "
 "storage duration"
 msgstr ""
 
-#: cp/decl.cc:8763
+#: cp/decl.cc:8992
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr ""
 
-#: cp/decl.cc:8874
+#: cp/decl.cc:9103
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous struct member"
 msgstr ""
 
-#: cp/decl.cc:8877
+#: cp/decl.cc:9106
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous union member"
 msgstr ""
 
-#: cp/decl.cc:8884
+#: cp/decl.cc:9113
 #, gcc-internal-format
 msgid "cannot decompose inaccessible member %qD of %qT"
 msgstr ""
 
-#: cp/decl.cc:8910
+#: cp/decl.cc:9139
 #, 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:8919
+#: cp/decl.cc:9148
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT: its base classes %qT and %qT have non-"
 "static data members"
 msgstr ""
 
-#: cp/decl.cc:9129
+#: cp/decl.cc:9383
 #, gcc-internal-format
 msgid "structured binding refers to incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:9145
+#: cp/decl.cc:9399
 #, gcc-internal-format
 msgid "cannot decompose variable length array %qT"
 msgstr ""
 
-#: cp/decl.cc:9154 cp/decl.cc:9233
+#: cp/decl.cc:9408 cp/decl.cc:9487
 #, gcc-internal-format, gfc-internal-format
 msgid "%u name provided for structured binding"
 msgid_plural "%u names provided for structured binding"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/decl.cc:9158
+#: cp/decl.cc:9412
 #, 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] ""
 msgstr[1] ""
 
-#: cp/decl.cc:9161
+#: cp/decl.cc:9415
 #, gcc-internal-format
 msgid "while %qT decomposes into %wu element"
 msgid_plural "while %qT decomposes into %wu elements"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/decl.cc:9202
+#: cp/decl.cc:9456
 #, gcc-internal-format
 msgid "cannot decompose variable length vector %qT"
 msgstr ""
 
-#: cp/decl.cc:9226
+#: cp/decl.cc:9480
 #, gcc-internal-format
 msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
 msgstr ""
 
-#: cp/decl.cc:9235
+#: cp/decl.cc:9489
 #, gcc-internal-format
 msgid "while %qT decomposes into %E elements"
 msgstr ""
 
-#: cp/decl.cc:9256
+#: cp/decl.cc:9510
 #, gcc-internal-format
 msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
 msgstr ""
 
-#: cp/decl.cc:9262
+#: cp/decl.cc:9516
 #, gcc-internal-format
 msgid "in initialization of structured binding variable %qD"
 msgstr ""
 
-#: cp/decl.cc:9291
+#: cp/decl.cc:9545
 #, gcc-internal-format
 msgid "cannot decompose union type %qT"
 msgstr ""
 
-#: cp/decl.cc:9296
+#: cp/decl.cc:9550
 #, gcc-internal-format
 msgid "cannot decompose non-array non-class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9301
+#: cp/decl.cc:9555
 #, gcc-internal-format
 msgid "cannot decompose lambda closure type %qT"
 msgstr ""
 
-#: cp/decl.cc:9307
+#: cp/decl.cc:9561
 #, gcc-internal-format
 msgid "structured binding refers to incomplete class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9316
+#: cp/decl.cc:9570
 #, gcc-internal-format
 msgid "cannot decompose class type %qT without non-static data members"
 msgstr ""
 
-#: cp/decl.cc:9783
+#: cp/decl.cc:10048
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> needs dynamic initialization"
 msgstr ""
 
-#: cp/decl.cc:9786
+#: cp/decl.cc:10051
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> has a non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:9791
+#: cp/decl.cc:10056
 #, gcc-internal-format
 msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
 msgstr ""
 
-#: cp/decl.cc:10010
+#: cp/decl.cc:10275
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qT"
 msgstr ""
 
-#: cp/decl.cc:10014
+#: cp/decl.cc:10279
 #, gcc-internal-format
 msgid "array size missing in %qT"
 msgstr ""
 
-#: cp/decl.cc:10017
+#: cp/decl.cc:10282
 #, gcc-internal-format
 msgid "zero-size array %qT"
 msgstr ""
 
-#: cp/decl.cc:10033
+#: cp/decl.cc:10298
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:10035
+#: cp/decl.cc:10300
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:10061
+#: cp/decl.cc:10326
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> variable"
 msgstr ""
 
-#: cp/decl.cc:10063
+#: cp/decl.cc:10328
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in variable "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10069
+#: cp/decl.cc:10334
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> parameter"
 msgstr ""
 
-#: cp/decl.cc:10072
+#: cp/decl.cc:10337
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> parameter"
 msgstr ""
 
-#: cp/decl.cc:10074
+#: cp/decl.cc:10339
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in parameter "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10080
+#: cp/decl.cc:10345
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> type"
 msgstr ""
 
-#: cp/decl.cc:10083
+#: cp/decl.cc:10348
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> type"
 msgstr ""
 
-#: cp/decl.cc:10085
+#: cp/decl.cc:10350
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in type "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10091
+#: cp/decl.cc:10356
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> field"
 msgstr ""
 
-#: cp/decl.cc:10094
+#: cp/decl.cc:10359
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> field"
 msgstr ""
 
-#: cp/decl.cc:10096
+#: cp/decl.cc:10361
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in field "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10103
+#: cp/decl.cc:10368
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr ""
 
-#: cp/decl.cc:10110
+#: cp/decl.cc:10375
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr ""
 
-#: cp/decl.cc:10142
+#: cp/decl.cc:10407
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr ""
 
-#: cp/decl.cc:10182
+#: cp/decl.cc:10447
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr ""
 
-#: cp/decl.cc:10193
+#: cp/decl.cc:10458
 #, gcc-internal-format
 msgid "concept %q#D declared with function parameters"
 msgstr ""
 
-#: cp/decl.cc:10200
+#: cp/decl.cc:10465
 #, gcc-internal-format
 msgid "concept %q#D declared with a deduced return type"
 msgstr ""
 
-#: cp/decl.cc:10203
+#: cp/decl.cc:10468
 #, gcc-internal-format
 msgid "concept %q#D with non-%<bool%> return type %qT"
 msgstr ""
 
-#: cp/decl.cc:10279
+#: cp/decl.cc:10544
 #, gcc-internal-format
 msgid "concept %qD has no definition"
 msgstr ""
 
-#: cp/decl.cc:10308
+#: cp/decl.cc:10573
 #, gcc-internal-format
 msgid "a function concept cannot be constrained"
 msgstr ""
 
-#: cp/decl.cc:10318
+#: cp/decl.cc:10588
 #, gcc-internal-format
 msgid "constraints on a non-templated function"
 msgstr ""
 
-#: cp/decl.cc:10363
+#: cp/decl.cc:10590
+#, gcc-internal-format
+msgid "constrained non-template friend declaration must be a definition"
+msgstr ""
+
+#: cp/decl.cc:10597
+#, gcc-internal-format
+msgid ""
+"friend function template with constraints that depend on outer template "
+"parameters must be a definition"
+msgstr ""
+
+#: cp/decl.cc:10646
 #, gcc-internal-format
 msgid "defining explicit specialization %qD in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:10374
+#: cp/decl.cc:10657
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr ""
 
-#: cp/decl.cc:10392
+#: cp/decl.cc:10675
 #, gcc-internal-format
 msgid ""
 "default arguments are not allowed in declaration of friend template "
 "specialization %qD"
 msgstr ""
 
-#: cp/decl.cc:10401
+#: cp/decl.cc:10684
 #, gcc-internal-format
 msgid ""
 "%<inline%> is not allowed in declaration of friend template specialization "
 "%qD"
 msgstr ""
 
-#: cp/decl.cc:10418
+#: cp/decl.cc:10701
 #, gcc-internal-format
 msgid ""
 "friend declaration of %qD specifies default arguments and isn%'t a definition"
 msgstr ""
 
-#: cp/decl.cc:10463
+#: cp/decl.cc:10743
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr ""
 
-#: cp/decl.cc:10466
+#: cp/decl.cc:10746
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr ""
 
-#: cp/decl.cc:10469 cp/decl.cc:10472
+#: cp/decl.cc:10749 cp/decl.cc:10752
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be %qs"
 msgstr ""
 
-#: cp/decl.cc:10474
+#: cp/decl.cc:10754
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr ""
 
-#: cp/decl.cc:10536
+#: cp/decl.cc:10815
+#, gcc-internal-format
+msgid "non-member function %qD cannot have cv-qualifier"
+msgstr ""
+
+#: cp/decl.cc:10817
 #, gcc-internal-format
 msgid "static member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10537
+#: cp/decl.cc:10818
 #, gcc-internal-format
-msgid "non-member function %qD cannot have cv-qualifier"
+msgid "explicit object member function %qD cannot have cv-qualifier"
+msgstr ""
+
+#: cp/decl.cc:10823
+#, gcc-internal-format
+msgid "non-member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10545
+#: cp/decl.cc:10825
 #, gcc-internal-format
 msgid "static member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10546
+#: cp/decl.cc:10826
 #, gcc-internal-format
-msgid "non-member function %qD cannot have ref-qualifier"
+msgid "explicit object member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10558
+#: cp/decl.cc:10832 cp/decl.cc:13715 cp/decl.cc:13725 cp/parser.cc:11972
+#, gcc-internal-format
+msgid "explicit object parameter declared here"
+msgstr ""
+
+#: cp/decl.cc:10844
 #, gcc-internal-format
 msgid "deduction guide %qD must be declared in the same scope as %qT"
 msgstr ""
 
-#: cp/decl.cc:10566
+#: cp/decl.cc:10852
 #, gcc-internal-format
 msgid "deduction guide %qD must have the same access as %qT"
 msgstr ""
 
-#: cp/decl.cc:10572
+#: cp/decl.cc:10858
 #, gcc-internal-format
 msgid "deduction guide %qD must not have a function body"
 msgstr ""
 
-#: cp/decl.cc:10585
+#: cp/decl.cc:10871
 #, gcc-internal-format
 msgid "literal operator with C linkage"
 msgstr ""
 
-#: cp/decl.cc:10595
+#: cp/decl.cc:10881
 #, gcc-internal-format
 msgid "%qD has invalid argument list"
 msgstr ""
 
-#: cp/decl.cc:10603
+#: cp/decl.cc:10889
 #, gcc-internal-format
 msgid "integer suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10609
+#: cp/decl.cc:10895
 #, gcc-internal-format
 msgid "floating-point suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10616
+#: cp/decl.cc:10902
 #, gcc-internal-format
 msgid ""
 "literal operator suffixes not preceded by %<_%> are reserved for future "
 "standardization"
 msgstr ""
 
-#: cp/decl.cc:10621
+#: cp/decl.cc:10907
 #, gcc-internal-format
 msgid "%qD must be a non-member function"
 msgstr ""
 
-#: cp/decl.cc:10707
+#: cp/decl.cc:10993
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr ""
 
-#: cp/decl.cc:10747
+#: cp/decl.cc:11033
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr ""
 
-#: cp/decl.cc:10752
+#: cp/decl.cc:11038
 #, gcc-internal-format
 msgid "definition of explicitly-defaulted %q+D"
 msgstr ""
 
-#: cp/decl.cc:10754
+#: cp/decl.cc:11040
 #, gcc-internal-format
 msgid "%q#D explicitly defaulted here"
 msgstr ""
 
-#: cp/decl.cc:10771
+#: cp/decl.cc:11057
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr ""
 
-#: cp/decl.cc:10964
+#: cp/decl.cc:11251
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a global variable"
 msgstr ""
 
-#: cp/decl.cc:10973
+#: cp/decl.cc:11260
 #, gcc-internal-format
 msgid "a non-template variable cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:10979
+#: cp/decl.cc:11266
 #, gcc-internal-format
 msgid "concept must be defined at namespace scope"
 msgstr ""
 
-#: cp/decl.cc:10986
+#: cp/decl.cc:11273
 #, gcc-internal-format
 msgid "concept must have type %<bool%>"
 msgstr ""
 
-#: cp/decl.cc:10989
+#: cp/decl.cc:11276
 #, gcc-internal-format
 msgid "a variable concept cannot be constrained"
 msgstr ""
 
-#: cp/decl.cc:11111
+#: cp/decl.cc:11398
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of incomplete type"
 msgstr ""
 
-#: cp/decl.cc:11115
+#: cp/decl.cc:11402
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> needed for in-class initialization of static data member %q#D "
 "of non-integral type"
 msgstr ""
 
-#: cp/decl.cc:11119
+#: cp/decl.cc:11406
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of non-literal type"
 msgstr ""
 
-#: cp/decl.cc:11130
+#: cp/decl.cc:11417
 #, gcc-internal-format
 msgid ""
 "invalid in-class initialization of static data member of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:11135
+#: cp/decl.cc:11422
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr ""
 
-#: cp/decl.cc:11140
+#: cp/decl.cc:11427
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids initialization of member constant %qD of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:11251
+#: cp/decl.cc:11538
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11254
+#: cp/decl.cc:11541
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11285 cp/decl.cc:11357
+#: cp/decl.cc:11572 cp/decl.cc:11644
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11289 cp/decl.cc:11360
+#: cp/decl.cc:11576 cp/decl.cc:11647
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11340
+#: cp/decl.cc:11627
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:11343
+#: cp/decl.cc:11630
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr ""
 
-#: cp/decl.cc:11367
+#: cp/decl.cc:11654
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array %qD"
 msgstr ""
 
-#: cp/decl.cc:11370
+#: cp/decl.cc:11657
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array"
 msgstr ""
 
-#: cp/decl.cc:11376
+#: cp/decl.cc:11663
 #, gcc-internal-format
 msgid "variable length array %qD is used"
 msgstr ""
 
-#: cp/decl.cc:11379
+#: cp/decl.cc:11666
 #, gcc-internal-format
 msgid "variable length array is used"
 msgstr ""
 
-#: cp/decl.cc:11431
+#: cp/decl.cc:11718
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr ""
 
-#: cp/decl.cc:11491
+#: cp/decl.cc:11778
 #, gcc-internal-format
 msgid "%qD declared as array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11494
+#: cp/decl.cc:11781
 #, gcc-internal-format
 msgid "creating array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11504
+#: cp/decl.cc:11791
 #, gcc-internal-format
 msgid "declaration of %qD as array of void"
 msgstr ""
 
-#: cp/decl.cc:11506
+#: cp/decl.cc:11793
 #, gcc-internal-format
 msgid "creating array of void"
 msgstr ""
 
-#: cp/decl.cc:11511
+#: cp/decl.cc:11798
 #, gcc-internal-format
 msgid "declaration of %qD as array of functions"
 msgstr ""
 
-#: cp/decl.cc:11513
+#: cp/decl.cc:11800
 #, gcc-internal-format
 msgid "creating array of functions"
 msgstr ""
 
-#: cp/decl.cc:11518
+#: cp/decl.cc:11805
 #, gcc-internal-format
 msgid "declaration of %qD as array of references"
 msgstr ""
 
-#: cp/decl.cc:11520
+#: cp/decl.cc:11807
 #, gcc-internal-format
 msgid "creating array of references"
 msgstr ""
 
-#: cp/decl.cc:11525
+#: cp/decl.cc:11812
 #, gcc-internal-format
 msgid "declaration of %qD as array of function members"
 msgstr ""
 
-#: cp/decl.cc:11528
+#: cp/decl.cc:11815
 #, gcc-internal-format
 msgid "creating array of function members"
 msgstr ""
 
-#: cp/decl.cc:11546
+#: cp/decl.cc:11833
 #, gcc-internal-format
 msgid ""
 "declaration of %qD as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11550
+#: cp/decl.cc:11837
 #, gcc-internal-format
 msgid ""
 "multidimensional array must have bounds for all dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11564
+#: cp/decl.cc:11851
 #, gcc-internal-format
 msgid "variable-length array of %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:11640
+#: cp/decl.cc:11927
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11643
+#: cp/decl.cc:11930
 #, gcc-internal-format
 msgid "qualifiers are not allowed on constructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11654
+#: cp/decl.cc:11941
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11657
+#: cp/decl.cc:11944
 #, gcc-internal-format
 msgid "qualifiers are not allowed on destructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11670
+#: cp/decl.cc:11957
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11673
+#: cp/decl.cc:11960
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11682
+#: cp/decl.cc:11969
 #, gcc-internal-format
 msgid "return type specified for deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11685
+#: cp/decl.cc:11972
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11689
+#: cp/decl.cc:11976
 #, gcc-internal-format
 msgid "template template parameter %qT in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11698
+#: cp/decl.cc:11985
 #, gcc-internal-format
 msgid "%<decl-specifier%> in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11719
+#: cp/decl.cc:12006
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:11727
+#: cp/decl.cc:12014
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:11742
+#: cp/decl.cc:12029
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
 msgstr ""
 
-#: cp/decl.cc:11747
+#: cp/decl.cc:12034
 #, gcc-internal-format
 msgid ""
 "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/decl.cc:11803
+#: cp/decl.cc:12090
 #, gcc-internal-format
 msgid "%qT as type rather than plain %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:11809
+#: cp/decl.cc:12096
 #, gcc-internal-format
 msgid "%<decltype(auto)%> cannot be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12025
+#: cp/decl.cc:12312
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12028 cp/decl.cc:12050
+#: cp/decl.cc:12315 cp/decl.cc:12337
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12031
+#: cp/decl.cc:12318
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%D::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12041
+#: cp/decl.cc:12328
 #, gcc-internal-format
 msgid "%q#T is not a class or namespace"
 msgstr ""
 
-#: cp/decl.cc:12065
+#: cp/decl.cc:12352
 #, gcc-internal-format
 msgid "declaration of %qE as non-function"
 msgstr ""
 
-#: cp/decl.cc:12072
+#: cp/decl.cc:12359
 #, gcc-internal-format
 msgid "declaration of %qE as non-member"
 msgstr ""
 
-#: cp/decl.cc:12100
+#: cp/decl.cc:12387
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr ""
 
-#: cp/decl.cc:12151
+#: cp/decl.cc:12438
 #, gcc-internal-format
 msgid "function definition does not declare parameters"
 msgstr ""
 
-#: cp/decl.cc:12159 cp/decl.cc:12168 cp/decl.cc:14026
+#: cp/decl.cc:12446 cp/decl.cc:12455 cp/decl.cc:14434
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr ""
 
-#: cp/decl.cc:12176
+#: cp/decl.cc:12463
 #, gcc-internal-format
 msgid "declaration of %qD as %<typedef%>"
 msgstr ""
 
-#: cp/decl.cc:12181
+#: cp/decl.cc:12468
 #, gcc-internal-format
 msgid "declaration of %qD as parameter"
 msgstr ""
 
-#: cp/decl.cc:12216
+#: cp/decl.cc:12503
 #, gcc-internal-format
 msgid "both %qs and %qs specified"
 msgstr ""
 
-#: cp/decl.cc:12223 cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244
+#: cp/decl.cc:12510 cp/decl.cc:12517 cp/decl.cc:12524 cp/decl.cc:12531
 #, gcc-internal-format
 msgid "%qs cannot appear in a typedef declaration"
 msgstr ""
 
-#: cp/decl.cc:12255
+#: cp/decl.cc:12542
 #, gcc-internal-format
 msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
 msgstr ""
 
-#: cp/decl.cc:12265
+#: cp/decl.cc:12552
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12319
+#: cp/decl.cc:12606
 #, gcc-internal-format
 msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: cp/decl.cc:12368 cp/decl.cc:12372 cp/decl.cc:12375
+#: cp/decl.cc:12655 cp/decl.cc:12659 cp/decl.cc:12662
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr ""
 
-#: cp/decl.cc:12392
+#: cp/decl.cc:12679
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported by this target"
 msgstr ""
 
-#: cp/decl.cc:12400
+#: cp/decl.cc:12687
 #, gcc-internal-format
 msgid "ISO C++ does not support %<__int%d%> for %qs"
 msgstr ""
 
-#: cp/decl.cc:12454
+#: cp/decl.cc:12741
 #, gcc-internal-format
 msgid "%<signed%> and %<unsigned%> specified together"
 msgstr ""
 
-#: cp/decl.cc:12460
+#: cp/decl.cc:12747
 #, gcc-internal-format
 msgid "%<long%> and %<short%> specified together"
 msgstr ""
 
-#: cp/decl.cc:12468
+#: cp/decl.cc:12755
 #, gcc-internal-format
 msgid "%qs specified with %qT"
 msgstr ""
 
-#: cp/decl.cc:12475
+#: cp/decl.cc:12762
 #, gcc-internal-format
 msgid "%qs specified with typedef-name %qD"
 msgstr ""
 
-#: cp/decl.cc:12484
+#: cp/decl.cc:12771
 #, gcc-internal-format
 msgid "%qs specified with %<decltype%>"
 msgstr ""
 
-#: cp/decl.cc:12486
+#: cp/decl.cc:12773
 #, gcc-internal-format
 msgid "%qs specified with %<typeof%>"
 msgstr ""
 
-#: cp/decl.cc:12555
+#: cp/decl.cc:12842
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr ""
 
-#: cp/decl.cc:12599
+#: cp/decl.cc:12886
 #, gcc-internal-format
 msgid ""
 "missing template argument list after %qE; for deduction, template "
 "placeholder must be followed by a simple declarator-id"
 msgstr ""
 
-#: cp/decl.cc:12625
+#: cp/decl.cc:12912
 #, gcc-internal-format
 msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
 msgstr ""
 
-#: cp/decl.cc:12634
+#: cp/decl.cc:12921
 #, 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:12647
+#: cp/decl.cc:12934
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:12654
+#: cp/decl.cc:12941
 #, gcc-internal-format
 msgid "storage class specified for template parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12664 cp/decl.cc:12841
+#: cp/decl.cc:12951 cp/decl.cc:13128
 #, gcc-internal-format
 msgid "storage class specified for parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12672 cp/decl.cc:12681 cp/decl.cc:12687 cp/decl.cc:12693
+#: cp/decl.cc:12959 cp/decl.cc:12968 cp/decl.cc:12974 cp/decl.cc:12980
 #, gcc-internal-format
 msgid "a parameter cannot be declared %qs"
 msgstr ""
 
-#: cp/decl.cc:12703
+#: cp/decl.cc:12990
 #, gcc-internal-format
 msgid "%<virtual%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:12713 cp/decl.cc:12716 cp/decl.cc:12718 cp/decl.cc:12721
-#: cp/decl.cc:12731 cp/decl.cc:12741 cp/decl.cc:12751 cp/decl.cc:12755
+#: cp/decl.cc:13000 cp/decl.cc:13003 cp/decl.cc:13005 cp/decl.cc:13008
+#: cp/decl.cc:13018 cp/decl.cc:13028 cp/decl.cc:13038 cp/decl.cc:13042
 #, gcc-internal-format
 msgid "structured binding declaration cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:12725 cp/decl.cc:12747
+#: cp/decl.cc:13012 cp/decl.cc:13034
 #, gcc-internal-format
 msgid ""
 "structured binding declaration can be %qs only in %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/decl.cc:12735
+#: cp/decl.cc:13022
 #, gcc-internal-format
 msgid "%<volatile%>-qualified structured binding is deprecated"
 msgstr ""
 
-#: cp/decl.cc:12759
+#: cp/decl.cc:13046
 #, gcc-internal-format
 msgid "structured binding declaration cannot be C++98 %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12771
+#: cp/decl.cc:13058
 #, gcc-internal-format
 msgid "structured binding declaration cannot have type %qT"
 msgstr ""
 
-#: cp/decl.cc:12774
+#: cp/decl.cc:13061
 #, gcc-internal-format
 msgid ""
 "type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12782
+#: cp/decl.cc:13069
 #, gcc-internal-format
 msgid ""
 "structured binding declaration cannot have constrained %<auto%> type %qT"
 msgstr ""
 
-#: cp/decl.cc:12813
+#: cp/decl.cc:13100
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12839
+#: cp/decl.cc:13126
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr ""
 
-#: cp/decl.cc:12853
+#: cp/decl.cc:13140
 #, gcc-internal-format
 msgid "nested function %qs declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:12858
+#: cp/decl.cc:13145
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12866
+#: cp/decl.cc:13153
 #, gcc-internal-format
 msgid "function-scope %qs implicitly auto and declared %<__thread%>"
 msgstr ""
 
-#: cp/decl.cc:12880
+#: cp/decl.cc:13167
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr ""
 
-#: cp/decl.cc:12912 cp/decl.cc:14404 cp/parser.cc:14981 cp/parser.cc:20847
-#: cp/parser.cc:27424
+#: cp/decl.cc:13200 cp/decl.cc:14824 cp/parser.cc:15434 cp/parser.cc:21379
+#: cp/parser.cc:28056
 #, gcc-internal-format
 msgid "attribute ignored"
 msgstr ""
 
-#: cp/decl.cc:12913
+#: cp/decl.cc:13201
 #, gcc-internal-format
 msgid "an attribute that appertains to a type-specifier is ignored"
 msgstr ""
 
-#: cp/decl.cc:12981
+#: cp/decl.cc:13271
 #, gcc-internal-format
 msgid "unnecessary parentheses in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12987
+#: cp/decl.cc:13277
 #, gcc-internal-format
 msgid "remove parentheses"
 msgstr ""
 
-#: cp/decl.cc:13036
+#: cp/decl.cc:13345
+#, gcc-internal-format
+msgid ""
+"explicit object member function only available with %<-std=c++23%> or %<-"
+"std=gnu++23%>"
+msgstr ""
+
+#: cp/decl.cc:13359
+#, gcc-internal-format
+msgid "a function type cannot have an explicit object parameter"
+msgstr ""
+
+#: cp/decl.cc:13365
+#, gcc-internal-format
+msgid "a pointer to function type cannot have an explicit object parameter"
+msgstr ""
+
+#: cp/decl.cc:13369
+#, gcc-internal-format
+msgid ""
+"a pointer to member function type cannot have an explicit object parameter"
+msgstr ""
+
+#: cp/decl.cc:13377
+#, gcc-internal-format
+msgid ""
+"the type of a pointer to explicit object member function is a regular "
+"pointer to function type"
+msgstr ""
+
+#: cp/decl.cc:13381
+#, gcc-internal-format
+msgid ""
+"the type of an explicit object member function is a regular function type"
+msgstr ""
+
+#: cp/decl.cc:13402
+#, gcc-internal-format
+msgid ""
+"only the first parameter of a member function can be declared as an explicit "
+"object parameter"
+msgstr ""
+
+#: cp/decl.cc:13407
+#, gcc-internal-format
+msgid "valid explicit object parameter declared here"
+msgstr ""
+
+#: cp/decl.cc:13411
 #, gcc-internal-format
 msgid "requires-clause on return type"
 msgstr ""
 
-#: cp/decl.cc:13056
+#: cp/decl.cc:13431
 #, gcc-internal-format
 msgid "%qs function uses %<auto%> type specifier without trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13060
+#: cp/decl.cc:13435
 #, gcc-internal-format
 msgid ""
 "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/decl.cc:13065
+#: cp/decl.cc:13440
 #, gcc-internal-format
 msgid "virtual function cannot have deduced return type"
 msgstr ""
 
-#: cp/decl.cc:13072
+#: cp/decl.cc:13447
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %qT as its type rather than plain "
 "%<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13081
+#: cp/decl.cc:13456
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %<decltype(auto)%> as its type "
 "rather than plain %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13086
+#: cp/decl.cc:13461
 #, gcc-internal-format
 msgid "invalid use of %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:13098
+#: cp/decl.cc:13473
 #, gcc-internal-format
 msgid "deduced class type %qD in function return type"
 msgstr ""
 
-#: cp/decl.cc:13107
+#: cp/decl.cc:13482
 #, gcc-internal-format
 msgid "deduction guide for %qT must have trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13120
+#: cp/decl.cc:13495
 #, gcc-internal-format
 msgid ""
 "trailing return type %qT of deduction guide is not a specialization of %qT"
 msgstr ""
 
-#: cp/decl.cc:13134
+#: cp/decl.cc:13509
 #, gcc-internal-format
 msgid ""
 "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/decl.cc:13137
+#: cp/decl.cc:13512
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type not declared with %<auto%> type "
 "specifier"
 msgstr ""
 
-#: cp/decl.cc:13144
+#: cp/decl.cc:13519
 #, gcc-internal-format
 msgid "a conversion function cannot have a trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13170
+#: cp/decl.cc:13545
 #, gcc-internal-format
 msgid "%<volatile%>-qualified return type is deprecated"
 msgstr ""
 
-#: cp/decl.cc:13182
+#: cp/decl.cc:13557
 #, gcc-internal-format
 msgid "%qs declared as function returning a function"
 msgstr ""
 
-#: cp/decl.cc:13188
+#: cp/decl.cc:13563
 #, gcc-internal-format
 msgid "%qs declared as function returning an array"
 msgstr ""
 
-#: cp/decl.cc:13195
+#: cp/decl.cc:13570
 #, gcc-internal-format
 msgid "%<constinit%> on function return type is not allowed"
 msgstr ""
 
-#: cp/decl.cc:13228
+#: cp/decl.cc:13603
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:13230
+#: cp/decl.cc:13605
 #, gcc-internal-format
 msgid "constructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:13235
+#: cp/decl.cc:13610
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:13236
+#: cp/decl.cc:13611
 #, gcc-internal-format
 msgid "constructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:13244
+#: cp/decl.cc:13619
 #, gcc-internal-format
 msgid "destructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:13245
+#: cp/decl.cc:13620
 #, gcc-internal-format
 msgid "constructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:13263
+#: cp/decl.cc:13638
 #, gcc-internal-format
 msgid "constructors cannot be declared %<virtual%>"
 msgstr ""
 
-#: cp/decl.cc:13280
+#: cp/decl.cc:13655
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:13285
+#: cp/decl.cc:13660
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr ""
 
-#: cp/decl.cc:13289
+#: cp/decl.cc:13664
 #, gcc-internal-format
 msgid "cannot define friend function %qs in a local class definition"
 msgstr ""
 
-#: cp/decl.cc:13299
+#: cp/decl.cc:13674
 #, gcc-internal-format
 msgid "friend function definition %qs cannot have a name qualified with %<::%>"
 msgstr ""
 
-#: cp/decl.cc:13303
+#: cp/decl.cc:13678
 #, gcc-internal-format
 msgid ""
 "friend function definition %qs cannot have a name qualified with %<%D::%>"
 msgstr ""
 
-#: cp/decl.cc:13341
+#: cp/decl.cc:13704
+#, gcc-internal-format
+msgid "a non-member function cannot have an explicit object parameter"
+msgstr ""
+
+#: cp/decl.cc:13712
+#, gcc-internal-format
+msgid "an explicit object member function cannot be %<virtual%>"
+msgstr ""
+
+#: cp/decl.cc:13722
+#, gcc-internal-format
+msgid "an explicit object member function cannot be %<static%>"
+msgstr ""
+
+#: cp/decl.cc:13748
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr ""
 
-#: cp/decl.cc:13398
+#: cp/decl.cc:13806
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13411 cp/decl.cc:13418
+#: cp/decl.cc:13819 cp/decl.cc:13826
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13420
+#: cp/decl.cc:13828
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr ""
 
-#: cp/decl.cc:13449
+#: cp/decl.cc:13857
 #, gcc-internal-format
 msgid "cannot declare reference to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13450
+#: cp/decl.cc:13858
 #, gcc-internal-format
 msgid "cannot declare pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13523
+#: cp/decl.cc:13931
 #, gcc-internal-format
 msgid ""
 "cannot declare reference to %q#T, which is not a typedef or a template type "
 "argument"
 msgstr ""
 
-#: cp/decl.cc:13603
+#: cp/decl.cc:14011
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.cc:13629
+#: cp/decl.cc:14037
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.cc:13634
+#: cp/decl.cc:14042
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.cc:13664
+#: cp/decl.cc:14072
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13666
+#: cp/decl.cc:14074
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13674
+#: cp/decl.cc:14082
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13714
+#: cp/decl.cc:14122
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.cc:13723
+#: cp/decl.cc:14131
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13726
+#: cp/decl.cc:14134
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13737
+#: cp/decl.cc:14145
 #, gcc-internal-format
 msgid "%<explicit%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:13740
+#: cp/decl.cc:14148
 #, gcc-internal-format
 msgid "%<explicit%> in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:13743
+#: cp/decl.cc:14151
 #, gcc-internal-format
 msgid ""
 "only declarations of constructors and conversion operators can be "
 "%<explicit%>"
 msgstr ""
 
-#: cp/decl.cc:13753
+#: cp/decl.cc:14161
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13760
+#: cp/decl.cc:14168
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13766
+#: cp/decl.cc:14174
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13772
+#: cp/decl.cc:14180
 #, gcc-internal-format
 msgid "%<static%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13778
+#: cp/decl.cc:14186
 #, gcc-internal-format
 msgid "%<const%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13784
+#: cp/decl.cc:14192
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13800
+#: cp/decl.cc:14208
 #, gcc-internal-format
 msgid "typedef may not be a function definition"
 msgstr ""
 
-#: cp/decl.cc:13803
+#: cp/decl.cc:14211
 #, gcc-internal-format
 msgid "typedef may not be a member function definition"
 msgstr ""
 
-#: cp/decl.cc:13829
+#: cp/decl.cc:14237
 #, gcc-internal-format
 msgid "%<auto%> not allowed in alias declaration"
 msgstr ""
 
-#: cp/decl.cc:13832
+#: cp/decl.cc:14240
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13837
+#: cp/decl.cc:14245
 #, gcc-internal-format
 msgid "requires-clause on typedef"
 msgstr ""
 
-#: cp/decl.cc:13841
+#: cp/decl.cc:14249
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.cc:13867
+#: cp/decl.cc:14275
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.cc:13956
+#: cp/decl.cc:14364
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.cc:13964
+#: cp/decl.cc:14372
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:13966
+#: cp/decl.cc:14374
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:13970
+#: cp/decl.cc:14378
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.cc:13983
+#: cp/decl.cc:14391
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.cc:14003
+#: cp/decl.cc:14411
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.cc:14007
+#: cp/decl.cc:14415
 #, gcc-internal-format
 msgid "requires-clause on type-id"
 msgstr ""
 
-#: cp/decl.cc:14017
+#: cp/decl.cc:14425
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.cc:14032
+#: cp/decl.cc:14440
 #, gcc-internal-format
 msgid "requires-clause on declaration of non-function type %qT"
 msgstr ""
 
-#: cp/decl.cc:14051
+#: cp/decl.cc:14459
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:14060 cp/parser.cc:20281
+#: cp/decl.cc:14469 cp/parser.cc:20813
 #, gcc-internal-format
 msgid "cannot declare a parameter with %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:14067
+#: cp/decl.cc:14476
 #, gcc-internal-format
 msgid ""
 "missing template argument list after %qE; template placeholder not permitted "
 "in parameter"
 msgstr ""
 
-#: cp/decl.cc:14070
+#: cp/decl.cc:14479
 #, gcc-internal-format
 msgid "or use %<auto%> for an abbreviated function template"
 msgstr ""
 
-#: cp/decl.cc:14076
+#: cp/decl.cc:14485 cp/parser.cc:25355
 #, gcc-internal-format
 msgid "%<auto%> parameter not permitted in this context"
 msgstr ""
 
-#: cp/decl.cc:14079
+#: cp/decl.cc:14495
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:14130 cp/parser.cc:3561
+#: cp/decl.cc:14549 cp/parser.cc:3687
 #, gcc-internal-format
 msgid "invalid use of template-name %qE without an argument list"
 msgstr ""
 
-#: cp/decl.cc:14134
+#: cp/decl.cc:14553
 #, gcc-internal-format
 msgid "non-static data member declared with placeholder %qT"
 msgstr ""
 
-#: cp/decl.cc:14155
+#: cp/decl.cc:14574
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array member %qs"
 msgstr ""
 
-#: cp/decl.cc:14158
+#: cp/decl.cc:14577
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array members"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.cc:14174
+#: cp/decl.cc:14593
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.cc:14195
+#: cp/decl.cc:14614
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.cc:14205
+#: cp/decl.cc:14624
 #, gcc-internal-format
 msgid "function %qD declared %<virtual%> inside a union"
 msgstr ""
 
-#: cp/decl.cc:14215
+#: cp/decl.cc:14634
 #, gcc-internal-format
 msgid "%qD cannot be declared %<virtual%>, since it is always static"
 msgstr ""
 
-#: cp/decl.cc:14229
+#: cp/decl.cc:14648
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:14236
+#: cp/decl.cc:14655
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr ""
 
-#: cp/decl.cc:14243 cp/decl.cc:14256
+#: cp/decl.cc:14662 cp/decl.cc:14675
 #, gcc-internal-format
 msgid "a destructor cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:14262
+#: cp/decl.cc:14681
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:14271
+#: cp/decl.cc:14690
 #, gcc-internal-format
 msgid "a constructor cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:14277
+#: cp/decl.cc:14696
 #, gcc-internal-format
 msgid "a concept cannot be a member function"
 msgstr ""
 
-#: cp/decl.cc:14285 cp/decl.cc:14627
+#: cp/decl.cc:14704 cp/decl.cc:15059
 #, gcc-internal-format
 msgid "%qD cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:14294
+#: cp/decl.cc:14713
 #, gcc-internal-format
 msgid "specialization of variable template %qD declared as function"
 msgstr ""
 
-#: cp/decl.cc:14297
+#: cp/decl.cc:14716
 #, gcc-internal-format
 msgid "variable template declared here"
 msgstr ""
 
-#: cp/decl.cc:14359
+#: cp/decl.cc:14779
 #, gcc-internal-format
 msgid "field %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:14364
+#: cp/decl.cc:14784
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:14384
+#: cp/decl.cc:14804
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.cc:14387
+#: cp/decl.cc:14807
 #, gcc-internal-format
 msgid ""
 "unnamed field is neither function nor member function; cannot be declared "
 "friend"
 msgstr ""
 
-#: cp/decl.cc:14405 cp/parser.cc:20848 cp/parser.cc:27425
+#: cp/decl.cc:14825 cp/parser.cc:21380 cp/parser.cc:28057
 #, gcc-internal-format
 msgid ""
 "an attribute that appertains to a friend declaration that is not a "
 "definition is ignored"
 msgstr ""
 
-#: cp/decl.cc:14446 cp/decl.cc:14457
+#: cp/decl.cc:14875 cp/decl.cc:14886
 #, gcc-internal-format
 msgid "static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:14451
+#: cp/decl.cc:14880
 #, gcc-internal-format
 msgid "%<constexpr%> static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.cc:14494 cp/decl.cc:14502 cp/decl.cc:14509 cp/decl.cc:14516
+#: cp/decl.cc:14923 cp/decl.cc:14931 cp/decl.cc:14938 cp/decl.cc:14945
 #, gcc-internal-format
 msgid "non-static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:14568
+#: cp/decl.cc:14997
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14571
+#: cp/decl.cc:15000
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14577
+#: cp/decl.cc:15006
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14581
+#: cp/decl.cc:15010
 #, gcc-internal-format
 msgid "storage class %<thread_local%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14586
+#: cp/decl.cc:15015
+#, gcc-internal-format
+msgid "%<constinit%> specifier invalid for function %qs"
+msgstr ""
+
+#: cp/decl.cc:15018
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.cc:14598
+#: cp/decl.cc:15030
 #, gcc-internal-format
 msgid ""
 "%<static%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14602
+#: cp/decl.cc:15034
 #, gcc-internal-format
 msgid ""
 "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14610
+#: cp/decl.cc:15042
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.cc:14617
+#: cp/decl.cc:15049
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14618
+#: cp/decl.cc:15050
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14661
+#: cp/decl.cc:15093
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
-#: cp/decl.cc:14670
+#: cp/decl.cc:15102
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.cc:14711
+#: cp/decl.cc:15143
 #, gcc-internal-format
 msgid ""
 "%<static%> may not be used when defining (as opposed to declaring) a static "
 "data member"
 msgstr ""
 
-#: cp/decl.cc:14718
+#: cp/decl.cc:15150
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.cc:14724
+#: cp/decl.cc:15156
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.cc:14732
+#: cp/decl.cc:15164
 #, gcc-internal-format
 msgid "declaration of %<constexpr%> variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.cc:14739
+#: cp/decl.cc:15171
 #, gcc-internal-format
 msgid "a variable cannot be declared %<consteval%>"
 msgstr ""
 
-#: cp/decl.cc:14771
+#: cp/decl.cc:15203
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:14776
+#: cp/decl.cc:15208
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.cc:14973
+#: cp/decl.cc:15405
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.cc:14976
+#: cp/decl.cc:15408
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.cc:15103
+#: cp/decl.cc:15535
 #, gcc-internal-format
 msgid "invalid use of cv-qualified type %qT in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:15107
+#: cp/decl.cc:15539
 #, gcc-internal-format
 msgid "invalid use of type %<void%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:15136
+#: cp/decl.cc:15568
 #, gcc-internal-format
 msgid "%<volatile%>-qualified parameter is deprecated"
 msgstr ""
 
-#: cp/decl.cc:15144
+#: cp/decl.cc:15576
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.cc:15169
+#: cp/decl.cc:15601
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:15171
+#: cp/decl.cc:15603
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:15430
+#: cp/decl.cc:15886
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.cc:15509
+#: cp/decl.cc:15965
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.cc:15516
+#: cp/decl.cc:15972
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.cc:15544
+#: cp/decl.cc:16000
 #, gcc-internal-format
 msgid "%qD must be a non-static member function"
 msgstr ""
 
-#: cp/decl.cc:15552
+#: cp/decl.cc:16008
 #, gcc-internal-format
 msgid "%qD must be a member function"
 msgstr ""
 
-#: cp/decl.cc:15560
+#: cp/decl.cc:16016
 #, gcc-internal-format
 msgid ""
 "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu+"
 "+23%>"
 msgstr ""
 
-#: cp/decl.cc:15570
+#: cp/decl.cc:16026
 #, gcc-internal-format
 msgid ""
 "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.cc:15580
+#: cp/decl.cc:16036
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.cc:15611
+#: cp/decl.cc:16067
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading %<operator ?:%>"
 msgstr ""
 
-#: cp/decl.cc:15621
+#: cp/decl.cc:16077
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.cc:15647
+#: cp/decl.cc:16103
 #, gcc-internal-format
 msgid "%qD must have either zero or one argument"
 msgstr ""
 
-#: cp/decl.cc:15648
+#: cp/decl.cc:16104
 #, gcc-internal-format
 msgid "%qD must have either one or two arguments"
 msgstr ""
 
-#: cp/decl.cc:15660
+#: cp/decl.cc:16116
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.cc:15661
+#: cp/decl.cc:16117
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.cc:15672
+#: cp/decl.cc:16128
 #, gcc-internal-format
 msgid "%qD must have no arguments"
 msgstr ""
 
-#: cp/decl.cc:15673 cp/decl.cc:15683
+#: cp/decl.cc:16129 cp/decl.cc:16139
 #, gcc-internal-format
 msgid "%qD must have exactly one argument"
 msgstr ""
 
-#: cp/decl.cc:15684
+#: cp/decl.cc:16140
 #, gcc-internal-format
 msgid "%qD must have exactly two arguments"
 msgstr ""
 
-#: cp/decl.cc:15699
+#: cp/decl.cc:16155
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.cc:15723
+#: cp/decl.cc:16179
 #, gcc-internal-format
 msgid "converting %qT to %<void%> will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15730
+#: cp/decl.cc:16186
 #, gcc-internal-format
 msgid ""
 "converting %qT to a reference to the same type will never use a type "
 "conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15732
+#: cp/decl.cc:16188
 #, gcc-internal-format
 msgid ""
 "converting %qT to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15741
+#: cp/decl.cc:16197
 #, 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:15743
+#: cp/decl.cc:16199
 #, gcc-internal-format
 msgid ""
 "converting %qT to a base class %qT will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15759
+#: cp/decl.cc:16215
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.cc:15778
+#: cp/decl.cc:16234
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:15785
+#: cp/decl.cc:16241
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:15797
+#: cp/decl.cc:16253
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.cc:15852
+#: cp/decl.cc:16308
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15875
+#: cp/decl.cc:16331
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15878
+#: cp/decl.cc:16334
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.cc:15880
+#: cp/decl.cc:16336
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:15888
+#: cp/decl.cc:16344
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.cc:15889 cp/decl.cc:15896
+#: cp/decl.cc:16345 cp/decl.cc:16352
 #, gcc-internal-format
 msgid "%qT has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:15895
+#: cp/decl.cc:16351
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -58373,110 +60561,115 @@ msgstr ""
 #. void f(class C);		// No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.cc:15910
+#: cp/decl.cc:16366
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.cc:15953 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851
-#: cp/parser.cc:7054 cp/parser.cc:31456
+#: cp/decl.cc:16409 cp/name-lookup.cc:6040 cp/name-lookup.cc:6172
+#: cp/parser.cc:7215 cp/parser.cc:32107
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:15962
+#: cp/decl.cc:16418
 #, gcc-internal-format
 msgid "class template %qD redeclared as non-template"
 msgstr ""
 
-#: cp/decl.cc:15984 cp/name-lookup.cc:5409
+#: cp/decl.cc:16440 cp/name-lookup.cc:5730
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.cc:16012 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759
-#: cp/pt.cc:9835
+#: cp/decl.cc:16468 cp/friend.cc:317 cp/parser.cc:3512 cp/parser.cc:6920
+#: cp/pt.cc:9970
 #, gcc-internal-format
 msgid "%qT is not a template"
 msgstr ""
 
-#: cp/decl.cc:16017
+#: cp/decl.cc:16473
 #, gcc-internal-format
 msgid "perhaps you want to explicitly add %<%T::%>"
 msgstr ""
 
-#: cp/decl.cc:16122
+#: cp/decl.cc:16578
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.cc:16148
+#: cp/decl.cc:16604
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.cc:16159 cp/semantics.cc:3564
+#: cp/decl.cc:16616 cp/semantics.cc:3712
 #, gcc-internal-format
 msgid "cannot declare %qD in a different module"
 msgstr ""
 
-#: cp/decl.cc:16275
+#: cp/decl.cc:16617 cp/decl.cc:16970 lto/lto-symtab.cc:865
+#, gcc-internal-format
+msgid "previously declared here"
+msgstr ""
+
+#: cp/decl.cc:16744
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16282
+#: cp/decl.cc:16751
 #, gcc-internal-format
 msgid "%qT defined with multiple direct bases"
 msgstr ""
 
-#: cp/decl.cc:16293
+#: cp/decl.cc:16762
 #, gcc-internal-format
 msgid "%qT defined with direct virtual base"
 msgstr ""
 
-#: cp/decl.cc:16318
+#: cp/decl.cc:16787
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.cc:16348
+#: cp/decl.cc:16817
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.cc:16350
+#: cp/decl.cc:16819
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16495
+#: cp/decl.cc:16969
+#, gcc-internal-format
+msgid "cannot declare %qD in different module"
+msgstr ""
+
+#: cp/decl.cc:16982
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16498 cp/decl.cc:16506 cp/decl.cc:16516 cp/decl.cc:17115
-#: cp/parser.cc:21202
+#: cp/decl.cc:16985 cp/decl.cc:16994 cp/decl.cc:17005 cp/decl.cc:17597
+#: cp/parser.cc:21734
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr ""
 
-#: cp/decl.cc:16503
+#: cp/decl.cc:16991
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16513
+#: cp/decl.cc:17002
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16524
-#, gcc-internal-format
-msgid "cannot define %qD in different module"
-msgstr ""
-
-#: cp/decl.cc:16599
+#: cp/decl.cc:17075
 #, gcc-internal-format
 msgid "underlying type %qT of %qT must be an integral type"
 msgstr ""
@@ -58485,297 +60678,292 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.cc:16748
+#: cp/decl.cc:17224
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.cc:16923
+#: cp/decl.cc:17405
 #, gcc-internal-format
 msgid ""
 "enumerator value for %qD must have integral or unscoped enumeration type"
 msgstr ""
 
-#: cp/decl.cc:16933
+#: cp/decl.cc:17415
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.cc:16982
+#: cp/decl.cc:17464
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.cc:16983
+#: cp/decl.cc:17465
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<long%>"
 msgstr ""
 
-#: cp/decl.cc:16994
+#: cp/decl.cc:17476
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.cc:17014
+#: cp/decl.cc:17496
 #, gcc-internal-format
 msgid "enumerator value %qE is outside the range of underlying type %qT"
 msgstr ""
 
-#: cp/decl.cc:17113 cp/parser.cc:21200
+#: cp/decl.cc:17595 cp/parser.cc:21732
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr ""
 
-#: cp/decl.cc:17187
+#: cp/decl.cc:17669
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.cc:17347 cp/typeck.cc:11127
+#: cp/decl.cc:17827 cp/typeck.cc:11238
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.cc:18160
+#: cp/decl.cc:18657
 #, gcc-internal-format
 msgid "no return statements in function returning %qT"
 msgstr ""
 
-#: cp/decl.cc:18162 cp/typeck.cc:11007
+#: cp/decl.cc:18659 cp/typeck.cc:11118
 #, gcc-internal-format
 msgid "only plain %<auto%> return type can be deduced to %<void%>"
 msgstr ""
 
-#: cp/decl.cc:18224
+#: cp/decl.cc:18719
 #, gcc-internal-format
 msgid "no return statement in %<constexpr%> function returning non-void"
 msgstr ""
 
-#: cp/decl.cc:18404
+#: cp/decl.cc:18899
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
 
-#: cp/decl.cc:18792
+#: cp/decl.cc:19287
 #, gcc-internal-format
 msgid "using %qs"
 msgstr ""
 
-#: cp/decl.cc:18804
+#: cp/decl.cc:19299
 #, gcc-internal-format
 msgid "use of %qD before deduction of %<auto%>"
 msgstr ""
 
-#: cp/decl2.cc:384
+#: cp/decl2.cc:386
 #, gcc-internal-format
 msgid "name missing for member function"
 msgstr ""
 
-#: cp/decl2.cc:482 cp/decl2.cc:525
+#: cp/decl2.cc:481 cp/decl2.cc:529
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript changed meaning in C++23"
 msgstr ""
 
-#: cp/decl2.cc:515
+#: cp/decl2.cc:519
 #, gcc-internal-format
 msgid "built-in subscript operator without expression list"
 msgstr ""
 
-#: cp/decl2.cc:529
+#: cp/decl2.cc:533
 #, gcc-internal-format
 msgid ""
 "built-in subscript operator with more than one expression in expression list"
 msgstr ""
 
-#: cp/decl2.cc:556 cp/decl2.cc:570
+#: cp/decl2.cc:560 cp/decl2.cc:575
 #, gcc-internal-format
 msgid "ambiguous conversion for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:564
+#: cp/decl2.cc:569
 #, gcc-internal-format
 msgid "invalid types %<%T[%T]%> for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:646
+#: cp/decl2.cc:688
 #, gcc-internal-format
 msgid "deleting array %q#E"
 msgstr ""
 
-#: cp/decl2.cc:654
+#: cp/decl2.cc:696
 #, gcc-internal-format
 msgid "type %q#T argument given to %<delete%>, expected pointer"
 msgstr ""
 
-#: cp/decl2.cc:668
+#: cp/decl2.cc:710
 #, gcc-internal-format
 msgid ""
 "cannot delete a function.  Only pointer-to-objects are valid arguments to "
 "%<delete%>"
 msgstr ""
 
-#: cp/decl2.cc:678
+#: cp/decl2.cc:720
 #, gcc-internal-format
 msgid "deleting %qT is undefined"
 msgstr ""
 
-#: cp/decl2.cc:726 cp/pt.cc:5917
+#: cp/decl2.cc:768 cp/pt.cc:5939
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:766
+#: cp/decl2.cc:808
 #, gcc-internal-format
 msgid ""
 "template parameter lists provided don%'t match the template parameters of %qD"
 msgstr ""
 
-#: cp/decl2.cc:781 cp/pt.cc:5885
+#: cp/decl2.cc:823 cp/pt.cc:5907
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr ""
 
-#: cp/decl2.cc:873
+#: cp/decl2.cc:915
 #, gcc-internal-format
 msgid "no declaration matches %q#D"
 msgstr ""
 
-#: cp/decl2.cc:878
+#: cp/decl2.cc:920
 #, gcc-internal-format
 msgid "no conversion operators declared"
 msgstr ""
 
-#: cp/decl2.cc:881
+#: cp/decl2.cc:923
 #, gcc-internal-format
 msgid "no functions named %qD"
 msgstr ""
 
-#: cp/decl2.cc:883
+#: cp/decl2.cc:925
 #, gcc-internal-format
 msgid "%#qT defined here"
 msgstr ""
 
-#: cp/decl2.cc:943
+#: cp/decl2.cc:985
 #, gcc-internal-format
 msgid "local class %q#T shall not have static data member %q#D"
 msgstr ""
 
-#: cp/decl2.cc:952
+#: cp/decl2.cc:994
 #, gcc-internal-format
 msgid "static data member %qD in unnamed class"
 msgstr ""
 
-#: cp/decl2.cc:954
+#: cp/decl2.cc:996
 #, gcc-internal-format
 msgid "unnamed class defined here"
 msgstr ""
 
-#: cp/decl2.cc:1035
+#: cp/decl2.cc:1077
 #, gcc-internal-format
 msgid "explicit template argument list not allowed"
 msgstr ""
 
-#: cp/decl2.cc:1077
+#: cp/decl2.cc:1119
 #, gcc-internal-format
 msgid "%qD is already defined in %qT"
 msgstr ""
 
-#: cp/decl2.cc:1106 cp/decl2.cc:1114
+#: cp/decl2.cc:1148 cp/decl2.cc:1156
 #, gcc-internal-format
 msgid "invalid initializer for member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1123
+#: cp/decl2.cc:1165
 #, gcc-internal-format
 msgid "initializer specified for friend function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1126
+#: cp/decl2.cc:1168
 #, gcc-internal-format
 msgid "initializer specified for static member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1174
+#: cp/decl2.cc:1216
 #, gcc-internal-format
 msgid "%<asm%> specifiers are not permitted on non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1231
+#: cp/decl2.cc:1273
 #, gcc-internal-format
 msgid "bit-field %qD with non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1239
+#: cp/decl2.cc:1281
 #, gcc-internal-format
 msgid "cannot declare %qD to be a bit-field type"
 msgstr ""
 
-#: cp/decl2.cc:1250
+#: cp/decl2.cc:1292
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with function type"
 msgstr ""
 
-#: cp/decl2.cc:1256
+#: cp/decl2.cc:1298
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: cp/decl2.cc:1263
+#: cp/decl2.cc:1305
 #, gcc-internal-format
 msgid "%qD is already defined in the class %qT"
 msgstr ""
 
-#: cp/decl2.cc:1271
+#: cp/decl2.cc:1313
 #, gcc-internal-format
 msgid "static member %qD cannot be a bit-field"
 msgstr ""
 
-#: cp/decl2.cc:1285
+#: cp/decl2.cc:1327
 #, gcc-internal-format
 msgid "width of bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1683
+#: cp/decl2.cc:1769
 #, gcc-internal-format
 msgid "%q+D static data member inside of declare target directive"
 msgstr ""
 
-#: cp/decl2.cc:1745 cp/name-lookup.cc:8395
-#, gcc-internal-format
-msgid "%<omp::%E%> not allowed to be specified in this context"
-msgstr ""
-
-#: cp/decl2.cc:1814
+#: cp/decl2.cc:1924
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr ""
 
-#: cp/decl2.cc:1830
+#: cp/decl2.cc:1940
 #, gcc-internal-format
 msgid "%q#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1837
+#: cp/decl2.cc:1947
 #, gcc-internal-format
 msgid "private member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:1840
+#: cp/decl2.cc:1950
 #, gcc-internal-format
 msgid "protected member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:1905
+#: cp/decl2.cc:2015
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr ""
 
-#: cp/decl2.cc:1914
+#: cp/decl2.cc:2024
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr ""
 
-#: cp/decl2.cc:1951
+#: cp/decl2.cc:2061
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr ""
@@ -58784,95 +60972,95 @@ msgstr ""
 #.
 #. The first parameter shall not have an associated default
 #. argument.
-#: cp/decl2.cc:1963
+#: cp/decl2.cc:2073
 #, gcc-internal-format
 msgid "the first parameter of %<operator new%> cannot have a default argument"
 msgstr ""
 
-#: cp/decl2.cc:1979
+#: cp/decl2.cc:2089
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:2009
+#: cp/decl2.cc:2119
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr ""
 
-#: cp/decl2.cc:2024
+#: cp/decl2.cc:2134
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a member function"
 msgstr ""
 
-#: cp/decl2.cc:2027
+#: cp/decl2.cc:2137
 #, gcc-internal-format
 msgid "%<operator delete[]%> cannot be a destroying delete"
 msgstr ""
 
-#: cp/decl2.cc:2029
+#: cp/decl2.cc:2139
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a usual deallocation function"
 msgstr ""
 
-#: cp/decl2.cc:2039
+#: cp/decl2.cc:2149
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:3030
+#: cp/decl2.cc:3154
 #, gcc-internal-format
 msgid "%qT has a field %q#D whose type has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3034
+#: cp/decl2.cc:3158
 #, gcc-internal-format
 msgid ""
 "%qT has a field %qD whose type depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3040
+#: cp/decl2.cc:3164
 #, gcc-internal-format
 msgid "%qT has a field %q#D whose type has internal linkage"
 msgstr ""
 
 #. In C++98 this can only happen with unnamed namespaces.
-#: cp/decl2.cc:3044
+#: cp/decl2.cc:3168
 #, gcc-internal-format
 msgid "%qT has a field %q#D whose type uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:3052
+#: cp/decl2.cc:3176
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than the type of its field %qD"
 msgstr ""
 
-#: cp/decl2.cc:3071
+#: cp/decl2.cc:3195
 #, gcc-internal-format
 msgid "%qT has a base %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3075
+#: cp/decl2.cc:3199
 #, gcc-internal-format
 msgid "%qT has a base %qT which depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3081
+#: cp/decl2.cc:3205
 #, gcc-internal-format
 msgid "%qT has a base %qT which has internal linkage"
 msgstr ""
 
 #. In C++98 this can only happen with unnamed namespaces.
-#: cp/decl2.cc:3085
+#: cp/decl2.cc:3209
 #, gcc-internal-format
 msgid "%qT has a base %qT which uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:3092
+#: cp/decl2.cc:3216
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than its base %qT"
 msgstr ""
 
-#: cp/decl2.cc:4567
+#: cp/decl2.cc:4695
 #, gcc-internal-format
 msgid "%q#D, declared using unnamed type, is used but never defined"
 msgstr ""
@@ -58881,245 +61069,245 @@ msgstr ""
 #. 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:4576
+#: cp/decl2.cc:4704
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4580
+#: cp/decl2.cc:4708
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4584
+#: cp/decl2.cc:4712
 #, gcc-internal-format
 msgid ""
 "%q#D does not refer to the unqualified type, so it is not used for linkage"
 msgstr ""
 
-#: cp/decl2.cc:4592
+#: cp/decl2.cc:4720
 #, gcc-internal-format
 msgid "%q#D, declared using local type %qT, is used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:4596
+#: cp/decl2.cc:4724
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4599
+#: cp/decl2.cc:4727
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4796
+#: cp/decl2.cc:4924
 #, gcc-internal-format
 msgid "mangling of %q#D as %qE conflicts with a previous mangle"
 msgstr ""
 
-#: cp/decl2.cc:4799
+#: cp/decl2.cc:4927
 #, gcc-internal-format
 msgid "previous mangling %q#D"
 msgstr ""
 
-#: cp/decl2.cc:4801
+#: cp/decl2.cc:4929
 #, gcc-internal-format
 msgid ""
 "a later %<-fabi-version=%> (or =0) avoids this error with a change in "
 "mangling"
 msgstr ""
 
-#: cp/decl2.cc:4873 cp/decl2.cc:4876
+#: cp/decl2.cc:5001 cp/decl2.cc:5004
 #, gcc-internal-format
 msgid "the program should also define %qD"
 msgstr ""
 
-#: cp/decl2.cc:5210
+#: cp/decl2.cc:5343
 #, gcc-internal-format
 msgid "inline function %qD used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:5437
+#: cp/decl2.cc:5569
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:5442
+#: cp/decl2.cc:5574
 #, gcc-internal-format
 msgid "...following parameter %P which has a default argument"
 msgstr ""
 
-#: cp/decl2.cc:5566
+#: cp/decl2.cc:5698
 #, gcc-internal-format
 msgid "implicitly-declared %qD is deprecated"
 msgstr ""
 
-#: cp/decl2.cc:5570
+#: cp/decl2.cc:5702
 #, 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:5711
+#: cp/decl2.cc:5843
 #, gcc-internal-format
 msgid "converting lambda that uses %<...%> to function pointer"
 msgstr ""
 
-#: cp/decl2.cc:5714
+#: cp/decl2.cc:5846
 #, gcc-internal-format
 msgid "use of deleted function %qD"
 msgstr ""
 
-#: cp/decl2.cc:5768
+#: cp/decl2.cc:5900
 #, gcc-internal-format
 msgid "use of function %qD with unsatisfied constraints"
 msgstr ""
 
-#: cp/decl2.cc:5798
+#: cp/decl2.cc:5930
 #, gcc-internal-format
 msgid "use of built-in parameter pack %qD outside of a template"
 msgstr ""
 
-#: cp/error.cc:4093
+#: cp/error.cc:4112
 #, gcc-internal-format
 msgid "(no argument)"
 msgstr ""
 
-#: cp/error.cc:4185
+#: cp/error.cc:4204
 #, gcc-internal-format
 msgid "[...]"
 msgstr ""
 
-#: cp/error.cc:4532
+#: cp/error.cc:4551
 #, gcc-internal-format
 msgid ""
 "extended initializer lists only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4537
+#: cp/error.cc:4556
 #, gcc-internal-format
 msgid ""
 "explicit conversion operators only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4542
+#: cp/error.cc:4561
 #, gcc-internal-format
 msgid ""
 "variadic templates only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4547
+#: cp/error.cc:4566
 #, gcc-internal-format
 msgid ""
 "lambda expressions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4552
+#: cp/error.cc:4571
 #, gcc-internal-format
 msgid "C++11 auto only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4557
+#: cp/error.cc:4576
 #, gcc-internal-format
 msgid "scoped enums only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4562
+#: cp/error.cc:4581
 #, gcc-internal-format
 msgid ""
 "defaulted and deleted functions only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4568
+#: cp/error.cc:4587
 #, gcc-internal-format
 msgid ""
 "inline namespaces only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4573
+#: cp/error.cc:4592
 #, gcc-internal-format
 msgid ""
 "override controls (override/final) only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4578
+#: cp/error.cc:4597
 #, gcc-internal-format
 msgid ""
 "non-static data member initializers only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4583
+#: cp/error.cc:4602
 #, gcc-internal-format
 msgid ""
 "user-defined literals only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4588
+#: cp/error.cc:4607
 #, gcc-internal-format
 msgid ""
 "delegating constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4593
+#: cp/error.cc:4612
 #, gcc-internal-format
 msgid ""
 "inheriting constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4598
+#: cp/error.cc:4617
 #, gcc-internal-format
 msgid "C++11 attributes only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4603
+#: cp/error.cc:4622
 #, gcc-internal-format
 msgid "ref-qualifiers only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4653
+#: cp/error.cc:4672
 #, gcc-internal-format
 msgid "incomplete type %qT used in nested name specifier"
 msgstr ""
 
-#: cp/error.cc:4657
+#: cp/error.cc:4676
 #, gcc-internal-format
 msgid "reference to %<%T::%D%> is ambiguous"
 msgstr ""
 
-#: cp/error.cc:4671
+#: cp/error.cc:4690
 #, gcc-internal-format
 msgid "%qD is not a member of %qT; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4675 cp/typeck.cc:2883
+#: cp/error.cc:4694 cp/typeck.cc:2874
 #, gcc-internal-format
 msgid "%qD is not a member of %qT"
 msgstr ""
 
-#: cp/error.cc:4697
+#: cp/error.cc:4716
 #, gcc-internal-format
 msgid "%qD is not a member of %qD; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4701 cp/typeck.cc:3476
+#: cp/error.cc:4720 cp/typeck.cc:3466
 #, gcc-internal-format
 msgid "%qD is not a member of %qD"
 msgstr ""
 
-#: cp/error.cc:4712
+#: cp/error.cc:4731
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4716
+#: cp/error.cc:4735
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared"
 msgstr ""
@@ -59129,17 +61317,17 @@ msgstr ""
 msgid "exception handling disabled, use %<-fexceptions%> to enable"
 msgstr ""
 
-#: cp/except.cc:626
+#: cp/except.cc:628
 #, gcc-internal-format
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.cc:739
+#: cp/except.cc:735
 #, gcc-internal-format
 msgid "  in thrown expression"
 msgstr ""
 
-#: cp/except.cc:884
+#: cp/except.cc:882
 #, gcc-internal-format
 msgid "cannot declare %<catch%> parameter to be of rvalue reference type %qT"
 msgstr ""
@@ -59156,32 +61344,32 @@ msgstr ""
 msgid "cannot catch type %qT because it involves types of variable size"
 msgstr ""
 
-#: cp/except.cc:995
+#: cp/except.cc:996
 #, gcc-internal-format
 msgid "exception of type %qT will be caught by earlier handler"
 msgstr ""
 
-#: cp/except.cc:997
+#: cp/except.cc:998
 #, gcc-internal-format
 msgid "for type %qT"
 msgstr ""
 
-#: cp/except.cc:1026
+#: cp/except.cc:1027
 #, gcc-internal-format
 msgid "%<...%> handler must be the last handler for its try block"
 msgstr ""
 
-#: cp/except.cc:1122
+#: cp/except.cc:1123
 #, gcc-internal-format
 msgid "noexcept-expression evaluates to %<false%> because of a call to %qD"
 msgstr ""
 
-#: cp/except.cc:1125
+#: cp/except.cc:1126
 #, gcc-internal-format
 msgid "but %qD does not throw; perhaps it should be declared %<noexcept%>"
 msgstr ""
 
-#: cp/expr.cc:233
+#: cp/expr.cc:232
 #, gcc-internal-format
 msgid ""
 "using value of assignment with %<volatile%>-qualified left operand is "
@@ -59302,326 +61490,326 @@ msgstr ""
 msgid "recursive instantiation of default member initializer for %qD"
 msgstr ""
 
-#: cp/init.cc:663
+#: cp/init.cc:662
 #, gcc-internal-format
 msgid ""
 "default member initializer for %qD required before the end of its enclosing "
 "class"
 msgstr ""
 
-#: cp/init.cc:733
+#: cp/init.cc:664
+#, gcc-internal-format
+msgid "defined here"
+msgstr ""
+
+#: cp/init.cc:732
 #, gcc-internal-format
 msgid "initializer for flexible array member %q#D"
 msgstr ""
 
-#: cp/init.cc:798
+#: cp/init.cc:797
 #, gcc-internal-format
 msgid ""
 "initializing %qD from %qE does not extend the lifetime of the underlying "
 "array"
 msgstr ""
 
-#: cp/init.cc:902 cp/init.cc:983
+#: cp/init.cc:901 cp/init.cc:982
 #, gcc-internal-format
 msgid "%qD is initialized with itself"
 msgstr ""
 
-#: cp/init.cc:908
+#: cp/init.cc:907
 #, gcc-internal-format
 msgid "reference %qD is not yet bound to a value when used here"
 msgstr ""
 
-#: cp/init.cc:912
+#: cp/init.cc:911
 #, gcc-internal-format
 msgid "member %qD is used uninitialized"
 msgstr ""
 
-#: cp/init.cc:960
+#: cp/init.cc:959
 #, gcc-internal-format
 msgid "%qD should be initialized in the member initialization list"
 msgstr ""
 
-#: cp/init.cc:1104
+#: cp/init.cc:1103
 #, gcc-internal-format
 msgid "invalid initializer for array member %q#D"
 msgstr ""
 
-#: cp/init.cc:1119 cp/init.cc:1145 cp/init.cc:2740 cp/method.cc:2483
+#: cp/init.cc:1118 cp/init.cc:1144 cp/init.cc:2739 cp/method.cc:2494
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1121 cp/init.cc:1139 cp/init.cc:1147 cp/init.cc:2725
-#: cp/init.cc:2753 cp/method.cc:2486 cp/method.cc:2497
+#: cp/init.cc:1120 cp/init.cc:1138 cp/init.cc:1146 cp/init.cc:2724
+#: cp/init.cc:2752 cp/method.cc:2497 cp/method.cc:2508
 #, gcc-internal-format
 msgid "%q#D should be initialized"
 msgstr ""
 
-#: cp/init.cc:1137 cp/init.cc:2712 cp/method.cc:2494
+#: cp/init.cc:1136 cp/init.cc:2711 cp/method.cc:2505
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1322
+#: cp/init.cc:1321
 #, gcc-internal-format
 msgid "%qD will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1325
+#: cp/init.cc:1324
 #, gcc-internal-format
 msgid "base %qT will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1329
+#: cp/init.cc:1328
 #, gcc-internal-format
 msgid "  %q#D"
 msgstr ""
 
-#: cp/init.cc:1331
+#: cp/init.cc:1330
 #, gcc-internal-format
 msgid "  base %qT"
 msgstr ""
 
-#: cp/init.cc:1333
+#: cp/init.cc:1332
 #, gcc-internal-format
 msgid "  when initialized here"
 msgstr ""
 
-#: cp/init.cc:1350
+#: cp/init.cc:1349
 #, gcc-internal-format
 msgid "multiple initializations given for %qD"
 msgstr ""
 
-#: cp/init.cc:1354
+#: cp/init.cc:1353
 #, gcc-internal-format
 msgid "multiple initializations given for base %qT"
 msgstr ""
 
-#: cp/init.cc:1441
+#: cp/init.cc:1440
 #, gcc-internal-format
 msgid "initializations for multiple members of %qT"
 msgstr ""
 
-#: cp/init.cc:1550
+#: cp/init.cc:1549
 #, gcc-internal-format
 msgid ""
 "base class %q#T should be explicitly initialized in the copy constructor"
 msgstr ""
 
-#: cp/init.cc:1786 cp/init.cc:1805
+#: cp/init.cc:1785 cp/init.cc:1804
 #, gcc-internal-format
 msgid "class %qT does not have any field named %qD"
 msgstr ""
 
-#: cp/init.cc:1792
+#: cp/init.cc:1791
 #, gcc-internal-format
 msgid ""
 "%q#D is a static data member; it can only be initialized at its definition"
 msgstr ""
 
-#: cp/init.cc:1799
+#: cp/init.cc:1798
 #, gcc-internal-format
 msgid "%q#D is not a non-static data member of %qT"
 msgstr ""
 
-#: cp/init.cc:1838
+#: cp/init.cc:1837
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which has no base classes"
 msgstr ""
 
-#: cp/init.cc:1846
+#: cp/init.cc:1845
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which uses multiple inheritance"
 msgstr ""
 
-#: cp/init.cc:1893
+#: cp/init.cc:1892
 #, gcc-internal-format
 msgid "%qD is both a direct base and an indirect virtual base"
 msgstr ""
 
-#: cp/init.cc:1901
+#: cp/init.cc:1900
 #, gcc-internal-format
 msgid "type %qT is not a direct or virtual base of %qT"
 msgstr ""
 
-#: cp/init.cc:1904
+#: cp/init.cc:1903
 #, gcc-internal-format
 msgid "type %qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/init.cc:2016 cp/init.cc:4913 cp/typeck2.cc:1383
+#: cp/init.cc:2015 cp/init.cc:4914 cp/typeck2.cc:1379
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/init.cc:2337 cp/semantics.cc:3841 rust/backend/rust-tree.cc:4120
+#: cp/init.cc:2336 cp/semantics.cc:3989 rust/backend/rust-tree.cc:4168
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr ""
 
-#: cp/init.cc:2395
+#: cp/init.cc:2394
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.cc:2409
+#: cp/init.cc:2408
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.cc:2495 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763
+#: cp/init.cc:2494 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3811
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.cc:2502 cp/semantics.cc:2207
+#: cp/init.cc:2501 cp/semantics.cc:2308
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.cc:2709
+#: cp/init.cc:2708
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2717
+#: cp/init.cc:2716
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in base %q#T of %q#T using %<new%> without "
 "new-initializer"
 msgstr ""
 
-#: cp/init.cc:2721
+#: cp/init.cc:2720
 #, gcc-internal-format
 msgid "uninitialized reference member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2737
+#: cp/init.cc:2736
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2745
+#: cp/init.cc:2744
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in base %q#T of %q#T using %<new%> without new-"
 "initializer"
 msgstr ""
 
-#: cp/init.cc:2749
+#: cp/init.cc:2748
 #, gcc-internal-format
 msgid "uninitialized const member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2864
+#: cp/init.cc:2863
 #, 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:2867
+#: cp/init.cc:2866
 #, 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:2877
+#: cp/init.cc:2876
 #, 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:2880
+#: cp/init.cc:2879
 #, 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:2889
+#: cp/init.cc:2888
 #, 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:2892
+#: cp/init.cc:2891
 #, 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:2909
+#: cp/init.cc:2908
 #, gcc-internal-format
 msgid "at offset %wi from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:2913
+#: cp/init.cc:2912
 #, gcc-internal-format
 msgid "at offset [%wi, %wi] from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:3111
+#: cp/init.cc:3110
 #, gcc-internal-format
 msgid "integer overflow in array size"
 msgstr ""
 
-#: cp/init.cc:3121
+#: cp/init.cc:3120
 #, gcc-internal-format
 msgid "array size in new-expression must be constant"
 msgstr ""
 
-#: cp/init.cc:3139
+#: cp/init.cc:3138
 #, gcc-internal-format
 msgid "variably modified type not allowed in new-expression"
 msgstr ""
 
-#: cp/init.cc:3155
+#: cp/init.cc:3154
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified directly, not by %<typedef%>"
 msgstr ""
 
-#: cp/init.cc:3157
+#: cp/init.cc:3156
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified without parentheses around "
 "the type-id"
 msgstr ""
 
-#: cp/init.cc:3167
+#: cp/init.cc:3166
 #, gcc-internal-format
 msgid "invalid type %<void%> for %<new%>"
 msgstr ""
 
-#: cp/init.cc:3173
+#: cp/init.cc:3172
 #, gcc-internal-format
 msgid ""
 "%<new%> of %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/init.cc:3215
+#: cp/init.cc:3214
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.cc:3371
+#: cp/init.cc:3370
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.cc:3378 cp/search.cc:1219
-#, gcc-internal-format
-msgid "request for member %qD is ambiguous"
-msgstr ""
-
 #: cp/init.cc:3459
 #, gcc-internal-format
 msgid "%<new%> of type %qT with extended alignment %d"
@@ -59642,147 +61830,147 @@ msgstr ""
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.cc:3937
+#: cp/init.cc:3932
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.cc:3966
+#: cp/init.cc:3961
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.cc:3975
+#: cp/init.cc:3970
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.cc:4095
+#: cp/init.cc:4090
 #, gcc-internal-format
 msgid "possible problem detected in invocation of operator %<delete []%>"
 msgstr ""
 
-#: cp/init.cc:4099
+#: cp/init.cc:4094
 #, 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:4817
+#: cp/init.cc:4816
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.cc:5113
+#: cp/init.cc:5114
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.cc:5147
+#: cp/init.cc:5148
 #, gcc-internal-format
 msgid "possible problem detected in invocation of %<operator delete%>"
 msgstr ""
 
-#: cp/init.cc:5152
+#: cp/init.cc:5153
 #, 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:5167
+#: cp/init.cc:5168
 #, gcc-internal-format
 msgid ""
 "deleting object of abstract class type %qT which has non-virtual destructor "
 "will cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5172
+#: cp/init.cc:5173
 #, gcc-internal-format
 msgid ""
 "deleting object of polymorphic class type %qT which has non-virtual "
 "destructor might cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5479
+#: cp/init.cc:5480
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
 
-#: cp/lambda.cc:546
+#: cp/lambda.cc:549
 #, gcc-internal-format
 msgid "array of runtime bound cannot be captured by copy, only by reference"
 msgstr ""
 
-#: cp/lambda.cc:561
+#: cp/lambda.cc:564
 #, gcc-internal-format
 msgid ""
 "capture of variably-modified type %qT that is not an N3639 array of runtime "
 "bound"
 msgstr ""
 
-#: cp/lambda.cc:565
+#: cp/lambda.cc:568
 #, gcc-internal-format
 msgid "because the array element type %qT has variable size"
 msgstr ""
 
-#: cp/lambda.cc:589
+#: cp/lambda.cc:592
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/lambda.cc:599
+#: cp/lambda.cc:602
 #, gcc-internal-format
 msgid "capture by copy of incomplete type %qT"
 msgstr ""
 
-#: cp/lambda.cc:654
+#: cp/lambda.cc:674
 #, gcc-internal-format
 msgid "trying to capture %qD in instantiation of generic lambda"
 msgstr ""
 
-#: cp/lambda.cc:730
+#: cp/lambda.cc:750
 #, gcc-internal-format
 msgid "implicit capture of %qE via %<[=]%> is deprecated in C++20"
 msgstr ""
 
-#: cp/lambda.cc:732
+#: cp/lambda.cc:752
 #, gcc-internal-format
 msgid "add explicit %<this%> or %<*this%> capture"
 msgstr ""
 
-#: cp/lambda.cc:852
+#: cp/lambda.cc:873
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/lex.cc:610
+#: cp/lex.cc:644
 #, gcc-internal-format
 msgid "invalid %<#pragma %s%>"
 msgstr ""
 
-#: cp/lex.cc:618
+#: cp/lex.cc:652
 #, gcc-internal-format
 msgid "%<#pragma vtable%> no longer supported"
 msgstr ""
 
-#: cp/lex.cc:690
+#: cp/lex.cc:724
 #, gcc-internal-format
 msgid "%<#pragma implementation%> for %qs appears after file is included"
 msgstr ""
 
-#: cp/lex.cc:718
+#: cp/lex.cc:752
 #, gcc-internal-format
 msgid "%qD not defined"
 msgstr ""
 
-#: cp/lex.cc:730
+#: cp/lex.cc:764
 #, gcc-internal-format
 msgid "%qD was not declared in this scope; did you mean %qs?"
 msgstr ""
 
-#: cp/lex.cc:734
+#: cp/lex.cc:768
 #, gcc-internal-format
 msgid "%qD was not declared in this scope"
 msgstr ""
@@ -59797,14 +61985,14 @@ msgstr ""
 #. Note that we have the exact wording of the following message in
 #. the manual (trouble.texi, node "Name lookup"), so they need to
 #. be kept in synch.
-#: cp/lex.cc:776
+#: cp/lex.cc:810
 #, gcc-internal-format
 msgid ""
 "there are no arguments to %qD that depend on a template parameter, so a "
 "declaration of %qD must be available"
 msgstr ""
 
-#: cp/lex.cc:785
+#: cp/lex.cc:819
 #, gcc-internal-format
 msgid ""
 "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the "
@@ -59816,160 +62004,160 @@ msgstr ""
 msgid "  # %E"
 msgstr ""
 
-#: cp/mangle.cc:2503
+#: cp/mangle.cc:2662
 #, gcc-internal-format
 msgid "mangling %<typeof%>, use %<decltype%> instead"
 msgstr ""
 
-#: cp/mangle.cc:2507
+#: cp/mangle.cc:2666
 #, gcc-internal-format
 msgid ""
 "use of built-in trait %qT in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3566
+#: cp/mangle.cc:3836
 #, gcc-internal-format
 msgid ""
 "use of built-in trait %qE in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3571
+#: cp/mangle.cc:3841
 #, gcc-internal-format, gfc-internal-format
 msgid "mangling %C"
 msgstr ""
 
-#: cp/mangle.cc:3647
+#: cp/mangle.cc:3915
 #, gcc-internal-format
 msgid "omitted middle operand to %<?:%> operand cannot be mangled"
 msgstr ""
 
-#: cp/mangle.cc:4215
+#: cp/mangle.cc:4486
 #, 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:4261
+#: cp/mangle.cc:4532 cp/mangle.cc:4711
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4267
+#: cp/mangle.cc:4538 cp/mangle.cc:4717
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4539
+#: cp/mangle.cc:4864
 #, 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:4544
+#: cp/mangle.cc:4869
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-"
 "version=%d%>"
 msgstr ""
 
-#: cp/mangle.cc:4549
+#: cp/mangle.cc:4874
 #, gcc-internal-format
 msgid ""
 "the mangled name of the initialization guard variable for %qD changes "
 "between %<-fabi-version=%d%> and %<-fabi-version=%d%>"
 msgstr ""
 
-#: cp/mapper-client.cc:312
+#: cp/mapper-client.cc:318
 #, gcc-internal-format
 msgid "failed %s mapper %qs line %u"
 msgstr ""
 
-#: cp/mapper-client.cc:313
+#: cp/mapper-client.cc:319
 #, gcc-internal-format
 msgid "failed %s mapper %qs"
 msgstr ""
 
-#: cp/mapper-client.cc:325
+#: cp/mapper-client.cc:331
 #, gcc-internal-format, gfc-internal-format
 msgid "failed mapper handshake %s"
 msgstr ""
 
-#: cp/mapper-client.cc:359
+#: cp/mapper-client.cc:365
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper died by signal %s"
 msgstr ""
 
-#: cp/mapper-client.cc:362
+#: cp/mapper-client.cc:368
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper exit status %d"
 msgstr ""
 
-#: cp/method.cc:855 cp/method.cc:2436
+#: cp/method.cc:861 cp/method.cc:2447
 #, gcc-internal-format
 msgid "non-static const member %q#D, cannot use default assignment operator"
 msgstr ""
 
-#: cp/method.cc:861 cp/method.cc:2442
+#: cp/method.cc:867 cp/method.cc:2453
 #, gcc-internal-format
 msgid ""
 "non-static reference member %q#D, cannot use default assignment operator"
 msgstr ""
 
-#: cp/method.cc:951
+#: cp/method.cc:957
 #, gcc-internal-format
 msgid "%qD is not a static data member"
 msgstr ""
 
-#: cp/method.cc:952
+#: cp/method.cc:958
 #, gcc-internal-format
 msgid "determining value of %qs"
 msgstr ""
 
-#: cp/method.cc:979
+#: cp/method.cc:985
 #, gcc-internal-format
 msgid "forming type of %qs"
 msgstr ""
 
-#: cp/method.cc:1170
+#: cp/method.cc:1176
 #, gcc-internal-format
 msgid "defaulted %qD only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/method.cc:1185
+#: cp/method.cc:1191
 #, gcc-internal-format
 msgid "defaulted %qD must return %<bool%>"
 msgstr ""
 
-#: cp/method.cc:1193
+#: cp/method.cc:1199
 #, gcc-internal-format
 msgid "defaulted %qD must be %<const%>"
 msgstr ""
 
-#: cp/method.cc:1198
+#: cp/method.cc:1204
 #, gcc-internal-format
 msgid "defaulted %qD must not have %<&&%> ref-qualifier"
 msgstr ""
 
-#: cp/method.cc:1225
+#: cp/method.cc:1233
 #, gcc-internal-format
 msgid "defaulted %qD is not a friend of %qT"
 msgstr ""
 
-#: cp/method.cc:1234
+#: cp/method.cc:1245
 #, gcc-internal-format
 msgid "defaulted member %qD must have parameter type %<const %T&%>"
 msgstr ""
 
-#: cp/method.cc:1237
+#: cp/method.cc:1248
 #, gcc-internal-format
 msgid "defaulted %qD must have parameters of either type %<const %T&%> or %qT"
 msgstr ""
 
-#: cp/method.cc:1240
+#: cp/method.cc:1251
 #, gcc-internal-format
 msgid ""
 "defaulted %qD must have parameters of either type %<const %T&%> or %qT, not "
@@ -59977,404 +62165,404 @@ msgid ""
 msgstr ""
 
 #. Return type is auto, suggest changing it.
-#: cp/method.cc:1397
+#: cp/method.cc:1408
 #, gcc-internal-format
 msgid ""
 "changing the return type from %qs to a comparison category type will allow "
 "the comparison to use %qs and %qs"
 msgstr ""
 
-#: cp/method.cc:1417
+#: cp/method.cc:1428
 #, gcc-internal-format
 msgid ""
 "three-way comparison of %qD has type %qT, not a comparison category type"
 msgstr ""
 
-#: cp/method.cc:1426
+#: cp/method.cc:1437
 #, gcc-internal-format
 msgid "three-way comparison of %qD has type %qT, which does not convert to %qT"
 msgstr ""
 
-#: cp/method.cc:1471
+#: cp/method.cc:1482
 #, gcc-internal-format
 msgid "cannot default compare union %qT"
 msgstr ""
 
-#: cp/method.cc:1539
+#: cp/method.cc:1550
 #, gcc-internal-format
 msgid "cannot default compare reference member %qD"
 msgstr ""
 
-#: cp/method.cc:1548
+#: cp/method.cc:1559
 #, gcc-internal-format
 msgid "cannot default compare anonymous union member"
 msgstr ""
 
-#: cp/method.cc:1566
+#: cp/method.cc:1577
 #, gcc-internal-format
 msgid "cannot default compare flexible array member"
 msgstr ""
 
-#: cp/method.cc:1854
+#: cp/method.cc:1858
 #, gcc-internal-format
 msgid "synthesized method %qD first required here"
 msgstr ""
 
-#: cp/method.cc:2359
+#: cp/method.cc:2370
 #, gcc-internal-format
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.cc:2370
+#: cp/method.cc:2381
 #, gcc-internal-format
 msgid "defaulted destructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2371
+#: cp/method.cc:2382
 #, gcc-internal-format
 msgid "defaulted constructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2459
+#: cp/method.cc:2470
 #, gcc-internal-format
 msgid "initializer for %q#D is invalid"
 msgstr ""
 
-#: cp/method.cc:2516
+#: cp/method.cc:2527
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/method.cc:2527
+#: cp/method.cc:2538
 #, gcc-internal-format
 msgid "copying non-static data member %q#D of rvalue reference type"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.cc:2745
+#: cp/method.cc:2756
 #, gcc-internal-format
 msgid ""
 "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.cc:2788
+#: cp/method.cc:2800
 #, gcc-internal-format
 msgid ""
 "defaulted move assignment for %qT calls a non-trivial move assignment "
 "operator for virtual base %qT"
 msgstr ""
 
-#: cp/method.cc:2919
+#: cp/method.cc:2932
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.cc:2922
+#: cp/method.cc:2935
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.cc:2931
+#: cp/method.cc:2944
 #, gcc-internal-format
 msgid ""
 "%q#D is implicitly declared as deleted because %qT declares a move "
 "constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.cc:2942
+#: cp/method.cc:2955
 #, gcc-internal-format
 msgid "%q#D inherits from multiple base subobjects"
 msgstr ""
 
-#: cp/method.cc:2950 cp/method.cc:2974
+#: cp/method.cc:2963 cp/method.cc:2987
 #, gcc-internal-format
 msgid ""
 "%q#D is implicitly deleted because the default definition would be ill-"
 "formed:"
 msgstr ""
 
-#: cp/method.cc:2983
+#: cp/method.cc:2996
 msgid ""
 "%q#F is implicitly deleted because its exception-specification does not "
 "match the implicit exception-specification %qX"
 msgstr ""
 
-#: cp/method.cc:3388
+#: cp/method.cc:3423
 #, gcc-internal-format
 msgid "defaulted declaration %q+D does not match the expected signature"
 msgstr ""
 
-#: cp/method.cc:3391
+#: cp/method.cc:3426
 #, gcc-internal-format
 msgid "expected signature: %qD"
 msgstr ""
 
-#: cp/method.cc:3423
+#: cp/method.cc:3458
 #, gcc-internal-format
 msgid ""
 "explicitly defaulted function %q+D cannot be declared %qs because the "
 "implicit declaration is not %qs:"
 msgstr ""
 
-#: cp/method.cc:3443
+#: cp/method.cc:3478
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3478
+#: cp/method.cc:3517
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3487
+#: cp/method.cc:3526
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/module.cc:1551
+#: cp/module.cc:1549
 #, gcc-internal-format
 msgid "section %qs is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1553
+#: cp/module.cc:1551
 #, gcc-internal-format, gfc-internal-format
 msgid "section #%u is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1775
+#: cp/module.cc:1773
 #, gcc-internal-format
 msgid "not Encapsulated Lazy Records of Named Declarations"
 msgstr ""
 
-#: cp/module.cc:1790
+#: cp/module.cc:1788
 #, gcc-internal-format
 msgid "unexpected encapsulation format or type"
 msgstr ""
 
-#: cp/module.cc:1799
+#: cp/module.cc:1797
 #, gcc-internal-format
 msgid "encapsulation is malformed"
 msgstr ""
 
-#: cp/module.cc:11310
+#: cp/module.cc:11383
 #, gcc-internal-format
 msgid "conflicting global module declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:11312
+#: cp/module.cc:11385
 #, gcc-internal-format
 msgid "existing declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:12329
+#: cp/module.cc:12423
 #, gcc-internal-format
 msgid "definition of %qD does not match"
 msgstr ""
 
-#: cp/module.cc:12331
+#: cp/module.cc:12425
 #, gcc-internal-format
 msgid "existing definition %qD"
 msgstr ""
 
-#: cp/module.cc:12343
+#: cp/module.cc:12437
 #, gcc-internal-format
 msgid "... this enumerator %qD"
 msgstr ""
 
-#: cp/module.cc:12345
+#: cp/module.cc:12439
 #, gcc-internal-format
 msgid "enumerator %qD does not match ..."
 msgstr ""
 
-#: cp/module.cc:12351
+#: cp/module.cc:12445
 #, gcc-internal-format
 msgid "additional enumerators beginning with %qD"
 msgstr ""
 
-#: cp/module.cc:12355
+#: cp/module.cc:12449
 #, gcc-internal-format
 msgid "enumeration range differs"
 msgstr ""
 
-#: cp/module.cc:13484
+#: cp/module.cc:13580
 #, gcc-internal-format
 msgid "%q#D references internal linkage entity %q#D"
 msgstr ""
 
-#: cp/module.cc:14061
+#: cp/module.cc:14163
 #, gcc-internal-format
 msgid "recursive lazy load"
 msgstr ""
 
 #. Cannot import the current module.
-#: cp/module.cc:14080
+#: cp/module.cc:14182
 #, gcc-internal-format
 msgid "cannot import module in its own purview"
 msgstr ""
 
-#: cp/module.cc:14081 cp/module.cc:19273
+#: cp/module.cc:14183 cp/module.cc:19383
 #, gcc-internal-format
 msgid "module %qs declared here"
 msgstr ""
 
-#: cp/module.cc:14425
+#: cp/module.cc:14527
 #, gcc-internal-format
 msgid "indirect import %qs is not already loaded"
 msgstr ""
 
-#: cp/module.cc:14431
+#: cp/module.cc:14533
 #, gcc-internal-format
 msgid "import %qs has CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:16228
+#: cp/module.cc:16333
 #, gcc-internal-format
 msgid "unable to represent further imported source locations"
 msgstr ""
 
-#: cp/module.cc:17101
+#: cp/module.cc:17206
 #, gcc-internal-format
 msgid "not exporting %<#define %E%> as it is a keyword"
 msgstr ""
 
-#: cp/module.cc:17341
+#: cp/module.cc:17446
 #, gcc-internal-format
 msgid "macro definitions of %qE corrupted"
 msgstr ""
 
-#: cp/module.cc:17365 cp/module.cc:17368
+#: cp/module.cc:17470 cp/module.cc:17473
 #, gcc-internal-format
 msgid "inconsistent imported macro definition %qE"
 msgstr ""
 
-#: cp/module.cc:17374
+#: cp/module.cc:17479
 #, gcc-internal-format
 msgid "%<#undef %E%>"
 msgstr ""
 
-#: cp/module.cc:17376
+#: cp/module.cc:17481
 #, gcc-internal-format
 msgid "%<#define %s%>"
 msgstr ""
 
-#: cp/module.cc:17608
+#: cp/module.cc:17713
 #, gcc-internal-format
 msgid "compiled module file is %qs"
 msgstr ""
 
-#: cp/module.cc:17645 cp/module.cc:17650
+#: cp/module.cc:17750 cp/module.cc:17755
 #, gcc-internal-format, gfc-internal-format
 msgid "compiled module is %sversion %s"
 msgstr ""
 
-#: cp/module.cc:17656
+#: cp/module.cc:17761
 #, gcc-internal-format, gfc-internal-format
 msgid "compiler is %sversion %s%s%s"
 msgstr ""
 
-#: cp/module.cc:17686
+#: cp/module.cc:17791
 #, gcc-internal-format
 msgid "module %qs found"
 msgstr ""
 
-#: cp/module.cc:17688
+#: cp/module.cc:17793
 #, gcc-internal-format
 msgid "header module expected, module %qs found"
 msgstr ""
 
-#: cp/module.cc:17689
+#: cp/module.cc:17794
 #, gcc-internal-format
 msgid "module %qs expected, header module found"
 msgstr ""
 
-#: cp/module.cc:17704
+#: cp/module.cc:17809
 #, gcc-internal-format
 msgid "module %qs CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:17718
+#: cp/module.cc:17823
 #, gcc-internal-format
 msgid "target & host is %qs:%qs, expected %qs:%qs"
 msgstr ""
 
-#: cp/module.cc:17730
+#: cp/module.cc:17835
 #, gcc-internal-format
 msgid "language dialect differs %qs, expected %qs"
 msgstr ""
 
-#: cp/module.cc:17746
+#: cp/module.cc:17851
 #, gcc-internal-format
 msgid "module contains OpenMP, use %<-fopenmp%> to enable"
 msgstr ""
 
-#: cp/module.cc:17763
+#: cp/module.cc:17868
 #, gcc-internal-format
 msgid "fixed tree mismatch"
 msgstr ""
 
-#: cp/module.cc:17854
+#: cp/module.cc:17959
 #, gcc-internal-format
 msgid "interface partition is not exported"
 msgstr ""
 
-#: cp/module.cc:18411
+#: cp/module.cc:18516
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module cluster %u: %s"
 msgstr ""
 
-#: cp/module.cc:18449
+#: cp/module.cc:18554
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:18459
+#: cp/module.cc:18564
 #, gcc-internal-format
 msgid ""
 "consider using %<-fno-module-lazy%>, increasing %<-param-lazy-modules=%u%> "
 "value, or increasing the per-process file descriptor limit"
 msgstr ""
 
-#: cp/module.cc:18464
+#: cp/module.cc:18569
 #, gcc-internal-format
 msgid "imports must be built before being imported"
 msgstr ""
 
-#: cp/module.cc:18467
+#: cp/module.cc:18572
 #, gcc-internal-format
 msgid "returning to the gate for a mechanical issue"
 msgstr ""
 
-#: cp/module.cc:18970
+#: cp/module.cc:19077
 #, gcc-internal-format
 msgid "reading CMI %qs"
 msgstr ""
 
-#: cp/module.cc:19118
+#: cp/module.cc:19228
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19119
+#: cp/module.cc:19229
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:19126
+#: cp/module.cc:19236
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19127
+#: cp/module.cc:19237
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:19189
+#: cp/module.cc:19299
 #, gcc-internal-format
 msgid "failed to load pendings for %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19193
+#: cp/module.cc:19303
 #, gcc-internal-format
 msgid "during load of pendings for %<%E%s%E%>"
 msgstr ""
@@ -60386,379 +62574,400 @@ 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:19238
+#: cp/module.cc:19348
 #, gcc-internal-format
 msgid "import of named module %qs inside language-linkage block"
 msgstr ""
 
-#: cp/module.cc:19268
+#: cp/module.cc:19378
 #, gcc-internal-format
 msgid "module already declared"
 msgstr ""
 
-#: cp/module.cc:19269
+#: cp/module.cc:19379
 #, gcc-internal-format
 msgid "module already imported"
 msgstr ""
 
-#: cp/module.cc:19274
+#: cp/module.cc:19384
 #, gcc-internal-format
 msgid "module %qs imported here"
 msgstr ""
 
-#: cp/module.cc:19481
+#: cp/module.cc:19591
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown Compiled Module Interface: %s"
 msgstr ""
 
-#: cp/module.cc:19524
+#: cp/module.cc:19634
 #, gcc-internal-format
 msgid "cannot determine %<#include%> translation of %s: %s"
 msgstr ""
 
-#: cp/module.cc:19542
+#: cp/module.cc:19652
 #, gcc-internal-format
 msgid "include %qs translated to import"
 msgstr ""
 
-#: cp/module.cc:19543
+#: cp/module.cc:19653
 #, gcc-internal-format
 msgid "include %qs processed textually"
 msgstr ""
 
-#: cp/module.cc:19901
+#: cp/module.cc:20012
 #, gcc-internal-format
 msgid "C++ modules are incompatible with precompiled headers"
 msgstr ""
 
-#: cp/module.cc:19905
+#: cp/module.cc:20016
 #, gcc-internal-format
 msgid "C++ modules are incompatible with traditional preprocessing"
 msgstr ""
 
-#: cp/module.cc:19915
+#: cp/module.cc:20026
 #, gcc-internal-format
 msgid "macro debug output may be incomplete with modules"
 msgstr ""
 
-#: cp/module.cc:19916
+#: cp/module.cc:20027
 #, gcc-internal-format
 msgid "module dependencies require preprocessing"
 msgstr ""
 
-#: cp/module.cc:19918
+#: cp/module.cc:20029
 #, gcc-internal-format
 msgid "you should use the %<-%s%> option"
 msgstr ""
 
-#: cp/module.cc:19953 cp/module.cc:19982
+#: cp/module.cc:20064 cp/module.cc:20093
 #, gcc-internal-format
 msgid "invalid header name %qs"
 msgstr ""
 
-#: cp/module.cc:19992
+#: cp/module.cc:20103
 #, gcc-internal-format
 msgid "invalid module name %qs"
 msgstr ""
 
-#: cp/module.cc:20182
+#: cp/module.cc:20293
 #, gcc-internal-format
 msgid "%<-fmodule-only%> used for non-interface"
 msgstr ""
 
-#: cp/module.cc:20222
+#: cp/module.cc:20333
 #, gcc-internal-format
 msgid "writing CMI %qs"
 msgstr ""
 
-#: cp/module.cc:20229
+#: cp/module.cc:20340
 #, gcc-internal-format
 msgid "not writing module %qs due to errors"
 msgstr ""
 
-#: cp/module.cc:20294
+#: cp/module.cc:20405
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to write compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:20391
+#: cp/module.cc:20502
 #, gcc-internal-format
 msgid "unknown header kind %qs"
 msgstr ""
 
-#: cp/name-lookup.cc:2712
+#: cp/name-lookup.cc:2856 cp/name-lookup.cc:3932 cp/name-lookup.cc:4029
+#, gcc-internal-format
+msgid ""
+"name-independent declarations only available with %<-std=c++2c%> or %<-"
+"std=gnu++2c%>"
+msgstr ""
+
+#: cp/name-lookup.cc:2887
 #, gcc-internal-format
 msgid "redeclaration of %q#D with different template parameters"
 msgstr ""
 
-#: cp/name-lookup.cc:2718
+#: cp/name-lookup.cc:2893
 #, gcc-internal-format
 msgid "%q#D conflicts with a previous declaration"
 msgstr ""
 
-#: cp/name-lookup.cc:2883
+#: cp/name-lookup.cc:3060
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#D"
 msgstr ""
 
-#: cp/name-lookup.cc:3032
+#: cp/name-lookup.cc:3211
 #, gcc-internal-format
 msgid "conflicting C language linkage declaration %q#D"
 msgstr ""
 
-#: cp/name-lookup.cc:3037
+#: cp/name-lookup.cc:3216
 #, gcc-internal-format
 msgid "due to different exception specifications"
 msgstr ""
 
-#: cp/name-lookup.cc:3135
+#: cp/name-lookup.cc:3326
 #, gcc-internal-format
 msgid "lambda parameter %qD previously declared as a capture"
 msgstr ""
 
-#: cp/name-lookup.cc:3158
+#: cp/name-lookup.cc:3359 cp/name-lookup.cc:3363
 #, gcc-internal-format
 msgid "declaration of %q#D shadows a parameter"
 msgstr ""
 
-#: cp/name-lookup.cc:3297
+#: cp/name-lookup.cc:3522
 #, gcc-internal-format
 msgid "declaration of %qD shadows a member of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:3760
+#: cp/name-lookup.cc:4014
 #, gcc-internal-format
 msgid "friend declaration %qD in local class without prior local declaration"
 msgstr ""
 
-#: cp/name-lookup.cc:4228
+#: cp/name-lookup.cc:4512
 #, gcc-internal-format
 msgid "%s %<%s(%E)%> %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:4231
+#: cp/name-lookup.cc:4515
 #, gcc-internal-format
 msgid "%s %s %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:4842
+#: cp/name-lookup.cc:5101
 #, gcc-internal-format
-msgid "%q#D does not have external linkage"
+msgid "exporting %q#D that does not have external linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:4844 cp/parser.cc:11455 cp/parser.cc:11465
-#: cp/semantics.cc:4027 cp/semantics.cc:4042
+#: cp/name-lookup.cc:5106
 #, gcc-internal-format
-msgid "%q#D declared here"
+msgid "%q#D declared here with no linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:5556
+#: cp/name-lookup.cc:5109
+#, gcc-internal-format
+msgid "%q#D declared here with internal linkage"
+msgstr ""
+
+#: cp/name-lookup.cc:5112
+#, gcc-internal-format
+msgid "%q#D declared here with module linkage"
+msgstr ""
+
+#: cp/name-lookup.cc:5877
 #, gcc-internal-format
 msgid "%<%T%s%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.cc:5572
+#: cp/name-lookup.cc:5893
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5580
+#: cp/name-lookup.cc:5901
 #, gcc-internal-format
 msgid ""
 "%<using%> with enumeration scope %q#T only available with %<-std=c++20%> or "
 "%<-std=gnu++20%>"
 msgstr ""
 
-#: cp/name-lookup.cc:5596 cp/pt.cc:18903
+#: cp/name-lookup.cc:5917 cp/pt.cc:18456
 #, gcc-internal-format
 msgid "%qT is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/name-lookup.cc:5606
+#: cp/name-lookup.cc:5927
 #, gcc-internal-format
 msgid "non-member using-declaration names constructor of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5617 cp/name-lookup.cc:5690
+#: cp/name-lookup.cc:5938 cp/name-lookup.cc:6011
 #, gcc-internal-format
 msgid "using-declaration for member at non-class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5640
+#: cp/name-lookup.cc:5961
 #, gcc-internal-format
 msgid "%qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5700
+#: cp/name-lookup.cc:6021
 #, gcc-internal-format
 msgid "did you mean %<using enum %T::%D%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:5712
+#: cp/name-lookup.cc:6033
 #, gcc-internal-format
 msgid "%qD has not been declared in %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5726
+#: cp/name-lookup.cc:6047
 #, gcc-internal-format
 msgid "using-declaration may not name namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5737
+#: cp/name-lookup.cc:6058
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5830
+#: cp/name-lookup.cc:6151
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5871
+#: cp/name-lookup.cc:6192
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5881
+#: cp/name-lookup.cc:6202
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5950
+#: cp/name-lookup.cc:6271
 #, gcc-internal-format
 msgid "%qD has not been declared within %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5952
+#: cp/name-lookup.cc:6273
 #, gcc-internal-format
 msgid "only here as a %<friend%>"
 msgstr ""
 
-#: cp/name-lookup.cc:6006
+#: cp/name-lookup.cc:6327
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.cc:6013
+#: cp/name-lookup.cc:6334
 #, gcc-internal-format
 msgid ""
 "%qD attribute is meaningless since members of the anonymous namespace get "
 "local symbols"
 msgstr ""
 
-#: cp/name-lookup.cc:6023 cp/name-lookup.cc:6050
+#: cp/name-lookup.cc:6344 cp/name-lookup.cc:6371
 #, gcc-internal-format
 msgid "ignoring %qD attribute on anonymous namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6029
+#: cp/name-lookup.cc:6350
 #, gcc-internal-format
 msgid "ignoring %qD attribute on non-inline namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6066 cp/name-lookup.cc:8400
+#: cp/name-lookup.cc:6387 cp/name-lookup.cc:8778
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.cc:6392
+#: cp/name-lookup.cc:6713
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6444
+#: cp/name-lookup.cc:6765
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.cc:6450
+#: cp/name-lookup.cc:6771
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6764
+#: cp/name-lookup.cc:7085
 #, gcc-internal-format
 msgid ""
 "%<std::%s%> is defined in header %qs; this is probably fixable by adding "
 "%<#include %s%>"
 msgstr ""
 
-#: cp/name-lookup.cc:6770
+#: cp/name-lookup.cc:7091
 #, gcc-internal-format
 msgid "%<std::%s%> is only available from %s onwards"
 msgstr ""
 
-#: cp/name-lookup.cc:7206
+#: cp/name-lookup.cc:7527
 #, gcc-internal-format
 msgid "the macro %qs had not yet been defined"
 msgstr ""
 
-#: cp/name-lookup.cc:7209
+#: cp/name-lookup.cc:7530
 #, gcc-internal-format
 msgid "it was later defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:7994
+#: cp/name-lookup.cc:8325
 #, gcc-internal-format
 msgid ""
 "declaration of %<std::initializer_list%> does not match %<#include "
 "<initializer_list>%>, isn%'t a template"
 msgstr ""
 
-#: cp/name-lookup.cc:8384
+#: cp/name-lookup.cc:8750
 #, gcc-internal-format
 msgid "%<strong%> using directive no longer supported"
 msgstr ""
 
-#: cp/name-lookup.cc:8387
+#: cp/name-lookup.cc:8753
 #, gcc-internal-format
 msgid "you can use an inline namespace instead"
 msgstr ""
 
+#: cp/name-lookup.cc:8772
+#, gcc-internal-format
+msgid "%<omp::%E%> not allowed to be specified in this context"
+msgstr ""
+
 #. We only allow depth 255.
-#: cp/name-lookup.cc:8486
+#: cp/name-lookup.cc:8864
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot nest more than %d namespaces"
 msgstr ""
 
-#: cp/name-lookup.cc:8583
+#: cp/name-lookup.cc:8961
 #, gcc-internal-format
 msgid "%<namespace %E%> is ambiguous"
 msgstr ""
 
-#: cp/name-lookup.cc:8599
+#: cp/name-lookup.cc:8977
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:8686
+#: cp/name-lookup.cc:9064
 #, gcc-internal-format
 msgid "inline namespace must be specified at initial definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8687
+#: cp/name-lookup.cc:9065
 #, gcc-internal-format
 msgid "%qD defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:8736
+#: cp/name-lookup.cc:9113
 #, gcc-internal-format
 msgid "%s namespace %qD conflicts with reachable definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8738
+#: cp/name-lookup.cc:9115
 #, gcc-internal-format, gfc-internal-format
 msgid "reachable %s definition here"
 msgstr ""
 
-#: cp/name-lookup.cc:8781
+#: cp/name-lookup.cc:9158
 #, gcc-internal-format
 msgid "XXX entering %<pop_everything ()%>"
 msgstr ""
 
-#: cp/name-lookup.cc:8790
+#: cp/name-lookup.cc:9167
 #, gcc-internal-format
 msgid "XXX leaving %<pop_everything ()%>"
 msgstr ""
@@ -60768,1071 +62977,1088 @@ msgstr ""
 msgid "making multiple clones of %qD"
 msgstr ""
 
-#: cp/parser.cc:980
+#: cp/parser.cc:1006
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++11"
 msgstr ""
 
-#: cp/parser.cc:994
+#: cp/parser.cc:1020
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++20"
 msgstr ""
 
-#: cp/parser.cc:1493 cp/parser.cc:1506
+#: cp/parser.cc:1569 cp/parser.cc:1582
 #, gcc-internal-format
 msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
 msgstr ""
 
-#: cp/parser.cc:1531 cp/parser.cc:46456
+#: cp/parser.cc:1607 cp/parser.cc:47814
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by function declaration "
 "or definition"
 msgstr ""
 
-#: cp/parser.cc:1571
+#: cp/parser.cc:1647
 #, gcc-internal-format
 msgid ""
 "%<declare %s%> directive not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: cp/parser.cc:3100
+#: cp/parser.cc:3226
 #, gcc-internal-format
 msgid "%<#pragma%> is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:3229
+#: cp/parser.cc:3355
 #, gcc-internal-format
 msgid "%<%E::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3232
+#: cp/parser.cc:3358
 #, gcc-internal-format
 msgid "%<::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3235
+#: cp/parser.cc:3361
 #, gcc-internal-format
 msgid "request for member %qE in non-class type %qT"
 msgstr ""
 
-#: cp/parser.cc:3238 cp/parser.cc:21139
+#: cp/parser.cc:3364 cp/parser.cc:21671
 #, gcc-internal-format
 msgid "%<%T::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3248
+#: cp/parser.cc:3374
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3252
+#: cp/parser.cc:3378
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3257
+#: cp/parser.cc:3383
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3270
+#: cp/parser.cc:3396
 #, gcc-internal-format
 msgid "%<::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3273
+#: cp/parser.cc:3399
 #, gcc-internal-format
 msgid "%<::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3277
+#: cp/parser.cc:3403
 #, gcc-internal-format
 msgid "%<::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3289
+#: cp/parser.cc:3415
 #, gcc-internal-format
 msgid "%qE is not a type"
 msgstr ""
 
-#: cp/parser.cc:3292
+#: cp/parser.cc:3418
 #, gcc-internal-format
 msgid "%qE is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3296
+#: cp/parser.cc:3422
 #, gcc-internal-format
 msgid "%qE is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3360
+#: cp/parser.cc:3486
 #, gcc-internal-format
 msgid "new types may not be defined in a return type"
 msgstr ""
 
-#: cp/parser.cc:3362
+#: cp/parser.cc:3488
 #, gcc-internal-format
 msgid "(perhaps a semicolon is missing after the definition of %qT)"
 msgstr ""
 
-#: cp/parser.cc:3390
+#: cp/parser.cc:3516
 #, gcc-internal-format
 msgid "%qE is not a class template"
 msgstr ""
 
-#: cp/parser.cc:3392
+#: cp/parser.cc:3518
 #, gcc-internal-format
 msgid "%qE is not a template"
 msgstr ""
 
-#: cp/parser.cc:3395
+#: cp/parser.cc:3521
 #, gcc-internal-format
 msgid "invalid template-id"
 msgstr ""
 
-#: cp/parser.cc:3429
+#: cp/parser.cc:3555
 #, gcc-internal-format
 msgid "ISO C++ forbids using a floating-point literal in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3433
+#: cp/parser.cc:3559
 #, gcc-internal-format
 msgid ""
 "a cast to a type other than an integral or enumeration type cannot appear in "
 "a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3438
+#: cp/parser.cc:3564
 #, gcc-internal-format
 msgid "%<typeid%> operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3442
+#: cp/parser.cc:3568
 #, gcc-internal-format
 msgid "non-constant compound literals cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3446
+#: cp/parser.cc:3572
 #, gcc-internal-format
 msgid "a function call cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3450
+#: cp/parser.cc:3576
 #, gcc-internal-format
 msgid "an increment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3454
+#: cp/parser.cc:3580
 #, gcc-internal-format
 msgid "an decrement cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3458
+#: cp/parser.cc:3584
 #, gcc-internal-format
 msgid "an array reference cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3462
+#: cp/parser.cc:3588
 #, gcc-internal-format
 msgid "the address of a label cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3466
+#: cp/parser.cc:3592
 #, gcc-internal-format
 msgid "calls to overloaded operators cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3470
+#: cp/parser.cc:3596
 #, gcc-internal-format
 msgid "an assignment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3473
+#: cp/parser.cc:3599
 #, gcc-internal-format
 msgid "a comma operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3477
+#: cp/parser.cc:3603
 #, gcc-internal-format
 msgid "a call to a constructor cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3481
+#: cp/parser.cc:3607
 #, gcc-internal-format
 msgid "a transaction expression cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3527
+#: cp/parser.cc:3653
 #, gcc-internal-format
 msgid "%qs cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3564
+#: cp/parser.cc:3690
 #, gcc-internal-format
 msgid ""
 "class template argument deduction is only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:3569
+#: cp/parser.cc:3695
 #, gcc-internal-format
 msgid "invalid use of destructor %qD as a type"
 msgstr ""
 
 #. Something like 'unsigned A a;'
-#: cp/parser.cc:3572
+#: cp/parser.cc:3698
 #, gcc-internal-format
 msgid "invalid combination of multiple type-specifiers"
 msgstr ""
 
-#: cp/parser.cc:3585
+#: cp/parser.cc:3711
 #, gcc-internal-format
 msgid "%qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3589
+#: cp/parser.cc:3715
 #, gcc-internal-format
 msgid "%qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3598
+#: cp/parser.cc:3724
 #, gcc-internal-format
 msgid ""
 "C++11 %<constexpr%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3601
+#: cp/parser.cc:3727
 #, gcc-internal-format
 msgid ""
 "C++11 %<noexcept%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3607
+#: cp/parser.cc:3733
 #, gcc-internal-format
 msgid "%qE is not recognized as a module control-line"
 msgstr ""
 
-#: cp/parser.cc:3610
+#: cp/parser.cc:3736
 #, gcc-internal-format
 msgid "C++20 %qE only available with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:3613
+#: cp/parser.cc:3739
 #, gcc-internal-format
 msgid ""
 "C++20 %qE only available with %<-fmodules-ts%>, which is not yet enabled "
 "with %<-std=c++20%>"
 msgstr ""
 
-#: cp/parser.cc:3619
+#: cp/parser.cc:3745
 #, gcc-internal-format
 msgid ""
 "C++11 %<thread_local%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3622
+#: cp/parser.cc:3748
 #, gcc-internal-format
 msgid ""
 "C++20 %<constinit%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:3625
+#: cp/parser.cc:3751
 #, gcc-internal-format
 msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3628 cp/parser.cc:30693
+#: cp/parser.cc:3754 cp/parser.cc:31344
 #, gcc-internal-format
 msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3650
+#: cp/parser.cc:3776
 #, gcc-internal-format
 msgid "(perhaps %<typename %T::%E%> was intended)"
 msgstr ""
 
-#: cp/parser.cc:3678 cp/parser.cc:3690
+#: cp/parser.cc:3804 cp/parser.cc:3816
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3683 cp/parser.cc:3695
+#: cp/parser.cc:3809 cp/parser.cc:3821
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3703
+#: cp/parser.cc:3829
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3708
+#: cp/parser.cc:3834
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3719
+#: cp/parser.cc:3845
 #, gcc-internal-format
 msgid "%<%T::%E%> names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:3722
+#: cp/parser.cc:3848
 #, gcc-internal-format
 msgid "and %qT has no template constructors"
 msgstr ""
 
-#: cp/parser.cc:3732
+#: cp/parser.cc:3858
 #, gcc-internal-format
 msgid ""
 "need %<typename%> before %<%T::%D::%E%> because %<%T::%D%> is a dependent "
 "scope"
 msgstr ""
 
-#: cp/parser.cc:3740
+#: cp/parser.cc:3866
 #, gcc-internal-format
 msgid "need %<typename%> before %<%T::%E%> because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:3752 cp/parser.cc:3756
+#: cp/parser.cc:3878 cp/parser.cc:3882
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3760
+#: cp/parser.cc:3886
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a type"
 msgstr ""
 
-#: cp/parser.cc:4442
+#: cp/parser.cc:4573
 #, gcc-internal-format
 msgid "expected string-literal"
 msgstr ""
 
-#: cp/parser.cc:4514
+#: cp/parser.cc:4645
 #, gcc-internal-format
 msgid ""
 "inconsistent user-defined literal suffixes %qD and %qD in string literal"
 msgstr ""
 
-#: cp/parser.cc:4533
+#: cp/parser.cc:4664
 #, gcc-internal-format
 msgid "concatenation of string literals with conflicting encoding prefixes"
 msgstr ""
 
-#: cp/parser.cc:4737
+#: cp/parser.cc:4885
 #, gcc-internal-format
 msgid "unable to find character literal operator %qD with %qT argument"
 msgstr ""
 
-#: cp/parser.cc:4843
+#: cp/parser.cc:4991
 #, gcc-internal-format
 msgid "integer literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4850
+#: cp/parser.cc:4998
 #, gcc-internal-format
 msgid "floating literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4854
+#: cp/parser.cc:5002
 #, gcc-internal-format
 msgid "floating literal truncated to zero"
 msgstr ""
 
-#: cp/parser.cc:4883
+#: cp/parser.cc:5031
 #, gcc-internal-format
 msgid "failed to translate literal to execution character set %qT"
 msgstr ""
 
-#: cp/parser.cc:4917
+#: cp/parser.cc:5065
 #, gcc-internal-format
 msgid "unable to find numeric literal operator %qD"
 msgstr ""
 
-#: cp/parser.cc:4923
+#: cp/parser.cc:5071
 #, 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:4927
+#: cp/parser.cc:5075
 #, gcc-internal-format
 msgid "or use %<j%> instead of %<i%> for the GNU built-in suffix"
 msgstr ""
 
-#: cp/parser.cc:4931
+#: cp/parser.cc:5079
 #, gcc-internal-format
 msgid "use %<-fext-numeric-literals%> to enable more built-in suffixes"
 msgstr ""
 
-#: cp/parser.cc:5015
+#: cp/parser.cc:5163
 #, gcc-internal-format
 msgid "unable to find string literal operator %qD with %qT, %qT arguments"
 msgstr ""
 
-#: cp/parser.cc:5109
+#: cp/parser.cc:5257
 #, gcc-internal-format
 msgid "global module fragment contents must be from preprocessor inclusion"
 msgstr ""
 
-#: cp/parser.cc:5124 cp/parser.cc:15326
+#: cp/parser.cc:5272 cp/parser.cc:15792
 #, gcc-internal-format
 msgid "expected declaration"
 msgstr ""
 
-#: cp/parser.cc:5485 cp/parser.cc:5500
+#: cp/parser.cc:5637 cp/parser.cc:5653
 #, gcc-internal-format
 msgid "expected binary operator"
 msgstr ""
 
-#: cp/parser.cc:5506
+#: cp/parser.cc:5659
 #, gcc-internal-format
 msgid "expected ..."
 msgstr ""
 
-#: cp/parser.cc:5518
+#: cp/parser.cc:5671
 #, gcc-internal-format
 msgid "binary expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5523
+#: cp/parser.cc:5676
 #, gcc-internal-format
 msgid "conditional expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5531
+#: cp/parser.cc:5687
 #, gcc-internal-format
 msgid "mismatched operator in fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5635
+#: cp/parser.cc:5792
 #, gcc-internal-format
 msgid "fixed-point types not supported in C++"
 msgstr ""
 
-#: cp/parser.cc:5725
+#: cp/parser.cc:5882
 #, gcc-internal-format
 msgid "ISO C++ forbids braced-groups within expressions"
 msgstr ""
 
-#: cp/parser.cc:5737
+#: cp/parser.cc:5894
 #, gcc-internal-format
 msgid ""
 "statement-expressions are not allowed outside functions nor in template-"
 "argument lists"
 msgstr ""
 
-#: cp/parser.cc:5777
+#: cp/parser.cc:5934
 #, gcc-internal-format
 msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:5838 cp/parser.cc:5999 cp/parser.cc:6180 cp/semantics.cc:4185
+#: cp/parser.cc:5995 cp/parser.cc:6150 cp/parser.cc:6334 cp/semantics.cc:4336
 #, gcc-internal-format
 msgid "expected primary-expression"
 msgstr ""
 
-#: cp/parser.cc:5868
+#: cp/parser.cc:6025
 #, gcc-internal-format
 msgid "%<this%> may not be used in this context"
 msgstr ""
 
-#: cp/parser.cc:5993
+#: cp/parser.cc:6144
 #, gcc-internal-format
 msgid "a template declaration cannot appear at block scope"
 msgstr ""
 
-#: cp/parser.cc:6208
+#: cp/parser.cc:6294
+#, gcc-internal-format
+msgid "parameter %qD may not appear in this context"
+msgstr ""
+
+#: cp/parser.cc:6295
+#, gcc-internal-format
+msgid "local variable %qD may not appear in this context"
+msgstr ""
+
+#: cp/parser.cc:6362
 #, gcc-internal-format
 msgid "expected %qs keyword before dependent template name"
 msgstr ""
 
-#: cp/parser.cc:6351
+#: cp/parser.cc:6505
 #, gcc-internal-format
 msgid "expected id-expression"
 msgstr ""
 
-#: cp/parser.cc:6514
+#: cp/parser.cc:6668
 #, gcc-internal-format
 msgid "scope %qT before %<~%> is not a class-name"
 msgstr ""
 
-#: cp/parser.cc:6524
+#: cp/parser.cc:6678
 #, gcc-internal-format
 msgid "%<template%> keyword not permitted in destructor name"
 msgstr ""
 
-#: cp/parser.cc:6561 cp/parser.cc:8665
+#: cp/parser.cc:6715 cp/parser.cc:8911
 #, gcc-internal-format
 msgid "%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:6573
+#: cp/parser.cc:6729 cp/parser.cc:6733
 #, gcc-internal-format
-msgid "template-id not allowed for destructor"
+msgid "template-id not allowed for destructor in C++20"
 msgstr ""
 
-#: cp/parser.cc:6682
+#: cp/parser.cc:6735 cp/parser.cc:32577
+#, gcc-internal-format
+msgid "remove the %qs"
+msgstr ""
+
+#: cp/parser.cc:6843
 #, gcc-internal-format
 msgid "declaration of %<~%T%> as member of %qT"
 msgstr ""
 
-#: cp/parser.cc:6697
+#: cp/parser.cc:6858
 #, gcc-internal-format
 msgid "typedef-name %qD used as destructor declarator"
 msgstr ""
 
-#: cp/parser.cc:6733 cp/parser.cc:23645
+#: cp/parser.cc:6894 cp/parser.cc:24195
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
 
-#: cp/parser.cc:6760 cp/typeck.cc:3173 cp/typeck.cc:3176 cp/typeck.cc:3193
+#: cp/parser.cc:6921 cp/typeck.cc:3164 cp/typeck.cc:3167 cp/typeck.cc:3184
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr ""
 
-#: cp/parser.cc:6874
+#: cp/parser.cc:7035
 #, gcc-internal-format
 msgid "found %<:%> in nested-name-specifier, expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:6955
+#: cp/parser.cc:7116
 #, gcc-internal-format
 msgid "%<decltype%> evaluates to %qT, which is not a class or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:6982 cp/parser.cc:6993
+#: cp/parser.cc:7143 cp/parser.cc:7154
 #, gcc-internal-format
 msgid "concept-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:6985
+#: cp/parser.cc:7146
 #, gcc-internal-format
 msgid "function template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:6999
+#: cp/parser.cc:7160
 #, gcc-internal-format
 msgid "variable template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7173
+#: cp/parser.cc:7334
 #, gcc-internal-format
 msgid "expected nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7380 cp/parser.cc:9910
+#: cp/parser.cc:7541 cp/parser.cc:10156
 #, gcc-internal-format
 msgid "types may not be defined in casts"
 msgstr ""
 
-#: cp/parser.cc:7469
+#: cp/parser.cc:7630
 #, gcc-internal-format
 msgid "types may not be defined in a %<typeid%> expression"
 msgstr ""
 
-#: cp/parser.cc:7561
+#: cp/parser.cc:7722
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_addressof%>"
 msgstr ""
 
-#: cp/parser.cc:7573 cp/pt.cc:21236
+#: cp/parser.cc:7734 cp/pt.cc:20917
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_launder%>"
 msgstr ""
 
-#: cp/parser.cc:7586
+#: cp/parser.cc:7747
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_assoc_barrier%>"
 msgstr ""
 
-#: cp/parser.cc:7612
+#: cp/parser.cc:7773
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: cp/parser.cc:7750
+#: cp/parser.cc:7907
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr ""
 
-#: cp/parser.cc:7809
+#: cp/parser.cc:7966
 #, gcc-internal-format
 msgid "two consecutive %<[%> shall only introduce an attribute"
 msgstr ""
 
-#: cp/parser.cc:8449 cp/typeck.cc:3061
+#: cp/parser.cc:8017
+#, gcc-internal-format
+msgid "types may not be defined in %<__builtin_classify_type%> calls"
+msgstr ""
+
+#: cp/parser.cc:8400 cp/parser.cc:8429
+#, gcc-internal-format
+msgid "cannot use multidimensional subscript in OpenMP array section"
+msgstr ""
+
+#: cp/parser.cc:8687 cp/typeck.cc:3052
 #, gcc-internal-format
 msgid "invalid use of %qD"
 msgstr ""
 
-#: cp/parser.cc:8458
+#: cp/parser.cc:8696
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a class member"
 msgstr ""
 
-#: cp/parser.cc:8717
+#: cp/parser.cc:8963
 #, gcc-internal-format
 msgid "non-scalar type"
 msgstr ""
 
-#: cp/parser.cc:8827
+#: cp/parser.cc:9073
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<alignof%> with a non-type"
 msgstr ""
 
-#: cp/parser.cc:8922
+#: cp/parser.cc:9168
 #, gcc-internal-format
 msgid "types may not be defined in %<noexcept%> expressions"
 msgstr ""
 
-#: cp/parser.cc:9196 cp/parser.cc:33320
+#: cp/parser.cc:9444 cp/parser.cc:33979
 #, gcc-internal-format
 msgid "types may not be defined in %qs expressions"
 msgstr ""
 
-#: cp/parser.cc:9261
+#: cp/parser.cc:9509
 #, gcc-internal-format
 msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
 msgstr ""
 
-#: cp/parser.cc:9347
+#: cp/parser.cc:9595
 #, gcc-internal-format
 msgid "types may not be defined in a new-expression"
 msgstr ""
 
-#: cp/parser.cc:9363
+#: cp/parser.cc:9611
 #, gcc-internal-format
 msgid "array bound forbidden after parenthesized type-id"
 msgstr ""
 
-#: cp/parser.cc:9365
+#: cp/parser.cc:9613
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr ""
 
-#: cp/parser.cc:9397
+#: cp/parser.cc:9645
 #, gcc-internal-format
 msgid ""
 "initialization of new-expression for type %<auto%> requires exactly one "
 "element"
 msgstr ""
 
-#: cp/parser.cc:9442
+#: cp/parser.cc:9690
 #, gcc-internal-format
 msgid "expected expression-list or type-id"
 msgstr ""
 
-#: cp/parser.cc:9471
+#: cp/parser.cc:9719
 #, gcc-internal-format
 msgid "types may not be defined in a new-type-id"
 msgstr ""
 
-#: cp/parser.cc:9606
+#: cp/parser.cc:9854
 #, gcc-internal-format
 msgid "expression in new-declarator must have integral or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:10015
+#: cp/parser.cc:10261
 #, gcc-internal-format
 msgid "use of old-style cast to %q#T"
 msgstr ""
 
-#: cp/parser.cc:10164
+#: cp/parser.cc:10410
 #, gcc-internal-format
 msgid "%<>>%> operator is treated as two right angle brackets in C++11"
 msgstr ""
 
-#: cp/parser.cc:10167
+#: cp/parser.cc:10413
 #, gcc-internal-format
 msgid "suggest parentheses around %<>>%> expression"
 msgstr ""
 
-#: cp/parser.cc:10393
+#: cp/parser.cc:10639
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<?:%> with omitted middle operand"
 msgstr ""
 
-#: cp/parser.cc:10704
+#: cp/parser.cc:10947
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript is deprecated"
 msgstr ""
 
-#: cp/parser.cc:10852
+#: cp/parser.cc:11095
 #, gcc-internal-format
 msgid "types may not be defined within %<__builtin_offsetof%>"
 msgstr ""
 
-#: cp/parser.cc:11001
+#: cp/parser.cc:11229
 #, gcc-internal-format
 msgid "trailing argument to %<__type_pack_element%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:11101
+#: cp/parser.cc:11329
 #, gcc-internal-format
 msgid "lambda-expression in template parameter type"
 msgstr ""
 
-#: cp/parser.cc:11111
+#: cp/parser.cc:11339
 #, gcc-internal-format
 msgid ""
 "lambda-expression in unevaluated context only available with %<-std=c++20%> "
 "or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11121
+#: cp/parser.cc:11349
 #, gcc-internal-format
 msgid ""
 "lambda-expression in template-argument only available with %<-std=c++20%> or "
 "%<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11278
+#: cp/parser.cc:11509
 #, gcc-internal-format
 msgid "non-local lambda expression cannot have a capture-default"
 msgstr ""
 
-#: cp/parser.cc:11300
+#: cp/parser.cc:11532
 #, gcc-internal-format
 msgid "expected end of capture-list"
 msgstr ""
 
-#: cp/parser.cc:11316
+#: cp/parser.cc:11548
 #, gcc-internal-format
 msgid ""
 "explicit by-copy capture of %<this%> with by-copy capture default only "
 "available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11322 cp/parser.cc:11344 cp/parser.cc:11537
+#: cp/parser.cc:11554 cp/parser.cc:11576 cp/parser.cc:11772
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/parser.cc:11338
+#: cp/parser.cc:11570
 #, gcc-internal-format
 msgid ""
 "%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:11358
+#: cp/parser.cc:11590
 #, gcc-internal-format
 msgid "%<this%> cannot be captured by reference"
 msgstr ""
 
-#: cp/parser.cc:11378
+#: cp/parser.cc:11610
 #, gcc-internal-format
 msgid ""
 "pack init-capture only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11389
+#: cp/parser.cc:11621
 #, gcc-internal-format
 msgid "%<&%> should come before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:11420
+#: cp/parser.cc:11651
 #, gcc-internal-format
 msgid ""
 "lambda capture initializers only available with %<-std=c++14%> or %<-std=gnu+"
 "+14%>"
 msgstr ""
 
-#: cp/parser.cc:11427
+#: cp/parser.cc:11660
 #, gcc-internal-format
 msgid "empty initializer for lambda init-capture"
 msgstr ""
 
-#: cp/parser.cc:11451
+#: cp/parser.cc:11684
 #, gcc-internal-format
 msgid "capture of non-variable %qE"
 msgstr ""
 
-#: cp/parser.cc:11461
+#: cp/parser.cc:11688 cp/parser.cc:11698 cp/semantics.cc:4178
+#: cp/semantics.cc:4193
+#, gcc-internal-format
+msgid "%q#D declared here"
+msgstr ""
+
+#: cp/parser.cc:11694
 #, gcc-internal-format
 msgid "capture of variable %qD with non-automatic storage duration"
 msgstr ""
 
-#: cp/parser.cc:11499
+#: cp/parser.cc:11732
 #, gcc-internal-format
 msgid "too many %<...%> in lambda capture"
 msgstr ""
 
-#: cp/parser.cc:11510
+#: cp/parser.cc:11743
 #, gcc-internal-format
 msgid "explicit by-copy capture of %qD redundant with by-copy capture default"
 msgstr ""
 
-#: cp/parser.cc:11515
+#: cp/parser.cc:11748
 #, gcc-internal-format
 msgid ""
 "explicit by-reference capture of %qD redundant with by-reference capture "
 "default"
 msgstr ""
 
-#: cp/parser.cc:11594
-#, gcc-internal-format
-msgid ""
-"lambda templates are only available with %<-std=c++14%> or %<-std=gnu++14%>"
-msgstr ""
-
-#: cp/parser.cc:11598
+#: cp/parser.cc:11830
 #, gcc-internal-format
 msgid ""
 "lambda templates are only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11647
+#: cp/parser.cc:11879
 #, gcc-internal-format
 msgid "default argument specified for lambda parameter"
 msgstr ""
 
-#: cp/parser.cc:11666
+#: cp/parser.cc:11902
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda declaration specifiers only optional "
 "with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11682
+#: cp/parser.cc:11932 cp/pt.cc:14718
 #, gcc-internal-format
-msgid "%<static%> lambda specifier with lambda capture"
+msgid ""
+"a lambda with captures may not have an explicit object parameter of an "
+"unrelated type"
 msgstr ""
 
-#: cp/parser.cc:11694
+#: cp/parser.cc:11945
 #, gcc-internal-format
-msgid ""
-"parameter declaration before lambda transaction qualifier only optional with "
-"%<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "%<mutable%> lambda specifier with explicit object parameter"
 msgstr ""
 
-#: cp/parser.cc:11707
+#: cp/parser.cc:11954
 #, gcc-internal-format
 msgid ""
-"parameter declaration before lambda exception specification only optional "
-"with %<-std=c++2b%> or %<-std=gnu++2b%>"
+"the passed in closure object will not be mutated because it is taken by value"
 msgstr ""
 
-#: cp/parser.cc:11725
+#: cp/parser.cc:11958
 #, gcc-internal-format
-msgid ""
-"parameter declaration before lambda trailing return type only optional with "
-"%<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "declare the explicit object parameter as non-const reference instead"
 msgstr ""
 
-#: cp/parser.cc:11767
+#: cp/parser.cc:11962
 #, gcc-internal-format
-msgid ""
-"%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
+msgid "explicit object parameter is already a mutable reference"
 msgstr ""
 
-#: cp/parser.cc:11935 cp/parser.cc:12078 cp/parser.cc:47262
+#: cp/parser.cc:11969
 #, gcc-internal-format
-msgid ""
-"mixing OpenMP directives with attribute and pragma syntax on the same "
-"statement"
+msgid "%<static%> lambda specifier with explicit object parameter"
 msgstr ""
 
-#: cp/parser.cc:11961 cp/parser.cc:47244
+#: cp/parser.cc:11987
 #, gcc-internal-format
-msgid "unknown OpenMP directive name in %<omp::directive%> attribute argument"
+msgid "%<static%> lambda specifier with lambda capture"
 msgstr ""
 
-#: cp/parser.cc:12047
+#: cp/parser.cc:11999
 #, 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%>"
+"parameter declaration before lambda transaction qualifier only optional with "
+"%<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:12055
+#: cp/parser.cc:12012
 #, gcc-internal-format
 msgid ""
-"multiple OpenMP standalone directives among %<omp::directive%> attributes "
-"must be all within the same %<omp::sequence%>"
+"parameter declaration before lambda exception specification only optional "
+"with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:12067
+#: cp/parser.cc:12030
 #, gcc-internal-format
 msgid ""
-"standalone OpenMP directives in %<omp::directive%> attribute can only appear "
-"on an empty statement"
+"parameter declaration before lambda trailing return type only optional with "
+"%<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:12197
+#: cp/parser.cc:12072
 #, gcc-internal-format
 msgid ""
-"mixing OpenMP directives with attribute and pragma syntax on the same "
-"declaration"
+"%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:12324
+#: cp/parser.cc:12636
 #, gcc-internal-format
 msgid "preconditions cannot be statements"
 msgstr ""
 
-#: cp/parser.cc:12327
+#: cp/parser.cc:12639
 #, gcc-internal-format
 msgid "postconditions cannot be statements"
 msgstr ""
 
-#: cp/parser.cc:12332
+#: cp/parser.cc:12644
 #, gcc-internal-format
 msgid "assertions must be followed by %<;%>"
 msgstr ""
 
-#: cp/parser.cc:12496
+#: cp/parser.cc:12809
 #, gcc-internal-format
 msgid ""
 "label at end of compound statement only available with %<-std=c++2b%> or %<-"
 "std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:12669 cp/parser.cc:12876
+#: cp/parser.cc:12987 cp/parser.cc:13197
 #, gcc-internal-format
 msgid "attributes at the beginning of statement are ignored"
 msgstr ""
 
-#: cp/parser.cc:12713
+#: cp/parser.cc:13031
 #, gcc-internal-format
 msgid "expected labeled-statement"
 msgstr ""
 
-#: cp/parser.cc:12762
+#: cp/parser.cc:13080
 #, gcc-internal-format
 msgid "case label %qE not within a switch statement"
 msgstr ""
 
-#: cp/parser.cc:12883
+#: cp/parser.cc:13204
 #, gcc-internal-format
 msgid "need %<typename%> before %qE because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:12892
+#: cp/parser.cc:13213
 #, gcc-internal-format
 msgid "%<%T::%D%> names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:12944
+#: cp/parser.cc:13265
 #, gcc-internal-format
 msgid "compound-statement in %<constexpr%> function"
 msgstr ""
 
-#: cp/parser.cc:13108
+#: cp/parser.cc:13527
 #, gcc-internal-format
 msgid "%<if constexpr%> only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:13130
+#: cp/parser.cc:13549
 #, gcc-internal-format
 msgid "%<if consteval%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:13155 cp/parser.cc:13190
+#: cp/parser.cc:13574 cp/parser.cc:13609
 #, gcc-internal-format
 msgid "%<if consteval%> requires compound statement"
 msgstr ""
 
-#: cp/parser.cc:13232
+#: cp/parser.cc:13651
 #, gcc-internal-format
 msgid ""
 "init-statement in selection statements only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:13400 cp/parser.cc:33829
+#: cp/parser.cc:13819 cp/parser.cc:34491
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
 
-#: cp/parser.cc:13441
+#: cp/parser.cc:13860
 #, gcc-internal-format
 msgid "condition declares an array"
 msgstr ""
 
-#: cp/parser.cc:13443
+#: cp/parser.cc:13862
 #, gcc-internal-format
 msgid "condition declares a function"
 msgstr ""
 
-#: cp/parser.cc:13483
+#: cp/parser.cc:13902
 #, gcc-internal-format
 msgid "types may not be defined in conditions"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.cc:13565 cp/parser.cc:22929 cp/parser.cc:25488
+#: cp/parser.cc:13984 cp/parser.cc:23466 cp/parser.cc:26106
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr ""
 
-#: cp/parser.cc:13615
+#: cp/parser.cc:14034
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops with initializer only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:13871
+#: cp/parser.cc:14287
 #, gcc-internal-format
 msgid ""
 "loop variable %qD of type %qT binds to a temporary constructed from type %qT"
 msgstr ""
 
 #. rval
-#: cp/parser.cc:13878
+#: cp/parser.cc:14294
 #, gcc-internal-format
 msgid ""
 "use non-reference type %qT to make the copy explicit or %qT to prevent "
 "copying"
 msgstr ""
 
-#: cp/parser.cc:13902
+#: cp/parser.cc:14318
 #, gcc-internal-format
 msgid "loop variable %qD creates a copy from type %qT"
 msgstr ""
 
-#: cp/parser.cc:13907
+#: cp/parser.cc:14323
 #, gcc-internal-format
 msgid "use reference type to prevent copying"
 msgstr ""
 
-#: cp/parser.cc:14051
+#: cp/parser.cc:14464
 #, gcc-internal-format
 msgid "range-based %<for%> expression of type %qT has incomplete type"
 msgstr ""
 
-#: cp/parser.cc:14135
+#: cp/parser.cc:14548
 #, gcc-internal-format
 msgid ""
 "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.cc:14278 cp/parser.cc:33832
+#: cp/parser.cc:14700 cp/parser.cc:34494
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
 
-#: cp/parser.cc:14323
+#: cp/parser.cc:14745
 #, gcc-internal-format
 msgid ""
 "alias-declaration in init-statement only available with %<-std=c++23%> or %<-"
 "std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:14340
+#: cp/parser.cc:14762
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/parser.cc:14472
+#: cp/parser.cc:14893
 #, gcc-internal-format
 msgid ""
 "%<goto%> in %<constexpr%> function only available with %<-std=c++2b%> or %<-"
@@ -61840,32 +64066,37 @@ msgid ""
 msgstr ""
 
 #. Issue a warning about this use of a GNU extension.
-#: cp/parser.cc:14481
+#: cp/parser.cc:14902
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.cc:14494 cp/parser.cc:33835
+#: cp/parser.cc:14915 cp/parser.cc:34497
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.cc:14671
+#: cp/parser.cc:15090
+#, gcc-internal-format
+msgid "expected module-partition"
+msgstr ""
+
+#: cp/parser.cc:15092
 #, gcc-internal-format
 msgid "expected module-name"
 msgstr ""
 
-#: cp/parser.cc:14706
+#: cp/parser.cc:15133
 #, gcc-internal-format
 msgid "module-declaration not permitted in header-unit"
 msgstr ""
 
-#: cp/parser.cc:14732
+#: cp/parser.cc:15159
 #, gcc-internal-format
 msgid "private module fragment"
 msgstr ""
 
-#: cp/parser.cc:14736
+#: cp/parser.cc:15163
 #, gcc-internal-format
 msgid ""
 "private module fragment only permitted in purview of module interface or "
@@ -61873,823 +64104,872 @@ msgid ""
 msgstr ""
 
 #. Neither the first declaration, nor in a GMF.
-#: cp/parser.cc:14742
+#: cp/parser.cc:15169
 #, gcc-internal-format
 msgid ""
 "module-declaration only permitted as first declaration, or ending a global "
 "module fragment"
 msgstr ""
 
-#: cp/parser.cc:14776
+#: cp/parser.cc:15209
 #, gcc-internal-format
 msgid "post-module-declaration imports must be contiguous"
 msgstr ""
 
-#: cp/parser.cc:14779
+#: cp/parser.cc:15212
 #, 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:14787
+#: cp/parser.cc:15220
 #, gcc-internal-format
 msgid "import-declaration must be at global scope"
 msgstr ""
 
-#: cp/parser.cc:14800
+#: cp/parser.cc:15241
+#, gcc-internal-format
+msgid ""
+"import specifying a module-partition must appear after a named module-"
+"declaration"
+msgstr ""
+
+#: cp/parser.cc:15253
 #, gcc-internal-format
 msgid "import cannot appear directly in a linkage-specification"
 msgstr ""
 
-#: cp/parser.cc:14810
+#: cp/parser.cc:15263
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be include-translated"
 msgstr ""
 
-#: cp/parser.cc:14813
+#: cp/parser.cc:15266
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be from header inclusion"
 msgstr ""
 
-#: cp/parser.cc:14834
+#: cp/parser.cc:15287
 #, gcc-internal-format
 msgid "%qE may only occur after a module interface declaration"
 msgstr ""
 
-#: cp/parser.cc:14842
+#: cp/parser.cc:15295
 #, gcc-internal-format
 msgid "%qE may only occur once in an export declaration"
 msgstr ""
 
-#: cp/parser.cc:14863
+#: cp/parser.cc:15316
 #, gcc-internal-format
 msgid "%<export%> not part of following module-directive"
 msgstr ""
 
-#: cp/parser.cc:14950 cp/parser.cc:27381
+#: cp/parser.cc:15403 cp/parser.cc:28013
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
 
-#: cp/parser.cc:15008
+#: cp/parser.cc:15461
 #, gcc-internal-format
 msgid "attributes are not permitted in this position"
 msgstr ""
 
-#: cp/parser.cc:15012
+#: cp/parser.cc:15465
 #, gcc-internal-format
 msgid "attributes may be inserted here"
 msgstr ""
 
-#: cp/parser.cc:15231
+#: cp/parser.cc:15683
 #, gcc-internal-format
 msgid "%<__label__%> not at the beginning of a block"
 msgstr ""
 
-#: cp/parser.cc:15464
+#: cp/parser.cc:15929
 #, gcc-internal-format
 msgid ""
 "non-variable %qD in declaration with more than one declarator with "
 "placeholder type"
 msgstr ""
 
-#: cp/parser.cc:15484
+#: cp/parser.cc:15948
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
 
-#: cp/parser.cc:15505
+#: cp/parser.cc:15969
 #, gcc-internal-format
 msgid "mixing declarations and function-definitions is forbidden"
 msgstr ""
 
-#: cp/parser.cc:15530
+#: cp/parser.cc:15994
 #, gcc-internal-format
 msgid "types may not be defined in a for-range-declaration"
 msgstr ""
 
-#: cp/parser.cc:15585
+#: cp/parser.cc:16051
 #, gcc-internal-format
 msgid "initializer in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15588
+#: cp/parser.cc:16054
 #, gcc-internal-format
 msgid "multiple declarations in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15641
+#: cp/parser.cc:16107
 #, gcc-internal-format
 msgid ""
 "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:15693
+#: cp/parser.cc:16161
 #, gcc-internal-format
 msgid "empty structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:15711
+#: cp/parser.cc:16179
 #, gcc-internal-format
 msgid "invalid initializer for structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:15892
+#: cp/parser.cc:16371
+#, gcc-internal-format
+msgid "%<this%> must be the first specifier in a parameter declaration"
+msgstr ""
+
+#: cp/parser.cc:16394
 #, gcc-internal-format
 msgid "%<friend%> used outside of class"
 msgstr ""
 
-#: cp/parser.cc:15931
+#: cp/parser.cc:16433
 #, gcc-internal-format
 msgid "the %<bool%> keyword is not allowed in a C++20 concept definition"
 msgstr ""
 
-#: cp/parser.cc:15934
+#: cp/parser.cc:16436
 #, gcc-internal-format
 msgid "C++20 concept definition syntax is %<concept <name> = <expr>%>"
 msgstr ""
 
-#: cp/parser.cc:15985
+#: cp/parser.cc:16487
 #, gcc-internal-format
 msgid "%<typedef%> specifier conflicts with %qs"
 msgstr ""
 
-#: cp/parser.cc:16011
+#: cp/parser.cc:16513
 #, gcc-internal-format
 msgid "%<auto%> changes meaning in C++11; please remove it"
 msgstr ""
 
-#: cp/parser.cc:16047
+#: cp/parser.cc:16549
 #, gcc-internal-format
 msgid "%qD invalid in condition"
 msgstr ""
 
-#: cp/parser.cc:16056
+#: cp/parser.cc:16558
 #, gcc-internal-format
 msgid "%qD invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:16060
+#: cp/parser.cc:16562
 #, gcc-internal-format
 msgid "%qD only valid in lambda with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:16142
+#: cp/parser.cc:16644
 #, gcc-internal-format
 msgid "type-specifier invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:16154
+#: cp/parser.cc:16656
 #, gcc-internal-format
 msgid "standard attributes in middle of decl-specifiers"
 msgstr ""
 
-#: cp/parser.cc:16156
+#: cp/parser.cc:16658
 #, 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:16171
+#: cp/parser.cc:16673
 #, gcc-internal-format
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.cc:16244 cp/parser.cc:27926
+#: cp/parser.cc:16746 cp/parser.cc:28555
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:16263
+#: cp/parser.cc:16765
 #, gcc-internal-format
 msgid "types may not be defined in explicit-specifier"
 msgstr ""
 
-#: cp/parser.cc:16267
+#: cp/parser.cc:16769
 #, gcc-internal-format
 msgid ""
 "%<explicit(bool)%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:16331
+#: cp/parser.cc:16837
 #, gcc-internal-format
 msgid "invalid linkage-specification"
 msgstr ""
 
-#: cp/parser.cc:16437
+#: cp/parser.cc:16944
 #, gcc-internal-format
 msgid ""
 "%<static_assert%> without a message only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:16638
+#: cp/parser.cc:16974
+#, gcc-internal-format
+msgid ""
+"%<static_assert%> with non-string message only available with %<-std=c++2c%> "
+"or %<-std=gnu++2c%>"
+msgstr ""
+
+#: cp/parser.cc:17172
 #, gcc-internal-format
 msgid ""
 "%<decltype(auto)%> type specifier only available with %<-std=c++14%> or %<-"
 "std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:16651
+#: cp/parser.cc:17185
 #, gcc-internal-format
 msgid "types may not be defined in %<decltype%> expressions"
 msgstr ""
 
-#: cp/parser.cc:16824
+#: cp/parser.cc:17358
 #, gcc-internal-format
 msgid "types may not be defined in a conversion-type-id"
 msgstr ""
 
-#: cp/parser.cc:16853
+#: cp/parser.cc:17387
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in conversion operator"
 msgstr ""
 
-#: cp/parser.cc:16857
+#: cp/parser.cc:17391
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in member template conversion operator can never be deduced"
 msgstr ""
 
-#: cp/parser.cc:16941
+#: cp/parser.cc:17475
 #, gcc-internal-format
 msgid "only constructors take member initializers"
 msgstr ""
 
-#: cp/parser.cc:16968
+#: cp/parser.cc:17502
 #, gcc-internal-format
 msgid "cannot expand initializer for member %qD"
 msgstr ""
 
-#: cp/parser.cc:16980 cp/pt.cc:27478
+#: cp/parser.cc:17514 cp/pt.cc:27578
 #, gcc-internal-format
 msgid "mem-initializer for %qD follows constructor delegation"
 msgstr ""
 
-#: cp/parser.cc:16992 cp/pt.cc:27490
+#: cp/parser.cc:17526 cp/pt.cc:27590
 #, gcc-internal-format
 msgid "constructor delegation follows mem-initializer for %qD"
 msgstr ""
 
-#: cp/parser.cc:17044
+#: cp/parser.cc:17578
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr ""
 
-#: cp/parser.cc:17129
+#: cp/parser.cc:17662
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (a qualified member "
 "initializer is implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:17529
+#: cp/parser.cc:18062
 #, gcc-internal-format
 msgid "unexpected keyword; remove space between quotes and suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:17535
+#: cp/parser.cc:18068
 #, gcc-internal-format
 msgid "expected suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:17544
+#: cp/parser.cc:18077
 #, gcc-internal-format
 msgid "expected empty string after %<operator%> keyword"
 msgstr ""
 
-#: cp/parser.cc:17550
+#: cp/parser.cc:18083
 #, gcc-internal-format
 msgid "invalid encoding prefix in literal operator"
 msgstr ""
 
-#: cp/parser.cc:17584
+#: cp/parser.cc:18117
 #, gcc-internal-format
 msgid "expected operator"
 msgstr ""
 
-#: cp/parser.cc:17631
+#: cp/parser.cc:18164
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.cc:17633
+#: cp/parser.cc:18166
 #, gcc-internal-format
 msgid "keyword %<export%> is deprecated, and is ignored"
 msgstr ""
 
-#: cp/parser.cc:17635
+#: cp/parser.cc:18168
 #, gcc-internal-format
 msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:17814
+#: cp/parser.cc:18347
 #, gcc-internal-format
 msgid "invalid constrained type parameter"
 msgstr ""
 
-#: cp/parser.cc:17822
+#: cp/parser.cc:18355
 #, gcc-internal-format
 msgid "cv-qualified type parameter"
 msgstr ""
 
-#: cp/parser.cc:17969
+#: cp/parser.cc:18502
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in default template argument"
 msgstr ""
 
-#: cp/parser.cc:18205 cp/parser.cc:18291 cp/parser.cc:25255
+#: cp/parser.cc:18738 cp/parser.cc:18824 cp/parser.cc:25854
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:18209 cp/parser.cc:18295
+#: cp/parser.cc:18742 cp/parser.cc:18828
 #, gcc-internal-format
 msgid "template parameter packs cannot have default arguments"
 msgstr ""
 
-#: cp/parser.cc:18362
+#: cp/parser.cc:18895
 #, gcc-internal-format
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.cc:18424
+#: cp/parser.cc:18957
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr ""
 
-#: cp/parser.cc:18428
+#: cp/parser.cc:18961
 #, gcc-internal-format
 msgid ""
 "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> "
 "and %<::%>"
 msgstr ""
 
-#: cp/parser.cc:18432
+#: cp/parser.cc:18965
 #, 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:18462
+#: cp/parser.cc:18995
 #, gcc-internal-format
 msgid "invalid template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:18463
+#: cp/parser.cc:18996
 #, 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:18470
+#: cp/parser.cc:19003
 #, gcc-internal-format
 msgid "expected %<(%> after template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:18584
+#: cp/parser.cc:19117
 #, gcc-internal-format
 msgid "parse error in template argument list"
 msgstr ""
 
 #. The name does not name a template.
-#: cp/parser.cc:18669 cp/parser.cc:18860 cp/parser.cc:19058
+#: cp/parser.cc:19202 cp/parser.cc:19393 cp/parser.cc:19591
 #, gcc-internal-format
 msgid "expected template-name"
 msgstr ""
 
 #. Explain what went wrong.
-#: cp/parser.cc:18715
+#: cp/parser.cc:19248
 #, gcc-internal-format
 msgid "non-template %qD used as template"
 msgstr ""
 
-#: cp/parser.cc:18717
+#: cp/parser.cc:19250
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr ""
 
-#: cp/parser.cc:18922
+#: cp/parser.cc:19455
 #, gcc-internal-format
 msgid "expected parameter pack before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:19023 cp/parser.cc:19041 cp/parser.cc:19214
+#: cp/parser.cc:19556 cp/parser.cc:19574 cp/parser.cc:19744
 #, gcc-internal-format
 msgid "expected template-argument"
 msgstr ""
 
-#: cp/parser.cc:19181
+#: cp/parser.cc:19714
 #, gcc-internal-format
 msgid "invalid non-type template argument"
 msgstr ""
 
-#: cp/parser.cc:19323
+#: cp/parser.cc:19853
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<inline%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19327
+#: cp/parser.cc:19857
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<constexpr%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19331
+#: cp/parser.cc:19861
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<consteval%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19391
+#: cp/parser.cc:19921
 #, gcc-internal-format
 msgid "template specialization with C linkage"
 msgstr ""
 
-#: cp/parser.cc:19620
+#: cp/parser.cc:20150
 #, gcc-internal-format
 msgid "expected type specifier"
 msgstr ""
 
-#: cp/parser.cc:19820
+#: cp/parser.cc:20350
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in lambda parameter declaration only available with %<-std=c+"
 "+14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:19826
+#: cp/parser.cc:20356
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in template argument only available with %<-fconcepts-ts%>"
 msgstr ""
 
-#: cp/parser.cc:19830
+#: cp/parser.cc:20360
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++20%> "
 "or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:19834
+#: cp/parser.cc:20364
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++14%> "
 "or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:19987
+#: cp/parser.cc:20518
 #, gcc-internal-format
 msgid "expected template-id for type"
 msgstr ""
 
-#: cp/parser.cc:20117
+#: cp/parser.cc:20649
 #, gcc-internal-format
 msgid "expected type-name"
 msgstr ""
 
-#: cp/parser.cc:20229
+#: cp/parser.cc:20761
 #, gcc-internal-format
 msgid "%qE does not constrain a type"
 msgstr ""
 
-#: cp/parser.cc:20230
+#: cp/parser.cc:20762
 #, gcc-internal-format
 msgid "concept defined here"
 msgstr ""
 
-#: cp/parser.cc:20262
+#: cp/parser.cc:20794
 #, gcc-internal-format
 msgid "expected %<auto%> or %<decltype(auto)%> after %qE"
 msgstr ""
 
-#: cp/parser.cc:20269
+#: cp/parser.cc:20801
 #, gcc-internal-format
 msgid "unexpected placeholder in constrained result type"
 msgstr ""
 
-#: cp/parser.cc:20512
+#: cp/parser.cc:21044
 #, gcc-internal-format
 msgid ""
 "elaborated-type-specifier for a scoped enum must not use the %qD keyword"
 msgstr ""
 
-#: cp/parser.cc:20588
+#: cp/parser.cc:21120
 #, gcc-internal-format
 msgid "%<template%> must follow a nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:20750
+#: cp/parser.cc:21282
 #, gcc-internal-format
 msgid "declaration %qD does not declare anything"
 msgstr ""
 
-#: cp/parser.cc:20838
+#: cp/parser.cc:21370
 #, gcc-internal-format
 msgid "attributes ignored on uninstantiated type"
 msgstr ""
 
-#: cp/parser.cc:20844
+#: cp/parser.cc:21376
 #, gcc-internal-format
 msgid "attributes ignored on template instantiation"
 msgstr ""
 
-#: cp/parser.cc:20855
+#: cp/parser.cc:21387
 #, gcc-internal-format
 msgid ""
 "attributes ignored on elaborated-type-specifier that is not a forward "
 "declaration"
 msgstr ""
 
-#: cp/parser.cc:20996
+#: cp/parser.cc:21528
 #, gcc-internal-format
 msgid "%qD is an enumeration template"
 msgstr ""
 
-#: cp/parser.cc:21007
+#: cp/parser.cc:21539
 #, gcc-internal-format
 msgid "%qD does not name an enumeration in %qT"
 msgstr ""
 
-#: cp/parser.cc:21022
+#: cp/parser.cc:21554
 #, gcc-internal-format
 msgid "unnamed scoped enum is not allowed"
 msgstr ""
 
-#: cp/parser.cc:21040
+#: cp/parser.cc:21572
 #, gcc-internal-format
 msgid "types may not be defined in enum-base"
 msgstr ""
 
-#: cp/parser.cc:21086
+#: cp/parser.cc:21618
 #, gcc-internal-format
 msgid ""
 "declaration of enumeration with fixed underlying type and no enumerator list "
 "is only permitted as a standalone declaration"
 msgstr ""
 
-#: cp/parser.cc:21090
+#: cp/parser.cc:21622
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%>"
 msgstr ""
 
-#: cp/parser.cc:21133
+#: cp/parser.cc:21665
 #, gcc-internal-format
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.cc:21147
+#: cp/parser.cc:21679
 #, gcc-internal-format
 msgid ""
 "nested name specifier %qT for enum declaration does not name a class or "
 "namespace"
 msgstr ""
 
-#: cp/parser.cc:21159 cp/parser.cc:26838
+#: cp/parser.cc:21691 cp/parser.cc:27470
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:21164 cp/parser.cc:26843
+#: cp/parser.cc:21696 cp/parser.cc:27475
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:21176 cp/parser.cc:26856
+#: cp/parser.cc:21708 cp/parser.cc:27488
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.cc:21215
+#: cp/parser.cc:21747
 #, gcc-internal-format
 msgid "ISO C++ forbids empty unnamed enum"
 msgstr ""
 
-#: cp/parser.cc:21239
+#: cp/parser.cc:21771
 #, gcc-internal-format
 msgid "opaque-enum-specifier without name"
 msgstr ""
 
-#: cp/parser.cc:21242
+#: cp/parser.cc:21774
 #, gcc-internal-format
 msgid "opaque-enum-specifier must use a simple identifier"
 msgstr ""
 
-#: cp/parser.cc:21363
+#: cp/parser.cc:21895
 #, gcc-internal-format
 msgid "unexpanded parameter pack in enumerator in lambda"
 msgstr ""
 
-#: cp/parser.cc:21438
+#: cp/parser.cc:21970
 #, gcc-internal-format
 msgid "%qD is not a namespace-name; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:21442
+#: cp/parser.cc:21974
 #, gcc-internal-format
 msgid "%qD is not a namespace-name"
 msgstr ""
 
-#: cp/parser.cc:21446
+#: cp/parser.cc:21978
 #, gcc-internal-format
 msgid "expected namespace-name"
 msgstr ""
 
-#: cp/parser.cc:21507
+#: cp/parser.cc:22039
 #, gcc-internal-format
 msgid ""
 "nested inline namespace definitions only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:21519
+#: cp/parser.cc:22051
 #, gcc-internal-format
 msgid "standard attributes on namespaces must precede the namespace name"
 msgstr ""
 
-#: cp/parser.cc:21538
+#: cp/parser.cc:22070
 #, gcc-internal-format
 msgid ""
 "nested namespace definitions only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21548
+#: cp/parser.cc:22080
 #, gcc-internal-format
 msgid "nested namespace name required"
 msgstr ""
 
-#: cp/parser.cc:21553
+#: cp/parser.cc:22085
 #, gcc-internal-format
 msgid "namespace name required"
 msgstr ""
 
-#: cp/parser.cc:21557
+#: cp/parser.cc:22089
 #, gcc-internal-format
 msgid "a nested namespace definition cannot have attributes"
 msgstr ""
 
-#: cp/parser.cc:21560
+#: cp/parser.cc:22092
 #, gcc-internal-format
 msgid "a nested namespace definition cannot be inline"
 msgstr ""
 
-#: cp/parser.cc:21567
+#: cp/parser.cc:22099
 #, gcc-internal-format
 msgid "namespace %qD entered"
 msgstr ""
 
-#: cp/parser.cc:21622
+#: cp/parser.cc:22154
 #, gcc-internal-format
 msgid "%<namespace%> definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:21804
+#: cp/parser.cc:22336
 #, gcc-internal-format
 msgid ""
 "pack expansion in using-declaration only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21848
+#: cp/parser.cc:22380
 #, gcc-internal-format
 msgid "a template-id may not appear in a using-declaration"
 msgstr ""
 
-#: cp/parser.cc:21866
+#: cp/parser.cc:22398
 #, gcc-internal-format
 msgid ""
 "comma-separated list in using-declaration only available with %<-std=c++17%> "
 "or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21876
+#: cp/parser.cc:22408
 #, gcc-internal-format
 msgid ""
 "access declarations are deprecated in favour of using-declarations; "
 "suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.cc:21941
+#: cp/parser.cc:22454
+#, gcc-internal-format
+msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
+msgstr ""
+
+#: cp/parser.cc:22457
+#, gcc-internal-format
+msgid "%<using enum%> of dependent type %qT"
+msgstr ""
+
+#: cp/parser.cc:22459
+#, gcc-internal-format
+msgid "%<using enum%> of non-enumeration type %q#T"
+msgstr ""
+
+#: cp/parser.cc:22461
+#, gcc-internal-format
+msgid "%<using enum%> of incomplete type %qT"
+msgstr ""
+
+#: cp/parser.cc:22463
+#, gcc-internal-format
+msgid "%<using enum%> of %qT before its enum-specifier"
+msgstr ""
+
+#: cp/parser.cc:22473
 #, gcc-internal-format
 msgid "opaque-enum-declaration here"
 msgstr ""
 
-#: cp/parser.cc:22011
+#: cp/parser.cc:22543
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.cc:22189
+#: cp/parser.cc:22722
 #, gcc-internal-format
 msgid ""
 "%<asm%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:22209 cp/parser.cc:22226 cp/parser.cc:22240
+#: cp/parser.cc:22742 cp/parser.cc:22759 cp/parser.cc:22773
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qT"
 msgstr ""
 
-#: cp/parser.cc:22216
+#: cp/parser.cc:22749
 #, gcc-internal-format
 msgid "%<asm%> qualifier %qT ignored outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22253
+#: cp/parser.cc:22786
 #, gcc-internal-format
 msgid "%qT is not an %<asm%> qualifier"
 msgstr ""
 
-#: cp/parser.cc:22269
+#: cp/parser.cc:22802
 #, gcc-internal-format
 msgid "%<asm%> qualifier outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22498
+#: cp/parser.cc:22948
+#, gcc-internal-format
+msgid "attributes ignored on %<asm%> declaration"
+msgstr ""
+
+#: cp/parser.cc:23035
 #, gcc-internal-format
 msgid "empty parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:22509
+#: cp/parser.cc:23046
 #, gcc-internal-format
 msgid "remove parentheses to default-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22514
+#: cp/parser.cc:23051
 #, gcc-internal-format
 msgid "or replace parentheses with braces to aggregate-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22517
+#: cp/parser.cc:23054
 #, gcc-internal-format
 msgid "or replace parentheses with braces to value-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22534 cp/parser.cc:22559
+#: cp/parser.cc:23071 cp/parser.cc:23096
 #, gcc-internal-format
 msgid "parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:22546 cp/parser.cc:22567
+#: cp/parser.cc:23083 cp/parser.cc:23104
 #, gcc-internal-format
 msgid "replace parentheses with braces to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:22553
+#: cp/parser.cc:23090
 #, gcc-internal-format
 msgid "add parentheses to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:22800
+#: cp/parser.cc:23337
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:22811
+#: cp/parser.cc:23348
 #, gcc-internal-format
 msgid "an %<asm%> specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22815
+#: cp/parser.cc:23352
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22866
+#: cp/parser.cc:23403
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
-#: cp/parser.cc:23010
+#: cp/parser.cc:23547
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr ""
 
-#: cp/parser.cc:23052
+#: cp/parser.cc:23589
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.cc:23066
+#: cp/parser.cc:23603
 #, gcc-internal-format
 msgid "non-function %qD declared as implicit template"
 msgstr ""
 
-#: cp/parser.cc:23565
+#: cp/parser.cc:24115
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.cc:23691
+#: cp/parser.cc:24241
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.cc:23695
+#: cp/parser.cc:24245
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
@@ -62698,17 +64978,17 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.cc:23724
+#: cp/parser.cc:24274
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr ""
 
-#: cp/parser.cc:23732
+#: cp/parser.cc:24282
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr ""
 
-#: cp/parser.cc:23734
+#: cp/parser.cc:24284
 #, gcc-internal-format
 msgid ""
 "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified "
@@ -62717,220 +64997,240 @@ msgstr ""
 
 #. But declarations with qualified-ids can't appear in a
 #. function.
-#: cp/parser.cc:23849
+#: cp/parser.cc:24399
 #, gcc-internal-format
 msgid "qualified-id in declaration"
 msgstr ""
 
-#: cp/parser.cc:23874
+#: cp/parser.cc:24424
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr ""
 
-#: cp/parser.cc:23995
+#: cp/parser.cc:24545
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.cc:23997
+#: cp/parser.cc:24547
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.cc:24018
+#: cp/parser.cc:24568
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr ""
 
-#: cp/parser.cc:24079
+#: cp/parser.cc:24629
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.cc:24133
+#: cp/parser.cc:24683
 #, gcc-internal-format
 msgid "multiple ref-qualifiers"
 msgstr ""
 
-#: cp/parser.cc:24170
+#: cp/parser.cc:24720
 #, gcc-internal-format
 msgid "%qE requires %<-fgnu-tm%>"
 msgstr ""
 
-#: cp/parser.cc:24228
+#: cp/parser.cc:24778
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr ""
 
-#: cp/parser.cc:24493
+#: cp/parser.cc:25043
 #, gcc-internal-format
 msgid "missing template arguments after %qE"
 msgstr ""
 
-#: cp/parser.cc:24499
+#: cp/parser.cc:25049
 #, gcc-internal-format
 msgid "%qT not permitted in template argument"
 msgstr ""
 
-#: cp/parser.cc:24502 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2499
-#: rust/backend/rust-tree.cc:3861
+#: cp/parser.cc:25052 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2497
+#: rust/backend/rust-tree.cc:3909
 #, gcc-internal-format
 msgid "invalid use of %qT"
 msgstr ""
 
-#: cp/parser.cc:24529
+#: cp/parser.cc:25078
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.cc:24635
+#: cp/parser.cc:25087
+#, gcc-internal-format
+msgid "invalid use of %<auto%> in template argument"
+msgstr ""
+
+#: cp/parser.cc:25193
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr ""
 
-#: cp/parser.cc:24962
+#: cp/parser.cc:25533
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.cc:25040
+#: cp/parser.cc:25611
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.cc:25239
+#: cp/parser.cc:25732
+#, gcc-internal-format
+msgid "%<this%> specifier in template parameter declaration"
+msgstr ""
+
+#: cp/parser.cc:25746
+#, gcc-internal-format
+msgid "an explicit object parameter cannot be a function parameter pack"
+msgstr ""
+
+#: cp/parser.cc:25838
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.cc:25257
+#: cp/parser.cc:25856
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25263
+#: cp/parser.cc:25862
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25265
+#: cp/parser.cc:25864
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25395
+#: cp/parser.cc:25887
+#, gcc-internal-format
+msgid "an explicit object parameter may not have a default argument"
+msgstr ""
+
+#: cp/parser.cc:26011
 #, gcc-internal-format
 msgid ""
 "function-try-block body of %<constexpr%> constructor only available with %<-"
 "std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:25399
+#: cp/parser.cc:26015
 #, gcc-internal-format
 msgid ""
 "function-try-block body of %<constexpr%> function only available with %<-"
 "std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:25734
+#: cp/parser.cc:26356
 #, gcc-internal-format
 msgid ""
 "C++ designated initializers only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/parser.cc:25754
+#: cp/parser.cc:26378
 #, gcc-internal-format
 msgid "ISO C++ does not allow GNU designated initializers"
 msgstr ""
 
-#: cp/parser.cc:25792
+#: cp/parser.cc:26416
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.cc:25806
+#: cp/parser.cc:26430
 #, gcc-internal-format
 msgid ""
 "either all initializer clauses should be designated or none of them should be"
 msgstr ""
 
-#: cp/parser.cc:25831
+#: cp/parser.cc:26463
 #, gcc-internal-format
 msgid "%<...%> not allowed in designated initializer list"
 msgstr ""
 
-#: cp/parser.cc:25882
+#: cp/parser.cc:26514
 #, gcc-internal-format
 msgid "%<.%s%> designator used multiple times in the same initializer list"
 msgstr ""
 
-#: cp/parser.cc:25938 cp/parser.cc:26075
+#: cp/parser.cc:26570 cp/parser.cc:26707
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.cc:26322
+#: cp/parser.cc:26954
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.cc:26325
+#: cp/parser.cc:26957
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.cc:26328
+#: cp/parser.cc:26960
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.cc:26780
+#: cp/parser.cc:27412
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.cc:26791
+#: cp/parser.cc:27423
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.cc:26799
+#: cp/parser.cc:27431
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.cc:26806
+#: cp/parser.cc:27438
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.cc:26818
+#: cp/parser.cc:27450
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in class-head-name"
 msgstr ""
 
-#: cp/parser.cc:26824
+#: cp/parser.cc:27456
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.cc:26878
+#: cp/parser.cc:27510
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.cc:26910
+#: cp/parser.cc:27542
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.cc:26943
+#: cp/parser.cc:27575
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.cc:27007
+#: cp/parser.cc:27639
 #, gcc-internal-format
 msgid "previous definition of %q#T"
 msgstr ""
@@ -62938,270 +65238,255 @@ msgstr ""
 #. 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:27021 cp/pt.cc:4297
+#: cp/parser.cc:27653 cp/pt.cc:4305
 #, gcc-internal-format
 msgid "unexpanded parameter pack in local class in lambda"
 msgstr ""
 
-#: cp/parser.cc:27121 cp/parser.cc:33838
+#: cp/parser.cc:27753 cp/parser.cc:34500
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.cc:27146
+#: cp/parser.cc:27778
 #, 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:27150
+#: cp/parser.cc:27782
 #, gcc-internal-format
 msgid "expected %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/parser.cc:27400
+#: cp/parser.cc:28032
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.cc:27431
+#: cp/parser.cc:28063
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.cc:27449
+#: cp/parser.cc:28081
 #, gcc-internal-format
 msgid "a storage class on an anonymous aggregate in class scope is not allowed"
 msgstr ""
 
-#: cp/parser.cc:27551
+#: cp/parser.cc:28183
 #, gcc-internal-format
 msgid ""
 "default member initializers for bit-fields only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:27558
+#: cp/parser.cc:28190
 #, gcc-internal-format
 msgid "default member initializer for unnamed bit-field"
 msgstr ""
 
-#: cp/parser.cc:27571
+#: cp/parser.cc:28203
 #, gcc-internal-format
 msgid "ISO C++ allows bit-field attributes only before the %<:%> token"
 msgstr ""
 
-#: cp/parser.cc:27733
+#: cp/parser.cc:28362
 #, gcc-internal-format
 msgid "bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/parser.cc:27761
+#: cp/parser.cc:28390
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.cc:27782
+#: cp/parser.cc:28411
 #, gcc-internal-format
 msgid "extra %<;%> after in-class function definition"
 msgstr ""
 
-#: cp/parser.cc:27831
+#: cp/parser.cc:28460
 #, gcc-internal-format
 msgid "stray %<,%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:27845
+#: cp/parser.cc:28474
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:27920
+#: cp/parser.cc:28549
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.cc:27955
+#: cp/parser.cc:28584
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:28085
+#: cp/parser.cc:28714
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:28105
+#: cp/parser.cc:28734
 #, gcc-internal-format
 msgid "more than one access specifier in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:28129
+#: cp/parser.cc:28758
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.cc:28132
+#: cp/parser.cc:28761
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (the base class is "
 "implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:28331 cp/parser.cc:28425
+#: cp/parser.cc:28960 cp/parser.cc:29054
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.cc:28433
+#: cp/parser.cc:29062
 #, gcc-internal-format
 msgid "ISO C++17 does not allow dynamic exception specifications"
 msgstr ""
 
-#: cp/parser.cc:28439
+#: cp/parser.cc:29068
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++11"
 msgstr ""
 
-#: cp/parser.cc:28483
+#: cp/parser.cc:29112
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in exception-specification"
 msgstr ""
 
-#: cp/parser.cc:28524
+#: cp/parser.cc:29153
 #, gcc-internal-format
 msgid ""
 "%<try%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:28636
+#: cp/parser.cc:29265
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.cc:29194
-#, gcc-internal-format
-msgid "expected OpenMP directive name"
-msgstr ""
-
-#: cp/parser.cc:29203
+#: cp/parser.cc:29831
 #, gcc-internal-format
 msgid "expected attribute argument as balanced token sequence"
 msgstr ""
 
-#: cp/parser.cc:29248
-#, gcc-internal-format
-msgid "expected %<directive%> or %<sequence%>"
-msgstr ""
-
-#: cp/parser.cc:29347
+#: cp/parser.cc:29977
 #, gcc-internal-format
 msgid "attribute using prefix used together with scoped attribute token"
 msgstr ""
 
-#: cp/parser.cc:29361
+#: cp/parser.cc:29991
 #, gcc-internal-format
 msgid "expected an identifier for the attribute name"
 msgstr ""
 
-#: cp/parser.cc:29416
-#, gcc-internal-format
-msgid "%<omp::%E%> attribute requires argument"
-msgstr ""
-
 #. e.g. [[attr()]].
-#: cp/parser.cc:29491
+#: cp/parser.cc:30134
 #, gcc-internal-format
 msgid "parentheses must be omitted if %qE attribute argument list is empty"
 msgstr ""
 
-#: cp/parser.cc:29526
+#: cp/parser.cc:30169
 #, gcc-internal-format
 msgid "attribute %qs specified multiple times"
 msgstr ""
 
-#: cp/parser.cc:29568
+#: cp/parser.cc:30211
 #, gcc-internal-format
 msgid "expected attribute before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:29571
+#: cp/parser.cc:30214
 #, gcc-internal-format
 msgid "attribute with no arguments contains no parameter packs"
 msgstr ""
 
-#: cp/parser.cc:29617
+#: cp/parser.cc:30260
 #, gcc-internal-format
 msgid "expected contract-role"
 msgstr ""
 
 #. We got some other token other than a ':'.
-#: cp/parser.cc:29698
+#: cp/parser.cc:30341
 #, gcc-internal-format
 msgid "expected contract semantic or level"
 msgstr ""
 
-#: cp/parser.cc:29708
+#: cp/parser.cc:30351
 #, gcc-internal-format
 msgid "expected contract level: %<default%>, %<audit%>, or %<axiom%>"
 msgstr ""
 
-#: cp/parser.cc:29718
+#: cp/parser.cc:30361
 #, gcc-internal-format
 msgid "invalid use of contract role for explicit semantic"
 msgstr ""
 
-#: cp/parser.cc:29855
+#: cp/parser.cc:30498
 #, gcc-internal-format
 msgid "contracts are only available with %<-fcontracts%>"
 msgstr ""
 
-#: cp/parser.cc:30010
+#: cp/parser.cc:30657
 #, gcc-internal-format
 msgid ""
 "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:30355 cp/parser.cc:30364
+#: cp/parser.cc:31006 cp/parser.cc:31015
 #, gcc-internal-format
 msgid "expression must be enclosed in parentheses"
 msgstr ""
 
-#: cp/parser.cc:30710
+#: cp/parser.cc:31361
 #, gcc-internal-format
 msgid "missing additional %<requires%> to start a requires-expression"
 msgstr ""
 
-#: cp/parser.cc:30953
+#: cp/parser.cc:31604
 #, gcc-internal-format
 msgid ""
 "testing if a concept-id is a valid expression; add %<requires%> to check "
 "satisfaction"
 msgstr ""
 
-#: cp/parser.cc:31091
+#: cp/parser.cc:31742
 #, gcc-internal-format
 msgid "result type is not a plain type-constraint"
 msgstr ""
 
-#: cp/parser.cc:31099
+#: cp/parser.cc:31750
 #, gcc-internal-format
 msgid "return-type-requirement is not a type-constraint"
 msgstr ""
 
-#: cp/parser.cc:31617
+#: cp/parser.cc:32268
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.cc:31622
+#: cp/parser.cc:32273
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr ""
 
-#: cp/parser.cc:31626
+#: cp/parser.cc:32277
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -63210,24 +65495,29 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.cc:31633
+#: cp/parser.cc:32284
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.cc:32026
+#: cp/parser.cc:32576
+#, gcc-internal-format
+msgid "template-id not allowed for constructor in C++20"
+msgstr ""
+
+#: cp/parser.cc:32687
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.cc:32199
+#: cp/parser.cc:32860
 #, gcc-internal-format
 msgid ""
 "ISO C++ did not adopt string literal operator templates taking an argument "
 "pack of characters"
 msgstr ""
 
-#: cp/parser.cc:32208
+#: cp/parser.cc:32869
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
@@ -63235,724 +65525,711 @@ msgid ""
 "type"
 msgstr ""
 
-#: cp/parser.cc:32214
+#: cp/parser.cc:32875
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
 "template parameter pack %<<char...>%>"
 msgstr ""
 
-#: cp/parser.cc:32321
+#: cp/parser.cc:32982
 #, gcc-internal-format
 msgid ""
 "template-introductions are not part of C++20 concepts; use %qs to enable"
 msgstr ""
 
-#: cp/parser.cc:32331
+#: cp/parser.cc:32992
 #, gcc-internal-format
 msgid "no matching concept for template-introduction"
 msgstr ""
 
-#: cp/parser.cc:32354
+#: cp/parser.cc:33015
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.cc:32363
+#: cp/parser.cc:33024
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.cc:32383
+#: cp/parser.cc:33044
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr ""
 
-#: cp/parser.cc:32495
+#: cp/parser.cc:33156
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:32546
+#: cp/parser.cc:33207
 #, gcc-internal-format
 msgid "a class template declaration must not declare anything else"
 msgstr ""
 
-#: cp/parser.cc:32598
+#: cp/parser.cc:33259
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.cc:32905
+#: cp/parser.cc:33565
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.cc:32918
+#: cp/parser.cc:33578
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:32949
+#: cp/parser.cc:33609
 #, gcc-internal-format
 msgid "%qs should be %qs to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:33267
+#: cp/parser.cc:33926
 #, gcc-internal-format
 msgid "%<sizeof...%> argument must be surrounded by parentheses"
 msgstr ""
 
-#: cp/parser.cc:33444
+#: cp/parser.cc:34103
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.cc:33455
+#: cp/parser.cc:34114
 #, gcc-internal-format
 msgid "duplicate %qD specifier"
 msgstr ""
 
-#: cp/parser.cc:33458
+#: cp/parser.cc:34117
 #, gcc-internal-format
 msgid "%qD specifier conflicts with %qs"
 msgstr ""
 
-#: cp/parser.cc:33470
+#: cp/parser.cc:34129
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.cc:33486
+#: cp/parser.cc:34145
 #, gcc-internal-format
 msgid "%qD specifier conflicts with %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:33595
+#: cp/parser.cc:34254
 #, gcc-internal-format
 msgid "ISO C++ 1998 does not support %<long long%>"
 msgstr ""
 
-#: cp/parser.cc:33606
+#: cp/parser.cc:34265
 #, gcc-internal-format
 msgid "both %<__thread%> and %<thread_local%> specified"
 msgstr ""
 
-#: cp/parser.cc:33611
+#: cp/parser.cc:34270
 #, gcc-internal-format
 msgid "duplicate %qD"
 msgstr ""
 
-#: cp/parser.cc:33637
+#: cp/parser.cc:34299
 #, gcc-internal-format
 msgid "duplicate %qs"
 msgstr ""
 
-#: cp/parser.cc:33689
+#: cp/parser.cc:34351
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr ""
 
-#: cp/parser.cc:33692
+#: cp/parser.cc:34354
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.cc:33695
+#: cp/parser.cc:34357
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr ""
 
-#: cp/parser.cc:33701
+#: cp/parser.cc:34363
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr ""
 
-#: cp/parser.cc:33704
+#: cp/parser.cc:34366
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.cc:33707
+#: cp/parser.cc:34369
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr ""
 
-#: cp/parser.cc:33710
+#: cp/parser.cc:34372
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr ""
 
-#: cp/parser.cc:33713
+#: cp/parser.cc:34375
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.cc:33716
+#: cp/parser.cc:34378
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr ""
 
-#: cp/parser.cc:33719
+#: cp/parser.cc:34381
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr ""
 
-#: cp/parser.cc:33722
+#: cp/parser.cc:34384
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.cc:33725
+#: cp/parser.cc:34387
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr ""
 
-#: cp/parser.cc:33728
+#: cp/parser.cc:34390
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr ""
 
-#: cp/parser.cc:33731
+#: cp/parser.cc:34393
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.cc:33734
+#: cp/parser.cc:34396
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.cc:33737
+#: cp/parser.cc:34399
 #, gcc-internal-format
 msgid "expected %<auto%>"
 msgstr ""
 
-#: cp/parser.cc:33740
+#: cp/parser.cc:34402
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.cc:33743
+#: cp/parser.cc:34405
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr ""
 
-#: cp/parser.cc:33746
+#: cp/parser.cc:34408
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.cc:33749
+#: cp/parser.cc:34411
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.cc:33752
+#: cp/parser.cc:34414
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:33755
+#: cp/parser.cc:34417
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.cc:33758
+#: cp/parser.cc:34420
 #, gcc-internal-format
 msgid "expected %<co_yield%>"
 msgstr ""
 
-#: cp/parser.cc:33790
+#: cp/parser.cc:34452
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:33802
+#: cp/parser.cc:34464
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.cc:33805
+#: cp/parser.cc:34467
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr ""
 
-#: cp/parser.cc:33808
+#: cp/parser.cc:34470
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr ""
 
-#: cp/parser.cc:33814
+#: cp/parser.cc:34476
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.cc:33841
+#: cp/parser.cc:34503
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.cc:34176
+#: cp/parser.cc:34838
 #, gcc-internal-format
 msgid "redundant enum-key %<enum%s%> in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:34327
+#: cp/parser.cc:34989
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.cc:34332
+#: cp/parser.cc:34994
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr ""
 
-#: cp/parser.cc:34453
+#: cp/parser.cc:35115
 #, gcc-internal-format
 msgid "redundant class-key %qs in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:34611 cp/parser.cc:34645
+#: cp/parser.cc:35273 cp/parser.cc:35307
 #, gcc-internal-format
 msgid "%qT declared with a mismatched class-key %qs"
 msgstr ""
 
-#: cp/parser.cc:34618 cp/parser.cc:34651
+#: cp/parser.cc:35280 cp/parser.cc:35313
 #, gcc-internal-format
 msgid "remove the class-key or replace it with %qs"
 msgstr ""
 
-#: cp/parser.cc:34619 cp/parser.cc:34652
+#: cp/parser.cc:35281 cp/parser.cc:35314
 #, gcc-internal-format
 msgid "replace the class-key with %qs"
 msgstr ""
 
-#: cp/parser.cc:34626
+#: cp/parser.cc:35288
 #, gcc-internal-format
 msgid "%qT defined as %qs here"
 msgstr ""
 
-#: cp/parser.cc:34627
+#: cp/parser.cc:35289
 #, gcc-internal-format
 msgid "%qT first declared as %qs here"
 msgstr ""
 
-#: cp/parser.cc:34709
+#: cp/parser.cc:35372
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.cc:34730
+#: cp/parser.cc:35393
 #, gcc-internal-format
 msgid ""
 "in C++98 %<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.cc:34980
+#: cp/parser.cc:35643
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.cc:35221 cp/parser.cc:36529 cp/parser.cc:36718
+#: cp/parser.cc:35884 cp/parser.cc:37192 cp/parser.cc:37381
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.cc:35292
+#: cp/parser.cc:35955
 #, gcc-internal-format
 msgid "objective-c++ message receiver expected"
 msgstr ""
 
-#: cp/parser.cc:35362
+#: cp/parser.cc:36025
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.cc:35393
+#: cp/parser.cc:36056
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.cc:35797
+#: cp/parser.cc:36460
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.cc:35872 cp/parser.cc:35890
+#: cp/parser.cc:36535 cp/parser.cc:36553
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.cc:35884 cp/parser.cc:35950
+#: cp/parser.cc:36547 cp/parser.cc:36613
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.cc:35993
+#: cp/parser.cc:36656
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.cc:36190 cp/parser.cc:36197 cp/parser.cc:36204
+#: cp/parser.cc:36853 cp/parser.cc:36860 cp/parser.cc:36867
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.cc:36321
+#: cp/parser.cc:36984
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.cc:36494
+#: cp/parser.cc:37157
 #, gcc-internal-format
 msgid ""
 "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.cc:36501
+#: cp/parser.cc:37164
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.cc:36781 cp/parser.cc:36788 cp/parser.cc:36795
+#: cp/parser.cc:37444 cp/parser.cc:37451 cp/parser.cc:37458
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr ""
 
-#: cp/parser.cc:36957
+#: cp/parser.cc:37620
 #, gcc-internal-format
 msgid "unknown property attribute %qE"
 msgstr ""
 
-#: cp/parser.cc:38086
+#: cp/parser.cc:38865
 #, gcc-internal-format
 msgid "expected integer expression list"
 msgstr ""
 
-#: cp/parser.cc:38103
+#: cp/parser.cc:38882
 #, gcc-internal-format
 msgid "%<wait%> expression must be integral"
 msgstr ""
 
-#: cp/parser.cc:39199
+#: cp/parser.cc:39638
+#, gcc-internal-format
+msgid "expected %<scalar%>, %<aggregate%>, %<all%>"
+msgstr ""
+
+#: cp/parser.cc:40029
 #, gcc-internal-format
 msgid "invalid reduction-identifier"
 msgstr ""
 
-#: cp/parser.cc:40168
+#: cp/parser.cc:40998
 #, gcc-internal-format
 msgid "types may not be defined in iterator type"
 msgstr ""
 
-#: cp/parser.cc:43132
+#. FIXME: When implementing properly, delete the align/allocate expr error
+#. check above and add one in semantics.cc (to properly handle templates).
+#. Base this on the allocator/align modifiers check for the 'allocate' clause
+#. in semantics.cc's finish_omp_clauses.
+#: cp/parser.cc:42626
 #, gcc-internal-format
-msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
+msgid "%<#pragma omp allocate%> not yet supported"
 msgstr ""
 
-#: cp/parser.cc:43580
+#: cp/parser.cc:44077
 #, gcc-internal-format
-msgid ""
-"%<[[omp::directive(%s)]]%> must be the only specified attribute on a "
-"statement"
+msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:43843
+#: cp/parser.cc:44817
 #, gcc-internal-format
 msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:43930 cp/pt.cc:18551
+#: cp/parser.cc:44899 cp/pt.cc:18116
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.cc:44023
-#, gcc-internal-format
-msgid "not enough for loops to collapse"
-msgstr ""
-
-#: cp/parser.cc:46418
+#: cp/parser.cc:47776
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
 msgstr ""
 
-#: cp/parser.cc:47253
+#: cp/parser.cc:48546
 #, gcc-internal-format
 msgid ""
 "OpenMP directive other than %<declare simd%> or %<declare variant%> "
 "appertains to a declaration"
 msgstr ""
 
-#: cp/parser.cc:47599 cp/parser.cc:47630
-#, gcc-internal-format
-msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
-msgstr ""
-
-#: cp/parser.cc:47606 cp/parser.cc:47635
-#, gcc-internal-format
-msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
-msgstr ""
-
-#: cp/parser.cc:47747
+#: cp/parser.cc:49153
 #, gcc-internal-format
 msgid "invalid initializer clause"
 msgstr ""
 
-#: cp/parser.cc:47777
+#: cp/parser.cc:49184
 #, gcc-internal-format
 msgid "expected id-expression (arguments)"
 msgstr ""
 
-#: cp/parser.cc:47789
+#: cp/parser.cc:49196
 #, gcc-internal-format
 msgid ""
 "one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
 msgstr ""
 
-#: cp/parser.cc:47892
+#: cp/parser.cc:49299
 #, gcc-internal-format
 msgid "types may not be defined in declare reduction type list"
 msgstr ""
 
-#: cp/parser.cc:47912 cp/semantics.cc:6209
+#: cp/parser.cc:49319 cp/semantics.cc:6373
 #, gcc-internal-format
 msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:47916 cp/semantics.cc:6217
+#: cp/parser.cc:49323 cp/semantics.cc:6381
 #, gcc-internal-format
 msgid "function or array type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:47919 cp/pt.cc:14451 cp/semantics.cc:6223
+#: cp/parser.cc:49326 cp/pt.cc:14611 cp/semantics.cc:6387
 #, gcc-internal-format
 msgid "reference type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:47922 cp/semantics.cc:6229
+#: cp/parser.cc:49329 cp/semantics.cc:6393
 #, gcc-internal-format
 msgid ""
 "%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma "
 "omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:48636
+#: cp/parser.cc:50049
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> names a set of overloads"
 msgstr ""
 
-#: cp/parser.cc:48646
+#: cp/parser.cc:50059
 #, gcc-internal-format
 msgid "%qD does not refer to a namespace scope function"
 msgstr ""
 
 #. cancel-and-throw is unimplemented.
-#: cp/parser.cc:49007
+#: cp/parser.cc:50420
 #, gcc-internal-format
 msgid "%<atomic_cancel%>"
 msgstr ""
 
-#: cp/parser.cc:49054 cp/semantics.cc:11243
+#: cp/parser.cc:50467 cp/semantics.cc:11405
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:49056 cp/semantics.cc:11245
+#: cp/parser.cc:50469 cp/semantics.cc:11407
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:49202
+#: cp/parser.cc:50615
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:49205
+#: cp/parser.cc:50618
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: cp/parser.cc:49252
+#: cp/parser.cc:50665
 #, gcc-internal-format
 msgid "malformed %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.cc:49550
+#: cp/parser.cc:50965
 #, gcc-internal-format
 msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
 msgstr ""
 
-#: cp/parser.cc:49561
+#: cp/parser.cc:50976
 #, gcc-internal-format
 msgid "%<#pragma omp assumes%> may only be used at file or namespace scope"
 msgstr ""
 
-#: cp/parser.cc:49616
+#: cp/parser.cc:51053
 #, gcc-internal-format
-msgid "%<#pragma GCC ivdep%> must be inside a function"
+msgid "%<#pragma GCC %s%> must be inside a function"
 msgstr ""
 
-#: cp/parser.cc:49648
-#, gcc-internal-format
-msgid "%<#pragma GCC unroll%> must be inside a function"
-msgstr ""
-
-#: cp/parser.cc:49729
+#: cp/parser.cc:51195
 #, gcc-internal-format
 msgid "multi-source compilation not implemented for C++"
 msgstr ""
 
-#: cp/parser.cc:49766
+#: cp/parser.cc:51232
 #, gcc-internal-format
 msgid "placeholder type not allowed in this context"
 msgstr ""
 
-#: cp/parser.cc:49975
+#: cp/parser.cc:51441
 #, gcc-internal-format
 msgid "implicit templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:50031
+#: cp/parser.cc:51497
 #, gcc-internal-format
 msgid "%<extern \"C\"%> linkage started here"
 msgstr ""
 
-#: cp/pt.cc:308
+#: cp/pt.cc:313
 #, gcc-internal-format
 msgid "data member %qD cannot be a member template"
 msgstr ""
 
-#: cp/pt.cc:321
+#: cp/pt.cc:326
 #, gcc-internal-format
 msgid "invalid member template declaration %qD"
 msgstr ""
 
-#: cp/pt.cc:749
+#: cp/pt.cc:780
 #, gcc-internal-format
 msgid "explicit specialization in non-namespace scope %qD"
 msgstr ""
 
-#: cp/pt.cc:763
+#: cp/pt.cc:794
 #, gcc-internal-format
 msgid "enclosing class templates are not explicitly specialized"
 msgstr ""
 
-#: cp/pt.cc:847
+#: cp/pt.cc:878
 #, gcc-internal-format
 msgid "specialization of %qD must appear at namespace scope"
 msgstr ""
 
-#: cp/pt.cc:858 cp/pt.cc:1099
+#: cp/pt.cc:889 cp/pt.cc:1129
 #, gcc-internal-format
 msgid "specialization of %qD in different namespace"
 msgstr ""
 
-#: cp/pt.cc:860
+#: cp/pt.cc:891
 #, gcc-internal-format
 msgid "  from definition of %q#D"
 msgstr ""
 
-#: cp/pt.cc:877
+#: cp/pt.cc:908
 #, gcc-internal-format
 msgid ""
 "explicit instantiation of %qD in namespace %qD (which does not enclose "
 "namespace %qD)"
 msgstr ""
 
-#: cp/pt.cc:1011
+#: cp/pt.cc:1041
 #, gcc-internal-format
 msgid "name of class shadows template template parameter %qD"
 msgstr ""
 
-#: cp/pt.cc:1023
+#: cp/pt.cc:1053
 #, gcc-internal-format
 msgid "specialization of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:1026 cp/pt.cc:1165
+#: cp/pt.cc:1056 cp/pt.cc:1195
 #, gcc-internal-format
 msgid "explicit specialization of non-template %qT"
 msgstr ""
 
-#: cp/pt.cc:1058
+#: cp/pt.cc:1088
 #, gcc-internal-format
 msgid "specialization of %qT after instantiation"
 msgstr ""
 
-#: cp/pt.cc:1102
+#: cp/pt.cc:1132
 #, gcc-internal-format
 msgid "from definition of %q#D"
 msgstr ""
 
 #. But if we've had an implicit instantiation, that's a
 #. problem ([temp.expl.spec]/6).
-#: cp/pt.cc:1143
+#: cp/pt.cc:1173
 #, gcc-internal-format
 msgid "specialization %qT after instantiation %qT"
 msgstr ""
 
-#: cp/pt.cc:1161
+#: cp/pt.cc:1191
 #, gcc-internal-format
 msgid "template specialization of %qD not allowed by ISO C++"
 msgstr ""
 
-#: cp/pt.cc:1553
+#: cp/pt.cc:1568
 #, gcc-internal-format
 msgid "specialization of %qD after instantiation"
 msgstr ""
 
-#: cp/pt.cc:2015 cp/semantics.cc:6079
+#: cp/pt.cc:2046 cp/semantics.cc:6243
 #, gcc-internal-format
 msgid "%s %#qD"
 msgstr ""
 
-#: cp/pt.cc:2151
+#: cp/pt.cc:2182
 #, gcc-internal-format
 msgid "%qD is not a function template"
 msgstr ""
 
-#: cp/pt.cc:2156
+#: cp/pt.cc:2187
 #, gcc-internal-format
 msgid "%qD is not a variable template"
 msgstr ""
 
-#: cp/pt.cc:2439
+#: cp/pt.cc:2470
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr ""
 
-#: cp/pt.cc:2443
+#: cp/pt.cc:2474
 #, gcc-internal-format
 msgid ""
 "saw %d %<template<>%>, need %d for specializing a member function template"
 msgstr ""
 
-#: cp/pt.cc:2453
+#: cp/pt.cc:2484
 #, gcc-internal-format
 msgid "ambiguous template specialization %qD for %q+D"
 msgstr ""
 
-#: cp/pt.cc:2657
+#: cp/pt.cc:2688
 #, gcc-internal-format
 msgid ""
 "variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/pt.cc:2667
+#: cp/pt.cc:2698
 #, gcc-internal-format
 msgid "too many template headers for %qD (should be %d)"
 msgstr ""
 
-#: cp/pt.cc:2673
+#: cp/pt.cc:2704
 #, gcc-internal-format
 msgid ""
 "members of an explicitly specialized class are defined without a template "
 "header"
 msgstr ""
 
-#: cp/pt.cc:2697
+#: cp/pt.cc:2728
 #, gcc-internal-format
 msgid ""
 "explicit specialization of %qD outside its namespace must use a nested-name-"
@@ -63960,79 +66237,79 @@ msgid ""
 msgstr ""
 
 #. This was allowed in C++98, so only pedwarn.
-#: cp/pt.cc:2702
+#: cp/pt.cc:2733
 #, gcc-internal-format
 msgid ""
 "explicit instantiation of %qD outside its namespace must use a nested-name-"
 "specifier"
 msgstr ""
 
-#: cp/pt.cc:2738
+#: cp/pt.cc:2769
 #, gcc-internal-format
 msgid "explicit specialization %q#D may be missing attributes"
 msgstr ""
 
-#: cp/pt.cc:2742
+#: cp/pt.cc:2773
 #, gcc-internal-format, gfc-internal-format
 msgid "missing primary template attributes %s"
 msgstr ""
 
-#: cp/pt.cc:2743
+#: cp/pt.cc:2774
 #, gcc-internal-format, gfc-internal-format
 msgid "missing primary template attribute %s"
 msgstr ""
 
-#: cp/pt.cc:2835 cp/pt.cc:2895
+#: cp/pt.cc:2866 cp/pt.cc:2926
 #, gcc-internal-format
 msgid "template-id %qE in declaration of primary template"
 msgstr ""
 
-#: cp/pt.cc:2848
+#: cp/pt.cc:2879
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2854
+#: cp/pt.cc:2885
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2862
+#: cp/pt.cc:2893
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2865
+#: cp/pt.cc:2896
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2867
+#: cp/pt.cc:2898
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr ""
 
-#: cp/pt.cc:2873
+#: cp/pt.cc:2904
 #, gcc-internal-format
 msgid "explicit specialization declared %<concept%>"
 msgstr ""
 
-#: cp/pt.cc:2906
+#: cp/pt.cc:2937
 #, gcc-internal-format
 msgid "non-type partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2910
+#: cp/pt.cc:2941
 #, gcc-internal-format
 msgid "non-class, non-variable partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2942
+#: cp/pt.cc:2973
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:2985
+#: cp/pt.cc:3016
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr ""
@@ -64045,99 +66322,99 @@ msgstr ""
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.cc:3047
+#: cp/pt.cc:3078
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr ""
 
-#: cp/pt.cc:3063
+#: cp/pt.cc:3094
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr ""
 
-#: cp/pt.cc:3094
+#: cp/pt.cc:3125
 #, gcc-internal-format
 msgid "friend declaration %qD is not visible to explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3097
+#: cp/pt.cc:3128
 #, gcc-internal-format
 msgid "friend declaration here"
 msgstr ""
 
-#: cp/pt.cc:3208
+#: cp/pt.cc:3239
 #, gcc-internal-format
 msgid "explicit specialization of function concept %qD"
 msgstr ""
 
-#: cp/pt.cc:3809
+#: cp/pt.cc:3817
 #, gcc-internal-format
 msgid "argument to %<__integer_pack%> must be between 0 and %d"
 msgstr ""
 
-#: cp/pt.cc:4160
+#: cp/pt.cc:4168
 #, gcc-internal-format
 msgid "base initializer expansion %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4228
+#: cp/pt.cc:4236
 #, gcc-internal-format
 msgid "expansion pattern %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4230
+#: cp/pt.cc:4238
 #, gcc-internal-format
 msgid "expansion pattern %qE contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4314
+#: cp/pt.cc:4322
 #, gcc-internal-format
 msgid "parameter packs not expanded with %<...%>:"
 msgstr ""
 
-#: cp/pt.cc:4331 cp/pt.cc:5203
+#: cp/pt.cc:4339 cp/pt.cc:5220
 #, gcc-internal-format
 msgid "        %qD"
 msgstr ""
 
-#: cp/pt.cc:4333
+#: cp/pt.cc:4341
 #, gcc-internal-format, gfc-internal-format
 msgid "        %s"
 msgstr ""
 
-#: cp/pt.cc:4459
+#: cp/pt.cc:4467
 #, gcc-internal-format
 msgid "declaration of template parameter %q+D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4462
+#: cp/pt.cc:4470
 #, gcc-internal-format
 msgid "declaration of %q+#D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4464
+#: cp/pt.cc:4472
 #, gcc-internal-format
 msgid "template parameter %qD declared here"
 msgstr ""
 
-#: cp/pt.cc:5139
+#: cp/pt.cc:5156
 #, gcc-internal-format
 msgid "specialization of variable concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:5198
+#: cp/pt.cc:5215
 #, gcc-internal-format
 msgid "template parameters not deducible in partial specialization:"
 msgstr ""
 
-#: cp/pt.cc:5221
+#: cp/pt.cc:5238
 #, 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:5225
+#: cp/pt.cc:5242
 #, gcc-internal-format
 msgid ""
 "partial specialization %q+D does not specialize any template arguments and "
@@ -64145,63 +66422,63 @@ msgid ""
 "template, remove the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5229 cp/pt.cc:5240 cp/pt.cc:5248
+#: cp/pt.cc:5246 cp/pt.cc:5257 cp/pt.cc:5265
 #, gcc-internal-format
 msgid "primary template here"
 msgstr ""
 
-#: cp/pt.cc:5237
+#: cp/pt.cc:5254
 #, 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:5247
+#: cp/pt.cc:5264
 #, gcc-internal-format
 msgid "too many arguments for partial specialization %qT"
 msgstr ""
 
-#: cp/pt.cc:5262
+#: cp/pt.cc:5279
 #, gcc-internal-format
 msgid "partial specialization %qD is not more specialized than"
 msgstr ""
 
-#: cp/pt.cc:5264
+#: cp/pt.cc:5281
 #, gcc-internal-format
 msgid "primary template %qD"
 msgstr ""
 
-#: cp/pt.cc:5306
+#: cp/pt.cc:5323
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qE must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5309
+#: cp/pt.cc:5326
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qT must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5371
+#: cp/pt.cc:5388
 #, 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] ""
 msgstr[1] ""
 
-#: cp/pt.cc:5434
+#: cp/pt.cc:5456
 #, gcc-internal-format
 msgid "declaration of %qD ambiguates earlier template instantiation for %qD"
 msgstr ""
 
-#: cp/pt.cc:5438
+#: cp/pt.cc:5460
 #, gcc-internal-format
 msgid "partial specialization of %qD after instantiation of %qD"
 msgstr ""
 
-#: cp/pt.cc:5621
+#: cp/pt.cc:5643
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr ""
@@ -64210,52 +66487,52 @@ msgstr ""
 #. (DR 2032), or alias template can only have one
 #. parameter pack, at the end of the template
 #. parameter list.
-#: cp/pt.cc:5644
+#: cp/pt.cc:5666
 #, gcc-internal-format
 msgid "parameter pack %q+D must be at the end of the template parameter list"
 msgstr ""
 
-#: cp/pt.cc:5680
+#: cp/pt.cc:5702
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in function template friend re-"
 "declaration"
 msgstr ""
 
-#: cp/pt.cc:5683
+#: cp/pt.cc:5705
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in template friend declarations"
 msgstr ""
 
-#: cp/pt.cc:5686
+#: cp/pt.cc:5708
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in function templates without %<-"
 "std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/pt.cc:5689
+#: cp/pt.cc:5711
 #, gcc-internal-format
 msgid "default template arguments may not be used in partial specializations"
 msgstr ""
 
-#: cp/pt.cc:5692 cp/pt.cc:5750
+#: cp/pt.cc:5714 cp/pt.cc:5772
 #, gcc-internal-format
 msgid "default argument for template parameter for class enclosing %qD"
 msgstr ""
 
-#: cp/pt.cc:5861
+#: cp/pt.cc:5883
 #, gcc-internal-format
 msgid "template %qD declared"
 msgstr ""
 
-#: cp/pt.cc:5869
+#: cp/pt.cc:5891
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr ""
 
-#: cp/pt.cc:5877
+#: cp/pt.cc:5899
 #, gcc-internal-format
 msgid "member template %qD may not have virt-specifiers"
 msgstr ""
@@ -64265,523 +66542,538 @@ msgstr ""
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.cc:5900
+#: cp/pt.cc:5922
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6052
+#: cp/pt.cc:6074
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:6091
+#: cp/pt.cc:6113
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr ""
 
-#: cp/pt.cc:6105
+#: cp/pt.cc:6127
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr ""
 
-#: cp/pt.cc:6108
+#: cp/pt.cc:6130
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
 msgstr ""
 
-#: cp/pt.cc:6110
+#: cp/pt.cc:6132
 #, gcc-internal-format, gfc-internal-format
 msgid "  but %d required"
 msgstr ""
 
-#: cp/pt.cc:6131
+#: cp/pt.cc:6153
 #, gcc-internal-format
 msgid "template arguments to %qD do not match original template %qD"
 msgstr ""
 
-#: cp/pt.cc:6134
+#: cp/pt.cc:6156
 #, gcc-internal-format
 msgid "use %<template<>%> for an explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:6156
+#: cp/pt.cc:6178
 #, gcc-internal-format
 msgid "redeclaration of %qD with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6303
+#: cp/pt.cc:6323
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr ""
 
-#: cp/pt.cc:6316
+#: cp/pt.cc:6336
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6327
+#: cp/pt.cc:6347
 #, gcc-internal-format, gfc-internal-format
 msgid "redeclared with %d template parameter"
 msgid_plural "redeclared with %d template parameters"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/pt.cc:6331
+#: cp/pt.cc:6351
 #, gcc-internal-format
 msgid "previous declaration %qD used %d template parameter"
 msgid_plural "previous declaration %qD used %d template parameters"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/pt.cc:6365
+#: cp/pt.cc:6385
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr ""
 
-#: cp/pt.cc:6367
+#: cp/pt.cc:6387
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr ""
 
-#: cp/pt.cc:6369
+#: cp/pt.cc:6389
 #, gcc-internal-format
 msgid "redeclared here"
 msgstr ""
 
-#: cp/pt.cc:6380
+#: cp/pt.cc:6400
 #, gcc-internal-format
 msgid "declaration of template parameter %q+#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6383 cp/pt.cc:6411
+#: cp/pt.cc:6403 cp/pt.cc:6431
 #, gcc-internal-format
 msgid "original declaration appeared here"
 msgstr ""
 
-#: cp/pt.cc:6408
+#: cp/pt.cc:6428
 #, gcc-internal-format
 msgid "redeclaration of %q#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6767 cp/pt.cc:6837
+#: cp/pt.cc:6839 cp/pt.cc:6909
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:6770
+#: cp/pt.cc:6842
 #, gcc-internal-format
 msgid "it must be the address of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6773
+#: cp/pt.cc:6845
 #, gcc-internal-format
 msgid "it must be the name of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6787
+#: cp/pt.cc:6859
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:6791
+#: cp/pt.cc:6863
 #, 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:6840
+#: cp/pt.cc:6912
 #, gcc-internal-format
 msgid "it must be a pointer-to-member of the form %<&X::Y%>"
 msgstr ""
 
-#: cp/pt.cc:6842
+#: cp/pt.cc:6914
 #, gcc-internal-format
 msgid "because it is a member of %qT"
 msgstr ""
 
-#: cp/pt.cc:6911
+#: cp/pt.cc:6983
 #, gcc-internal-format
 msgid "  couldn%'t deduce template parameter %qD"
 msgstr ""
 
-#: cp/pt.cc:6920
+#: cp/pt.cc:6992
 #, gcc-internal-format
 msgid "  types %qT and %qT have incompatible cv-qualifiers"
 msgstr ""
 
-#: cp/pt.cc:6929
+#: cp/pt.cc:7001
 #, gcc-internal-format
 msgid "  mismatched types %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:6938
+#: cp/pt.cc:7010
 #, gcc-internal-format
 msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
 msgstr ""
 
-#: cp/pt.cc:6949
+#: cp/pt.cc:7021
 #, gcc-internal-format
 msgid "  template argument %qE does not match pointer-to-member constant %qE"
 msgstr ""
 
-#: cp/pt.cc:6959
+#: cp/pt.cc:7031
 #, gcc-internal-format
 msgid "  %qE is not equivalent to %qE"
 msgstr ""
 
-#: cp/pt.cc:6968
+#: cp/pt.cc:7040
 #, gcc-internal-format
 msgid "  inconsistent parameter pack deduction with %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:6980
+#: cp/pt.cc:7052
 #, gcc-internal-format
 msgid "  deduced conflicting types for parameter %qT (%qT and %qT)"
 msgstr ""
 
-#: cp/pt.cc:6984
+#: cp/pt.cc:7056
 #, gcc-internal-format
 msgid "  deduced conflicting values for non-type parameter %qE (%qE and %qE)"
 msgstr ""
 
-#: cp/pt.cc:6995
+#: cp/pt.cc:7067
 #, gcc-internal-format
 msgid "  variable-sized array type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7006
+#: cp/pt.cc:7078
 #, gcc-internal-format
 msgid "  member function type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7049
+#: cp/pt.cc:7121
 #, gcc-internal-format
 msgid "  cannot convert %qE (type %qT) to type %qT"
 msgstr ""
 
-#: cp/pt.cc:7062
+#: cp/pt.cc:7134
 #, gcc-internal-format
 msgid "  %qT is an ambiguous base class of %qT"
 msgstr ""
 
-#: cp/pt.cc:7066
+#: cp/pt.cc:7138
 #, gcc-internal-format
 msgid "  %qT is not derived from %qT"
 msgstr ""
 
-#: cp/pt.cc:7077
+#: cp/pt.cc:7149
 #, gcc-internal-format
 msgid ""
 "  template parameters of a template template argument are inconsistent with "
 "other deduced template arguments"
 msgstr ""
 
-#: cp/pt.cc:7087
+#: cp/pt.cc:7159
 #, gcc-internal-format
 msgid "  cannot deduce a template for %qT from non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:7097
+#: cp/pt.cc:7169
 #, gcc-internal-format
 msgid "  template argument %qE does not match %qE"
 msgstr ""
 
-#: cp/pt.cc:7148
+#: cp/pt.cc:7220
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument of type %qT because %qE is not a "
 "variable or function"
 msgstr ""
 
-#: cp/pt.cc:7157
+#: cp/pt.cc:7229
 #, 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:7167
+#: cp/pt.cc:7239
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument of type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:7182
+#: cp/pt.cc:7256
 #, gcc-internal-format
 msgid "the address of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7192
+#: cp/pt.cc:7266
 #, gcc-internal-format
 msgid ""
 "the address of the %qT subobject of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7199
+#: cp/pt.cc:7273
 #, 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:7217
+#: cp/pt.cc:7291
 #, 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:7225
+#: cp/pt.cc:7299
 #, 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:7346
+#: cp/pt.cc:7421
 #, 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 ""
 
-#: cp/pt.cc:7511
+#: cp/pt.cc:7586
 #, gcc-internal-format
 msgid "in template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:7525
+#: cp/pt.cc:7600
 #, gcc-internal-format
 msgid "template argument %qE for type %qT not a compile-time constant"
 msgstr ""
 
-#: cp/pt.cc:7611
+#: cp/pt.cc:7686
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because of conflicts in cv-"
 "qualification"
 msgstr ""
 
-#: cp/pt.cc:7619
+#: cp/pt.cc:7694
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is not an lvalue"
 msgstr ""
 
-#: cp/pt.cc:7637
+#: cp/pt.cc:7712
 #, gcc-internal-format
 msgid ""
 "%q#D is not a valid template argument for type %qT because a reference "
 "variable does not have a constant address"
 msgstr ""
 
-#: cp/pt.cc:7696
+#: cp/pt.cc:7771
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is a pointer"
 msgstr ""
 
-#: cp/pt.cc:7698
+#: cp/pt.cc:7773
 #, gcc-internal-format
 msgid "try using %qE instead"
 msgstr ""
 
-#: cp/pt.cc:7752
+#: cp/pt.cc:7827
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is of type %qT"
 msgstr ""
 
-#: cp/pt.cc:8311
+#: cp/pt.cc:8419
 #, gcc-internal-format
 msgid "ignoring attributes on template argument %qT"
 msgstr ""
 
-#: cp/pt.cc:8327
+#: cp/pt.cc:8435
 #, gcc-internal-format
 msgid "ignoring attributes in template argument %qE"
 msgstr ""
 
-#: cp/pt.cc:8463
+#: cp/pt.cc:8579
 #, gcc-internal-format
 msgid "injected-class-name %qD used as template template argument"
 msgstr ""
 
-#: cp/pt.cc:8492
+#: cp/pt.cc:8608
 #, gcc-internal-format
 msgid "invalid use of destructor %qE as a type"
 msgstr ""
 
-#: cp/pt.cc:8497
+#: cp/pt.cc:8613
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr ""
 
-#: cp/pt.cc:8513 cp/pt.cc:8547 cp/pt.cc:8597
+#: cp/pt.cc:8629 cp/pt.cc:8663 cp/pt.cc:8713
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8521
+#: cp/pt.cc:8637
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8529
+#: cp/pt.cc:8645
 #, gcc-internal-format
 msgid ""
 "  ambiguous template argument for non-type template parameter is treated as "
 "function type"
 msgstr ""
 
-#: cp/pt.cc:8535
+#: cp/pt.cc:8651
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8538
+#: cp/pt.cc:8654
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8552
+#: cp/pt.cc:8668
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8555
+#: cp/pt.cc:8671
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8601
+#: cp/pt.cc:8717
 #, gcc-internal-format
 msgid "  expected a template of type %qD, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8615
+#: cp/pt.cc:8731
 #, gcc-internal-format
 msgid "constraint mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8618
+#: cp/pt.cc:8734
 #, gcc-internal-format
 msgid "  expected %qD but got %qD"
 msgstr ""
 
-#: cp/pt.cc:8691
+#: cp/pt.cc:8822
 #, gcc-internal-format
 msgid "could not convert template argument %qE from %qT to %qT"
 msgstr ""
 
-#: cp/pt.cc:8829 cp/pt.cc:9155
+#: cp/pt.cc:8960 cp/pt.cc:9286
 #, gcc-internal-format, gfc-internal-format
 msgid "template argument %d is invalid"
 msgstr ""
 
-#: cp/pt.cc:8844 cp/pt.cc:8989
+#: cp/pt.cc:8975 cp/pt.cc:9120
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr ""
 
-#: cp/pt.cc:8985
+#: cp/pt.cc:9116
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be at least %d)"
 msgstr ""
 
-#: cp/pt.cc:8994
+#: cp/pt.cc:9125
 #, gcc-internal-format
 msgid "provided for %qD"
 msgstr ""
 
-#: cp/pt.cc:9019
+#: cp/pt.cc:9150
 #, gcc-internal-format
 msgid ""
 "pack expansion argument for non-pack parameter %qD of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:9023
+#: cp/pt.cc:9154
 #, gcc-internal-format
 msgid "pack expansion argument for non-pack parameter %qD of concept %qD"
 msgstr ""
 
-#: cp/pt.cc:9121
+#: cp/pt.cc:9252
 #, gcc-internal-format
 msgid ""
 "so any instantiation with a non-empty parameter pack would be ill-formed"
 msgstr ""
 
-#: cp/pt.cc:9684
+#: cp/pt.cc:9819
 #, gcc-internal-format
 msgid "%q#D is not a function template"
 msgstr ""
 
-#: cp/pt.cc:9847
+#: cp/pt.cc:9982
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr ""
 
-#: cp/pt.cc:9849
+#: cp/pt.cc:9984
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:9993 cp/pt.cc:22213
+#: cp/pt.cc:10128 cp/pt.cc:22190
 #, gcc-internal-format
 msgid "template constraint failure for %qD"
 msgstr ""
 
-#: cp/pt.cc:10380
+#: cp/pt.cc:10515
 #, gcc-internal-format
 msgid "use of invalid variable template %qE"
 msgstr ""
 
-#: cp/pt.cc:11096
+#: cp/pt.cc:11238
 #, gcc-internal-format
 msgid ""
 "template instantiation depth exceeds maximum of %d (use %<-ftemplate-"
 "depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:12409
+#: cp/pt.cc:11982
+#, gcc-internal-format
+msgid "score argument must be constant integer expression"
+msgstr ""
+
+#: cp/pt.cc:11991
+#, gcc-internal-format
+msgid "score argument must be non-negative"
+msgstr ""
+
+#: cp/pt.cc:12018
+#, gcc-internal-format
+msgid "property must be constant integer expression or string literal"
+msgstr ""
+
+#: cp/pt.cc:12567
 #, gcc-internal-format
 msgid "flexible array member %qD in union"
 msgstr ""
 
-#: cp/pt.cc:12899
+#: cp/pt.cc:13057
 #, gcc-internal-format
 msgid "fold of empty expansion over %O"
 msgstr ""
 
-#: cp/pt.cc:13353
+#: cp/pt.cc:13507
 #, gcc-internal-format
 msgid "%qE is not the entire pattern of the pack expansion"
 msgstr ""
 
-#: cp/pt.cc:13441
+#: cp/pt.cc:13595
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qT"
 msgstr ""
 
-#: cp/pt.cc:13444
+#: cp/pt.cc:13598
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qE"
 msgstr ""
 
-#: cp/pt.cc:14123
+#: cp/pt.cc:14286
 #, gcc-internal-format
 msgid "  when instantiating default argument for call to %qD"
 msgstr ""
 
-#: cp/pt.cc:14219
+#: cp/pt.cc:14382
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:15136
+#: cp/pt.cc:15374
 #, gcc-internal-format, gfc-internal-format
 msgid "mismatched argument pack lengths (%d vs %d)"
 msgstr ""
@@ -64799,305 +67091,305 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.cc:15325
+#: cp/pt.cc:15563
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr ""
 
-#: cp/pt.cc:15524
+#: cp/pt.cc:15764
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr ""
 
-#: cp/pt.cc:15526
+#: cp/pt.cc:15766
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:15653
+#: cp/pt.cc:15893
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.cc:15655
+#: cp/pt.cc:15895
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.cc:16351
+#: cp/pt.cc:16591
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.cc:16353
+#: cp/pt.cc:16593
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16355
+#: cp/pt.cc:16595
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16368
+#: cp/pt.cc:16608
 #, gcc-internal-format
 msgid "forming pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16371
+#: cp/pt.cc:16611
 #, gcc-internal-format
 msgid "forming reference to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16419
+#: cp/pt.cc:16659
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:16425
+#: cp/pt.cc:16665
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16431
+#: cp/pt.cc:16671
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.cc:16497
+#: cp/pt.cc:16737
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.cc:16534
+#: cp/pt.cc:16774
 #, gcc-internal-format
 msgid "%qD is instantiated for an empty pack"
 msgstr ""
 
-#: cp/pt.cc:16555
+#: cp/pt.cc:16795
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.cc:16595
+#: cp/pt.cc:16835
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.cc:16603
+#: cp/pt.cc:16843
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not a class type"
 msgstr ""
 
-#: cp/pt.cc:16720
+#: cp/pt.cc:16961
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.cc:17030
+#: cp/pt.cc:17280
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.cc:17045
+#: cp/pt.cc:17295
 #, gcc-internal-format
 msgid ""
 "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.cc:17047
+#: cp/pt.cc:17297
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.cc:17140
+#: cp/pt.cc:17390
 #, gcc-internal-format
 msgid "initializer for %q#D expands to an empty list of expressions"
 msgstr ""
 
-#: cp/pt.cc:17331
-#, gcc-internal-format
-msgid "using invalid field %qD"
-msgstr ""
-
-#: cp/pt.cc:17864 cp/pt.cc:19854
+#: cp/pt.cc:19413 cp/pt.cc:21558
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.cc:17868 cp/pt.cc:19858
+#: cp/pt.cc:19417 cp/pt.cc:21562
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.cc:19995
+#: cp/pt.cc:19547
 #, gcc-internal-format
 msgid "empty initializer in lambda init-capture"
 msgstr ""
 
-#: cp/pt.cc:21151
+#: cp/pt.cc:20832
 #, 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:21186
+#: cp/pt.cc:20867
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.cc:21191
+#: cp/pt.cc:20872
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:21194
+#: cp/pt.cc:20875
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:21199
+#: cp/pt.cc:20880
 #, gcc-internal-format
 msgid "%qD declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.cc:21250
+#: cp/pt.cc:20931
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_convertvector%>"
 msgstr ""
 
-#: cp/pt.cc:21277
+#: cp/pt.cc:20958
 #, gcc-internal-format
 msgid "wrong number of arguments to %<assume%> attribute"
 msgstr ""
 
-#: cp/pt.cc:21513
+#: cp/pt.cc:21169
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21516
+#: cp/pt.cc:21172
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21866
+#: cp/pt.cc:21490
+#, gcc-internal-format
+msgid "using invalid field %qD"
+msgstr ""
+
+#: cp/pt.cc:21836
 #, gcc-internal-format
 msgid "%qT is/uses unnamed type"
 msgstr ""
 
-#: cp/pt.cc:21868
+#: cp/pt.cc:21838
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.cc:21878
+#: cp/pt.cc:21848
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.cc:21893
+#: cp/pt.cc:21863
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.cc:21911
+#: cp/pt.cc:21881
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.cc:26164
+#: cp/pt.cc:26264
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.cc:26166
+#: cp/pt.cc:26266
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#D"
 msgstr ""
 
-#: cp/pt.cc:26172
+#: cp/pt.cc:26272
 msgid "%s %#qS"
 msgstr ""
 
-#: cp/pt.cc:26199 cp/pt.cc:26294
+#: cp/pt.cc:26299 cp/pt.cc:26394
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:26205
+#: cp/pt.cc:26305
 #, gcc-internal-format
 msgid "explicit instantiation of variable concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:26207
+#: cp/pt.cc:26307
 #, gcc-internal-format
 msgid "explicit instantiation of function concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:26226
+#: cp/pt.cc:26326
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.cc:26232 cp/pt.cc:26289
+#: cp/pt.cc:26332 cp/pt.cc:26389
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.cc:26237
+#: cp/pt.cc:26337
 #, gcc-internal-format
 msgid ""
 "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.cc:26245
+#: cp/pt.cc:26345
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:26281
+#: cp/pt.cc:26381
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:26304 cp/pt.cc:26371
+#: cp/pt.cc:26404 cp/pt.cc:26471
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:26309 cp/pt.cc:26386
+#: cp/pt.cc:26409 cp/pt.cc:26486
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.cc:26343
+#: cp/pt.cc:26443
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.cc:26346
+#: cp/pt.cc:26446
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:26355
+#: cp/pt.cc:26455
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.cc:26376
+#: cp/pt.cc:26476
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:26416
+#: cp/pt.cc:26516
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
 
-#: cp/pt.cc:26732
+#: cp/pt.cc:26832
 #, gcc-internal-format
 msgid "exception specification of %qD depends on itself"
 msgstr ""
@@ -65109,12 +67401,12 @@ msgstr ""
 #. 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:27208
+#: cp/pt.cc:27306
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.cc:27255
+#: cp/pt.cc:27351
 #, gcc-internal-format
 msgid ""
 "template instantiation depth exceeds maximum of %d instantiating %q+D, "
@@ -65122,170 +67414,170 @@ msgid ""
 "increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:27625
+#: cp/pt.cc:27725
 #, gcc-internal-format
 msgid ""
 "non-type template parameters of deduced class type only available with %<-"
 "std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/pt.cc:27655
+#: cp/pt.cc:27755
 #, 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:27664
+#: cp/pt.cc:27764
 #, gcc-internal-format
 msgid ""
 "non-type template parameters of class type only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/pt.cc:27672
+#: cp/pt.cc:27772
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:27674
+#: cp/pt.cc:27774
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:29105
+#: cp/pt.cc:29218
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in declarator-id"
 msgstr ""
 
-#: cp/pt.cc:29395
+#: cp/pt.cc:29398
 #, gcc-internal-format
 msgid "a concept cannot be constrained"
 msgstr ""
 
-#: cp/pt.cc:29404
+#: cp/pt.cc:29407
 #, gcc-internal-format
 msgid "concept %qE not in namespace scope"
 msgstr ""
 
-#: cp/pt.cc:29410
+#: cp/pt.cc:29413
 #, gcc-internal-format
 msgid "concept %qE has multiple template parameter lists"
 msgstr ""
 
-#: cp/pt.cc:29441
+#: cp/pt.cc:29444
 #, gcc-internal-format
 msgid ""
 "deducing from brace-enclosed initializer list requires %<#include "
 "<initializer_list>%>"
 msgstr ""
 
-#: cp/pt.cc:30589
+#: cp/pt.cc:30722
 #, gcc-internal-format
 msgid "non-deducible template %qT used without template arguments"
 msgstr ""
 
-#: cp/pt.cc:30601
+#: cp/pt.cc:30734
 #, gcc-internal-format
 msgid ""
 "alias template deduction only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/pt.cc:30607
+#: cp/pt.cc:30740
 #, gcc-internal-format
 msgid "use %qD directly instead"
 msgstr ""
 
-#: cp/pt.cc:30718
+#: cp/pt.cc:30868
 #, 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:30725
+#: cp/pt.cc:30875
 #, gcc-internal-format
 msgid ""
 "cannot deduce template arguments of %qT, as it has no viable deduction guides"
 msgstr ""
 
-#: cp/pt.cc:30737
+#: cp/pt.cc:30887
 #, gcc-internal-format
 msgid "class template argument deduction failed:"
 msgstr ""
 
-#: cp/pt.cc:30740
+#: cp/pt.cc:30890
 #, gcc-internal-format
 msgid "explicit deduction guides not considered for copy-initialization"
 msgstr ""
 
 #. TODO: Pass down location from cp_finish_decl.
-#: cp/pt.cc:30754
+#: cp/pt.cc:30904
 #, gcc-internal-format
 msgid ""
 "class template argument deduction for %qT failed: explicit deduction guide "
 "selected in copy-list-initialization"
 msgstr ""
 
-#: cp/pt.cc:30758
+#: cp/pt.cc:30908
 #, gcc-internal-format
 msgid "explicit deduction guide declared here"
 msgstr ""
 
-#: cp/pt.cc:30772
+#: cp/pt.cc:30922
 #, gcc-internal-format
 msgid "%qT may not intend to support class template argument deduction"
 msgstr ""
 
-#: cp/pt.cc:30774
+#: cp/pt.cc:30924
 #, gcc-internal-format
 msgid "add a deduction guide to suppress this warning"
 msgstr ""
 
-#: cp/pt.cc:30896
+#: cp/pt.cc:31046
 #, gcc-internal-format
 msgid "direct-list-initialization of %<auto%> requires exactly one element"
 msgstr ""
 
-#: cp/pt.cc:30899
+#: cp/pt.cc:31049
 #, gcc-internal-format
 msgid ""
 "for deduction to %<std::initializer_list%>, use copy-list-initialization (i."
 "e. add %<=%> before the %<{%>)"
 msgstr ""
 
-#: cp/pt.cc:30966
+#: cp/pt.cc:31116
 #, gcc-internal-format
 msgid "unable to deduce lambda return type from %qE"
 msgstr ""
 
-#: cp/pt.cc:30969
+#: cp/pt.cc:31119
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.cc:31044
+#: cp/pt.cc:31194
 #, gcc-internal-format
 msgid "placeholder constraints not satisfied"
 msgstr ""
 
-#: cp/pt.cc:31048
+#: cp/pt.cc:31198
 #, gcc-internal-format
 msgid "deduced initializer does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31052
+#: cp/pt.cc:31202
 #, gcc-internal-format
 msgid "deduced return type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31056
+#: cp/pt.cc:31206
 #, gcc-internal-format
 msgid "deduced expression type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31196
+#: cp/pt.cc:31351
 #, gcc-internal-format
 msgid "invalid use of %qT in template argument"
 msgstr ""
@@ -65337,738 +67629,809 @@ msgstr ""
 msgid "%qT is an inaccessible base of %qT"
 msgstr ""
 
-#: cp/search.cc:1953
+#: cp/search.cc:1981
 #, gcc-internal-format
 msgid "looser exception specification on overriding virtual function %q+#F"
 msgstr ""
 
-#: cp/search.cc:1956
+#: cp/search.cc:1984
 #, gcc-internal-format
 msgid "overridden function is %q#F"
 msgstr ""
 
-#: cp/search.cc:2031
+#: cp/search.cc:2059
 #, gcc-internal-format
 msgid "invalid covariant return type for %q#D"
 msgstr ""
 
-#: cp/search.cc:2033 cp/search.cc:2050 cp/search.cc:2067
+#: cp/search.cc:2061 cp/search.cc:2078 cp/search.cc:2095
 #, gcc-internal-format
 msgid "overridden function is %q#D"
 msgstr ""
 
-#: cp/search.cc:2046
+#: cp/search.cc:2074
 #, gcc-internal-format
 msgid "invalid covariant return type for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2048
+#: cp/search.cc:2076
 #, gcc-internal-format
 msgid "conflicting return type specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2065
+#: cp/search.cc:2093
 #, gcc-internal-format
 msgid "conflicting type attributes specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2080
+#: cp/search.cc:2108
 #, gcc-internal-format
 msgid "%<consteval%> function %q+D overriding non-%<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2083
+#: cp/search.cc:2111
 #, gcc-internal-format
 msgid "non-%<consteval%> function %q+D overriding %<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2086 cp/search.cc:2115 cp/search.cc:2124 cp/search.cc:2135
-#: cp/search.cc:2160
+#: cp/search.cc:2114 cp/search.cc:2143 cp/search.cc:2152 cp/search.cc:2163
+#: cp/search.cc:2188
 #, gcc-internal-format
 msgid "overridden function is %qD"
 msgstr ""
 
-#: cp/search.cc:2102
+#: cp/search.cc:2130
 #, gcc-internal-format
 msgid "%qD declared %<transaction_safe_dynamic%>"
 msgstr ""
 
-#: cp/search.cc:2104
+#: cp/search.cc:2132
 #, gcc-internal-format
 msgid "overriding %qD declared %<transaction_safe%>"
 msgstr ""
 
-#: cp/search.cc:2112
+#: cp/search.cc:2140
 #, gcc-internal-format
 msgid "deleted function %q+D overriding non-deleted function"
 msgstr ""
 
-#: cp/search.cc:2121
+#: cp/search.cc:2149
 #, gcc-internal-format
 msgid "non-deleted function %q+D overriding deleted function"
 msgstr ""
 
-#: cp/search.cc:2132
+#: cp/search.cc:2160
 #, gcc-internal-format
 msgid "function with contracts %q+D overriding contractless function"
 msgstr ""
 
-#: cp/search.cc:2158
+#: cp/search.cc:2186
 #, gcc-internal-format
 msgid "virtual function %q+D overriding final function"
 msgstr ""
 
-#: cp/search.cc:2243
+#: cp/search.cc:2274
 #, gcc-internal-format
 msgid "%q+#D cannot be declared"
 msgstr ""
 
-#: cp/search.cc:2244
+#: cp/search.cc:2275
 #, gcc-internal-format
 msgid "  since %q+#D declared in base class"
 msgstr ""
 
-#: cp/semantics.cc:1029
+#: cp/search.cc:2281
+#, gcc-internal-format
+msgid "explicit object member function overrides virtual function"
+msgstr ""
+
+#: cp/search.cc:2284
+#, gcc-internal-format
+msgid "virtual function declared here"
+msgstr ""
+
+#: cp/semantics.cc:1109
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to true in %<if constexpr%>"
 msgstr ""
 
-#: cp/semantics.cc:1033
+#: cp/semantics.cc:1113
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to false in a non-"
 "%<constexpr%> function"
 msgstr ""
 
-#: cp/semantics.cc:1037
+#: cp/semantics.cc:1117
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to true in a %<consteval%> "
 "function"
 msgstr ""
 
-#: cp/semantics.cc:1208
+#: cp/semantics.cc:1294
 #, gcc-internal-format
 msgid "suggest explicit braces around empty body in %<do%> statement"
 msgstr ""
 
-#: cp/semantics.cc:1723
+#: cp/semantics.cc:1821
 #, gcc-internal-format
 msgid "catching polymorphic type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1728
+#: cp/semantics.cc:1826
 #, gcc-internal-format
 msgid "catching type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1733
+#: cp/semantics.cc:1831
 #, gcc-internal-format
 msgid "catching non-reference type %q#T"
 msgstr ""
 
-#: cp/semantics.cc:1945
+#: cp/semantics.cc:2043
 #, gcc-internal-format
 msgid "type of %<asm%> operand %qE could not be determined"
 msgstr ""
 
-#: cp/semantics.cc:2027
+#: cp/semantics.cc:2125
 #, gcc-internal-format
 msgid "%<__label__%> declarations are only allowed in function scopes"
 msgstr ""
 
-#: cp/semantics.cc:2197
+#: cp/semantics.cc:2298
 #, gcc-internal-format
 msgid "invalid use of member %qD in static member function"
 msgstr ""
 
-#: cp/semantics.cc:2201
+#: cp/semantics.cc:2302
 #, gcc-internal-format
 msgid "invalid use of member %qD in constructor %<pre%> contract"
 msgstr ""
 
-#: cp/semantics.cc:2205
+#: cp/semantics.cc:2306
 #, gcc-internal-format
 msgid "invalid use of member %qD in destructor %<post%> contract"
 msgstr ""
 
-#: cp/semantics.cc:2458
+#: cp/semantics.cc:2569
 #, gcc-internal-format
 msgid "%qE missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:2518
+#: cp/semantics.cc:2629
 #, gcc-internal-format
 msgid ""
 "a statement expression is an insufficient context for overload resolution"
 msgstr ""
 
-#: cp/semantics.cc:2878
+#: cp/semantics.cc:2988
 #, gcc-internal-format
 msgid "cannot call a concept as a function"
 msgstr ""
 
-#: cp/semantics.cc:2946
+#: cp/semantics.cc:3071
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr ""
 
-#: cp/semantics.cc:3048
+#: cp/semantics.cc:3175
+#, gcc-internal-format
+msgid "%<this%> is unavailable for explicit object member functions"
+msgstr ""
+
+#: cp/semantics.cc:3187
+#, gcc-internal-format
+msgid "use explicit object parameter %qs instead"
+msgstr ""
+
+#: cp/semantics.cc:3191
+#, gcc-internal-format
+msgid "name the explicit object parameter"
+msgstr ""
+
+#: cp/semantics.cc:3196
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr ""
 
-#: cp/semantics.cc:3050
+#: cp/semantics.cc:3198
 #, gcc-internal-format
 msgid "invalid use of %<this%> before it is valid"
 msgstr ""
 
-#: cp/semantics.cc:3052
+#: cp/semantics.cc:3200
 #, gcc-internal-format
 msgid "invalid use of %<this%> after it is valid"
 msgstr ""
 
-#: cp/semantics.cc:3054
+#: cp/semantics.cc:3202
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr ""
 
-#: cp/semantics.cc:3056
+#: cp/semantics.cc:3204
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
 msgstr ""
 
-#: cp/semantics.cc:3078
+#: cp/semantics.cc:3226
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr ""
 
-#: cp/semantics.cc:3086 cp/typeck.cc:3093
+#: cp/semantics.cc:3234 cp/typeck.cc:3084
 #, gcc-internal-format
 msgid "qualified type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/semantics.cc:3108
+#: cp/semantics.cc:3256
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3222
+#: cp/semantics.cc:3370
 #, gcc-internal-format
 msgid "compound literal of non-object type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3242
+#: cp/semantics.cc:3390
 #, gcc-internal-format
 msgid "%<auto{x}%> cannot be constrained"
 msgstr ""
 
-#: cp/semantics.cc:3247
+#: cp/semantics.cc:3395
 #, gcc-internal-format
 msgid "%<auto{x}%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/semantics.cc:3439
+#: cp/semantics.cc:3587
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/semantics.cc:3492
+#: cp/semantics.cc:3640
 #, gcc-internal-format
 msgid ""
 "invalid use of type %qT as a default value for a template template-parameter"
 msgstr ""
 
-#: cp/semantics.cc:3496
+#: cp/semantics.cc:3644
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr ""
 
-#: cp/semantics.cc:3513
+#: cp/semantics.cc:3661
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr ""
 
-#: cp/semantics.cc:3544
+#: cp/semantics.cc:3692
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3836
+#: cp/semantics.cc:3984
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.cc:4001
+#: cp/semantics.cc:4152
 #, gcc-internal-format
 msgid "cannot capture member %qD of anonymous union"
 msgstr ""
 
-#: cp/semantics.cc:4018 cp/semantics.cc:12498
+#: cp/semantics.cc:4169
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
 
-#: cp/semantics.cc:4022
+#: cp/semantics.cc:4173
 #, gcc-internal-format
 msgid "the lambda has no capture-default"
 msgstr ""
 
-#: cp/semantics.cc:4024
+#: cp/semantics.cc:4175
 #, gcc-internal-format
 msgid ""
 "lambda in local class %q+T cannot capture variables from the enclosing "
 "context"
 msgstr ""
 
-#: cp/semantics.cc:4039
+#: cp/semantics.cc:4190
 #, gcc-internal-format
 msgid "use of local variable with automatic storage from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4041
+#: cp/semantics.cc:4192
 #, gcc-internal-format
 msgid "use of parameter from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4169
+#: cp/semantics.cc:4320
 #, gcc-internal-format
 msgid "use of parameter outside function body"
 msgstr ""
 
-#: cp/semantics.cc:4179
+#: cp/semantics.cc:4330
 #, gcc-internal-format
 msgid "missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:4215
+#: cp/semantics.cc:4366
 #, 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:4266
+#: cp/semantics.cc:4417
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr ""
 
 #. Ambiguous reference to base members.
-#: cp/semantics.cc:4273
+#: cp/semantics.cc:4424
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr ""
 
-#: cp/semantics.cc:4301
+#: cp/semantics.cc:4452
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/semantics.cc:4454
+#: cp/semantics.cc:4605
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr ""
 
-#: cp/semantics.cc:4472 rust/backend/rust-tree.cc:5459
+#: cp/semantics.cc:4623 rust/backend/rust-tree.cc:5511
 #, gcc-internal-format
 msgid "%qT is not an enumeration type"
 msgstr ""
 
-#: cp/semantics.cc:4499
+#: cp/semantics.cc:4650
 #, gcc-internal-format
 msgid "%<__type_pack_element%> index is not an integral constant"
 msgstr ""
 
-#: cp/semantics.cc:4506
+#: cp/semantics.cc:4656
 #, gcc-internal-format
 msgid "%<__type_pack_element%> index is negative"
 msgstr ""
 
-#: cp/semantics.cc:4512
+#: cp/semantics.cc:4662
 #, gcc-internal-format
 msgid "%<__type_pack_element%> index is out of range"
 msgstr ""
 
 #. Parameter packs can only be used in templates
-#: cp/semantics.cc:4635
+#: cp/semantics.cc:4785
 #, gcc-internal-format
 msgid "parameter pack %<__bases%> only valid in template declaration"
 msgstr ""
 
-#: cp/semantics.cc:4667
+#: cp/semantics.cc:4817
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
 msgstr ""
 
-#: cp/semantics.cc:4680
+#: cp/semantics.cc:4830
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function %qD"
 msgstr ""
 
-#: cp/semantics.cc:4684
+#: cp/semantics.cc:4834
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function"
 msgstr ""
 
-#: cp/semantics.cc:4689
+#: cp/semantics.cc:4839
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to an enumerator %qD"
 msgstr ""
 
-#: cp/semantics.cc:4700
+#: cp/semantics.cc:4850
 #, gcc-internal-format
 msgid ""
 "%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
 msgstr ""
 
-#: cp/semantics.cc:6076
+#: cp/semantics.cc:6046
+#, gcc-internal-format
+msgid "pointer-to-member mapping %qE not supported"
+msgstr ""
+
+#: cp/semantics.cc:6240
 #, gcc-internal-format
 msgid "user defined reduction lookup is ambiguous"
 msgstr ""
 
-#: cp/semantics.cc:6349
+#: cp/semantics.cc:6513
 #, gcc-internal-format
 msgid "%qE in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: cp/semantics.cc:6395
+#: cp/semantics.cc:6559
 #, gcc-internal-format
 msgid "%qE has const type for %<reduction%>"
 msgstr ""
 
-#: cp/semantics.cc:6514
+#: cp/semantics.cc:6678
 #, gcc-internal-format
 msgid "user defined reduction with constructor initializer for base class %qT"
 msgstr ""
 
-#: cp/semantics.cc:6985
+#: cp/semantics.cc:7150
 #, gcc-internal-format
 msgid ""
 "modifier other than %<val%> specified in %<linear%> clause on %<simd%> or "
 "%<for%> constructs when using OpenMP 5.2 modifiers"
 msgstr ""
 
-#: cp/semantics.cc:7000
+#: cp/semantics.cc:7165
 #, gcc-internal-format
 msgid ""
 "linear clause with %qs modifier applied to non-reference variable with %qT "
 "type"
 msgstr ""
 
-#: cp/semantics.cc:7015
+#: cp/semantics.cc:7180
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with %qT type"
 msgstr ""
 
-#: cp/semantics.cc:7039
+#: cp/semantics.cc:7204
 #, gcc-internal-format
 msgid "linear step expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7132 cp/semantics.cc:7264 cp/semantics.cc:7323
-#: cp/semantics.cc:7721 cp/semantics.cc:8883
+#: cp/semantics.cc:7297 cp/semantics.cc:7429 cp/semantics.cc:7489
+#: cp/semantics.cc:7890 cp/semantics.cc:9016
 #, gcc-internal-format
 msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7144 cp/semantics.cc:8896
+#: cp/semantics.cc:7309 cp/semantics.cc:9029
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:7277
+#: cp/semantics.cc:7442
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7336
+#: cp/semantics.cc:7502
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7386
+#: cp/semantics.cc:7553
 #, gcc-internal-format
 msgid "%<gang%> static expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7400
+#: cp/semantics.cc:7567
 #, gcc-internal-format
 msgid "%<gang%> static value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7434
+#: cp/semantics.cc:7601
 #, gcc-internal-format
 msgid "%<gang%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7437
+#: cp/semantics.cc:7604
 #, gcc-internal-format
 msgid "%<vector%> length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7441
+#: cp/semantics.cc:7608
 #, gcc-internal-format
 msgid "%<worker%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7463
+#: cp/semantics.cc:7630
 #, gcc-internal-format
 msgid "%<gang%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7467
+#: cp/semantics.cc:7634
 #, gcc-internal-format
 msgid "%<vector%> length value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7472
+#: cp/semantics.cc:7639
 #, gcc-internal-format
 msgid "%<worker%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7546
+#: cp/semantics.cc:7715
 #, gcc-internal-format
 msgid "schedule chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7579
+#: cp/semantics.cc:7748
 #, gcc-internal-format
 msgid "%qs length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7593
+#: cp/semantics.cc:7762
 #, gcc-internal-format
 msgid "%qs length expression must be positive constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:7613
+#: cp/semantics.cc:7782
 #, gcc-internal-format
 msgid "%<async%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7642
+#: cp/semantics.cc:7811
 #, gcc-internal-format
 msgid "%<thread_limit%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7672
+#: cp/semantics.cc:7841
 #, gcc-internal-format
 msgid "%<device%> id must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7703
+#: cp/semantics.cc:7872
 #, gcc-internal-format
 msgid "%<dist_schedule%> chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7732
+#: cp/semantics.cc:7901
 #, gcc-internal-format
 msgid "%qD is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7747
+#: cp/semantics.cc:7916
 #, 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:7754
+#: cp/semantics.cc:7923
 #, gcc-internal-format
 msgid "%qD appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7769
+#: cp/semantics.cc:7938
 #, gcc-internal-format
 msgid "%<aligned%> clause alignment expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7802
+#: cp/semantics.cc:7971
 #, gcc-internal-format
 msgid "%qD is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7813
+#: cp/semantics.cc:7982
 #, gcc-internal-format
 msgid "%qD appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7830
+#: cp/semantics.cc:7999
 #, gcc-internal-format
 msgid "%<this%> not allowed in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7842
+#: cp/semantics.cc:8011
 #, gcc-internal-format
 msgid "%qD is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7851
+#: cp/semantics.cc:8020
 #, gcc-internal-format
 msgid "%qD appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7999
+#: cp/semantics.cc:8168
 #, gcc-internal-format
 msgid "%qD is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: cp/semantics.cc:8538
+#: cp/semantics.cc:8670
 #, gcc-internal-format
 msgid "template %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8541
+#: cp/semantics.cc:8673
 #, gcc-internal-format
 msgid "overloaded function name %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8610
+#: cp/semantics.cc:8742
 #, gcc-internal-format
 msgid "%<grainsize%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8640
+#: cp/semantics.cc:8772
 #, gcc-internal-format
 msgid "%<priority%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8670
+#: cp/semantics.cc:8802
 #, gcc-internal-format
 msgid "%<hint%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8683
+#: cp/semantics.cc:8815
 #, gcc-internal-format
 msgid "%<hint%> expression must be constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:8700
+#: cp/semantics.cc:8832
 #, gcc-internal-format
 msgid "%<filter%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8731
+#: cp/semantics.cc:8863
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor reference to pointer"
 msgstr ""
 
-#: cp/semantics.cc:8741
+#: cp/semantics.cc:8873
 #, gcc-internal-format
 msgid ""
 "%qs variable is neither a pointer, nor an array nor reference to pointer or "
 "array"
 msgstr ""
 
-#: cp/semantics.cc:8824
+#: cp/semantics.cc:8957
 #, gcc-internal-format
 msgid "%<tile%> argument needs integral type"
 msgstr ""
 
-#: cp/semantics.cc:9240
+#: cp/semantics.cc:9374
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE without %<mutable%> member may appear only in "
 "%<shared%> or %<firstprivate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:9467
+#: cp/semantics.cc:9601
 #, gcc-internal-format
 msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
 msgstr ""
 
-#: cp/semantics.cc:9481
+#: cp/semantics.cc:9615
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE directive not in %qT definition"
 msgstr ""
 
-#: cp/semantics.cc:10217
+#: cp/semantics.cc:10352
 #, gcc-internal-format
 msgid "difference between %qE and %qD does not have integer type"
 msgstr ""
 
-#: cp/semantics.cc:10685
+#: cp/semantics.cc:10837
 #, gcc-internal-format
 msgid "%<#pragma omp simd%> used with class iteration variable %qE"
 msgstr ""
 
-#: cp/semantics.cc:10995 cp/semantics.cc:11005
+#: cp/semantics.cc:11157 cp/semantics.cc:11167
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
 msgstr ""
 
-#: cp/semantics.cc:11388
-#, gcc-internal-format, gfc-internal-format
-msgid "static assertion failed: %s"
+#: cp/semantics.cc:11509
+#, gcc-internal-format
+msgid ""
+"%<static_assert%> message must be a string literal or object with %<size%> "
+"and %<data%> members"
+msgstr ""
+
+#: cp/semantics.cc:11525
+#, gcc-internal-format
+msgid ""
+"%<static_assert%> message %<size()%> must be implicitly convertible to "
+"%<std::size_t%>"
+msgstr ""
+
+#: cp/semantics.cc:11534
+#, gcc-internal-format
+msgid ""
+"%<static_assert%> message %<data()%> must be implicitly convertible to "
+"%<const char*%>"
+msgstr ""
+
+#: cp/semantics.cc:11592
+#, gcc-internal-format
+msgid "%<static_assert%> message %<size()%> must be a constant expression"
+msgstr ""
+
+#: cp/semantics.cc:11600
+#, gcc-internal-format
+msgid "%<static_assert%> message %<size()%> %qE too large"
+msgstr ""
+
+#: cp/semantics.cc:11627
+#, gcc-internal-format
+msgid "%<static_assert%> message %<data()[%d]%> must be a constant expression"
+msgstr ""
+
+#: cp/semantics.cc:11654
+#, gcc-internal-format
+msgid "%<static_assert%> message %<data()%> must be a core constant expression"
+msgstr ""
+
+#: cp/semantics.cc:11680
+#, gcc-internal-format
+msgid "static assertion failed: %.*s"
 msgstr ""
 
-#: cp/semantics.cc:11395
+#: cp/semantics.cc:11688
 #, gcc-internal-format
 msgid "non-constant condition for static assertion"
 msgstr ""
 
-#: cp/semantics.cc:11424
+#: cp/semantics.cc:11717
 #, gcc-internal-format
 msgid "argument to %<decltype%> must be an expression"
 msgstr ""
 
-#: cp/semantics.cc:11469
+#: cp/semantics.cc:11763
 #, gcc-internal-format
 msgid "%<decltype%> cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/semantics.cc:11704 rust/backend/rust-tree.cc:5173
+#: cp/semantics.cc:12066 rust/backend/rust-tree.cc:5225
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
 msgstr ""
 
-#: cp/semantics.cc:11713 rust/backend/rust-tree.cc:5182
+#: cp/semantics.cc:12075 rust/backend/rust-tree.cc:5234
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer "
 "to member"
 msgstr ""
 
-#: cp/semantics.cc:11884 rust/backend/rust-tree.cc:5786
+#: cp/semantics.cc:12246 rust/backend/rust-tree.cc:5838
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_corresponding_member%> not well defined for anonymous unions"
 msgstr ""
 
-#: cp/semantics.cc:11908 rust/backend/rust-tree.cc:5830
+#: cp/semantics.cc:12270 rust/backend/rust-tree.cc:5882
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> needs two arguments"
 msgstr ""
 
-#: cp/semantics.cc:11919 rust/backend/rust-tree.cc:5840
+#: cp/semantics.cc:12281 rust/backend/rust-tree.cc:5892
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member"
 msgstr ""
 
-#: cp/semantics.cc:12319
+#: cp/semantics.cc:12719
 #, gcc-internal-format
 msgid "%qD is not a class or alias template"
 msgstr ""
 
-#: cp/semantics.cc:12537
+#: cp/semantics.cc:12908
 #, gcc-internal-format
 msgid "operand of fold expression has no unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12596
+#: cp/semantics.cc:12968
 #, gcc-internal-format
 msgid "both arguments in binary fold have unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12598
+#: cp/semantics.cc:12970
 #, gcc-internal-format
 msgid "no unexpanded parameter packs in binary fold"
 msgstr ""
 
-#: cp/semantics.cc:12616
+#: cp/semantics.cc:12988
 #, gcc-internal-format
 msgid "non-pointer argument to %<__builtin_launder%>"
 msgstr ""
@@ -66076,33 +68439,33 @@ msgstr ""
 #. 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:12665
+#: cp/semantics.cc:13037
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
 msgstr ""
 
-#: cp/semantics.cc:12671
+#: cp/semantics.cc:13043
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12698
+#: cp/semantics.cc:13070
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12706
+#: cp/semantics.cc:13078
 #, gcc-internal-format
 msgid ""
 "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
 msgstr ""
 
-#: cp/tree.cc:1484 rust/backend/rust-tree.cc:2561
+#: cp/tree.cc:1485 rust/backend/rust-tree.cc:2609
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.cc:1997
+#: cp/tree.cc:2003
 #, gcc-internal-format
 msgid "statement-expression in a constant expression"
 msgstr ""
@@ -66196,93 +68559,93 @@ msgid ""
 "%E]]%>"
 msgstr ""
 
-#: cp/tree.cc:5160
+#: cp/tree.cc:5168
 #, gcc-internal-format
 msgid "requested %<init_priority%> is not an integer constant"
 msgstr ""
 
-#: cp/tree.cc:5182
+#: cp/tree.cc:5190
 #, gcc-internal-format
 msgid ""
 "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.cc:5190
+#: cp/tree.cc:5198
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is out of range [0, %i]"
 msgstr ""
 
-#: cp/tree.cc:5201
+#: cp/tree.cc:5209
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is reserved for internal use"
 msgstr ""
 
-#: cp/tree.cc:5231
+#: cp/tree.cc:5239
 #, gcc-internal-format
 msgid "redeclaration of %qD adds abi tag %qE"
 msgstr ""
 
-#: cp/tree.cc:5251
+#: cp/tree.cc:5259
 #, gcc-internal-format
 msgid "the %qE attribute requires arguments"
 msgstr ""
 
-#: cp/tree.cc:5262
+#: cp/tree.cc:5270
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must be narrow string literals"
 msgstr ""
 
-#: cp/tree.cc:5275 cp/tree.cc:5288
+#: cp/tree.cc:5283 cp/tree.cc:5296
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must contain valid identifiers"
 msgstr ""
 
-#: cp/tree.cc:5277
+#: cp/tree.cc:5285
 #, gcc-internal-format
 msgid "%<%c%> is not a valid first character for an identifier"
 msgstr ""
 
-#: cp/tree.cc:5290
+#: cp/tree.cc:5298
 #, gcc-internal-format
 msgid "%<%c%> is not a valid character in an identifier"
 msgstr ""
 
-#: cp/tree.cc:5314
+#: cp/tree.cc:5322
 #, gcc-internal-format
 msgid "%qE attribute applied to non-class, non-enum type %qT"
 msgstr ""
 
-#: cp/tree.cc:5320
+#: cp/tree.cc:5328
 #, gcc-internal-format
 msgid "%qE attribute applied to %qT after its definition"
 msgstr ""
 
-#: cp/tree.cc:5327
+#: cp/tree.cc:5335
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template instantiation %qT"
 msgstr ""
 
-#: cp/tree.cc:5334
+#: cp/tree.cc:5342
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template specialization %qT"
 msgstr ""
 
-#: cp/tree.cc:5356
+#: cp/tree.cc:5364
 #, gcc-internal-format
 msgid "%qE attribute applied to non-function, non-variable %qD"
 msgstr ""
 
-#: cp/tree.cc:5362
+#: cp/tree.cc:5370
 #, gcc-internal-format
 msgid "%qE attribute applied to extern \"C\" declaration %qD"
 msgstr ""
 
-#: cp/tree.cc:6239
+#: cp/tree.cc:6246
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr ""
 
-#: cp/tree.cc:6280 rust/backend/rust-tree.cc:3141
+#: cp/tree.cc:6287 rust/backend/rust-tree.cc:3189
 #, gcc-internal-format
 msgid "%<lang_*%> check: failed in %s, at %s:%d"
 msgstr ""
@@ -66385,861 +68748,912 @@ msgstr ""
 msgid "%<alignas%> argument has non-integral type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2366 rust/backend/rust-tree.cc:3769
+#: cp/typeck.cc:2366 rust/backend/rust-tree.cc:3817
 #, gcc-internal-format
 msgid "invalid use of non-static member function of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2542
-#, gcc-internal-format
-msgid "taking address of temporary array"
-msgstr ""
-
-#: cp/typeck.cc:2724
+#: cp/typeck.cc:2715
 #, gcc-internal-format
 msgid "ISO C++ forbids converting a string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2728
+#: cp/typeck.cc:2719
 #, gcc-internal-format
 msgid "deprecated conversion from string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2843 cp/typeck.cc:3408
+#: cp/typeck.cc:2834 cp/typeck.cc:3398
 #, 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:2847 cp/typeck.cc:3412
+#: cp/typeck.cc:2838 cp/typeck.cc:3402
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2881
+#: cp/typeck.cc:2872
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qE"
 msgstr ""
 
-#: cp/typeck.cc:2958
+#: cp/typeck.cc:2949
 #, gcc-internal-format
 msgid ""
 "invalid access to non-static data member %qD in virtual base of NULL object"
 msgstr ""
 
-#: cp/typeck.cc:3108
+#: cp/typeck.cc:3099
 #, gcc-internal-format
 msgid "object type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/typeck.cc:3117
+#: cp/typeck.cc:3108
 #, gcc-internal-format
 msgid "the type being destroyed is %qT, but the destructor refers to %qT"
 msgstr ""
 
-#: cp/typeck.cc:3259
+#: cp/typeck.cc:3250
 #, gcc-internal-format
 msgid "field %q#D can be accessed via %q#D"
 msgstr ""
 
 #. No hint.
-#: cp/typeck.cc:3278
+#: cp/typeck.cc:3269
 #, gcc-internal-format
 msgid "%q#T has no member named %qE"
 msgstr ""
 
-#: cp/typeck.cc:3301
+#: cp/typeck.cc:3292
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)"
 msgstr ""
 
-#: cp/typeck.cc:3312
+#: cp/typeck.cc:3303
 #, gcc-internal-format
 msgid ""
 "%q#T has no member named %qE; did you mean %q#D? (not accessible from this "
 "context)"
 msgstr ""
 
-#: cp/typeck.cc:3327
+#: cp/typeck.cc:3318
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: cp/typeck.cc:3442 cp/typeck.cc:3468
+#: cp/typeck.cc:3432 cp/typeck.cc:3458
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a member of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3507
+#: cp/typeck.cc:3512
 #, gcc-internal-format
 msgid "%qT is not a base of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3570
+#: cp/typeck.cc:3575
 #, gcc-internal-format
 msgid "%qD is not a member template function"
 msgstr ""
 
-#: cp/typeck.cc:3836
+#: cp/typeck.cc:3840
 #, gcc-internal-format
 msgid "%qT is not a pointer-to-object type"
 msgstr ""
 
-#: cp/typeck.cc:3868
+#: cp/typeck.cc:3872
 #, gcc-internal-format
 msgid "invalid use of array indexing on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3871
+#: cp/typeck.cc:3875
 #, gcc-internal-format
 msgid "invalid use of unary %<*%> on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3874
+#: cp/typeck.cc:3878
 #, gcc-internal-format
 msgid "invalid use of implicit conversion on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3878
+#: cp/typeck.cc:3882
 #, 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:3943
+#: cp/typeck.cc:3948
 #, gcc-internal-format
 msgid "subscript missing in array reference"
 msgstr ""
 
-#: cp/typeck.cc:4040
+#: cp/typeck.cc:4053
 #, gcc-internal-format
 msgid "subscripting array declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:4078
+#: cp/typeck.cc:4092
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer"
 msgstr ""
 
-#: cp/typeck.cc:4150
+#: cp/typeck.cc:4164
 #, gcc-internal-format
 msgid "object missing in use of %qE"
 msgstr ""
 
-#: cp/typeck.cc:4375
+#: cp/typeck.cc:4389
 #, gcc-internal-format
 msgid "ISO C++ forbids calling %<::main%> from within program"
 msgstr ""
 
-#: cp/typeck.cc:4396
+#: cp/typeck.cc:4410
 #, gcc-internal-format
 msgid ""
 "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E "
 "(...)%>, e.g. %<(... ->* %E) (...)%>"
 msgstr ""
 
-#: cp/typeck.cc:4413
+#: cp/typeck.cc:4427
 #, gcc-internal-format
 msgid "%qE cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4416
+#: cp/typeck.cc:4430
 #, gcc-internal-format
 msgid "%qD cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4419
+#: cp/typeck.cc:4433
 #, gcc-internal-format
 msgid "expression cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4477
+#: cp/typeck.cc:4491
 #, gcc-internal-format
 msgid "too many arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4478
+#: cp/typeck.cc:4492
 #, gcc-internal-format
 msgid "too few arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4483
+#: cp/typeck.cc:4497
 #, gcc-internal-format
 msgid "too many arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4484
+#: cp/typeck.cc:4498
 #, gcc-internal-format
 msgid "too few arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4490
+#: cp/typeck.cc:4504
 #, gcc-internal-format
 msgid "too many arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4491
+#: cp/typeck.cc:4505
 #, gcc-internal-format
 msgid "too few arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4501
+#: cp/typeck.cc:4515
 #, gcc-internal-format
 msgid "too many arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4502
+#: cp/typeck.cc:4516
 #, gcc-internal-format
 msgid "too few arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4505
+#: cp/typeck.cc:4519
 #, gcc-internal-format
 msgid "too many arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4506
+#: cp/typeck.cc:4520
 #, gcc-internal-format
 msgid "too few arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4588
+#: cp/typeck.cc:4602
 #, gcc-internal-format
 msgid "parameter %P of %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4594
+#: cp/typeck.cc:4608
 #, gcc-internal-format
 msgid "parameter %P has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4860
+#: cp/typeck.cc:4917
 #, gcc-internal-format
 msgid "the address %qE will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4906
+#: cp/typeck.cc:4963
 #, gcc-internal-format
 msgid "the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4921
+#: cp/typeck.cc:4978
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qE will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4924
+#: cp/typeck.cc:4981
 #, gcc-internal-format
 msgid "comparing the result of pointer addition %qE and NULL"
 msgstr ""
 
-#: cp/typeck.cc:4939
+#: cp/typeck.cc:4996
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4988
+#: cp/typeck.cc:5055
+#, gcc-internal-format
+msgid "bitwise operation between different enumeration types %qT and %qT"
+msgstr ""
+
+#: cp/typeck.cc:5058
 #, gcc-internal-format
 msgid ""
 "bitwise operation between different enumeration types %qT and %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4993
+#: cp/typeck.cc:5064
+#, gcc-internal-format
+msgid "arithmetic between different enumeration types %qT and %qT"
+msgstr ""
+
+#: cp/typeck.cc:5067
 #, gcc-internal-format
 msgid ""
 "arithmetic between different enumeration types %qT and %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5023
+#: cp/typeck.cc:5104
+#, gcc-internal-format
+msgid "comparison of enumeration type %qT with floating-point type %qT"
+msgstr ""
+
+#: cp/typeck.cc:5107
+#, gcc-internal-format
+msgid "comparison of floating-point type %qT with enumeration type %qT"
+msgstr ""
+
+#: cp/typeck.cc:5110
 #, gcc-internal-format
 msgid ""
 "comparison of enumeration type %qT with floating-point type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5027
+#: cp/typeck.cc:5114
 #, gcc-internal-format
 msgid ""
 "comparison of floating-point type %qT with enumeration type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5036
+#: cp/typeck.cc:5123
+#, gcc-internal-format
+msgid "arithmetic between enumeration type %qT and floating-point type %qT"
+msgstr ""
+
+#: cp/typeck.cc:5126
+#, gcc-internal-format
+msgid "arithmetic between floating-point type %qT and enumeration type %qT"
+msgstr ""
+
+#: cp/typeck.cc:5129
 #, gcc-internal-format
 msgid ""
 "arithmetic between enumeration type %qT and floating-point type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5040
+#: cp/typeck.cc:5133
 #, gcc-internal-format
 msgid ""
 "arithmetic between floating-point type %qT and enumeration type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5174 cp/typeck.cc:5186
+#: cp/typeck.cc:5268 cp/typeck.cc:5280
 #, gcc-internal-format
 msgid "assuming cast to type %qT from overloaded function"
 msgstr ""
 
-#: cp/typeck.cc:5300
+#: cp/typeck.cc:5394
 #, gcc-internal-format
 msgid "NULL used in arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:5757 cp/typeck.cc:5766 cp/typeck.cc:6067 cp/typeck.cc:6076
+#: cp/typeck.cc:5855 cp/typeck.cc:5864 cp/typeck.cc:6165 cp/typeck.cc:6174
 #, gcc-internal-format
 msgid "ISO C++ forbids comparison between pointer and integer"
 msgstr ""
 
-#: cp/typeck.cc:5989 cp/typeck.cc:6002
+#: cp/typeck.cc:6087 cp/typeck.cc:6100
 #, gcc-internal-format
 msgid "operand types are %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:6025
+#: cp/typeck.cc:6123
 #, gcc-internal-format
 msgid "three-way comparison of vectors"
 msgstr ""
 
-#: cp/typeck.cc:6059
+#: cp/typeck.cc:6157
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero (%qT and %qT)"
 msgstr ""
 
-#: cp/typeck.cc:6106
+#: cp/typeck.cc:6204
 #, gcc-internal-format
 msgid "unordered comparison on non-floating-point argument"
 msgstr ""
 
-#: cp/typeck.cc:6173
+#: cp/typeck.cc:6270
 msgid ""
 "implicit conversion from %qH to %qI to match other operand of binary "
 "expression"
 msgstr ""
 
-#: cp/typeck.cc:6283
+#: cp/typeck.cc:6379
 #, gcc-internal-format
 msgid "invalid operands of types %qT and %qT to binary %qO"
 msgstr ""
 
-#: cp/typeck.cc:6691
+#: cp/typeck.cc:6780
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6699
+#: cp/typeck.cc:6788
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a function in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6707
+#: cp/typeck.cc:6796
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a method in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6760
+#: cp/typeck.cc:6849
 #, gcc-internal-format
 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:6839
+#: cp/typeck.cc:6926
 #, gcc-internal-format
 msgid "taking address of constructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6840
+#: cp/typeck.cc:6927
 #, gcc-internal-format
 msgid "taking address of destructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6856
+#: cp/typeck.cc:6943
 #, gcc-internal-format
 msgid "invalid use of %qE to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6859
+#: cp/typeck.cc:6946
 #, gcc-internal-format
 msgid "  a qualified-id is required"
 msgstr ""
 
-#: cp/typeck.cc:6866
+#: cp/typeck.cc:6953
 #, gcc-internal-format
 msgid ""
 "parentheses around %qE cannot be used to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:7057
+#: cp/typeck.cc:7148
 #, 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:7063
+#: cp/typeck.cc:7154
+#, gcc-internal-format
+msgid ""
+"ISO C++ forbids taking the address of an unqualified or parenthesized non-"
+"static member function to form a pointer to explicit object member function"
+msgstr ""
+
+#: cp/typeck.cc:7160
 #, 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 ""
 
+#: cp/typeck.cc:7166
+#, gcc-internal-format
+msgid ""
+"ISO C++ forbids taking the address of a bound member function to form a "
+"pointer to explicit object member function"
+msgstr ""
+
+#: cp/typeck.cc:7171
+#, gcc-internal-format
+msgid ""
+"a pointer to explicit object member function can only be formed with %<&%T::"
+"%D%>"
+msgstr ""
+
 #. Make this a permerror because we used to accept it.
-#: cp/typeck.cc:7098
+#: cp/typeck.cc:7204
 #, gcc-internal-format
 msgid "taking address of rvalue"
 msgstr ""
 
-#: cp/typeck.cc:7115
+#: cp/typeck.cc:7221
 #, gcc-internal-format
 msgid "ISO C++ forbids taking address of function %<::main%>"
 msgstr ""
 
-#: cp/typeck.cc:7173
+#: cp/typeck.cc:7279
 #, gcc-internal-format
 msgid "cannot create pointer to reference member %qD"
 msgstr ""
 
-#: cp/typeck.cc:7199 cp/typeck.cc:7775 rust/backend/rust-tree.cc:4662
+#: cp/typeck.cc:7314 cp/typeck.cc:7890 rust/backend/rust-tree.cc:4714
 #, gcc-internal-format
 msgid "attempt to take address of bit-field"
 msgstr ""
 
-#: cp/typeck.cc:7363
+#: cp/typeck.cc:7476
 #, gcc-internal-format
 msgid "%<~%> on an expression of type %<bool%>"
 msgstr ""
 
-#: cp/typeck.cc:7364
+#: cp/typeck.cc:7477
 #, gcc-internal-format
 msgid "did you mean to use logical not (%<!%>)?"
 msgstr ""
 
-#: cp/typeck.cc:7494
+#: cp/typeck.cc:7609
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7495
+#: cp/typeck.cc:7610
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7511
+#: cp/typeck.cc:7626
 #, gcc-internal-format
 msgid "cannot increment a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7513
+#: cp/typeck.cc:7628
 #, gcc-internal-format
 msgid "cannot decrement a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7525
+#: cp/typeck.cc:7640
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7527
+#: cp/typeck.cc:7642
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7567
+#: cp/typeck.cc:7682
 #, gcc-internal-format
 msgid "%qs expression of %<volatile%>-qualified type is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7580
+#: cp/typeck.cc:7695
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator--%> is forbidden"
 msgstr ""
 
-#: cp/typeck.cc:7590
+#: cp/typeck.cc:7705
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is forbidden in C++17"
 msgstr ""
 
-#: cp/typeck.cc:7598
+#: cp/typeck.cc:7713
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7787 rust/backend/rust-tree.cc:4674
+#: cp/typeck.cc:7902 rust/backend/rust-tree.cc:4726
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr ""
 
-#: cp/typeck.cc:7809 d/d-codegen.cc:719 rust/backend/rust-tree.cc:4693
+#: cp/typeck.cc:7924 d/d-codegen.cc:719 rust/backend/rust-tree.cc:4745
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr ""
 
-#: cp/typeck.cc:7814 rust/backend/rust-tree.cc:4700
+#: cp/typeck.cc:7929 rust/backend/rust-tree.cc:4752
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:7889
+#: cp/typeck.cc:8000
 #, gcc-internal-format
 msgid "list-initializer for non-class type must not be parenthesized"
 msgstr ""
 
-#: cp/typeck.cc:7901
+#: cp/typeck.cc:8012
 #, gcc-internal-format
 msgid "expression list treated as compound expression in initializer"
 msgstr ""
 
-#: cp/typeck.cc:7905
+#: cp/typeck.cc:8016
 #, gcc-internal-format
 msgid "expression list treated as compound expression in mem-initializer"
 msgstr ""
 
-#: cp/typeck.cc:7909
+#: cp/typeck.cc:8020
 #, gcc-internal-format
 msgid "expression list treated as compound expression in functional cast"
 msgstr ""
 
-#: cp/typeck.cc:7947
+#: cp/typeck.cc:8058
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr ""
 
-#: cp/typeck.cc:8050
+#: cp/typeck.cc:8159
 #, gcc-internal-format
 msgid "no context to resolve type of %qE"
 msgstr ""
 
-#: cp/typeck.cc:8087
+#: cp/typeck.cc:8196
 #, gcc-internal-format
 msgid "cast from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8093
+#: cp/typeck.cc:8202
 #, gcc-internal-format
 msgid "%<static_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8100
+#: cp/typeck.cc:8209
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8126
+#: cp/typeck.cc:8235
 #, gcc-internal-format
 msgid "useless cast to type %q#T"
 msgstr ""
 
-#: cp/typeck.cc:8140
+#: cp/typeck.cc:8249
 #, gcc-internal-format
 msgid "type qualifiers ignored on cast result type"
 msgstr ""
 
-#: cp/typeck.cc:8583
+#: cp/typeck.cc:8697
 #, gcc-internal-format
 msgid "invalid %<static_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8589 cp/typeck.cc:8595 cp/typeck.cc:10306
+#: cp/typeck.cc:8703 cp/typeck.cc:8709 cp/typeck.cc:10420
 #, gcc-internal-format
 msgid "class type %qT is incomplete"
 msgstr ""
 
-#: cp/typeck.cc:8623
+#: cp/typeck.cc:8737
 msgid "converting from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8698
+#: cp/typeck.cc:8812
 #, gcc-internal-format
 msgid "invalid cast of a prvalue expression of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8768
+#: cp/typeck.cc:8882
 msgid "cast from %qH to %qI loses precision"
 msgstr ""
 
-#: cp/typeck.cc:8793
+#: cp/typeck.cc:8907
 msgid "cast between incompatible function types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8804
+#: cp/typeck.cc:8918
 msgid "cast between incompatible pointer to member types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8825 cp/typeck.cc:9015
+#: cp/typeck.cc:8939 cp/typeck.cc:9129
 msgid "cast from %qH to %qI increases required alignment of target type"
 msgstr ""
 
-#: cp/typeck.cc:8842
+#: cp/typeck.cc:8956
 #, gcc-internal-format
 msgid ""
 "casting between pointer-to-function and pointer-to-object is conditionally-"
 "supported"
 msgstr ""
 
-#: cp/typeck.cc:8856
+#: cp/typeck.cc:8970
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8929
+#: cp/typeck.cc:9043
 #, 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:8938
+#: cp/typeck.cc:9052
 #, 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:8980
+#: cp/typeck.cc:9094
 #, gcc-internal-format
 msgid "invalid %<const_cast%> of an rvalue of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9050
+#: cp/typeck.cc:9164
 #, gcc-internal-format
 msgid "invalid %<const_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9151 cp/typeck.cc:9160
+#: cp/typeck.cc:9265 cp/typeck.cc:9274
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9169
+#: cp/typeck.cc:9283
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9280
+#: cp/typeck.cc:9396
 #, gcc-internal-format
 msgid "moving %qE of type %qT to itself"
 msgstr ""
 
-#: cp/typeck.cc:9281 cp/typeck.cc:10836 cp/typeck.cc:10852 cp/typeck.cc:10877
-#: cp/typeck.cc:10914
+#: cp/typeck.cc:9397 cp/typeck.cc:10947 cp/typeck.cc:10963 cp/typeck.cc:10988
+#: cp/typeck.cc:11025
 #, gcc-internal-format
 msgid "remove %<std::move%> call"
 msgstr ""
 
-#: cp/typeck.cc:9541
+#: cp/typeck.cc:9657
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
 msgstr ""
 
-#: cp/typeck.cc:9601
+#: cp/typeck.cc:9717
 #, gcc-internal-format
 msgid "assigning to an array from an initializer list"
 msgstr ""
 
-#: cp/typeck.cc:9628
+#: cp/typeck.cc:9744
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr ""
 
-#: cp/typeck.cc:9644
+#: cp/typeck.cc:9760
 #, gcc-internal-format
 msgid "array used as initializer"
 msgstr ""
 
-#: cp/typeck.cc:9646
+#: cp/typeck.cc:9762
 #, gcc-internal-format
 msgid "invalid array assignment"
 msgstr ""
 
-#: cp/typeck.cc:9790
+#: cp/typeck.cc:9898
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
 msgstr ""
 
-#: cp/typeck.cc:9804
+#: cp/typeck.cc:9912
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr ""
 
-#: cp/typeck.cc:9851 cp/typeck.cc:9870
+#: cp/typeck.cc:9959 cp/typeck.cc:9978
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
 msgstr ""
 
-#: cp/typeck.cc:9951
+#: cp/typeck.cc:10059
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr ""
 
-#: cp/typeck.cc:10269
+#: cp/typeck.cc:10379
 msgid "cannot convert %qH to %qI in default argument"
 msgstr ""
 
-#: cp/typeck.cc:10274
+#: cp/typeck.cc:10384
 msgid "cannot convert %qH to %qI in argument passing"
 msgstr ""
 
-#: cp/typeck.cc:10283
+#: cp/typeck.cc:10393
 msgid "cannot convert %qH to %qI in initialization"
 msgstr ""
 
-#: cp/typeck.cc:10287
+#: cp/typeck.cc:10397
 msgid "cannot convert %qH to %qI in return"
 msgstr ""
 
-#: cp/typeck.cc:10292
+#: cp/typeck.cc:10402
 msgid "cannot convert %qH to %qI in assignment"
 msgstr ""
 
-#: cp/typeck.cc:10324
+#: cp/typeck.cc:10438
 #, gcc-internal-format
 msgid "parameter %qP of %qD might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10328
+#: cp/typeck.cc:10442
 #, gcc-internal-format
 msgid "parameter might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10333
+#: cp/typeck.cc:10447
 #, gcc-internal-format
 msgid "target of conversion might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10338
+#: cp/typeck.cc:10452
 #, gcc-internal-format
 msgid "target of initialization might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10348
+#: cp/typeck.cc:10462
 #, gcc-internal-format
 msgid ""
 "left-hand side of assignment might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10444
+#: cp/typeck.cc:10548
 #, gcc-internal-format
 msgid "in passing argument %P of %qD"
 msgstr ""
 
-#: cp/typeck.cc:10526
+#: cp/typeck.cc:10630
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr ""
 
-#: cp/typeck.cc:10529
+#: cp/typeck.cc:10633
+#, gcc-internal-format
+msgid "returning pointer to temporary"
+msgstr ""
+
+#: cp/typeck.cc:10636
 #, gcc-internal-format
 msgid ""
 "returning temporary %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10565
+#: cp/typeck.cc:10672
 #, gcc-internal-format
 msgid "reference to local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10569
+#: cp/typeck.cc:10676
 #, gcc-internal-format
 msgid ""
 "returning local %<initializer_list%> variable %qD does not extend the "
 "lifetime of the underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10575
+#: cp/typeck.cc:10682
 #, gcc-internal-format
 msgid "address of label %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10579
+#: cp/typeck.cc:10686
 #, gcc-internal-format
 msgid "address of local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10835
+#: cp/typeck.cc:10946
 #, gcc-internal-format
 msgid "moving a temporary object prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10850
+#: cp/typeck.cc:10961
 #, gcc-internal-format
 msgid "moving a local object in a return statement prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10876 cp/typeck.cc:10911
+#: cp/typeck.cc:10987 cp/typeck.cc:11022
 #, gcc-internal-format
 msgid "redundant move in return statement"
 msgstr ""
 
-#: cp/typeck.cc:10913
+#: cp/typeck.cc:11024
 #, gcc-internal-format
 msgid "redundant move in initialization"
 msgstr ""
 
-#: cp/typeck.cc:10951
+#: cp/typeck.cc:11062
 #, gcc-internal-format
 msgid "returning a value from a destructor"
 msgstr ""
 
 #. If a return statement appears in a handler of the
 #. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.cc:10963
+#: cp/typeck.cc:11074
 #, 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:10966
+#: cp/typeck.cc:11077
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr ""
 
 #. Give a helpful error message.
-#: cp/typeck.cc:11005 cp/typeck.cc:11051
+#: cp/typeck.cc:11116 cp/typeck.cc:11162
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:11013
+#: cp/typeck.cc:11124
 #, gcc-internal-format
 msgid "returning initializer list"
 msgstr ""
 
-#: cp/typeck.cc:11032
+#: cp/typeck.cc:11143
 #, gcc-internal-format
 msgid "inconsistent types %qT and %qT deduced for lambda return type"
 msgstr ""
 
-#: cp/typeck.cc:11035
+#: cp/typeck.cc:11146
 #, gcc-internal-format
 msgid "inconsistent deduction for auto return type: %qT and then %qT"
 msgstr ""
 
-#: cp/typeck.cc:11070
+#: cp/typeck.cc:11181
 #, gcc-internal-format
 msgid "return-statement with a value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:11099
+#: cp/typeck.cc:11210
 #, 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:11188
+#: cp/typeck.cc:11299
 #, gcc-internal-format
 msgid "not eliding copy on return from %qD"
 msgstr ""
 
-#: cp/typeck.cc:11200
+#: cp/typeck.cc:11311
 #, gcc-internal-format
 msgid "not eliding copy on return in %qD"
 msgstr ""
 
-#: cp/typeck.cc:11790
+#: cp/typeck.cc:11898
 #, gcc-internal-format
 msgid "using rvalue as lvalue"
 msgstr ""
@@ -67406,12 +69820,12 @@ msgstr ""
 msgid "invalid use of incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888
+#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3936
 #, gcc-internal-format
 msgid "invalid use of member function %qD (did you forget the %<()%> ?)"
 msgstr ""
 
-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894
+#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3942
 #, gcc-internal-format
 msgid "invalid use of member %qD (did you forget the %<&%> ?)"
 msgstr ""
@@ -67441,22 +69855,22 @@ msgstr ""
 msgid "invalid use of dependent type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904
+#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3952
 #, gcc-internal-format
 msgid "invalid use of brace-enclosed initializer list"
 msgstr ""
 
-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912
+#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3960
 #, gcc-internal-format
 msgid "address of overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917
+#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3965
 #, gcc-internal-format
 msgid "overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921
+#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3969
 #, gcc-internal-format
 msgid "insufficient contextual information to determine type"
 msgstr ""
@@ -67475,7 +69889,7 @@ msgstr ""
 msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.cc:1101 cp/typeck2.cc:1116
+#: cp/typeck2.cc:1101 cp/typeck2.cc:1113
 msgid "narrowing conversion of %qE from %qH to %qI"
 msgstr ""
 
@@ -67485,132 +69899,132 @@ msgid ""
 " the expression has a constant value but is not a C++ constant-expression"
 msgstr ""
 
-#: cp/typeck2.cc:1280
+#: cp/typeck2.cc:1276
 #, gcc-internal-format
 msgid "initializer-string for %qT is too long"
 msgstr ""
 
-#: cp/typeck2.cc:1343
+#: cp/typeck2.cc:1339
 #, gcc-internal-format
 msgid "initializing a base class of type %qT results in object slicing"
 msgstr ""
 
-#: cp/typeck2.cc:1345
+#: cp/typeck2.cc:1341
 #, gcc-internal-format
 msgid "remove %<{ }%> around initializer"
 msgstr ""
 
-#: cp/typeck2.cc:1365
+#: cp/typeck2.cc:1361
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.cc:1849 cp/typeck2.cc:1880
+#: cp/typeck2.cc:1844 cp/typeck2.cc:1875
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.cc:1856
+#: cp/typeck2.cc:1851
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.cc:1863
+#: cp/typeck2.cc:1858
 #, gcc-internal-format
 msgid "member %qD with uninitialized reference fields"
 msgstr ""
 
-#: cp/typeck2.cc:1949
+#: cp/typeck2.cc:1944
 #, gcc-internal-format
 msgid "designator order for field %qD does not match declaration order in %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2022
+#: cp/typeck2.cc:2017
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.cc:2033
+#: cp/typeck2.cc:2028
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.cc:2249
+#: cp/typeck2.cc:2243
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.cc:2263
+#: cp/typeck2.cc:2257
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2293
+#: cp/typeck2.cc:2287
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.cc:2295
+#: cp/typeck2.cc:2289
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.cc:2322
+#: cp/typeck2.cc:2316
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2331
+#: cp/typeck2.cc:2325
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2353
+#: cp/typeck2.cc:2347
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2411
+#: cp/typeck2.cc:2409
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an rvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2422
+#: cp/typeck2.cc:2420
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2430
+#: cp/typeck2.cc:2428
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue before C++20"
 msgstr ""
 
-#: cp/typeck2.cc:2471
+#: cp/typeck2.cc:2469
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2488
+#: cp/typeck2.cc:2486
 #, gcc-internal-format
 msgid "%<auto(x)%> cannot be constrained"
 msgstr ""
 
-#: cp/typeck2.cc:2493
+#: cp/typeck2.cc:2491
 #, gcc-internal-format
 msgid "%<auto(x)%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/typeck2.cc:2518
+#: cp/typeck2.cc:2516
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.cc:2759
+#: cp/typeck2.cc:2757
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:2762
+#: cp/typeck2.cc:2760
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -67630,24 +70044,24 @@ msgstr ""
 msgid "unable to open log file %<vtv_count_data.log%>: %m"
 msgstr ""
 
-#: d/d-attribs.cc:372 d/d-attribs.cc:389
+#: d/d-attribs.cc:375 d/d-attribs.cc:392
 #, gcc-internal-format
 msgid "unknown attribute %qs"
 msgstr ""
 
-#: d/d-attribs.cc:1150
+#: d/d-attribs.cc:1153
 #, gcc-internal-format
 msgid "%q+D declared weak after being used"
 msgstr ""
 
-#: d/d-attribs.cc:1529
+#: d/d-attribs.cc:1532
 #, gcc-internal-format
 msgid ""
 "only %<inbranch%> and %<notinbranch%> flags are allowed for %<simd%> "
 "attribute"
 msgstr ""
 
-#: d/d-builtins.cc:819
+#: d/d-builtins.cc:823
 #, gcc-internal-format
 msgid "conflicting types for built-in function %qs; expected %qs"
 msgstr ""
@@ -67667,43 +70081,43 @@ msgstr ""
 msgid "the address of %qD will never be %<null%>"
 msgstr ""
 
-#: d/d-codegen.cc:2167
+#: d/d-codegen.cc:2221
 #, gcc-internal-format
 msgid "need %<this%> to access member %qE"
 msgstr ""
 
-#: d/d-codegen.cc:2306
+#: d/d-codegen.cc:2369
 #, gcc-internal-format
 msgid "tried to perform floating-point modulo division on %qT"
 msgstr ""
 
-#: d/d-codegen.cc:2357
+#: d/d-codegen.cc:2420
 #, gcc-internal-format
 msgid "cannot get frame pointer to %qs"
 msgstr ""
 
 #. Should instead error on line that references `fd'.
-#: d/d-codegen.cc:2383
+#: d/d-codegen.cc:2446
 #, gcc-internal-format
 msgid "nested function missing body"
 msgstr ""
 
-#: d/d-codegen.cc:2425
+#: d/d-codegen.cc:2488
 #, gcc-internal-format
 msgid "%qs is a nested function and cannot be accessed from %qs"
 msgstr ""
 
-#: d/d-codegen.cc:2734
+#: d/d-codegen.cc:2797
 #, gcc-internal-format
 msgid "variable %qs has scoped destruction, cannot build closure"
 msgstr ""
 
-#: d/d-codegen.cc:2742
+#: d/d-codegen.cc:2805
 #, gcc-internal-format
 msgid "explicit register variable %qs cannot be used in nested function"
 msgstr ""
 
-#: d/d-codegen.cc:2967
+#: d/d-codegen.cc:3030
 #, gcc-internal-format
 msgid "forward reference to frame of %qs"
 msgstr ""
@@ -67746,54 +70160,72 @@ msgstr ""
 msgid "cast from %qs to %qs will produce zero result"
 msgstr ""
 
-#: d/d-lang.cc:467
+#: d/d-convert.cc:748
+#, gcc-internal-format
+msgid "cannot convert parameter %qs from type %qs to type %qs in assignment"
+msgstr ""
+
+#: d/d-convert.cc:754
+#, gcc-internal-format
+msgid ""
+"cannot convert parameter %qs from type %qs to type %qs in argument passing"
+msgstr ""
+
+#: d/d-convert.cc:759
+#, gcc-internal-format
+msgid ""
+"parameters of type %<va_list%> {aka %qs} are decayed to pointer types, and "
+"require %<va_copy%> to be converted back into a static array type"
+msgstr ""
+
+#: d/d-lang.cc:463
 #, gcc-internal-format
 msgid "bad argument for %<-fdebug%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:521
+#: d/d-lang.cc:517
 #, gcc-internal-format
 msgid "bad argument for %<-fextern-std%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:540
+#: d/d-lang.cc:536
 #, gcc-internal-format
 msgid "bad argument for %<-fmodule-file%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:704
+#: d/d-lang.cc:698
 #, gcc-internal-format
 msgid "bad argument for %<-fversion%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:1017
+#: d/d-lang.cc:968
 #, gcc-internal-format
-msgid "%<-fonly=%> argument is different from first input file name"
+msgid "unable to open %s for writing: %m"
 msgstr ""
 
-#: d/d-lang.cc:1197
+#: d/d-lang.cc:975
 #, gcc-internal-format
-msgid "unable to resolve forward reference in definition"
+msgid "writing output file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1317
+#: d/d-lang.cc:995
 #, gcc-internal-format
-msgid "opening json file %s: %m"
+msgid "unable to open %s for reading: %m"
 msgstr ""
 
-#: d/d-lang.cc:1328
+#: d/d-lang.cc:1020
 #, gcc-internal-format
-msgid "closing json file %s: %m"
+msgid "reading ddoc file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1399
+#: d/d-lang.cc:1079
 #, gcc-internal-format
-msgid "closing mixin file %s: %m"
+msgid "%<-fonly=%> argument is different from first input file name"
 msgstr ""
 
-#: d/d-lang.cc:1404
+#: d/d-lang.cc:1262
 #, gcc-internal-format
-msgid "opening mixin file %s: %m"
+msgid "unable to resolve forward reference in definition"
 msgstr ""
 
 #: d/d-target.cc:156
@@ -67811,205 +70243,226 @@ msgstr ""
 msgid "pragma(%s) not implemented"
 msgstr ""
 
-#: d/decl.cc:482 d/decl.cc:597 d/decl.cc:671 d/decl.cc:714 d/decl.cc:753
+#: d/decl.cc:482 d/decl.cc:600 d/decl.cc:674 d/decl.cc:717 d/decl.cc:756
 #, gcc-internal-format
 msgid "had semantic errors when compiling"
 msgstr ""
 
-#: d/decl.cc:569
+#. Hiding detected; same name, overlapping specializations.
+#: d/decl.cc:573
 #, gcc-internal-format
 msgid "use of %qs"
 msgstr ""
 
-#: d/decl.cc:571
+#: d/decl.cc:575
 #, gcc-internal-format
 msgid "is hidden by %qs"
 msgstr ""
 
-#: d/decl.cc:574
+#: d/decl.cc:578
 #, gcc-internal-format
 msgid "use %<alias %s = %s.%s;%> to introduce base class overload set"
 msgstr ""
 
-#: d/decl.cc:811
+#: d/decl.cc:814
 #, gcc-internal-format
 msgid "size is too large"
 msgstr ""
 
-#: d/decl.cc:1394
+#: d/decl.cc:1415
 #, gcc-internal-format
 msgid "function requires a dual-context, which is not yet supported by GDC"
 msgstr ""
 
-#: d/decl.cc:1571
+#: d/decl.cc:1592
 #, gcc-internal-format
 msgid "explicit register variable %qs declared %<extern%>"
 msgstr ""
 
-#: d/decl.cc:1574
+#: d/decl.cc:1595
 #, gcc-internal-format
 msgid "explicit register variable %qs declared thread local"
 msgstr ""
 
-#: d/decl.cc:1787
+#: d/decl.cc:1808
 #, gcc-internal-format
 msgid ""
 "mismatch between declaration %qE size (%wd) and its initializer size (%wd)"
 msgstr ""
 
-#: d/expr.cc:553
+#: d/expr.cc:569
 #, gcc-internal-format
 msgid "cannot handle comparison of type %<%s == %s%>"
 msgstr ""
 
-#: d/expr.cc:701
+#: d/expr.cc:717
 #, gcc-internal-format
 msgid ""
 "array concatenation of expression %qs requires the GC and cannot be used "
 "with %<-fno-druntime%>"
 msgstr ""
 
+#: d/expr.cc:811
+#, gcc-internal-format
+msgid ""
+"appending to array in %qs requires the GC and cannot be used with %<-fno-"
+"druntime%>"
+msgstr ""
+
 #. Static arrays have already been handled by the front-end.
-#: d/expr.cc:1257
+#: d/expr.cc:1285
 #, gcc-internal-format
 msgid "unexpected type for array length: %qs"
 msgstr ""
 
-#: d/expr.cc:1392
+#: d/expr.cc:1420
 #, gcc-internal-format
 msgid "don%'t know how to delete %qs"
 msgstr ""
 
-#: d/expr.cc:1416
+#: d/expr.cc:1444
 #, gcc-internal-format
 msgid "%qs is not an associative array"
 msgstr ""
 
-#: d/expr.cc:1700 d/expr.cc:2076
+#: d/expr.cc:1728 d/expr.cc:2108
 #, gcc-internal-format
 msgid "need %<this%> to access member %qs"
 msgstr ""
 
-#: d/expr.cc:1776
+#: d/expr.cc:1810
 #, gcc-internal-format
 msgid "delegates are only for non-static functions"
 msgstr ""
 
-#: d/expr.cc:1848
+#: d/expr.cc:1882
 #, gcc-internal-format
 msgid "%qs is not a field, but a %qs"
 msgstr ""
 
-#: d/expr.cc:2112
+#: d/expr.cc:2134
 #, gcc-internal-format
 msgid "recursive reference %qs"
 msgstr ""
 
-#: d/expr.cc:2131 d/expr.cc:3032
+#: d/expr.cc:2153 d/expr.cc:3024
 #, gcc-internal-format
 msgid "non-constant expression %qs"
 msgstr ""
 
-#: d/expr.cc:2999
+#: d/expr.cc:2991
 #, gcc-internal-format
 msgid "%qs is not an expression"
 msgstr ""
 
-#: d/expr.cc:3006
+#: d/expr.cc:2998
 #, gcc-internal-format
 msgid "type %qs is not an expression"
 msgstr ""
 
-#: d/intrinsics.cc:218
+#: d/intrinsics.cc:221
 #, gcc-internal-format
 msgid "mismatch in return type of intrinsic function %qD (%qT, should be %qs)"
 msgstr ""
 
-#: d/intrinsics.cc:232
+#: d/intrinsics.cc:235
 #, gcc-internal-format
 msgid ""
 "mismatch in argument %u type of intrinsic function %qD (%qT, should be %qs)"
 msgstr ""
 
-#: d/intrinsics.cc:244 d/intrinsics.cc:249
+#: d/intrinsics.cc:247 d/intrinsics.cc:252
 #, gcc-internal-format
 msgid ""
 "mismatch in argument %u type of intrinsic function %qD (%qT, should be %qT)"
 msgstr ""
 
-#: d/intrinsics.cc:434
+#: d/intrinsics.cc:437
 #, gcc-internal-format
 msgid "argument %qE cannot be read at compile time"
 msgstr ""
 
-#: d/intrinsics.cc:443
+#: d/intrinsics.cc:446
 #, gcc-internal-format
 msgid "element index %qE is out of bounds %<[0 .. %E]%>"
 msgstr ""
 
-#: d/intrinsics.cc:490
+#: d/intrinsics.cc:493
 #, gcc-internal-format
 msgid "mismatch in call of intrinsic function %qD"
 msgstr ""
 
-#: d/modules.cc:415
+#. It's a D language intrinsic with no library implementation.
+#: d/intrinsics.cc:1479
+#, gcc-internal-format
+msgid "intrinsic function %qE must be directly called"
+msgstr ""
+
+#: d/modules.cc:417
 #, gcc-internal-format
 msgid "%<-fmoduleinfo%> is not supported on this target"
 msgstr ""
 
-#: d/toir.cc:387 d/toir.cc:412
+#: d/toir.cc:245
+#, gcc-internal-format
+msgid ""
+"calling %qE without side effects discards return value of type %qT; prepend "
+"a %<cast(void)%> if intentional"
+msgstr ""
+
+#: d/toir.cc:419 d/toir.cc:444
 #, gcc-internal-format
 msgid "cannot %<goto%> into %<try%> block"
 msgstr ""
 
-#: d/toir.cc:390 d/toir.cc:414
+#: d/toir.cc:422 d/toir.cc:446
 #, gcc-internal-format
 msgid "cannot %<goto%> into %<catch%> block"
 msgstr ""
 
-#: d/toir.cc:429
+#: d/toir.cc:461
 #, gcc-internal-format, gfc-internal-format
 msgid "label %s referenced outside of any function"
 msgstr ""
 
-#: d/toir.cc:804
+#: d/toir.cc:836
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot handle switch condition of type %s"
 msgstr ""
 
-#: d/toir.cc:1181
+#: d/toir.cc:1213
 #, gcc-internal-format
 msgid "exception handling disabled; use %<-fexceptions%> to enable"
 msgstr ""
 
-#: d/toir.cc:1188
+#: d/toir.cc:1220
 #, gcc-internal-format
 msgid "cannot throw C++ classes"
 msgstr ""
 
-#: d/toir.cc:1190
+#: d/toir.cc:1222
 #, gcc-internal-format
 msgid "cannot throw COM objects"
 msgstr ""
 
-#: d/toir.cc:1323
+#: d/toir.cc:1355
 #, gcc-internal-format
 msgid "D inline assembler statements are not supported in GDC."
 msgstr ""
 
-#: d/typeinfo.cc:1408
+#: d/typeinfo.cc:1424
 #, gcc-internal-format
 msgid ""
 "expression %qs requires %<object.TypeInfo%> and cannot be used with %<-fno-"
 "rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1412
+#: d/typeinfo.cc:1428
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> cannot be used with %<-fno-rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1427
+#: d/typeinfo.cc:1443
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> could not be found, but is implicitly used"
 msgstr ""
@@ -68079,7 +70532,7 @@ msgstr ""
 msgid "Invalid type in arithmetic operation at %L"
 msgstr ""
 
-#: fortran/arith.cc:126 fortran/arith.cc:2071
+#: fortran/arith.cc:126 fortran/arith.cc:2076
 #, gcc-internal-format
 msgid "gfc_arith_error(): Bad error code"
 msgstr ""
@@ -68164,84 +70617,84 @@ msgstr ""
 msgid "gfc_compare_expr(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:1718
+#: fortran/arith.cc:1723
 #, gcc-internal-format
 msgid "eval_intrinsic(): Bad operator"
 msgstr ""
 
-#: fortran/arith.cc:1777
+#: fortran/arith.cc:1782
 #, gcc-internal-format
 msgid "eval_type_intrinsic0(): op NULL"
 msgstr ""
 
-#: fortran/arith.cc:2039
+#: fortran/arith.cc:2044
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic OK converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2043
+#: fortran/arith.cc:2048
 #, gcc-internal-format
 msgid ""
 "Arithmetic overflow converting %s to %s at %L. This check can be disabled "
 "with the option %<-fno-range-check%>"
 msgstr ""
 
-#: fortran/arith.cc:2048
+#: fortran/arith.cc:2053
 #, gcc-internal-format
 msgid ""
 "Arithmetic underflow converting %s to %s at %L. This check can be disabled "
 "with the option %<-fno-range-check%>"
 msgstr ""
 
-#: fortran/arith.cc:2053
+#: fortran/arith.cc:2058
 #, gcc-internal-format
 msgid ""
 "Arithmetic NaN converting %s to %s at %L. This check can be disabled with "
 "the option %<-fno-range-check%>"
 msgstr ""
 
-#: fortran/arith.cc:2058
+#: fortran/arith.cc:2063
 #, gcc-internal-format, gfc-internal-format
 msgid "Division by zero converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2062
+#: fortran/arith.cc:2067
 #, gcc-internal-format, gfc-internal-format
 msgid "Array operands are incommensurate converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2066
+#: fortran/arith.cc:2071
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Integer outside symmetric range implied by Standard Fortran converting %s to "
 "%s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2156 fortran/arith.cc:2275 fortran/arith.cc:2338
-#: fortran/arith.cc:2393 fortran/arith.cc:2456 fortran/arith.cc:2528
-#: fortran/arith.cc:2598
+#: fortran/arith.cc:2161 fortran/arith.cc:2280 fortran/arith.cc:2343
+#: fortran/arith.cc:2398 fortran/arith.cc:2461 fortran/arith.cc:2533
+#: fortran/arith.cc:2603
 #, gcc-internal-format
 msgid "Conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2188 fortran/arith.cc:2224 fortran/arith.cc:2266
-#: fortran/arith.cc:2328 fortran/arith.cc:2383 fortran/arith.cc:2446
-#: fortran/arith.cc:2518 fortran/arith.cc:2590
+#: fortran/arith.cc:2193 fortran/arith.cc:2229 fortran/arith.cc:2271
+#: fortran/arith.cc:2333 fortran/arith.cc:2388 fortran/arith.cc:2451
+#: fortran/arith.cc:2523 fortran/arith.cc:2595
 #, gcc-internal-format
 msgid "Change of value in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2432 fortran/arith.cc:2504
+#: fortran/arith.cc:2437 fortran/arith.cc:2509
 #, gcc-internal-format
 msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2683
+#: fortran/arith.cc:2688
 #, gcc-internal-format
 msgid "The Hollerith constant at %L is truncated in conversion to %qs"
 msgstr ""
 
-#: fortran/arith.cc:2712
+#: fortran/arith.cc:2717
 #, gcc-internal-format, gfc-internal-format
 msgid "The character constant at %L is truncated in conversion to %s"
 msgstr ""
@@ -68291,9 +70744,9 @@ msgstr ""
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.cc:248 fortran/array.cc:716 fortran/check.cc:3418
-#: fortran/check.cc:5943 fortran/check.cc:5988 fortran/check.cc:6030
-#: fortran/check.cc:6057 fortran/check.cc:6320 fortran/match.cc:1854
+#: fortran/array.cc:248 fortran/array.cc:716 fortran/check.cc:3445
+#: fortran/check.cc:5969 fortran/check.cc:6014 fortran/check.cc:6056
+#: fortran/check.cc:6083 fortran/check.cc:6346 fortran/match.cc:1854
 #: fortran/match.cc:3316 fortran/match.cc:3658 fortran/match.cc:3854
 #: fortran/simplify.cc:3026 fortran/simplify.cc:3056 fortran/simplify.cc:6409
 #: fortran/simplify.cc:8450
@@ -68523,41 +70976,41 @@ msgid ""
 msgstr ""
 
 #: fortran/array.cc:2215
-#, gcc-internal-format, gfc-internal-format
-msgid "Different CHARACTER lengths (%ld/%ld) in array constructor at %L"
+#, gcc-internal-format
+msgid "Different CHARACTER lengths (%wd/%wd) in array constructor at %L"
 msgstr ""
 
-#: fortran/array.cc:2336
+#: fortran/array.cc:2333
 #, gcc-internal-format
 msgid "spec_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2402
+#: fortran/array.cc:2399
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2406
+#: fortran/array.cc:2403
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array dimension at %L"
 msgstr ""
 
-#: fortran/array.cc:2544
+#: fortran/array.cc:2541
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimen_type"
 msgstr ""
 
-#: fortran/array.cc:2595
+#: fortran/array.cc:2592
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2640
+#: fortran/array.cc:2637
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad EXPR_ARRAY expr"
 msgstr ""
 
-#: fortran/array.cc:2788
+#: fortran/array.cc:2785
 #, gcc-internal-format
 msgid "gfc_find_array_ref(): No ref found"
 msgstr ""
@@ -68578,7 +71031,7 @@ msgstr ""
 msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
 msgstr ""
 
-#: fortran/check.cc:123 fortran/resolve.cc:11221
+#: fortran/check.cc:123 fortran/resolve.cc:11270
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of BOZ literal constant at %L"
 msgstr ""
@@ -68619,7 +71072,7 @@ msgid ""
 "%qs argument of %qs intrinsic at %L must be INTEGER or REAL or CHARACTER"
 msgstr ""
 
-#: fortran/check.cc:590 fortran/check.cc:3373
+#: fortran/check.cc:590 fortran/check.cc:3400
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of intrinsic type"
 msgstr ""
@@ -68634,7 +71087,7 @@ msgstr ""
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.cc:651 fortran/check.cc:7528
+#: fortran/check.cc:651 fortran/check.cc:7625
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a constant"
 msgstr ""
@@ -68753,209 +71206,214 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.cc:1305
+#: fortran/check.cc:1269
+#, gcc-internal-format
+msgid "Size of %qs argument of %qs intrinsic at %L too small (%wd/%ld)"
+msgstr ""
+
+#: fortran/check.cc:1332
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in ACHAR intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:1396
+#: fortran/check.cc:1423
 #, gcc-internal-format
 msgid "%qs and %qs arguments of %qs intrinsic at %L must have the same type"
 msgstr ""
 
-#: fortran/check.cc:1405 fortran/check.cc:3690
+#: fortran/check.cc:1432 fortran/check.cc:3717
 #, gcc-internal-format, gfc-internal-format
 msgid "Different type kinds at %L"
 msgstr ""
 
-#: fortran/check.cc:1428
+#: fortran/check.cc:1455
 #, gcc-internal-format
 msgid ""
 "NULL at %L is not permitted as actual argument to %qs intrinsic function"
 msgstr ""
 
-#: fortran/check.cc:1450
+#: fortran/check.cc:1477
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a POINTER"
 msgstr ""
 
-#: fortran/check.cc:1459 fortran/check.cc:1494 fortran/check.cc:4382
+#: fortran/check.cc:1486 fortran/check.cc:1521 fortran/check.cc:4409
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:1476
+#: fortran/check.cc:1503
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be a pointer or target VARIABLE or "
 "FUNCTION"
 msgstr ""
 
-#: fortran/check.cc:1485
+#: fortran/check.cc:1512
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/check.cc:1512
+#: fortran/check.cc:1539
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array section with a vector subscript at %L shall not be the target of a "
 "pointer"
 msgstr ""
 
-#: fortran/check.cc:1559
+#: fortran/check.cc:1586
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ATOM argument at %L to intrinsic function %s shall be an integer of "
 "ATOMIC_INT_KIND or a logical of ATOMIC_LOGICAL_KIND"
 msgstr ""
 
-#: fortran/check.cc:1567
+#: fortran/check.cc:1594
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ATOM argument at %L of the %s intrinsic function shall be a coarray or "
 "coindexed"
 msgstr ""
 
-#: fortran/check.cc:1574
+#: fortran/check.cc:1601
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L shall have the same type as %qs at %L"
 msgstr ""
 
-#: fortran/check.cc:1592 fortran/check.cc:1805
+#: fortran/check.cc:1619 fortran/check.cc:1832
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument to %s at %L"
 msgstr ""
 
-#: fortran/check.cc:1611 fortran/check.cc:1745 fortran/check.cc:1842
+#: fortran/check.cc:1638 fortran/check.cc:1772 fortran/check.cc:1869
 #, gcc-internal-format, gfc-internal-format
 msgid "ATOM argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1625 fortran/check.cc:1825
+#: fortran/check.cc:1652 fortran/check.cc:1852
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ATOM argument at %L to intrinsic function %s shall be an integer of "
 "ATOMIC_INT_KIND"
 msgstr ""
 
-#: fortran/check.cc:1645
+#: fortran/check.cc:1672
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1664 fortran/check.cc:1678 fortran/check.cc:1713
+#: fortran/check.cc:1691 fortran/check.cc:1705 fortran/check.cc:1740
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L not yet supported"
 msgstr ""
 
-#: fortran/check.cc:1698
+#: fortran/check.cc:1725
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall specify a valid integer kind"
 msgstr ""
 
-#: fortran/check.cc:1752 fortran/check.cc:1849
+#: fortran/check.cc:1779 fortran/check.cc:1876
 #, gcc-internal-format, gfc-internal-format
 msgid "OLD argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1767
+#: fortran/check.cc:1794
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "EVENT argument at %L to the intrinsic EVENT_QUERY shall be of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/check.cc:1777
+#: fortran/check.cc:1804
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "COUNT argument of the EVENT_QUERY intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1790
+#: fortran/check.cc:1817
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "COUNT argument of the EVENT_QUERY intrinsic function at %L shall have at "
 "least the range of the default integer"
 msgstr ""
 
-#: fortran/check.cc:1869
+#: fortran/check.cc:1896
 #, gcc-internal-format, gfc-internal-format
 msgid "Negative argument N at %L"
 msgstr ""
 
-#: fortran/check.cc:1967
+#: fortran/check.cc:1994
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in CHAR intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2091 fortran/check.cc:2581
+#: fortran/check.cc:2118 fortran/check.cc:2608
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must not be present if %<x%> is COMPLEX"
 msgstr ""
 
-#: fortran/check.cc:2100 fortran/check.cc:2590
+#: fortran/check.cc:2127 fortran/check.cc:2617
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must have a type of either REAL or "
 "INTEGER"
 msgstr ""
 
-#: fortran/check.cc:2110 fortran/check.cc:2116
+#: fortran/check.cc:2137 fortran/check.cc:2143
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Conversion from %s to default-kind COMPLEX(%d) at %L might lose precision, "
 "consider using the KIND argument"
 msgstr ""
 
-#: fortran/check.cc:2138
+#: fortran/check.cc:2165
 #, gcc-internal-format
 msgid ""
 "Argument %<A%> with INTENT(INOUT) at %L of the intrinsic subroutine %s shall "
 "not have a vector subscript"
 msgstr ""
 
-#: fortran/check.cc:2146
+#: fortran/check.cc:2173
 #, gcc-internal-format, gfc-internal-format
 msgid "The A argument at %L to the intrinsic %s shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:2169
+#: fortran/check.cc:2196
 #, gcc-internal-format, gfc-internal-format
 msgid "The stat= argument at %L must be a kind=4 integer variable"
 msgstr ""
 
-#: fortran/check.cc:2185
+#: fortran/check.cc:2212
 #, gcc-internal-format, gfc-internal-format
 msgid "The errmsg= argument at %L must be a default-kind character variable"
 msgstr ""
 
-#: fortran/check.cc:2193
+#: fortran/check.cc:2220
 #, gcc-internal-format
 msgid "Coarrays disabled at %L, use %<-fcoarray=%> to enable"
 msgstr ""
 
-#: fortran/check.cc:2208
+#: fortran/check.cc:2235
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Support for the A argument at %L which is polymorphic A argument or has "
 "allocatable components is not yet implemented"
 msgstr ""
 
-#: fortran/check.cc:2227
+#: fortran/check.cc:2254
 #, gcc-internal-format, gfc-internal-format
 msgid "The A argument at %L of CO_REDUCE shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:2234
+#: fortran/check.cc:2261
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Support for the A argument at %L with allocatable components is not yet "
 "implemented"
 msgstr ""
 
-#: fortran/check.cc:2248
+#: fortran/check.cc:2275
 #, gcc-internal-format, gfc-internal-format
 msgid "OPERATION argument at %L must be a PURE function"
 msgstr ""
@@ -68963,787 +71421,823 @@ msgstr ""
 #. None of the intrinsics fulfills the criteria of taking two arguments,
 #. returning the same type and kind as the arguments and being permitted
 #. as actual argument.
-#: fortran/check.cc:2258
+#: fortran/check.cc:2285
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic function %s at %L is not permitted for CO_REDUCE"
 msgstr ""
 
-#: fortran/check.cc:2275
+#: fortran/check.cc:2302
 #, gcc-internal-format, gfc-internal-format
 msgid "The function passed as OPERATION at %L shall have two arguments"
 msgstr ""
 
-#: fortran/check.cc:2285
+#: fortran/check.cc:2312
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The A argument at %L has type %s but the function passed as OPERATION at %L "
 "returns %s"
 msgstr ""
 
-#: fortran/check.cc:2294
+#: fortran/check.cc:2321
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L has arguments of type %s and %s but "
 "shall have type %s"
 msgstr ""
 
-#: fortran/check.cc:2305
+#: fortran/check.cc:2332
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L shall have scalar nonallocatable "
 "nonpointer arguments and return a nonallocatable nonpointer scalar"
 msgstr ""
 
-#: fortran/check.cc:2313
+#: fortran/check.cc:2340
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L shall have the VALUE attribute either "
 "for none or both arguments"
 msgstr ""
 
-#: fortran/check.cc:2320
+#: fortran/check.cc:2347
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L shall have the TARGET attribute "
 "either for none or both arguments"
 msgstr ""
 
-#: fortran/check.cc:2327
+#: fortran/check.cc:2354
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L shall have the ASYNCHRONOUS attribute "
 "either for none or both arguments"
 msgstr ""
 
-#: fortran/check.cc:2335
+#: fortran/check.cc:2362
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The function passed as OPERATION at %L shall not have the OPTIONAL attribute "
 "for either of the arguments"
 msgstr ""
 
-#: fortran/check.cc:2365
+#: fortran/check.cc:2392
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The character length of the A argument at %L and of the arguments of the "
 "OPERATION at %L shall be the same"
 msgstr ""
 
-#: fortran/check.cc:2372
+#: fortran/check.cc:2399
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The character length of the A argument at %L and of the function result of "
 "the OPERATION at %L shall be the same"
 msgstr ""
 
-#: fortran/check.cc:2390
+#: fortran/check.cc:2417
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L shall be of type integer, real or "
 "character"
 msgstr ""
 
-#: fortran/check.cc:2418 fortran/check.cc:2432
+#: fortran/check.cc:2445 fortran/check.cc:2459
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ constant at %L cannot appear in the COMPLEX intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2469 fortran/check.cc:3099 fortran/check.cc:3182
-#: fortran/check.cc:3404 fortran/check.cc:3452 fortran/check.cc:4929
-#: fortran/check.cc:5054 fortran/check.cc:5124 fortran/check.cc:6306
-#: fortran/check.cc:6437
+#: fortran/check.cc:2496 fortran/check.cc:3126 fortran/check.cc:3209
+#: fortran/check.cc:3431 fortran/check.cc:3479 fortran/check.cc:4956
+#: fortran/check.cc:5081 fortran/check.cc:5151 fortran/check.cc:6332
+#: fortran/check.cc:6463
 #, gcc-internal-format
 msgid "%qs intrinsic with KIND argument at %L"
 msgstr ""
 
-#: fortran/check.cc:2516 fortran/check.cc:2785 fortran/check.cc:2845
+#: fortran/check.cc:2543 fortran/check.cc:2812 fortran/check.cc:2872
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/"
 "%ld)"
 msgstr ""
 
-#: fortran/check.cc:2531 fortran/check.cc:2800 fortran/check.cc:2860
+#: fortran/check.cc:2558 fortran/check.cc:2827 fortran/check.cc:2887
 #, gcc-internal-format
 msgid "%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar"
 msgstr ""
 
-#: fortran/check.cc:2643 fortran/check.cc:3784 fortran/check.cc:3792
+#: fortran/check.cc:2670 fortran/check.cc:3811 fortran/check.cc:3819
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be numeric or LOGICAL"
 msgstr ""
 
-#: fortran/check.cc:2657
+#: fortran/check.cc:2684
 #, gcc-internal-format
 msgid ""
 "Different shape for arguments %qs and %qs at %L for intrinsic %<dot_product%>"
 msgstr ""
 
-#: fortran/check.cc:2677 fortran/check.cc:2685
+#: fortran/check.cc:2704 fortran/check.cc:2712
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be default real"
 msgstr ""
 
-#: fortran/check.cc:2821
+#: fortran/check.cc:2848
 #, gcc-internal-format
 msgid "%qs must be of same type and kind as %qs at %L in %qs"
 msgstr ""
 
-#: fortran/check.cc:2879
+#: fortran/check.cc:2906
 #, gcc-internal-format
 msgid "Missing %qs argument to %qs intrinsic at %L for %qs of type %qs"
 msgstr ""
 
-#: fortran/check.cc:2897
+#: fortran/check.cc:2924
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "BOZ literal constant at %L cannot appear in the FLOAT intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2911
+#: fortran/check.cc:2938
 #, gcc-internal-format, gfc-internal-format
 msgid "non-default INTEGER kind argument to %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:2972
+#: fortran/check.cc:2999
 #, gcc-internal-format
 msgid "COMPLEX argument %qs of %qs intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:3054
+#: fortran/check.cc:3081
 #, gcc-internal-format
 msgid "Arguments of %qs have different kind type parameters at %L"
 msgstr ""
 
-#: fortran/check.cc:3150
+#: fortran/check.cc:3177
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s at %L must be of length one"
 msgstr ""
 
-#: fortran/check.cc:3189
+#: fortran/check.cc:3216
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be the same kind as %qs"
 msgstr ""
 
-#: fortran/check.cc:3223
+#: fortran/check.cc:3250
 #, gcc-internal-format
 msgid ""
 "%qs intrinsic subprogram at %L has been removed.  Use INT intrinsic "
 "subprogram."
 msgstr ""
 
-#: fortran/check.cc:3275
+#: fortran/check.cc:3302
 #, gcc-internal-format, gfc-internal-format
 msgid "SIZE at %L must be positive"
 msgstr ""
 
-#: fortran/check.cc:3287
+#: fortran/check.cc:3314
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The absolute value of SHIFT at %L must be less than or equal to SIZE at %L"
 msgstr ""
 
-#: fortran/check.cc:3346
+#: fortran/check.cc:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "STATUS at %L shall be an INTENT(OUT) variable"
 msgstr ""
 
-#: fortran/check.cc:3355
+#: fortran/check.cc:3382
 #, gcc-internal-format
 msgid "%qs at %L shall be an INTENT(OUT) variable"
 msgstr ""
 
-#: fortran/check.cc:3380
+#: fortran/check.cc:3407
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a data entity"
 msgstr ""
 
-#: fortran/check.cc:3594
+#: fortran/check.cc:3621
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L must have at least two arguments"
 msgstr ""
 
-#: fortran/check.cc:3642
+#: fortran/check.cc:3669
 #, gcc-internal-format
 msgid "Missing %qs argument to the %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:3657
+#: fortran/check.cc:3684
 #, gcc-internal-format
 msgid "Duplicate argument %qs at %L to intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:3662
+#: fortran/check.cc:3689
 #, gcc-internal-format
 msgid "Unknown argument %qs at %L to intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:3687
+#: fortran/check.cc:3714
 #, gcc-internal-format, gfc-internal-format
 msgid "Different character kinds at %L"
 msgstr ""
 
-#: fortran/check.cc:3696
+#: fortran/check.cc:3723
 #, gcc-internal-format
 msgid "%<a%d%> argument of %qs intrinsic at %L must be %s(%d)"
 msgstr ""
 
-#: fortran/check.cc:3727
+#: fortran/check.cc:3754
 #, gcc-internal-format
 msgid "%qs intrinsic with CHARACTER argument at %L"
 msgstr ""
 
-#: fortran/check.cc:3734
+#: fortran/check.cc:3761
 #, gcc-internal-format
 msgid ""
 "%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER"
 msgstr ""
 
-#: fortran/check.cc:3801
+#: fortran/check.cc:3828
 #, gcc-internal-format
 msgid "Argument types of %qs intrinsic at %L must match (%s/%s)"
 msgstr ""
 
-#: fortran/check.cc:3815
+#: fortran/check.cc:3842
 #, gcc-internal-format
 msgid ""
 "Different shape on dimension 1 for arguments %qs and %qs at %L for intrinsic "
 "matmul"
 msgstr ""
 
-#: fortran/check.cc:3834
+#: fortran/check.cc:3861
 #, gcc-internal-format
 msgid ""
 "Different shape on dimension 2 for argument %qs and dimension 1 for argument "
 "%qs at %L for intrinsic matmul"
 msgstr ""
 
-#: fortran/check.cc:3843
+#: fortran/check.cc:3870
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of rank 1 or 2"
 msgstr ""
 
-#: fortran/check.cc:4008
+#: fortran/check.cc:4035
 #, gcc-internal-format
 msgid ""
 "Argument %qs of %qs intrinsic at %L must be in type conformance to argument "
 "%qs at %L"
 msgstr ""
 
-#: fortran/check.cc:4126 fortran/check.cc:7448 fortran/check.cc:7463
+#: fortran/check.cc:4153 fortran/check.cc:7545 fortran/check.cc:7560
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:4209
+#: fortran/check.cc:4236
 #, gcc-internal-format, gfc-internal-format
 msgid "The FROM argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4220
+#: fortran/check.cc:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4227
+#: fortran/check.cc:4254
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The TO arguments in MOVE_ALLOC at %L must be polymorphic if FROM is "
 "polymorphic"
 msgstr ""
 
-#: fortran/check.cc:4238
+#: fortran/check.cc:4265
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the "
 "same rank %d/%d"
 msgstr ""
 
-#: fortran/check.cc:4247
+#: fortran/check.cc:4274
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the "
 "same corank %d/%d"
 msgstr ""
 
-#: fortran/check.cc:4287
+#: fortran/check.cc:4314
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The FROM and TO arguments at %L violate aliasing restrictions (F2003 "
 "12.4.1.7)"
 msgstr ""
 
-#: fortran/check.cc:4314
+#: fortran/check.cc:4341
 #, gcc-internal-format
 msgid "Argument %<S%> of NEAREST at %L shall not be zero"
 msgstr ""
 
-#: fortran/check.cc:4367
+#: fortran/check.cc:4394
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or "
 "procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:4375
+#: fortran/check.cc:4402
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.cc:4454 fortran/check.cc:6384
+#: fortran/check.cc:4481 fortran/check.cc:6410
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must provide at least as many elements "
 "as there are .TRUE. values in %qs (%ld/%d)"
 msgstr ""
 
-#: fortran/check.cc:4515
+#: fortran/check.cc:4542
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of a dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4525
+#: fortran/check.cc:4552
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4544
+#: fortran/check.cc:4571
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must not be a subobject of %qs"
 msgstr ""
 
-#: fortran/check.cc:4595
+#: fortran/check.cc:4622
 #, gcc-internal-format, gfc-internal-format
 msgid "The argument of the RANK intrinsic at %L must be a data object"
 msgstr ""
 
-#: fortran/check.cc:4703
+#: fortran/check.cc:4730
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L must be an array of "
 "constant size"
 msgstr ""
 
-#: fortran/check.cc:4713
+#: fortran/check.cc:4740
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is empty"
 msgstr ""
 
-#: fortran/check.cc:4720
+#: fortran/check.cc:4747
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L has more than %d elements"
 msgstr ""
 
-#: fortran/check.cc:4743
+#: fortran/check.cc:4770
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has negative element (%d)"
 msgstr ""
 
-#: fortran/check.cc:4783
+#: fortran/check.cc:4810
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)"
 msgstr ""
 
-#: fortran/check.cc:4801
+#: fortran/check.cc:4828
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)"
 msgstr ""
 
-#: fortran/check.cc:4810
+#: fortran/check.cc:4837
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has invalid permutation of dimensions "
 "(dimension %qd duplicated)"
 msgstr ""
 
-#: fortran/check.cc:4845 fortran/simplify.cc:7050
+#: fortran/check.cc:4872 fortran/simplify.cc:7050
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Without padding, there are not enough elements in the intrinsic RESHAPE "
 "source at %L to match the shape"
 msgstr ""
 
-#: fortran/check.cc:4862 fortran/check.cc:4881
+#: fortran/check.cc:4889 fortran/check.cc:4908
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L cannot be of type %s"
 msgstr ""
 
-#: fortran/check.cc:4872 fortran/check.cc:4891
+#: fortran/check.cc:4899 fortran/check.cc:4918
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of an extensible type"
 msgstr ""
 
-#: fortran/check.cc:4990
+#: fortran/check.cc:5017
 #, gcc-internal-format
 msgid "SELECTED_REAL_KIND with neither %<P%> nor %<R%> argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5021
+#: fortran/check.cc:5048
 #, gcc-internal-format
 msgid "%qs intrinsic with RADIX argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5069
+#: fortran/check.cc:5096
 #, gcc-internal-format
 msgid ""
 "%<source%> argument of %<shape%> intrinsic at %L must not be an assumed size "
 "array"
 msgstr ""
 
-#: fortran/check.cc:5142 fortran/check.cc:7508
+#: fortran/check.cc:5169 fortran/check.cc:7605
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be a procedure"
 msgstr ""
 
-#: fortran/check.cc:5158 fortran/check.cc:5309 fortran/check.cc:7500
+#: fortran/check.cc:5185 fortran/check.cc:5335 fortran/check.cc:7597
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be TYPE(*)"
 msgstr ""
 
-#: fortran/check.cc:5169 fortran/check.cc:5321
+#: fortran/check.cc:5196 fortran/check.cc:5347
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be an assumed-size array"
 msgstr ""
 
-#: fortran/check.cc:5251
+#: fortran/check.cc:5278
 #, gcc-internal-format
 msgid "is_c_interoperable(): gfc_simplify_expr failed"
 msgstr ""
 
-#: fortran/check.cc:5300
+#: fortran/check.cc:5326
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s"
 msgstr ""
 
-#: fortran/check.cc:5339
+#: fortran/check.cc:5365
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument C_PTR_1 at %L to C_ASSOCIATED shall have the type TYPE(C_PTR) or "
 "TYPE(C_FUNPTR)"
 msgstr ""
 
-#: fortran/check.cc:5353
+#: fortran/check.cc:5379
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument C_PTR_2 at %L to C_ASSOCIATED shall have the same type as C_PTR_1: "
 "%s instead of %s"
 msgstr ""
 
-#: fortran/check.cc:5377
+#: fortran/check.cc:5403
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument CPTR at %L to C_F_POINTER shall have the type TYPE(C_PTR)"
 msgstr ""
 
-#: fortran/check.cc:5389
+#: fortran/check.cc:5415
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER must be a pointer"
 msgstr ""
 
-#: fortran/check.cc:5396
+#: fortran/check.cc:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "FPTR argument at %L to C_F_POINTER shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5403
+#: fortran/check.cc:5429
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5410
+#: fortran/check.cc:5436
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected SHAPE argument at %L to C_F_POINTER with scalar FPTR"
 msgstr ""
 
-#: fortran/check.cc:5416
+#: fortran/check.cc:5442
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SHAPE argument to C_F_POINTER with array FPTR at %L"
 msgstr ""
 
-#: fortran/check.cc:5435
+#: fortran/check.cc:5461
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "SHAPE argument at %L to C_F_POINTER must have the same size as the RANK of "
 "FPTR"
 msgstr ""
 
-#: fortran/check.cc:5445
+#: fortran/check.cc:5471
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic FPTR at %L to C_F_POINTER"
 msgstr ""
 
-#: fortran/check.cc:5450
+#: fortran/check.cc:5476
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array FPTR at %L to C_F_POINTER: %s"
 msgstr ""
 
-#: fortran/check.cc:5466
+#: fortran/check.cc:5492
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument CPTR at %L to C_F_PROCPOINTER shall have the type TYPE(C_FUNPTR)"
 msgstr ""
 
-#: fortran/check.cc:5478
+#: fortran/check.cc:5504
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall be a procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:5485
+#: fortran/check.cc:5511
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5491
+#: fortran/check.cc:5517
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure pointer at %L to C_F_PROCPOINTER"
 msgstr ""
 
-#: fortran/check.cc:5505
+#: fortran/check.cc:5531
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_FUNLOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5517
+#: fortran/check.cc:5543
 #, gcc-internal-format
 msgid "Function result %qs at %L is invalid as X argument to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5524
+#: fortran/check.cc:5550
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument X at %L to C_FUNLOC shall be a procedure or a procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:5530
+#: fortran/check.cc:5556
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure at %L to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5544
+#: fortran/check.cc:5570
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_LOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5550
+#: fortran/check.cc:5576
 #, gcc-internal-format, gfc-internal-format
 msgid "X argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5561
+#: fortran/check.cc:5587
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument X at %L to C_LOC shall have either the POINTER or the TARGET "
 "attribute"
 msgstr ""
 
-#: fortran/check.cc:5569
+#: fortran/check.cc:5595
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_LOC shall be not be a zero-sized string"
 msgstr ""
 
-#: fortran/check.cc:5578
+#: fortran/check.cc:5604
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5585
+#: fortran/check.cc:5611
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array at %L as argument to C_LOC: %s"
 msgstr ""
 
-#: fortran/check.cc:5596
+#: fortran/check.cc:5622
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array of interoperable type at %L to C_LOC which is nonallocatable and "
 "neither assumed size nor explicit size"
 msgstr ""
 
-#: fortran/check.cc:5601
+#: fortran/check.cc:5627
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section at %L to C_LOC"
 msgstr ""
 
-#: fortran/check.cc:5629
+#: fortran/check.cc:5655
 #, gcc-internal-format, gfc-internal-format
 msgid "non double precision REAL argument to %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:5645
+#: fortran/check.cc:5671
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be less than rank %d"
 msgstr ""
 
-#: fortran/check.cc:5664
+#: fortran/check.cc:5690
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/check.cc:5688
+#: fortran/check.cc:5714
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must have length at least 1"
 msgstr ""
 
-#: fortran/check.cc:5952
+#: fortran/check.cc:5978
 #, gcc-internal-format, gfc-internal-format
 msgid "%s argument to IMAGE_INDEX must be a rank one array at %L"
 msgstr ""
 
-#: fortran/check.cc:5959
+#: fortran/check.cc:5985
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of %s argument of IMAGE_INDEX at %L shall be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:5970
+#: fortran/check.cc:5996
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The number of array elements of the SUB argument to IMAGE_INDEX at %L shall "
 "be %d (corank) not %d"
 msgstr ""
 
-#: fortran/check.cc:6003
+#: fortran/check.cc:6029
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6016
+#: fortran/check.cc:6042
 #, gcc-internal-format, gfc-internal-format
 msgid "FAILED= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6040
+#: fortran/check.cc:6066
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TEAM argument at %L to the intrinsic TEAM_NUMBER shall be of type TEAM_TYPE"
 msgstr ""
 
-#: fortran/check.cc:6066
+#: fortran/check.cc:6092
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic "
 "at %L"
 msgstr ""
 
-#: fortran/check.cc:6073
+#: fortran/check.cc:6099
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The DISTANCE argument may not be specified together with the COARRAY or DIM "
 "argument in intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:6084
+#: fortran/check.cc:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected DIM argument with noncoarray argument at %L"
 msgstr ""
 
-#: fortran/check.cc:6102
+#: fortran/check.cc:6128
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to THIS_IMAGE at %L"
 msgstr ""
 
-#: fortran/check.cc:6160
+#: fortran/check.cc:6186
 #, gcc-internal-format
 msgid ""
 "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an array and shall not "
 "have storage size 0 when %<SOURCE%> argument has size greater than 0"
 msgstr ""
 
-#: fortran/check.cc:6212
+#: fortran/check.cc:6238
 #, gcc-internal-format
 msgid "%<SOURCE%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6231
+#: fortran/check.cc:6257
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6239
+#: fortran/check.cc:6265
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.cc:6274
-#, gcc-internal-format, gfc-internal-format
+#: fortran/check.cc:6300
 msgid ""
-"Intrinsic TRANSFER at %L has partly undefined result: source size %ld < "
-"result size %ld"
+"Intrinsic TRANSFER at %L has partly undefined result: source size %zd < "
+"result size %zd"
 msgstr ""
 
-#: fortran/check.cc:6398
+#: fortran/check.cc:6424
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must have the same rank as %qs or be a "
 "scalar"
 msgstr ""
 
-#: fortran/check.cc:6411
+#: fortran/check.cc:6437
 #, gcc-internal-format
 msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.cc:6677 fortran/check.cc:6709
+#: fortran/check.cc:6573
+#, gcc-internal-format, gfc-internal-format
+msgid "VALUES argument of DATE_AND_TIME at %L has non-default kind"
+msgstr ""
+
+#: fortran/check.cc:6585
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"VALUES argument of DATE_AND_TIME at %L must have a decimal exponent range of "
+"at least four"
+msgstr ""
+
+#: fortran/check.cc:6724 fortran/check.cc:6756
 #, gcc-internal-format
 msgid "Size of %qs argument of %qs intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.cc:6717
+#: fortran/check.cc:6764
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr ""
 
-#: fortran/check.cc:6735
+#: fortran/check.cc:6782
 #, gcc-internal-format
 msgid "fe_runtime_error string must be null terminated"
 msgstr ""
 
-#: fortran/check.cc:6747
+#: fortran/check.cc:6794
 #, gcc-internal-format, gfc-internal-format
 msgid "fe_runtime_error: Wrong number of arguments (%d instead of %d)"
 msgstr ""
 
-#: fortran/check.cc:6787
+#: fortran/check.cc:6836
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6806
+#: fortran/check.cc:6843
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"COUNT argument to SYSTEM_CLOCK at %L with kind smaller than default integer"
+msgstr ""
+
+#: fortran/check.cc:6864
 #, gcc-internal-format, gfc-internal-format
 msgid "Real COUNT_RATE argument to SYSTEM_CLOCK at %L"
 msgstr ""
 
-#: fortran/check.cc:6816
+#: fortran/check.cc:6874
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_RATE argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6833
+#: fortran/check.cc:6881
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"COUNT_RATE argument to SYSTEM_CLOCK at %L with kind smaller than default "
+"integer"
+msgstr ""
+
+#: fortran/check.cc:6901
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_MAX argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:7050
+#: fortran/check.cc:6911
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"COUNT_MAX argument to SYSTEM_CLOCK at %L with kind smaller than default "
+"integer"
+msgstr ""
+
+#: fortran/check.cc:6926 fortran/check.cc:6933
+#, gcc-internal-format, gfc-internal-format
+msgid "integer arguments to SYSTEM_CLOCK at %L with different kind parameters"
+msgstr ""
+
+#: fortran/check.cc:7147
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be of a kind not wider than the "
 "default kind (%d)"
 msgstr ""
 
-#: fortran/check.cc:7232
+#: fortran/check.cc:7329
 #, gcc-internal-format
 msgid "Actual argument at %L of %qs intrinsic shall be an associated pointer"
 msgstr ""
 
-#: fortran/check.cc:7421 fortran/check.cc:7432
+#: fortran/check.cc:7518 fortran/check.cc:7529
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ "
 "literal constant"
 msgstr ""
 
-#: fortran/check.cc:7492
+#: fortran/check.cc:7589
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZE, "
@@ -69752,12 +72246,12 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.cc:795 fortran/decl.cc:4058 fortran/decl.cc:10738
+#: fortran/class.cc:799 fortran/decl.cc:4076 fortran/decl.cc:10767
 #, gcc-internal-format
 msgid "Maximum extension level reached with type %qs at %L"
 msgstr ""
 
-#: fortran/class.cc:3055 fortran/class.cc:3129
+#: fortran/class.cc:3059 fortran/class.cc:3133
 #, gcc-internal-format
 msgid "%qs of %qs is PRIVATE at %L"
 msgstr ""
@@ -69772,79 +72266,84 @@ msgstr ""
 msgid "opening output file %qs: %s"
 msgstr ""
 
-#: fortran/data.cc:65
+#: fortran/data.cc:67
 #, gcc-internal-format, gfc-internal-format
 msgid "non-constant array in DATA statement %L"
 msgstr ""
 
-#: fortran/data.cc:140
+#: fortran/data.cc:78
+#, gcc-internal-format, gfc-internal-format
+msgid "Subscript at %L below array lower bound (%ld < %ld) in dimension %d"
+msgstr ""
+
+#: fortran/data.cc:89
+#, gcc-internal-format, gfc-internal-format
+msgid "Subscript at %L above array upper bound (%ld > %ld) in dimension %d"
+msgstr ""
+
+#: fortran/data.cc:172
 #, gcc-internal-format, gfc-internal-format
 msgid "failure to simplify substring reference in DATA statement at %L"
 msgstr ""
 
-#: fortran/data.cc:173
+#: fortran/data.cc:205
 #, gcc-internal-format, gfc-internal-format
 msgid "Unused initialization string at %L because variable has zero length"
 msgstr ""
 
-#: fortran/data.cc:179
-#, gcc-internal-format, gfc-internal-format
-msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)"
+#: fortran/data.cc:211
+#, gcc-internal-format
+msgid "Initialization string at %L was truncated to fit the variable (%wd/%wd)"
 msgstr ""
 
-#: fortran/data.cc:188 fortran/resolve.cc:5261
+#: fortran/data.cc:220 fortran/resolve.cc:5287
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/data.cc:194 fortran/resolve.cc:5291
+#: fortran/data.cc:226 fortran/resolve.cc:5317
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/data.cc:284
+#: fortran/data.cc:316
 #, gcc-internal-format
 msgid "%qs at %L already is initialized at %L"
 msgstr ""
 
-#: fortran/data.cc:308
+#: fortran/data.cc:343
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element below array lower bound at %L"
 msgstr ""
 
-#: fortran/data.cc:325 fortran/data.cc:414
+#: fortran/data.cc:360 fortran/data.cc:449
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element above array upper bound at %L"
 msgstr ""
 
-#: fortran/data.cc:355 fortran/data.cc:580
+#: fortran/data.cc:390 fortran/data.cc:615
 #, gcc-internal-format
 msgid "re-initialization of %qs at %L"
 msgstr ""
 
-#: fortran/data.cc:525
+#: fortran/data.cc:560
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN or KIND inquiry ref in DATA statement at %L"
 msgstr ""
 
-#: fortran/data.cc:603
+#: fortran/data.cc:638
 #, gcc-internal-format
 msgid ""
 "Nonpointer object %qs with default initialization shall not appear in a DATA "
 "statement at %L"
 msgstr ""
 
-#: fortran/data.cc:655 fortran/data.cc:674 fortran/data.cc:688
-#: fortran/data.cc:817
+#: fortran/data.cc:698 fortran/data.cc:717 fortran/data.cc:731
+#: fortran/data.cc:757 fortran/data.cc:904
 #, gcc-internal-format
 msgid "Simplification error"
 msgstr ""
 
-#: fortran/data.cc:830
-#, gcc-internal-format
-msgid "TODO: Vector sections in data statements"
-msgstr ""
-
 #: fortran/decl.cc:293
 #, gcc-internal-format, gfc-internal-format
 msgid "Inquiry parameter cannot appear in a data-stmt-object-list at %C"
@@ -69987,7 +72486,7 @@ msgstr ""
 msgid "deferred type parameter at %C"
 msgstr ""
 
-#: fortran/decl.cc:1162 fortran/resolve.cc:13011
+#: fortran/decl.cc:1162 fortran/resolve.cc:13060
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar INTEGER expression expected at %L"
 msgstr ""
@@ -70002,7 +72501,7 @@ msgstr ""
 msgid "Syntax error in character length specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:1371 fortran/decl.cc:1378 fortran/decl.cc:1442
+#: fortran/decl.cc:1371 fortran/decl.cc:1378 fortran/decl.cc:1444
 #, gcc-internal-format
 msgid "Procedure %qs at %C is already defined at %L"
 msgstr ""
@@ -70017,96 +72516,96 @@ msgstr ""
 msgid "Name %qs at %C is already defined as a generic interface at %L"
 msgstr ""
 
-#: fortran/decl.cc:1414
+#: fortran/decl.cc:1416
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %C has an explicit interface from a previous declaration"
 msgstr ""
 
-#: fortran/decl.cc:1430
+#: fortran/decl.cc:1432
 #, gcc-internal-format
 msgid ""
 "Procedure %qs defined in interface body at %L clashes with internal "
 "procedure defined at %C"
 msgstr ""
 
-#: fortran/decl.cc:1513
+#: fortran/decl.cc:1515
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %L must have the BIND(C) attribute to be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:1540
+#: fortran/decl.cc:1542
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a dummy argument to the BIND(C) procedure %qs but is "
 "not C interoperable because derived type %qs is not C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:1547
+#: fortran/decl.cc:1549
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a dummy argument to the BIND(C) procedure %qs but is "
 "not C interoperable because it is polymorphic"
 msgstr ""
 
-#: fortran/decl.cc:1554
+#: fortran/decl.cc:1556
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a dummy argument of the BIND(C) procedure %qs but may "
 "not be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:1563
+#: fortran/decl.cc:1565
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs at %L may not be a pointer with CONTIGUOUS attribute as "
 "procedure %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1573
+#: fortran/decl.cc:1575
 #, gcc-internal-format
 msgid ""
 "Default-initialized %s dummy argument %qs at %L is not permitted in BIND(C) "
 "procedure %qs"
 msgstr ""
 
-#: fortran/decl.cc:1594
+#: fortran/decl.cc:1596
 #, gcc-internal-format
 msgid ""
 "Allocatable character dummy argument %qs at %L must have deferred length as "
 "procedure %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1599
+#: fortran/decl.cc:1601
 #, gcc-internal-format
 msgid ""
 "Pointer character dummy argument %qs at %L must have deferred length as "
 "procedure %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1606
+#: fortran/decl.cc:1608
 #, gcc-internal-format
 msgid ""
 "Deferred-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1618
+#: fortran/decl.cc:1620
 #, gcc-internal-format
 msgid ""
 "Character dummy argument %qs at %L must be of length 1 as it has the VALUE "
 "attribute"
 msgstr ""
 
-#: fortran/decl.cc:1629
+#: fortran/decl.cc:1631
 #, gcc-internal-format
 msgid ""
 "Assumed-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1643
+#: fortran/decl.cc:1645
 #, gcc-internal-format
 msgid ""
 "Character dummy argument %qs at %L must be of constant length of one or "
@@ -70114,740 +72613,740 @@ msgid ""
 "%qs has the BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1661
+#: fortran/decl.cc:1663
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with ALLOCATABLE attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1669
+#: fortran/decl.cc:1671
 #, gcc-internal-format
 msgid "Variable %qs at %L with POINTER attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1678
+#: fortran/decl.cc:1680
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L cannot have both the OPTIONAL and the VALUE attribute "
 "because procedure %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1685
+#: fortran/decl.cc:1687
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with OPTIONAL attribute in procedure %qs which is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1696
+#: fortran/decl.cc:1698
 #, gcc-internal-format
 msgid ""
 "Assumed-shape array %qs at %L as dummy argument to the BIND(C) procedure %qs "
 "at %L"
 msgstr ""
 
-#: fortran/decl.cc:1764
+#: fortran/decl.cc:1766
 #, gcc-internal-format
 msgid "Symbol %qs at %C also declared as a type at %L"
 msgstr ""
 
-#: fortran/decl.cc:1823
+#: fortran/decl.cc:1825
 #, gcc-internal-format
 msgid ""
 "Variable %qs in common block %qs at %C must be declared with a C "
 "interoperable kind since common block %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1863
+#: fortran/decl.cc:1865
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length must be a constant at %L"
 msgstr ""
 
-#: fortran/decl.cc:1878
+#: fortran/decl.cc:1880
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression at %L is being truncated (%ld/%ld)"
 msgstr ""
 
-#: fortran/decl.cc:1886
+#: fortran/decl.cc:1888
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The CHARACTER elements of the array constructor at %L must have the same "
 "length (%ld/%ld)"
 msgstr ""
 
-#: fortran/decl.cc:1985
+#: fortran/decl.cc:2026
 #, gcc-internal-format
 msgid "Initializer not allowed for PARAMETER %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:1998
+#: fortran/decl.cc:2039
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER at %L is missing an initializer"
 msgstr ""
 
-#: fortran/decl.cc:2008
+#: fortran/decl.cc:2049
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %C with an initializer already appears in a DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:2051
+#: fortran/decl.cc:2092
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize parameter array at %L with variable length elements"
 msgstr ""
 
-#: fortran/decl.cc:2115
+#: fortran/decl.cc:2126
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch of array at %L and its initializer (%d/%d)"
 msgstr ""
 
-#: fortran/decl.cc:2128
+#: fortran/decl.cc:2139
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize implied-shape array at %L with scalar"
 msgstr ""
 
-#: fortran/decl.cc:2138
+#: fortran/decl.cc:2149
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad shape of initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2145
+#: fortran/decl.cc:2156
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot determine shape of initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2180
+#: fortran/decl.cc:2191
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-constant lower bound in implied-shape declaration at %L"
 msgstr ""
 
-#: fortran/decl.cc:2230
+#: fortran/decl.cc:2241
 #, gcc-internal-format
 msgid "Entity %qs at %L is incompatible with a BOZ literal constant"
 msgstr ""
 
-#: fortran/decl.cc:2295 fortran/decl.cc:2302
+#: fortran/decl.cc:2306 fortran/decl.cc:2313
 #, gcc-internal-format, gfc-internal-format
 msgid "Component at %C must have the POINTER attribute"
 msgstr ""
 
-#: fortran/decl.cc:2311
+#: fortran/decl.cc:2322
 #, gcc-internal-format
 msgid "Component %qs with CLASS at %C must be allocatable or pointer"
 msgstr ""
 
-#: fortran/decl.cc:2320
+#: fortran/decl.cc:2331
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have explicit or deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2344 fortran/symbol.cc:2270
+#: fortran/decl.cc:2355 fortran/symbol.cc:2270
 #, gcc-internal-format
 msgid "Component %qs at %C already declared at %L"
 msgstr ""
 
-#: fortran/decl.cc:2392
+#: fortran/decl.cc:2410
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer array component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2401
+#: fortran/decl.cc:2419
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2410
+#: fortran/decl.cc:2428
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.cc:2427
+#: fortran/decl.cc:2445
 #, gcc-internal-format
 msgid ""
 "Type parameter %qs at %C has no corresponding entry in the type parameter "
 "name list at %L"
 msgstr ""
 
-#: fortran/decl.cc:2484
+#: fortran/decl.cc:2502
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:2501
+#: fortran/decl.cc:2519
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C may not have MOLD"
 msgstr ""
 
-#: fortran/decl.cc:2518
+#: fortran/decl.cc:2536
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:2539
+#: fortran/decl.cc:2557
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2546
+#: fortran/decl.cc:2564
 #, gcc-internal-format, gfc-internal-format
 msgid "non-NULL pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2569
+#: fortran/decl.cc:2587
 #, gcc-internal-format
 msgid ""
 "RESULT variable %qs at %L prohibits FUNCTION name %qs at %C from appearing "
 "in a specification statement"
 msgstr ""
 
-#: fortran/decl.cc:2623
+#: fortran/decl.cc:2641
 #, gcc-internal-format
 msgid "%qs not allowed outside STRUCTURE at %C"
 msgstr ""
 
-#: fortran/decl.cc:2625
+#: fortran/decl.cc:2643
 #, gcc-internal-format
 msgid "%qs at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:2633
+#: fortran/decl.cc:2651
 #, gcc-internal-format
 msgid "%qs entity cannot have attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:2643
+#: fortran/decl.cc:2661
 #, gcc-internal-format
 msgid "Invalid character %qc in variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:2685
+#: fortran/decl.cc:2703
 #, gcc-internal-format
 msgid "Non-PARAMETER symbol %qs at %L cannot be implied-shape"
 msgstr ""
 
-#: fortran/decl.cc:2695
+#: fortran/decl.cc:2713
 #, gcc-internal-format, gfc-internal-format
 msgid "Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.cc:2752
+#: fortran/decl.cc:2770
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Explicit array shape at %C must be constant of INTEGER type and not %s type"
 msgstr ""
 
-#: fortran/decl.cc:2760
+#: fortran/decl.cc:2778
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit shaped array with nonconstant bounds at %C"
 msgstr ""
 
-#: fortran/decl.cc:2861
+#: fortran/decl.cc:2879
 #, gcc-internal-format
 msgid ""
 "%qs at %C is a redefinition of the declaration in the corresponding "
 "interface for MODULE PROCEDURE %qs"
 msgstr ""
 
-#: fortran/decl.cc:2872
+#: fortran/decl.cc:2890
 #, gcc-internal-format
 msgid "%qs entity cannot have an initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:2897 fortran/decl.cc:8968
+#: fortran/decl.cc:2915 fortran/decl.cc:8997
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
 
-#: fortran/decl.cc:2905
+#: fortran/decl.cc:2923
 #, gcc-internal-format
 msgid "Cannot set pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:2968
+#: fortran/decl.cc:2986
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2976
+#: fortran/decl.cc:2994
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid old style initialization for derived type component at %C"
 msgstr ""
 
-#: fortran/decl.cc:2989
+#: fortran/decl.cc:3007
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in old style initialization of %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:3009 fortran/decl.cc:7183
+#: fortran/decl.cc:3027 fortran/decl.cc:7212
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
 
-#: fortran/decl.cc:3032
+#: fortran/decl.cc:3050
 #, gcc-internal-format
 msgid "Pointer initialization at %C requires %<=>%>, not %<=%>"
 msgstr ""
 
-#: fortran/decl.cc:3041 fortran/decl.cc:10912
+#: fortran/decl.cc:3059 fortran/decl.cc:10941
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3048
+#: fortran/decl.cc:3066
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of variable at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:3065
+#: fortran/decl.cc:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of allocatable component at %C is not allowed"
 msgstr ""
 
-#: fortran/decl.cc:3074
+#: fortran/decl.cc:3092
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Initialization of structure component with a HOLLERITH constant at %L is not "
 "allowed"
 msgstr ""
 
-#: fortran/decl.cc:3088
+#: fortran/decl.cc:3106
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The component with KIND or LEN attribute at %C does not not appear in the "
 "type parameter list at %L"
 msgstr ""
 
-#: fortran/decl.cc:3096
+#: fortran/decl.cc:3114
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The component at %C that appears in the type parameter list at %L has "
 "neither the KIND nor LEN attribute"
 msgstr ""
 
-#: fortran/decl.cc:3104
+#: fortran/decl.cc:3122
 #, gcc-internal-format, gfc-internal-format
 msgid "The component at %C which is a type parameter must be a scalar"
 msgstr ""
 
-#: fortran/decl.cc:3113
+#: fortran/decl.cc:3131
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear as an initializer"
 msgstr ""
 
-#: fortran/decl.cc:3130
+#: fortran/decl.cc:3148
 #, gcc-internal-format
 msgid ""
 "Incompatible initialization between a derived type entity and an entity with "
 "%qs type at %C"
 msgstr ""
 
-#: fortran/decl.cc:3193 fortran/decl.cc:3228
+#: fortran/decl.cc:3211 fortran/decl.cc:3246
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style type declaration %s*%d not supported at %C"
 msgstr ""
 
-#: fortran/decl.cc:3234
+#: fortran/decl.cc:3252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonstandard type declaration %s*%d at %C"
 msgstr ""
 
-#: fortran/decl.cc:3293 fortran/decl.cc:3370
+#: fortran/decl.cc:3311 fortran/decl.cc:3388
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis at %C"
 msgstr ""
 
-#: fortran/decl.cc:3306 fortran/decl.cc:3441
+#: fortran/decl.cc:3324 fortran/decl.cc:3459
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3314 fortran/decl.cc:3447
+#: fortran/decl.cc:3332 fortran/decl.cc:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3344 fortran/decl.cc:4079
+#: fortran/decl.cc:3362 fortran/decl.cc:4097
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d not supported for type %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:3357
+#: fortran/decl.cc:3375
 #, gcc-internal-format, gfc-internal-format
 msgid "C kind type parameter is for type %s but type at %L is %s"
 msgstr ""
 
-#: fortran/decl.cc:3368
+#: fortran/decl.cc:3386
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis or comma at %C"
 msgstr ""
 
-#: fortran/decl.cc:3473
+#: fortran/decl.cc:3491
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d is not supported for CHARACTER at %C"
 msgstr ""
 
-#: fortran/decl.cc:3605
+#: fortran/decl.cc:3623
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CHARACTER declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:3706
+#: fortran/decl.cc:3724
 #, gcc-internal-format
 msgid "RECORD at %C is an extension, enable it with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:3719
+#: fortran/decl.cc:3737
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected after RECORD at %C"
 msgstr ""
 
-#: fortran/decl.cc:3832
+#: fortran/decl.cc:3850
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C cannot contain both ASSUMED and DEFERRED "
 "parameters"
 msgstr ""
 
-#: fortran/decl.cc:3856
+#: fortran/decl.cc:3874
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C does not contain enough parameter "
 "expressions"
 msgstr ""
 
-#: fortran/decl.cc:3880
+#: fortran/decl.cc:3898
 #, gcc-internal-format
 msgid "The derived parameter %qs at %C does not have a default value"
 msgstr ""
 
-#: fortran/decl.cc:3913
+#: fortran/decl.cc:3931
 #, gcc-internal-format, gfc-internal-format
 msgid "The parameter expression at %C must be of INTEGER type and not %s type"
 msgstr ""
 
-#: fortran/decl.cc:3920
+#: fortran/decl.cc:3938
 #, gcc-internal-format, gfc-internal-format
 msgid "The parameter expression at %C does not simplify to an INTEGER constant"
 msgstr ""
 
-#: fortran/decl.cc:3947
+#: fortran/decl.cc:3965
 #, gcc-internal-format
 msgid "The KIND parameter %qs at %C cannot either be ASSUMED or DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:3954
+#: fortran/decl.cc:3972
 #, gcc-internal-format
 msgid ""
 "The value for the KIND parameter %qs at %C does not reduce to a constant "
 "expression"
 msgstr ""
 
-#: fortran/decl.cc:3969
+#: fortran/decl.cc:3987
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C contains too many parameter expressions"
 msgstr ""
 
-#: fortran/decl.cc:3978
+#: fortran/decl.cc:3996
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameterized derived type at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4214
+#: fortran/decl.cc:4232
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4226
+#: fortran/decl.cc:4244
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type used at %C is not available on the target machine"
 msgstr ""
 
-#: fortran/decl.cc:4288
+#: fortran/decl.cc:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C is not allowed for components"
 msgstr ""
 
-#: fortran/decl.cc:4291
+#: fortran/decl.cc:4309
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4313 fortran/decl.cc:4347 fortran/decl.cc:4380
-#: fortran/decl.cc:4679
+#: fortran/decl.cc:4331 fortran/decl.cc:4365 fortran/decl.cc:4398
+#: fortran/decl.cc:4697
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE with intrinsic-type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4325 fortran/decl.cc:4353 fortran/decl.cc:4386
-#: fortran/decl.cc:4412 fortran/decl.cc:4704 fortran/decl.cc:4722
+#: fortran/decl.cc:4343 fortran/decl.cc:4371 fortran/decl.cc:4404
+#: fortran/decl.cc:4430 fortran/decl.cc:4722 fortran/decl.cc:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4376
+#: fortran/decl.cc:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "DOUBLE COMPLEX at %C"
 msgstr ""
 
-#: fortran/decl.cc:4428 fortran/decl.cc:4570 fortran/decl.cc:4582
-#: fortran/decl.cc:4596 fortran/decl.cc:5081 fortran/decl.cc:5089
+#: fortran/decl.cc:4446 fortran/decl.cc:4588 fortran/decl.cc:4600
+#: fortran/decl.cc:4614 fortran/decl.cc:5099 fortran/decl.cc:5107
 #, gcc-internal-format
 msgid "Type name %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4529
+#: fortran/decl.cc:4547
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4611
+#: fortran/decl.cc:4629
 #, gcc-internal-format
 msgid ""
 "Type name %qs at %C conflicts with previously declared entity at %L, which "
 "has the same name"
 msgstr ""
 
-#: fortran/decl.cc:4757
+#: fortran/decl.cc:4775
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate IMPLICIT NONE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4766
+#: fortran/decl.cc:4784
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT NONE with spec list at %C"
 msgstr ""
 
-#: fortran/decl.cc:4825
+#: fortran/decl.cc:4843
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing character range in IMPLICIT at %C"
 msgstr ""
 
-#: fortran/decl.cc:4871
+#: fortran/decl.cc:4889
 #, gcc-internal-format, gfc-internal-format
 msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4924
+#: fortran/decl.cc:4942
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT statement at %C following an IMPLICIT NONE (type) statement"
 msgstr ""
 
-#: fortran/decl.cc:4934
+#: fortran/decl.cc:4952
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5040
+#: fortran/decl.cc:5058
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C only permitted in an INTERFACE body"
 msgstr ""
 
-#: fortran/decl.cc:5047
+#: fortran/decl.cc:5065
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "F2008: C1210 IMPORT statement at %C is not permitted in a module procedure "
 "interface body"
 msgstr ""
 
-#: fortran/decl.cc:5052
+#: fortran/decl.cc:5070
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5066
+#: fortran/decl.cc:5084
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting list of named entities at %C"
 msgstr ""
 
-#: fortran/decl.cc:5095
+#: fortran/decl.cc:5113
 #, gcc-internal-format
 msgid "Cannot IMPORT %qs from host scoping unit at %C - does not exist."
 msgstr ""
 
-#: fortran/decl.cc:5102
+#: fortran/decl.cc:5120
 #, gcc-internal-format
 msgid "%qs is already IMPORTed from host scoping unit at %C"
 msgstr ""
 
-#: fortran/decl.cc:5143
+#: fortran/decl.cc:5161
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5483
+#: fortran/decl.cc:5501
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing codimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5485
+#: fortran/decl.cc:5503
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing dimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5580
+#: fortran/decl.cc:5598
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s attribute at %L"
 msgstr ""
 
-#: fortran/decl.cc:5597
+#: fortran/decl.cc:5615
 #, gcc-internal-format
 msgid "%s at %L is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:5616
+#: fortran/decl.cc:5634
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5618
+#: fortran/decl.cc:5636
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5628
+#: fortran/decl.cc:5646
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5630
+#: fortran/decl.cc:5648
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5638
+#: fortran/decl.cc:5656
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with KIND attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5647
+#: fortran/decl.cc:5665
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5649
+#: fortran/decl.cc:5667
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5657
+#: fortran/decl.cc:5675
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with LEN attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5665
+#: fortran/decl.cc:5683
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5667
+#: fortran/decl.cc:5685
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5685
+#: fortran/decl.cc:5703
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute %s at %L in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5695
+#: fortran/decl.cc:5713
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s attribute at %L is not allowed outside of the specification part of a "
 "module"
 msgstr ""
 
-#: fortran/decl.cc:5705
+#: fortran/decl.cc:5723
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed outside a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5718
+#: fortran/decl.cc:5736
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5729
+#: fortran/decl.cc:5747
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5784 fortran/decl.cc:9270
+#: fortran/decl.cc:5802 fortran/decl.cc:9299
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:5790
+#: fortran/decl.cc:5808
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5824
+#: fortran/decl.cc:5842
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5831
+#: fortran/decl.cc:5849
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5838
+#: fortran/decl.cc:5856
 #, gcc-internal-format
 msgid "match_attr_spec(): Bad attribute"
 msgstr ""
 
-#: fortran/decl.cc:5879
+#: fortran/decl.cc:5897
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:5977
+#: fortran/decl.cc:5995
 #, gcc-internal-format
 msgid ""
 "Implicitly declared BIND(C) function %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:5999
+#: fortran/decl.cc:6017
 #, gcc-internal-format
 msgid ""
 "Variable %qs in common block %qs at %L may not be a C interoperable kind "
 "though common block %qs is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:6010
+#: fortran/decl.cc:6028
 #, gcc-internal-format
 msgid "Type declaration %qs at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:6016
+#: fortran/decl.cc:6034
 #, gcc-internal-format
 msgid "Variable %qs at %L may not be a C interoperable kind but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:6028
+#: fortran/decl.cc:6046
 #, gcc-internal-format
 msgid ""
 "Variable %qs in common block %qs at %L cannot be declared with BIND(C) since "
 "it is not a global"
 msgstr ""
 
-#: fortran/decl.cc:6042
+#: fortran/decl.cc:6060
 #, gcc-internal-format
 msgid "Variable %qs at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6050
+#: fortran/decl.cc:6068
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6062
+#: fortran/decl.cc:6080
 #, gcc-internal-format
 msgid "Return type of BIND(C) function %qs at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.cc:6070
+#: fortran/decl.cc:6086
 #, gcc-internal-format
 msgid ""
 "Return type of BIND(C) function %qs of character type at %L must have length "
@@ -70856,1037 +73355,1050 @@ msgstr ""
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.cc:6081
+#: fortran/decl.cc:6097
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %L is marked PRIVATE but has been given the binding label %qs"
 msgstr ""
 
-#: fortran/decl.cc:6155
+#: fortran/decl.cc:6171
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Need either entity or common block name for attribute specification "
 "statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6200
+#: fortran/decl.cc:6216
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing entity or common block name for attribute specification statement at "
 "%C"
 msgstr ""
 
-#: fortran/decl.cc:6207
+#: fortran/decl.cc:6223
 #, gcc-internal-format
 msgid "Missing symbol"
 msgstr ""
 
-#: fortran/decl.cc:6236
+#: fortran/decl.cc:6252
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6298
+#: fortran/decl.cc:6314
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS entity at %C cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/decl.cc:6330
+#: fortran/decl.cc:6346
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Derived type at %C has not been previously defined and so cannot appear in a "
 "derived type definition"
 msgstr ""
 
-#: fortran/decl.cc:6372
+#: fortran/decl.cc:6388
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in anonymous structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6381
+#: fortran/decl.cc:6397
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6453
+#: fortran/decl.cc:6469
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C"
 msgstr ""
 
-#: fortran/decl.cc:6458
+#: fortran/decl.cc:6474
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C found outside of a module, submodule, or interface"
 msgstr ""
 
-#: fortran/decl.cc:6509
+#: fortran/decl.cc:6525
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.cc:6521
+#: fortran/decl.cc:6537
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.cc:6567
+#: fortran/decl.cc:6583
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6574
+#: fortran/decl.cc:6590
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6581
+#: fortran/decl.cc:6597
 #, gcc-internal-format, gfc-internal-format
 msgid "RECURSIVE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6642
+#: fortran/decl.cc:6658
 #, gcc-internal-format, gfc-internal-format
 msgid "A type parameter list is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6656 fortran/primary.cc:1885
+#: fortran/decl.cc:6672 fortran/primary.cc:1885
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate-return argument at %C"
 msgstr ""
 
-#: fortran/decl.cc:6662 fortran/decl.cc:6670
+#: fortran/decl.cc:6678 fortran/decl.cc:6686
 #, gcc-internal-format, gfc-internal-format
 msgid "A parameter name is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6710
+#: fortran/decl.cc:6726
 #, gcc-internal-format
 msgid "Name %qs at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.cc:6723
+#: fortran/decl.cc:6739
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected parameter list in type declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6726
+#: fortran/decl.cc:6742
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6744
+#: fortran/decl.cc:6760
 #, gcc-internal-format
 msgid "Duplicate name %qs in parameter list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6747
+#: fortran/decl.cc:6763
 #, gcc-internal-format
 msgid "Duplicate symbol %qs in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6786
+#: fortran/decl.cc:6805
+#, gcc-internal-format
+msgid ""
+"MODULE PROCEDURE formal argument %qs conflicts with alternate return at %C"
+msgstr ""
+
+#: fortran/decl.cc:6809
+#, gcc-internal-format
+msgid ""
+"MODULE PROCEDURE formal argument is alternate return and conflicts with %qs "
+"in the separate declaration at %C"
+msgstr ""
+
+#: fortran/decl.cc:6814
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in MODULE PROCEDURE formal argument names (%s/%s) at %C"
 msgstr ""
 
-#: fortran/decl.cc:6792
+#: fortran/decl.cc:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in number of MODULE PROCEDURE formal arguments at %C"
 msgstr ""
 
-#: fortran/decl.cc:6831
+#: fortran/decl.cc:6860
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.cc:6908
+#: fortran/decl.cc:6937
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6918 fortran/decl.cc:8056
+#: fortran/decl.cc:6947 fortran/decl.cc:8085
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.cc:7122
+#: fortran/decl.cc:7151
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:7129
+#: fortran/decl.cc:7158
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:7135
+#: fortran/decl.cc:7164
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.cc:7158
+#: fortran/decl.cc:7187
 #, gcc-internal-format
 msgid "Procedure %qs at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:7204 fortran/decl.cc:7392 fortran/decl.cc:11396
+#: fortran/decl.cc:7233 fortran/decl.cc:7421 fortran/decl.cc:11425
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7253 fortran/decl.cc:11296
+#: fortran/decl.cc:7282 fortran/decl.cc:11325
 #, gcc-internal-format
 msgid "Expected %<::%> after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:7260
+#: fortran/decl.cc:7289
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.cc:7264
+#: fortran/decl.cc:7293
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7336
+#: fortran/decl.cc:7365
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7354
+#: fortran/decl.cc:7383
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.cc:7363 fortran/decl.cc:10036
+#: fortran/decl.cc:7392 fortran/decl.cc:10065
 #, gcc-internal-format, gfc-internal-format
 msgid "double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:7433
+#: fortran/decl.cc:7462
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7505
+#: fortran/decl.cc:7534
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:7535 fortran/decl.cc:7814 fortran/decl.cc:8023
+#: fortran/decl.cc:7564 fortran/decl.cc:7843 fortran/decl.cc:8052
 #: fortran/symbol.cc:1910
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.cc:7565 fortran/decl.cc:8081
+#: fortran/decl.cc:7594 fortran/decl.cc:8110
 #, gcc-internal-format
 msgid "Mismatch in BIND(C) names (%qs/%qs) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7708
+#: fortran/decl.cc:7737
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7717
+#: fortran/decl.cc:7746
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.cc:7720
+#: fortran/decl.cc:7749
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.cc:7723
+#: fortran/decl.cc:7752
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SUBMODULE"
 msgstr ""
 
-#: fortran/decl.cc:7726
+#: fortran/decl.cc:7755
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.cc:7730 fortran/decl.cc:7775
+#: fortran/decl.cc:7759 fortran/decl.cc:7804
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.cc:7734
+#: fortran/decl.cc:7763
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a STRUCTURE block"
 msgstr ""
 
-#: fortran/decl.cc:7738
+#: fortran/decl.cc:7767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.cc:7742
+#: fortran/decl.cc:7771
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.cc:7747
+#: fortran/decl.cc:7776
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.cc:7751
+#: fortran/decl.cc:7780
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.cc:7755
+#: fortran/decl.cc:7784
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.cc:7759
+#: fortran/decl.cc:7788
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.cc:7763
+#: fortran/decl.cc:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.cc:7767
+#: fortran/decl.cc:7796
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7788
+#: fortran/decl.cc:7817
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.cc:7839 fortran/decl.cc:8063
+#: fortran/decl.cc:7868 fortran/decl.cc:8092
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7933
+#: fortran/decl.cc:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %L with BIND(C) prohibited in an elemental procedure"
 msgstr ""
 
-#: fortran/decl.cc:8090
+#: fortran/decl.cc:8119
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Alternate return dummy argument cannot appear in a SUBROUTINE with the "
 "BIND(C) attribute at %L"
 msgstr ""
 
-#: fortran/decl.cc:8153 fortran/decl.cc:8160
+#: fortran/decl.cc:8182 fortran/decl.cc:8189
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid C identifier in NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:8200
+#: fortran/decl.cc:8229
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8216
+#: fortran/decl.cc:8245
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a constant expression"
 msgstr ""
 
-#: fortran/decl.cc:8224
+#: fortran/decl.cc:8253
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a scalar of default character kind"
 msgstr ""
 
-#: fortran/decl.cc:8243
+#: fortran/decl.cc:8272
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8249
+#: fortran/decl.cc:8278
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:8255
+#: fortran/decl.cc:8284
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:8284
+#: fortran/decl.cc:8313
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.cc:8531
+#: fortran/decl.cc:8560
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8540
+#: fortran/decl.cc:8569
 #, gcc-internal-format, gfc-internal-format
 msgid "END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.cc:8549
+#: fortran/decl.cc:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.cc:8560
+#: fortran/decl.cc:8589
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8580
+#: fortran/decl.cc:8609
 #, gcc-internal-format
 msgid "Expected block name of %qs in %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8597
+#: fortran/decl.cc:8626
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8611 fortran/decl.cc:8619
+#: fortran/decl.cc:8640 fortran/decl.cc:8648
 #, gcc-internal-format
 msgid "Expected label %qs for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8718
+#: fortran/decl.cc:8747
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8726
+#: fortran/decl.cc:8755
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialization"
 msgstr ""
 
-#: fortran/decl.cc:8734
+#: fortran/decl.cc:8763
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8743
+#: fortran/decl.cc:8772
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.cc:8848
+#: fortran/decl.cc:8877
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.cc:8885
+#: fortran/decl.cc:8914
 #, gcc-internal-format
 msgid "Expected %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:8899 fortran/decl.cc:8939
+#: fortran/decl.cc:8928 fortran/decl.cc:8968
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8915
+#: fortran/decl.cc:8944
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.cc:8919
+#: fortran/decl.cc:8948
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Cray pointer at %C has %d bytes of precision; memory addresses require %d "
 "bytes"
 msgstr ""
 
-#: fortran/decl.cc:8925
+#: fortran/decl.cc:8954
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:8964
+#: fortran/decl.cc:8993
 #, gcc-internal-format
 msgid "Cannot set Cray pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:8988
+#: fortran/decl.cc:9017
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:9000
+#: fortran/decl.cc:9029
 #, gcc-internal-format
 msgid "Expected %<,%> or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9026
+#: fortran/decl.cc:9055
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9058
+#: fortran/decl.cc:9087
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9077
+#: fortran/decl.cc:9106
 #, gcc-internal-format
 msgid "Cray pointer declaration at %C requires %<-fcray-pointer%> flag"
 msgstr ""
 
-#: fortran/decl.cc:9116
+#: fortran/decl.cc:9145
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9214
+#: fortran/decl.cc:9243
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9230
+#: fortran/decl.cc:9259
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9278
+#: fortran/decl.cc:9307
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9312
+#: fortran/decl.cc:9341
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9339 fortran/decl.cc:9364
+#: fortran/decl.cc:9368 fortran/decl.cc:9393
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:9385 fortran/decl.cc:9405
+#: fortran/decl.cc:9414 fortran/decl.cc:9434
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:9427
+#: fortran/decl.cc:9456
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9434
+#: fortran/decl.cc:9463
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9440
+#: fortran/decl.cc:9469
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9460
+#: fortran/decl.cc:9489
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr ""
 
 #. With legacy PARAMETER statements, don't expect a terminating ')'.
-#: fortran/decl.cc:9485
+#: fortran/decl.cc:9514
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER without '()' at %C"
 msgstr ""
 
-#: fortran/decl.cc:9501
+#: fortran/decl.cc:9530
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9520 fortran/decl.cc:9576
+#: fortran/decl.cc:9549 fortran/decl.cc:9605
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:9555
+#: fortran/decl.cc:9584
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9562
+#: fortran/decl.cc:9591
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9611
+#: fortran/decl.cc:9640
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9618
+#: fortran/decl.cc:9647
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9637
+#: fortran/decl.cc:9666
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9648
+#: fortran/decl.cc:9677
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9696
+#: fortran/decl.cc:9725
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9713
+#: fortran/decl.cc:9742
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9717
+#: fortran/decl.cc:9746
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9755
+#: fortran/decl.cc:9784
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9767
+#: fortran/decl.cc:9796
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9794
+#: fortran/decl.cc:9823
 #, gcc-internal-format
 msgid ""
 "Specifying VOLATILE for coarray variable %qs at %C, which is use-/host-"
 "associated"
 msgstr ""
 
-#: fortran/decl.cc:9819
+#: fortran/decl.cc:9848
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9831
+#: fortran/decl.cc:9860
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9875
+#: fortran/decl.cc:9904
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9900
+#: fortran/decl.cc:9929
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10011
+#: fortran/decl.cc:10040
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.cc:10069
+#: fortran/decl.cc:10098
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.cc:10118
+#: fortran/decl.cc:10147
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10127
+#: fortran/decl.cc:10156
 #, gcc-internal-format
 msgid "Symbol %qs at %C has not been previously defined"
 msgstr ""
 
-#: fortran/decl.cc:10133
+#: fortran/decl.cc:10162
 #, gcc-internal-format
 msgid "%qs in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.cc:10140
+#: fortran/decl.cc:10169
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:10147
+#: fortran/decl.cc:10176
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.cc:10170
+#: fortran/decl.cc:10199
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:10182
+#: fortran/decl.cc:10211
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:10203
+#: fortran/decl.cc:10232
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10249
+#: fortran/decl.cc:10278
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to create structure type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.cc:10255
+#: fortran/decl.cc:10284
 #, gcc-internal-format
 msgid "Type definition of %qs at %C was already defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:10302
+#: fortran/decl.cc:10331
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after MAP statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10335
+#: fortran/decl.cc:10364
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after UNION statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10370
+#: fortran/decl.cc:10399
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:10384
+#: fortran/decl.cc:10413
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected in non-nested structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10402
+#: fortran/decl.cc:10431
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after non-nested STRUCTURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10409
+#: fortran/decl.cc:10438
 #, gcc-internal-format
 msgid "Structure name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10572
+#: fortran/decl.cc:10601
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10585
+#: fortran/decl.cc:10614
 #, gcc-internal-format, gfc-internal-format
 msgid "Mangled derived type definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10614
+#: fortran/decl.cc:10643
 #, gcc-internal-format
 msgid "Type name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10625
+#: fortran/decl.cc:10654
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:10628
+#: fortran/decl.cc:10657
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type"
 msgstr ""
 
-#: fortran/decl.cc:10643
+#: fortran/decl.cc:10672
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be a derived type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10652
+#: fortran/decl.cc:10681
 #, gcc-internal-format
 msgid "Derived type definition of %qs at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.cc:10715
+#: fortran/decl.cc:10744
 #, gcc-internal-format, gfc-internal-format
 msgid "Garbage after PARAMETERIZED TYPE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10798
+#: fortran/decl.cc:10827
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.cc:10818
+#: fortran/decl.cc:10847
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.cc:10850
+#: fortran/decl.cc:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10929
+#: fortran/decl.cc:10958
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.cc:10977
+#: fortran/decl.cc:11006
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.cc:11013
+#: fortran/decl.cc:11042
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:11060 fortran/decl.cc:11075
+#: fortran/decl.cc:11089 fortran/decl.cc:11104
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11095
+#: fortran/decl.cc:11124
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11115
+#: fortran/decl.cc:11144
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11142
+#: fortran/decl.cc:11171
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11160
+#: fortran/decl.cc:11189
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.cc:11176
+#: fortran/decl.cc:11205
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.cc:11189
+#: fortran/decl.cc:11218
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11191
+#: fortran/decl.cc:11220
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11199
+#: fortran/decl.cc:11228
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED cannot both appear at %C"
 msgstr ""
 
-#: fortran/decl.cc:11212
+#: fortran/decl.cc:11241
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:11254
+#: fortran/decl.cc:11283
 #, gcc-internal-format
 msgid "Interface-name expected after %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11260
+#: fortran/decl.cc:11289
 #, gcc-internal-format
 msgid "%<)%> expected at %C"
 msgstr ""
 
-#: fortran/decl.cc:11280
+#: fortran/decl.cc:11309
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11285
+#: fortran/decl.cc:11314
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:11308
+#: fortran/decl.cc:11337
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11312
+#: fortran/decl.cc:11341
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.cc:11324
+#: fortran/decl.cc:11353
 #, gcc-internal-format
 msgid "%<=> target%> is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11330
+#: fortran/decl.cc:11359
 #, gcc-internal-format
 msgid "%<::%> needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.cc:11340
+#: fortran/decl.cc:11369
 #, gcc-internal-format
 msgid "Expected binding target after %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11357
+#: fortran/decl.cc:11386
 #, gcc-internal-format
 msgid "Type %qs containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.cc:11368
+#: fortran/decl.cc:11397
 #, gcc-internal-format
 msgid ""
 "There is already a procedure with binding name %qs for the derived type %qs "
 "at %C"
 msgstr ""
 
-#: fortran/decl.cc:11419
+#: fortran/decl.cc:11448
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.cc:11439
+#: fortran/decl.cc:11468
 #, gcc-internal-format
 msgid "Expected %<::%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11451
+#: fortran/decl.cc:11480
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.cc:11472
+#: fortran/decl.cc:11501
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed GENERIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11483
+#: fortran/decl.cc:11512
 #, gcc-internal-format
 msgid "Expected %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11519
+#: fortran/decl.cc:11548
 #, gcc-internal-format
 msgid ""
 "There's already a non-generic procedure with binding name %qs for the "
 "derived type %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11527
+#: fortran/decl.cc:11556
 #, gcc-internal-format
 msgid "Binding at %C must have the same access as already defined binding %qs"
 msgstr ""
 
-#: fortran/decl.cc:11575
+#: fortran/decl.cc:11604
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11585
+#: fortran/decl.cc:11614
 #, gcc-internal-format
 msgid "%qs already defined as specific binding for the generic %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11603
+#: fortran/decl.cc:11632
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11638
+#: fortran/decl.cc:11667
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.cc:11650
+#: fortran/decl.cc:11679
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Derived type declaration with FINAL at %C must be in the specification part "
 "of a MODULE"
 msgstr ""
 
-#: fortran/decl.cc:11672
+#: fortran/decl.cc:11701
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.cc:11679
+#: fortran/decl.cc:11708
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11689
+#: fortran/decl.cc:11718
 #, gcc-internal-format
 msgid "Expected %<,%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11695
+#: fortran/decl.cc:11724
 #, gcc-internal-format
 msgid "Unknown procedure name %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11708
+#: fortran/decl.cc:11737
 #, gcc-internal-format
 msgid "%qs at %C is already defined as FINAL procedure"
 msgstr ""
 
-#: fortran/decl.cc:11782
+#: fortran/decl.cc:11811
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11828
+#: fortran/decl.cc:11857
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11849
+#: fortran/decl.cc:11878
 #, gcc-internal-format
 msgid ""
 "%<GCC unroll%> directive requires a non-negative integral constant less than "
 "or equal to %u at %C"
 msgstr ""
 
-#: fortran/decl.cc:11863
+#: fortran/decl.cc:11892
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ UNROLL directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11927
+#: fortran/decl.cc:11956
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ IVDEP directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11944
+#: fortran/decl.cc:11973
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ VECTOR directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11961
+#: fortran/decl.cc:11990
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ NOVECTOR directive at %C"
 msgstr ""
@@ -71937,12 +74449,12 @@ msgstr ""
 msgid "show_expr(): Don't know how to show expr"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3545
+#: fortran/dump-parse-tree.cc:3549
 #, gcc-internal-format
 msgid "show_code_node(): Bad statement code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3881 fortran/dump-parse-tree.cc:3986
+#: fortran/dump-parse-tree.cc:3885 fortran/dump-parse-tree.cc:3990
 #, gcc-internal-format
 msgid "Cannot convert %qs to interoperable type at %L"
 msgstr ""
@@ -72109,7 +74621,7 @@ msgstr ""
 msgid "Evaluation of nonstandard initialization expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3018 fortran/resolve.cc:2836
+#: fortran/expr.cc:3018 fortran/resolve.cc:2852
 #, gcc-internal-format
 msgid ""
 "Function %qs in initialization expression at %L must be an intrinsic function"
@@ -72409,7 +74921,7 @@ msgstr ""
 msgid "Explicit interface required for component %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4232 fortran/expr.cc:4247 fortran/resolve.cc:2716
+#: fortran/expr.cc:4232 fortran/expr.cc:4247 fortran/resolve.cc:2732
 #, gcc-internal-format
 msgid "Explicit interface required for %qs at %L: %s"
 msgstr ""
@@ -72542,7 +75054,7 @@ msgstr ""
 msgid "Pointer at %L in pointer assignment might outlive the pointer target"
 msgstr ""
 
-#: fortran/expr.cc:4638 fortran/resolve.cc:1555
+#: fortran/expr.cc:4638 fortran/resolve.cc:1571
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE"
 msgstr ""
@@ -72552,7 +75064,7 @@ msgstr ""
 msgid "Pointer initialization target at %L must have the TARGET attribute"
 msgstr ""
 
-#: fortran/expr.cc:4659 fortran/resolve.cc:1561
+#: fortran/expr.cc:4659 fortran/resolve.cc:1577
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
@@ -72582,114 +75094,114 @@ msgid ""
 "%<c_ptr%> or %<c_funptr%>"
 msgstr ""
 
-#: fortran/expr.cc:6252
+#: fortran/expr.cc:6266
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Fortran 2008: Pointer functions in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6260
+#: fortran/expr.cc:6274
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-variable expression in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6268
+#: fortran/expr.cc:6282
 #, gcc-internal-format
 msgid "Named constant %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6279
+#: fortran/expr.cc:6293
 #, gcc-internal-format
 msgid "%qs in variable definition context (%s) at %L is not a variable"
 msgstr ""
 
-#: fortran/expr.cc:6290
+#: fortran/expr.cc:6304
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-POINTER in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6299
+#: fortran/expr.cc:6313
 #, gcc-internal-format, gfc-internal-format
 msgid "Type inaccessible in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6312
+#: fortran/expr.cc:6326
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_TYPE in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6325
+#: fortran/expr.cc:6339
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_EVENT in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6356
+#: fortran/expr.cc:6370
 #, gcc-internal-format
 msgid "%qs parameter inquiry for %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6373
+#: fortran/expr.cc:6387
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6383
+#: fortran/expr.cc:6397
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6396
+#: fortran/expr.cc:6410
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a pointer association context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6404
+#: fortran/expr.cc:6418
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a variable definition context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6419
+#: fortran/expr.cc:6433
 #, gcc-internal-format
 msgid ""
 "Variable %qs cannot appear in a variable definition context (%s) at %L in "
 "PURE procedure"
 msgstr ""
 
-#: fortran/expr.cc:6478 fortran/expr.cc:6499
+#: fortran/expr.cc:6493 fortran/expr.cc:6514
 #, 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:6483
+#: fortran/expr.cc:6498
 #, gcc-internal-format
 msgid ""
 "%qs at %L associated to expression cannot be used in a variable definition "
 "context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6492
+#: fortran/expr.cc:6507
 #, gcc-internal-format
 msgid ""
 "%qs at %L associated to pointer function target being used in a variable "
 "definition context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6511
+#: fortran/expr.cc:6526
 #, 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:6553
+#: fortran/expr.cc:6568
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Elements with the same value at %L and %L in vector subscript in a variable "
@@ -72711,9 +75223,9 @@ msgstr ""
 msgid "Illegal id in copy_walk_reduction_arg"
 msgstr ""
 
-#: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496
-#: fortran/trans-array.cc:6954 fortran/trans-array.cc:8601
-#: fortran/trans-intrinsic.cc:8463
+#: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1514
+#: fortran/trans-array.cc:7156 fortran/trans-array.cc:8807
+#: fortran/trans-intrinsic.cc:8475
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
 msgstr ""
@@ -72809,7 +75321,7 @@ msgid ""
 "INTENT(INOUT) argument to function %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3481 fortran/trans-expr.cc:1897
+#: fortran/frontend-passes.cc:3481 fortran/trans-expr.cc:1900
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable array at %L will be added"
 msgstr ""
@@ -72839,301 +75351,301 @@ msgstr ""
 msgid "no input files; unwilling to write output files"
 msgstr ""
 
-#: fortran/interface.cc:225
+#: fortran/interface.cc:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in generic specification at %C"
 msgstr ""
 
-#: fortran/interface.cc:252
+#: fortran/interface.cc:281
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error: Trailing garbage in INTERFACE statement at %C"
 msgstr ""
 
-#: fortran/interface.cc:272
+#: fortran/interface.cc:301
 #, gcc-internal-format
 msgid "Dummy procedure %qs at %C cannot have a generic interface"
 msgstr ""
 
-#: fortran/interface.cc:305
+#: fortran/interface.cc:334
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/interface.cc:312
+#: fortran/interface.cc:341
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ABSTRACT INTERFACE statement at %C"
 msgstr ""
 
-#: fortran/interface.cc:343
+#: fortran/interface.cc:372
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error: Trailing garbage in END INTERFACE statement at %C"
 msgstr ""
 
-#: fortran/interface.cc:356
+#: fortran/interface.cc:385
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a nameless interface at %C"
 msgstr ""
 
-#: fortran/interface.cc:369
+#: fortran/interface.cc:398
 #, gcc-internal-format
 msgid "Expected %<END INTERFACE ASSIGNMENT (=)%> at %C"
 msgstr ""
 
-#: fortran/interface.cc:400
+#: fortran/interface.cc:429
 #, gcc-internal-format
 msgid "Expecting %<END INTERFACE OPERATOR (%s)%> at %C"
 msgstr ""
 
-#: fortran/interface.cc:403
+#: fortran/interface.cc:432
 #, gcc-internal-format
 msgid "Expecting %<END INTERFACE OPERATOR (%s)%> at %C, but got %qs"
 msgstr ""
 
-#: fortran/interface.cc:417
+#: fortran/interface.cc:446
 #, gcc-internal-format
 msgid "Expecting %<END INTERFACE OPERATOR (.%s.)%> at %C"
 msgstr ""
 
-#: fortran/interface.cc:429
+#: fortran/interface.cc:458
 #, gcc-internal-format
 msgid "Expecting %<END INTERFACE %s%> at %C"
 msgstr ""
 
-#: fortran/interface.cc:619
+#: fortran/interface.cc:648
 #, gcc-internal-format
 msgid "gfc_compare_derived_types: invalid derived type"
 msgstr ""
 
-#: fortran/interface.cc:899
+#: fortran/interface.cc:936
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate return cannot appear in operator interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:928
+#: fortran/interface.cc:965
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment operator interface at %L must have two arguments"
 msgstr ""
 
-#: fortran/interface.cc:931
+#: fortran/interface.cc:968
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L has the wrong number of arguments"
 msgstr ""
 
-#: fortran/interface.cc:944
+#: fortran/interface.cc:981
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment operator interface at %L must be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.cc:962
+#: fortran/interface.cc:999
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assignment operator interface at %L must not redefine an INTRINSIC type "
 "assignment"
 msgstr ""
 
-#: fortran/interface.cc:971
+#: fortran/interface.cc:1008
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic operator interface at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.cc:982
+#: fortran/interface.cc:1019
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "First argument of defined assignment at %L must be INTENT(OUT) or "
 "INTENT(INOUT)"
 msgstr ""
 
-#: fortran/interface.cc:989
+#: fortran/interface.cc:1026
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:998 fortran/resolve.cc:17839
+#: fortran/interface.cc:1035 fortran/resolve.cc:17916
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1005 fortran/resolve.cc:17857
+#: fortran/interface.cc:1042 fortran/resolve.cc:17934
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1110
+#: fortran/interface.cc:1147
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L conflicts with intrinsic interface"
 msgstr ""
 
-#: fortran/interface.cc:1474 fortran/interface.cc:1546
+#: fortran/interface.cc:1511 fortran/interface.cc:1583
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_dummy_characteristics: Unexpected result %i of gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1659
+#: fortran/interface.cc:1696
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (1): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1706
+#: fortran/interface.cc:1743
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (2): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1895
+#: fortran/interface.cc:1932
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:1900
+#: fortran/interface.cc:1937
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:1904
+#: fortran/interface.cc:1941
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in %s at %L is neither function nor subroutine; did you mean "
 "%qs?"
 msgstr ""
 
-#: fortran/interface.cc:1908
+#: fortran/interface.cc:1945
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L is neither function nor subroutine"
 msgstr ""
 
-#: fortran/interface.cc:1920
+#: fortran/interface.cc:1957
 #, gcc-internal-format, gfc-internal-format
 msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
 msgstr ""
 
-#: fortran/interface.cc:1924
+#: fortran/interface.cc:1961
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "In %s at %L procedures must be all FUNCTIONs as the generic name is also the "
 "name of a derived type"
 msgstr ""
 
-#: fortran/interface.cc:1932
+#: fortran/interface.cc:1969
 #, gcc-internal-format
 msgid "Internal procedure %qs in %s at %L"
 msgstr ""
 
-#: fortran/interface.cc:1989 fortran/interface.cc:1994
+#: fortran/interface.cc:2026 fortran/interface.cc:2031
 #, gcc-internal-format
 msgid "Ambiguous interfaces in %s for %qs at %L and %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:1999
+#: fortran/interface.cc:2036
 #, gcc-internal-format
 msgid "Although not referenced, %qs has ambiguous interfaces at %L"
 msgstr ""
 
-#: fortran/interface.cc:2037
+#: fortran/interface.cc:2074
 #, gcc-internal-format
 msgid "%qs at %L is not a module procedure"
 msgstr ""
 
-#: fortran/interface.cc:2242
+#: fortran/interface.cc:2279
 #, gcc-internal-format
 msgid ""
 "The assumed-rank array at %L requires that the dummy argument %qs has "
 "assumed-rank"
 msgstr ""
 
-#: fortran/interface.cc:2245
+#: fortran/interface.cc:2282
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (scalar and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2248
+#: fortran/interface.cc:2285
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and scalar)"
 msgstr ""
 
-#: fortran/interface.cc:2251
+#: fortran/interface.cc:2288
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2263
+#: fortran/interface.cc:2300
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Rank mismatch between actual argument at %L and actual argument at %L "
 "(scalar and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2267
+#: fortran/interface.cc:2304
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Rank mismatch between actual argument at %L and actual argument at %L (rank-"
 "%d and scalar)"
 msgstr ""
 
-#: fortran/interface.cc:2271
+#: fortran/interface.cc:2308
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Rank mismatch between actual argument at %L and actual argument at %L (rank-"
 "%d and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2394
+#: fortran/interface.cc:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:2402 fortran/interface.cc:2429
+#: fortran/interface.cc:2439 fortran/interface.cc:2466
 #, gcc-internal-format
 msgid "Interface mismatch in dummy procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:2440
+#: fortran/interface.cc:2477
 #, gcc-internal-format
 msgid ""
 "Actual argument to contiguous pointer dummy %qs at %L must be simply "
 "contiguous"
 msgstr ""
 
-#: fortran/interface.cc:2463
+#: fortran/interface.cc:2500
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Type mismatch between actual argument at %L and actual argument at %L (%s/"
 "%s)."
 msgstr ""
 
-#: fortran/interface.cc:2473
+#: fortran/interface.cc:2510
 #, gcc-internal-format
 msgid "Type mismatch in argument %qs at %L; passed %s to %s"
 msgstr ""
 
-#: fortran/interface.cc:2483
+#: fortran/interface.cc:2520
 #, gcc-internal-format
 msgid ""
 "Assumed-type actual argument at %L requires that dummy argument %qs is of "
 "assumed type"
 msgstr ""
 
-#: fortran/interface.cc:2497
+#: fortran/interface.cc:2534
 #, gcc-internal-format
 msgid ""
 "Assumed-type actual argument at %L corresponding to assumed-rank dummy "
 "argument %qs must be assumed-shape or assumed-rank"
 msgstr ""
 
-#: fortran/interface.cc:2514
+#: fortran/interface.cc:2551
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be polymorphic"
 msgstr ""
 
-#: fortran/interface.cc:2524
+#: fortran/interface.cc:2561
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must have the same declared type"
 msgstr ""
 
-#: fortran/interface.cc:2539
+#: fortran/interface.cc:2576
 #, gcc-internal-format
 msgid ""
 "Actual argument to %qs at %L must be unlimited polymorphic since the formal "
@@ -73141,38 +75653,38 @@ msgid ""
 "12.5.2.5]"
 msgstr ""
 
-#: fortran/interface.cc:2555
+#: fortran/interface.cc:2592
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be a coarray"
 msgstr ""
 
-#: fortran/interface.cc:2577
+#: fortran/interface.cc:2614
 #, gcc-internal-format
 msgid "Corank mismatch in argument %qs at %L (%d and %d)"
 msgstr ""
 
-#: fortran/interface.cc:2595
+#: fortran/interface.cc:2632
 #, gcc-internal-format
 msgid ""
 "Actual argument to %qs at %L must be simply contiguous or an element of such "
 "an array"
 msgstr ""
 
-#: fortran/interface.cc:2610
+#: fortran/interface.cc:2647
 #, gcc-internal-format
 msgid ""
 "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or "
 "has a LOCK_TYPE component"
 msgstr ""
 
-#: fortran/interface.cc:2625
+#: fortran/interface.cc:2662
 #, gcc-internal-format
 msgid ""
 "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or "
 "has a EVENT_TYPE component"
 msgstr ""
 
-#: fortran/interface.cc:2644
+#: fortran/interface.cc:2681
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array "
@@ -73180,230 +75692,230 @@ msgid ""
 "contiguous and both are ASYNCHRONOUS or VOLATILE"
 msgstr ""
 
-#: fortran/interface.cc:2657
+#: fortran/interface.cc:2694
 #, gcc-internal-format
 msgid ""
 "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument "
 "%qs"
 msgstr ""
 
-#: fortran/interface.cc:2664
+#: fortran/interface.cc:2701
 #, gcc-internal-format
 msgid ""
 "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which "
 "is invalid if the allocation status is modified"
 msgstr ""
 
-#: fortran/interface.cc:2750
+#: fortran/interface.cc:2787
 #, gcc-internal-format
 msgid "Polymorphic scalar passed to array dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:2761
+#: fortran/interface.cc:2798
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Element of assumed-shape or pointer array as actual argument at %L cannot "
 "correspond to actual argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:2766
+#: fortran/interface.cc:2803
 #, gcc-internal-format
 msgid ""
 "Element of assumed-shape or pointer array passed to array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:2779
+#: fortran/interface.cc:2816
 #, gcc-internal-format
 msgid ""
 "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual "
 "argument with array dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:2787
+#: fortran/interface.cc:2824
 #, gcc-internal-format
 msgid ""
 "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3175
+#: fortran/interface.cc:3212
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is invalid in a statement function"
 msgstr ""
 
-#: fortran/interface.cc:3198
+#: fortran/interface.cc:3235
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:3202
+#: fortran/interface.cc:3239
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure"
 msgstr ""
 
-#: fortran/interface.cc:3211
+#: fortran/interface.cc:3248
 #, gcc-internal-format
 msgid ""
 "Keyword argument %qs at %L is already associated with another actual argument"
 msgstr ""
 
-#: fortran/interface.cc:3221
+#: fortran/interface.cc:3258
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in procedure call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3234
+#: fortran/interface.cc:3271
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3248
+#: fortran/interface.cc:3285
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3277
+#: fortran/interface.cc:3314
 #, gcc-internal-format
 msgid "Unexpected NULL() intrinsic at %L to dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3280
+#: fortran/interface.cc:3317
 #, gcc-internal-format
 msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3306
+#: fortran/interface.cc:3343
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Actual argument at %L to assumed-type dummy has type parameters or is of "
 "derived type with type-bound or FINAL procedures"
 msgstr ""
 
-#: fortran/interface.cc:3318
+#: fortran/interface.cc:3355
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Unlimited polymorphic actual argument at %L is not matched with either an "
 "unlimited polymorphic or assumed type dummy argument"
 msgstr ""
 
-#: fortran/interface.cc:3342
+#: fortran/interface.cc:3379
 #, gcc-internal-format
 msgid ""
 "Character length mismatch (%ld/%ld) between actual argument and pointer or "
 "allocatable dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3349
+#: fortran/interface.cc:3386
 #, gcc-internal-format
 msgid ""
 "Character length mismatch (%ld/%ld) between actual argument and assumed-"
 "shape dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3364
+#: fortran/interface.cc:3401
 #, gcc-internal-format
 msgid ""
 "Actual argument at %L to allocatable or pointer dummy argument %qs must have "
 "a deferred length type parameter if and only if the dummy has one"
 msgstr ""
 
-#: fortran/interface.cc:3383
+#: fortran/interface.cc:3420
 #, gcc-internal-format
 msgid ""
 "Character length of actual argument shorter than of dummy argument %qs (%lu/"
 "%lu) at %L"
 msgstr ""
 
-#: fortran/interface.cc:3393 fortran/interface.cc:3398
+#: fortran/interface.cc:3430 fortran/interface.cc:3435
 #, gcc-internal-format
 msgid ""
 "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3419
+#: fortran/interface.cc:3456
 #, gcc-internal-format
 msgid "Expected a procedure pointer for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3436
+#: fortran/interface.cc:3473
 #, gcc-internal-format
 msgid "Expected a procedure for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3501
+#: fortran/interface.cc:3538
 #, gcc-internal-format
 msgid "Actual argument for %qs cannot be an assumed-size array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3530
+#: fortran/interface.cc:3567
 #, gcc-internal-format
 msgid ""
 "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of "
 "unknown size"
 msgstr ""
 
-#: fortran/interface.cc:3545
+#: fortran/interface.cc:3582
 #, gcc-internal-format
 msgid "Actual argument for %qs at %L must be a pointer"
 msgstr ""
 
-#: fortran/interface.cc:3554
+#: fortran/interface.cc:3591
 #, gcc-internal-format
 msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3563
+#: fortran/interface.cc:3600
 #, gcc-internal-format
 msgid ""
 "Actual argument for %qs at %L must be a pointer or a valid target for the "
 "dummy pointer in a pointer assignment statement"
 msgstr ""
 
-#: fortran/interface.cc:3577
+#: fortran/interface.cc:3614
 #, gcc-internal-format
 msgid "Coindexed actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3591
+#: fortran/interface.cc:3628
 #, gcc-internal-format
 msgid ""
 "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:3606
+#: fortran/interface.cc:3643
 #, gcc-internal-format
 msgid ""
 "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy "
 "%qs has neither ASYNCHRONOUS nor VOLATILE"
 msgstr ""
 
-#: fortran/interface.cc:3621
+#: fortran/interface.cc:3658
 #, gcc-internal-format
 msgid ""
 "Coindexed actual argument at %L with allocatable ultimate component to dummy "
 "%qs requires either VALUE or INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:3634
+#: fortran/interface.cc:3671
 #, gcc-internal-format
 msgid "Actual CLASS array argument for %qs must be a full array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3645
+#: fortran/interface.cc:3682
 #, gcc-internal-format
 msgid "Actual argument for %qs must be ALLOCATABLE at %L"
 msgstr ""
 
-#: fortran/interface.cc:3656
+#: fortran/interface.cc:3693
 #, gcc-internal-format
 msgid ""
 "Actual argument for %qs at %L is a function result and the dummy argument is "
 "ALLOCATABLE"
 msgstr ""
 
-#: fortran/interface.cc:3694
+#: fortran/interface.cc:3731
 #, gcc-internal-format
 msgid ""
 "Array-section actual argument with vector subscripts at %L is incompatible "
@@ -73411,341 +75923,341 @@ msgid ""
 "dummy argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:3714
+#: fortran/interface.cc:3751
 #, gcc-internal-format
 msgid ""
 "Assumed-shape actual argument at %L is incompatible with the non-assumed-"
 "shape dummy argument %qs due to VOLATILE attribute"
 msgstr ""
 
-#: fortran/interface.cc:3732
+#: fortran/interface.cc:3769
 #, gcc-internal-format
 msgid ""
 "Array-section actual argument at %L is incompatible with the non-assumed-"
 "shape dummy argument %qs due to VOLATILE attribute"
 msgstr ""
 
-#: fortran/interface.cc:3753
+#: fortran/interface.cc:3790
 #, gcc-internal-format
 msgid ""
 "Pointer-array actual argument at %L requires an assumed-shape or pointer-"
 "array dummy argument %qs due to VOLATILE attribute"
 msgstr ""
 
-#: fortran/interface.cc:3781
+#: fortran/interface.cc:3818
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return spec in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3794
+#: fortran/interface.cc:3831
 #, gcc-internal-format
 msgid "Missing actual argument for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3922
+#: fortran/interface.cc:3959
 #, gcc-internal-format
 msgid "compare_actual_expr(): Bad component code"
 msgstr ""
 
-#: fortran/interface.cc:3951
+#: fortran/interface.cc:3988
 #, gcc-internal-format
 msgid "check_some_aliasing(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:3977
+#: fortran/interface.cc:4014
 #, gcc-internal-format
 msgid "check_some_aliasing(): corrupted data"
 msgstr ""
 
-#: fortran/interface.cc:3987
+#: fortran/interface.cc:4024
 #, gcc-internal-format
 msgid ""
 "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) "
 "argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4017
+#: fortran/interface.cc:4054
 #, gcc-internal-format
 msgid "check_intents(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:4037
+#: fortran/interface.cc:4074
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Procedure argument at %L is local to a PURE procedure and has the POINTER "
 "attribute"
 msgstr ""
 
-#: fortran/interface.cc:4049
+#: fortran/interface.cc:4086
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) "
 "argument"
 msgstr ""
 
-#: fortran/interface.cc:4059
+#: fortran/interface.cc:4096
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed actual argument at %L in PURE procedure is passed to a POINTER "
 "dummy argument"
 msgstr ""
 
-#: fortran/interface.cc:4070
+#: fortran/interface.cc:4107
 #, gcc-internal-format
 msgid ""
 "Coindexed polymorphic actual argument at %L is passed polymorphic dummy "
 "argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:4112
+#: fortran/interface.cc:4149
 #, gcc-internal-format
 msgid ""
 "Procedure %qs called at %L is not explicitly declared; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:4116 fortran/interface.cc:4126
+#: fortran/interface.cc:4153 fortran/interface.cc:4163
 #, gcc-internal-format
 msgid "Procedure %qs called at %L is not explicitly declared"
 msgstr ""
 
-#: fortran/interface.cc:4122
+#: fortran/interface.cc:4159
 #, gcc-internal-format
 msgid "Procedure %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4135
+#: fortran/interface.cc:4172
 #, gcc-internal-format
 msgid ""
 "The pointer object %qs at %L must have an explicit function interface or be "
 "declared as array"
 msgstr ""
 
-#: fortran/interface.cc:4143
+#: fortran/interface.cc:4180
 #, gcc-internal-format
 msgid ""
 "The allocatable object %qs at %L must have an explicit function interface or "
 "be declared as array"
 msgstr ""
 
-#: fortran/interface.cc:4151
+#: fortran/interface.cc:4188
 #, gcc-internal-format
 msgid "Allocatable function %qs at %L must have an explicit function interface"
 msgstr ""
 
-#: fortran/interface.cc:4168
+#: fortran/interface.cc:4205
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit interface required for polymorphic argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:4177
+#: fortran/interface.cc:4214
 #, gcc-internal-format
 msgid "Keyword argument requires explicit interface for procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4186
+#: fortran/interface.cc:4223
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type argument %s at %L requires an explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:4201
+#: fortran/interface.cc:4238
 #, gcc-internal-format
 msgid ""
 "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an "
 "explicit interface for procedure %qs"
 msgstr ""
 
-#: fortran/interface.cc:4216
+#: fortran/interface.cc:4253
 #, gcc-internal-format
 msgid ""
 "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an "
 "explicit interface for procedure %qs"
 msgstr ""
 
-#: fortran/interface.cc:4226
+#: fortran/interface.cc:4263
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD argument to NULL required at %L"
 msgstr ""
 
-#: fortran/interface.cc:4234
+#: fortran/interface.cc:4271
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Passing intrinsic NULL as actual argument at %L requires an explicit "
 "interface"
 msgstr ""
 
-#: fortran/interface.cc:4244
+#: fortran/interface.cc:4281
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank argument requires an explicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4286
+#: fortran/interface.cc:4323
 #, gcc-internal-format
 msgid "Procedure pointer component %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4297
+#: fortran/interface.cc:4334
 #, gcc-internal-format
 msgid ""
 "Keyword argument requires explicit interface for procedure pointer component "
 "%qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4382
+#: fortran/interface.cc:4419
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "MOLD= required in NULL() argument at %L: Ambiguity between specific "
 "functions %s and %s"
 msgstr ""
 
-#: fortran/interface.cc:4452
+#: fortran/interface.cc:4489
 #, gcc-internal-format
 msgid "Unable to find symbol %qs"
 msgstr ""
 
-#: fortran/interface.cc:4825
+#: fortran/interface.cc:4873
 #, gcc-internal-format
 msgid "Entity %qs at %L is already present in the interface"
 msgstr ""
 
-#: fortran/interface.cc:4942
+#: fortran/interface.cc:4990
 #, gcc-internal-format
 msgid "gfc_add_interface(): Bad interface type"
 msgstr ""
 
-#: fortran/interface.cc:5036
+#: fortran/interface.cc:5084
 #, gcc-internal-format
 msgid "Cannot overwrite GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:5048
+#: fortran/interface.cc:5096
 #, gcc-internal-format
 msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE"
 msgstr ""
 
-#: fortran/interface.cc:5056
+#: fortran/interface.cc:5104
 #, gcc-internal-format
 msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
 msgstr ""
 
-#: fortran/interface.cc:5064
+#: fortran/interface.cc:5112
 #, gcc-internal-format
 msgid "%qs at %L overrides a PURE procedure and must also be PURE"
 msgstr ""
 
-#: fortran/interface.cc:5073
+#: fortran/interface.cc:5121
 #, gcc-internal-format
 msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
 msgstr ""
 
-#: fortran/interface.cc:5079
+#: fortran/interface.cc:5127
 #, gcc-internal-format
 msgid ""
 "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
 "either"
 msgstr ""
 
-#: fortran/interface.cc:5088
+#: fortran/interface.cc:5136
 #, gcc-internal-format
 msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.cc:5099
+#: fortran/interface.cc:5147
 #, gcc-internal-format
 msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.cc:5107
+#: fortran/interface.cc:5155
 #, gcc-internal-format
 msgid "Result mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5118
+#: fortran/interface.cc:5166
 #, gcc-internal-format
 msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE"
 msgstr ""
 
-#: fortran/interface.cc:5148
+#: fortran/interface.cc:5196
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs of %qs at %L should be named %qs as to match the "
 "corresponding argument of the overridden procedure"
 msgstr ""
 
-#: fortran/interface.cc:5159
+#: fortran/interface.cc:5207
 #, gcc-internal-format
 msgid "Argument mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5168
+#: fortran/interface.cc:5216
 #, gcc-internal-format
 msgid ""
 "%qs at %L must have the same number of formal arguments as the overridden "
 "procedure"
 msgstr ""
 
-#: fortran/interface.cc:5177
+#: fortran/interface.cc:5225
 #, gcc-internal-format
 msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS"
 msgstr ""
 
-#: fortran/interface.cc:5188
+#: fortran/interface.cc:5236
 #, gcc-internal-format
 msgid "%qs at %L overrides a binding with PASS and must also be PASS"
 msgstr ""
 
-#: fortran/interface.cc:5195
+#: fortran/interface.cc:5243
 #, gcc-internal-format
 msgid ""
 "Passed-object dummy argument of %qs at %L must be at the same position as "
 "the passed-object dummy argument of the overridden procedure"
 msgstr ""
 
-#: fortran/interface.cc:5216
+#: fortran/interface.cc:5264
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of type %s"
 msgstr ""
 
-#: fortran/interface.cc:5223
+#: fortran/interface.cc:5271
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of KIND = %d"
 msgstr ""
 
-#: fortran/interface.cc:5230
+#: fortran/interface.cc:5278
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be a scalar"
 msgstr ""
 
-#: fortran/interface.cc:5234
+#: fortran/interface.cc:5282
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY"
 msgstr ""
 
-#: fortran/interface.cc:5238
+#: fortran/interface.cc:5286
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO character argument at %L must have assumed length"
 msgstr ""
 
-#: fortran/interface.cc:5242
+#: fortran/interface.cc:5290
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must have INTENT %s"
 msgstr ""
 
-#: fortran/interface.cc:5300 fortran/interface.cc:5346
+#: fortran/interface.cc:5348 fortran/interface.cc:5394
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate return at %L is not permitted in a DTIO procedure"
 msgstr ""
 
-#: fortran/interface.cc:5312
+#: fortran/interface.cc:5360
 #, gcc-internal-format
 msgid "DTIO procedure %qs at %L must be a subroutine"
 msgstr ""
 
-#: fortran/interface.cc:5324
+#: fortran/interface.cc:5372
 #, gcc-internal-format
 msgid "Too few dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:5331
+#: fortran/interface.cc:5379
 #, gcc-internal-format
 msgid "Too many dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
@@ -73808,141 +76320,141 @@ msgstr ""
 msgid "make_generic(): Cannot find generic symbol %qs"
 msgstr ""
 
-#: fortran/intrinsic.cc:4313
+#: fortran/intrinsic.cc:4316
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ALLOCATED intrinsic at %L requires an array or scalar allocatable entity"
 msgstr ""
 
-#: fortran/intrinsic.cc:4326
+#: fortran/intrinsic.cc:4329
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar entity required at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4337
+#: fortran/intrinsic.cc:4340
 #, gcc-internal-format, gfc-internal-format
 msgid "Array entity required at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4344
+#: fortran/intrinsic.cc:4347
 #, gcc-internal-format
 msgid "Invalid keyword %qs in %qs intrinsic function at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4371
+#: fortran/intrinsic.cc:4374
 #, gcc-internal-format
 msgid "Too many arguments in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4387
+#: fortran/intrinsic.cc:4390
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this "
 "context at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4390
+#: fortran/intrinsic.cc:4393
 #, gcc-internal-format
 msgid "Cannot find keyword named %qs in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4397
+#: fortran/intrinsic.cc:4400
 #, gcc-internal-format
 msgid "Argument %qs appears twice in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4411
+#: fortran/intrinsic.cc:4414
 #, gcc-internal-format
 msgid "Missing actual argument %qs in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4427
+#: fortran/intrinsic.cc:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "ALTERNATE RETURN not permitted at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4481
+#: fortran/intrinsic.cc:4484
 #, gcc-internal-format
 msgid "In call to %qs at %L, type mismatch in argument %qs; pass %qs to %qs"
 msgstr ""
 
-#: fortran/intrinsic.cc:4609
+#: fortran/intrinsic.cc:4612
 #, gcc-internal-format
 msgid "resolve_intrinsic(): Too many args for intrinsic"
 msgstr ""
 
-#: fortran/intrinsic.cc:4704
+#: fortran/intrinsic.cc:4707
 #, gcc-internal-format
 msgid "do_simplify(): Too many args for intrinsic"
 msgstr ""
 
-#: fortran/intrinsic.cc:4716
+#: fortran/intrinsic.cc:4719
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot simplify expression at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4749
+#: fortran/intrinsic.cc:4752
 #, gcc-internal-format
 msgid "init_arglist(): too many arguments"
 msgstr ""
 
-#: fortran/intrinsic.cc:4901
+#: fortran/intrinsic.cc:4908
 #, gcc-internal-format
 msgid "Invalid standard code on intrinsic %qs (%d)"
 msgstr ""
 
-#: fortran/intrinsic.cc:4910
+#: fortran/intrinsic.cc:4917
 #, gcc-internal-format
 msgid "Intrinsic %qs (%s) used at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4982
+#: fortran/intrinsic.cc:4989
 #, gcc-internal-format
 msgid "Function %qs as initialization expression at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5000
+#: fortran/intrinsic.cc:5007
 #, gcc-internal-format
 msgid ""
 "Transformational function %qs at %L is invalid in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/intrinsic.cc:5076
+#: fortran/intrinsic.cc:5083
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Elemental function as initialization expression with non-integer/non-"
 "character arguments at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5167
+#: fortran/intrinsic.cc:5174
 #, gcc-internal-format
 msgid ""
 "Subroutine call to intrinsic %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/intrinsic.cc:5174
+#: fortran/intrinsic.cc:5181
 #, gcc-internal-format
 msgid "Subroutine call to intrinsic %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/intrinsic.cc:5277
+#: fortran/intrinsic.cc:5284
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Conversion from %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5298
+#: fortran/intrinsic.cc:5305
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonstandard conversion from %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5315 fortran/intrinsic.cc:5332
+#: fortran/intrinsic.cc:5322 fortran/intrinsic.cc:5339
 #, gcc-internal-format, gfc-internal-format
 msgid "Possible change of value in conversion from %s to %s at %L"
 msgstr ""
 
 #. If HOLLERITH is involved, all bets are off.
-#: fortran/intrinsic.cc:5320 fortran/intrinsic.cc:5340
+#: fortran/intrinsic.cc:5327 fortran/intrinsic.cc:5347
 #, gcc-internal-format, gfc-internal-format
 msgid "Conversion from %s to %s at %L"
 msgstr ""
@@ -73950,24 +76462,24 @@ msgstr ""
 #. Use of -fdec-char-conversions allows assignment of character data
 #. to non-character variables.  This not permitted for nonconstant
 #. strings.
-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11196
+#: fortran/intrinsic.cc:5413 fortran/resolve.cc:11245
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot convert %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5411
+#: fortran/intrinsic.cc:5418
 #, gcc-internal-format
 msgid "Cannot convert %qs to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5503
+#: fortran/intrinsic.cc:5510
 #, gcc-internal-format
 msgid ""
 "%qs declared at %L may shadow the intrinsic of the same name.  In order to "
 "call the intrinsic, explicit INTRINSIC declarations may be required."
 msgstr ""
 
-#: fortran/intrinsic.cc:5509
+#: fortran/intrinsic.cc:5516
 #, gcc-internal-format
 msgid ""
 "%qs declared at %L is also the name of an intrinsic.  It can only be called "
@@ -74518,7 +77030,7 @@ msgid ""
 "defined input/output procedure"
 msgstr ""
 
-#: fortran/io.cc:3422 fortran/resolve.cc:15686
+#: fortran/io.cc:3422 fortran/resolve.cc:15736
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER "
@@ -74717,7 +77229,7 @@ msgstr ""
 msgid "Integer too large at %C"
 msgstr ""
 
-#: fortran/match.cc:553 fortran/parse.cc:1447
+#: fortran/match.cc:553 fortran/parse.cc:1499
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many digits in statement label at %C"
 msgstr ""
@@ -75101,7 +77613,7 @@ msgstr ""
 msgid "STOP code at %L must be default integer KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3210 fortran/resolve.cc:12335
+#: fortran/match.cc:3210 fortran/resolve.cc:12384
 #, gcc-internal-format, gfc-internal-format
 msgid "QUIET specifier at %L must be a scalar LOGICAL"
 msgstr ""
@@ -75454,14 +77966,14 @@ msgstr ""
 msgid "Expected type-bound procedure or procedure pointer component at %C"
 msgstr ""
 
-#: fortran/match.cc:5104
+#: fortran/match.cc:5105
 #, 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:5245
+#: fortran/match.cc:5246
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in common block name at %C"
 msgstr ""
@@ -75469,69 +77981,69 @@ 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:5320
+#: fortran/match.cc:5321
 #, 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:5329
+#: fortran/match.cc:5330
 #, 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:5336
+#: fortran/match.cc:5337
 #, gcc-internal-format
 msgid "Symbol %qs at %C is already in a COMMON block"
 msgstr ""
 
-#: fortran/match.cc:5344
+#: fortran/match.cc:5345
 #, gcc-internal-format
 msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA"
 msgstr ""
 
-#: fortran/match.cc:5355
+#: fortran/match.cc:5356
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %C is USE associated from module %qs and cannot occur in COMMON"
 msgstr ""
 
-#: fortran/match.cc:5370
+#: fortran/match.cc:5371
 #, gcc-internal-format
 msgid "Array specification for symbol %qs in COMMON at %C must be explicit"
 msgstr ""
 
-#: fortran/match.cc:5377
+#: fortran/match.cc:5378
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a coarray"
 msgstr ""
 
-#: fortran/match.cc:5387
+#: fortran/match.cc:5388
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a POINTER array"
 msgstr ""
 
-#: fortran/match.cc:5433
+#: fortran/match.cc:5434
 #, 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:5495
+#: fortran/match.cc:5496
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA construct at %L"
 msgstr ""
 
-#: fortran/match.cc:5591
+#: fortran/match.cc:5599
 #, gcc-internal-format
 msgid "Namelist group name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/match.cc:5599
+#: fortran/match.cc:5607
 #, gcc-internal-format
 msgid ""
 "Namelist group name %qs at %C already is USE associated and cannot be "
@@ -75541,197 +78053,197 @@ 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:5624
+#: fortran/match.cc:5632
 #, gcc-internal-format
 msgid ""
 "Symbol %qs in namelist %qs at %C must be declared before the namelist is "
 "declared."
 msgstr ""
 
-#: fortran/match.cc:5644
+#: fortran/match.cc:5652
 #, gcc-internal-format
 msgid "Derived type %qs at %L conflicts with namelist object %qs at %C"
 msgstr ""
 
-#: fortran/match.cc:5664
+#: fortran/match.cc:5672
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %C is not allowed"
 msgstr ""
 
-#: fortran/match.cc:5807
+#: fortran/match.cc:5815
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
 msgstr ""
 
-#: fortran/match.cc:5815
+#: fortran/match.cc:5823
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
 msgstr ""
 
-#: fortran/match.cc:5848
+#: fortran/match.cc:5856
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE at %C requires two or more objects"
 msgstr ""
 
-#: fortran/match.cc:5862
+#: fortran/match.cc:5870
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5875
+#: fortran/match.cc:5883
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a comma in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5880
+#: fortran/match.cc:5888
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:5973
+#: fortran/match.cc:5981
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of statement function argument at %L"
 msgstr ""
 
-#: fortran/match.cc:6040
+#: fortran/match.cc:6048
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L is recursive"
 msgstr ""
 
-#: fortran/match.cc:6046
+#: fortran/match.cc:6054
 #, gcc-internal-format
 msgid "Statement function %qs at %L conflicts with function name"
 msgstr ""
 
-#: fortran/match.cc:6060
+#: fortran/match.cc:6068
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/match.cc:6065
+#: fortran/match.cc:6073
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %C"
 msgstr ""
 
-#: fortran/match.cc:6190 fortran/match.cc:6206 fortran/match.cc:6225
+#: fortran/match.cc:6198 fortran/match.cc:6214 fortran/match.cc:6233
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L cannot be %s"
 msgstr ""
 
-#: fortran/match.cc:6235 fortran/match.cc:6241
+#: fortran/match.cc:6243 fortran/match.cc:6249
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:6250
+#: fortran/match.cc:6258
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr ""
 
-#: fortran/match.cc:6282
+#: fortran/match.cc:6290
 #, gcc-internal-format
 msgid "Expected block name %qs of SELECT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:6609
+#: fortran/match.cc:6635
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT TYPE at %C cannot appear in this scope"
 msgstr ""
 
-#: fortran/match.cc:6637
+#: fortran/match.cc:6663
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT TYPE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6662
+#: fortran/match.cc:6688
 #, 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:6829
+#: fortran/match.cc:6855
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6870 fortran/match.cc:6924
+#: fortran/match.cc:6896 fortran/match.cc:6950
 #, gcc-internal-format, gfc-internal-format
 msgid "The SELECT RANK selector at %C must be an assumed rank variable"
 msgstr ""
 
-#: fortran/match.cc:6934
+#: fortran/match.cc:6960
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6970
+#: fortran/match.cc:6996
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected CASE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7022
+#: fortran/match.cc:7048
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CASE specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7040
+#: fortran/match.cc:7066
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected TYPE IS statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7072
+#: fortran/match.cc:7098
 #, 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:7083
+#: fortran/match.cc:7109
 #, 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:7094
+#: fortran/match.cc:7120
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in TYPE IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7170
+#: fortran/match.cc:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CLASS IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7190
+#: fortran/match.cc:7216
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7236
+#: fortran/match.cc:7262
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The SELECT RANK CASE expression at %C must be a scalar, integer constant"
 msgstr ""
 
-#: fortran/match.cc:7245
+#: fortran/match.cc:7271
 #, 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:7272
+#: fortran/match.cc:7298
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in RANK specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7394
+#: fortran/match.cc:7420
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr ""
 
-#: fortran/match.cc:7432
+#: fortran/match.cc:7458
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match WHERE label %qs"
 msgstr ""
@@ -75774,12 +78286,12 @@ msgstr ""
 msgid "gfc_basic_typename(): Undefined type"
 msgstr ""
 
-#: fortran/misc.cc:207
+#: fortran/misc.cc:212
 #, gcc-internal-format
 msgid "gfc_typename(): Undefined type"
 msgstr ""
 
-#: fortran/misc.cc:311
+#: fortran/misc.cc:316
 #, gcc-internal-format
 msgid "gfc_code2string(): Bad code"
 msgstr ""
@@ -75891,1016 +78403,1050 @@ msgstr ""
 msgid "unquote_string(): got bad string"
 msgstr ""
 
-#: fortran/module.cc:2960
+#: fortran/module.cc:2979
 #, gcc-internal-format
 msgid "mio_array_ref(): Unknown array ref"
 msgstr ""
 
-#: fortran/module.cc:5095
+#: fortran/module.cc:5114
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5098
+#: fortran/module.cc:5117
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5292
+#: fortran/module.cc:5311
 #, gcc-internal-format
 msgid ""
 "%qs of module %qs, imported at %C, is also the name of the current program "
 "unit"
 msgstr ""
 
-#: fortran/module.cc:5429
+#: fortran/module.cc:5448
 #, gcc-internal-format
 msgid ""
 "Mismatch in components of derived type %qs from %qs at %C: expecting %qs, "
 "but got %qs"
 msgstr ""
 
-#: fortran/module.cc:5708
+#: fortran/module.cc:5727
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5715
+#: fortran/module.cc:5734
 #, gcc-internal-format
 msgid "User operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5720
+#: fortran/module.cc:5739
 #, gcc-internal-format
 msgid "Intrinsic operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5956
+#: fortran/module.cc:5975
 #, gcc-internal-format
 msgid "write_symbol(): bad module symbol %qs"
 msgstr ""
 
-#: fortran/module.cc:6300
+#: fortran/module.cc:6319
 #, gcc-internal-format
 msgid "write_symtree(): Symbol not written"
 msgstr ""
 
-#: fortran/module.cc:6490
+#: fortran/module.cc:6509
 #, gcc-internal-format
 msgid "Cannot open module file %qs for writing at %C: %s"
 msgstr ""
 
-#: fortran/module.cc:6511
+#: fortran/module.cc:6530
 #, gcc-internal-format
 msgid "Error writing module file %qs for writing: %s"
 msgstr ""
 
-#: fortran/module.cc:6522
+#: fortran/module.cc:6541
 #, gcc-internal-format
 msgid "Cannot delete module file %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6525
+#: fortran/module.cc:6544
 #, gcc-internal-format
 msgid "Cannot rename module file %qs to %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6531
+#: fortran/module.cc:6550
 #, gcc-internal-format
 msgid "Cannot delete temporary module file %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6588
+#: fortran/module.cc:6607
 #, gcc-internal-format
 msgid "Symbol %qs at %C already declared"
 msgstr ""
 
-#: fortran/module.cc:6659
+#: fortran/module.cc:6678
 #, gcc-internal-format, gfc-internal-format
 msgid "import_iso_c_binding_module(): Unable to create symbol for %s"
 msgstr ""
 
-#: fortran/module.cc:6767 fortran/module.cc:7111
+#: fortran/module.cc:6786 fortran/module.cc:7130
 #, gcc-internal-format
 msgid "The symbol %qs, referenced at %L, is not in the selected standard"
 msgstr ""
 
-#: fortran/module.cc:6895
+#: fortran/module.cc:6914
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_C_BINDING"
 msgstr ""
 
-#: fortran/module.cc:6916 fortran/module.cc:6949 fortran/module.cc:6991
+#: fortran/module.cc:6935 fortran/module.cc:6968 fortran/module.cc:7010
 #, gcc-internal-format
 msgid "Symbol %qs already declared"
 msgstr ""
 
-#: fortran/module.cc:7096
+#: fortran/module.cc:7115
 #, gcc-internal-format
 msgid ""
 "Use of intrinsic module %qs at %C conflicts with non-intrinsic module name "
 "used previously"
 msgstr ""
 
-#: fortran/module.cc:7118
+#: fortran/module.cc:7137
 #, 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:7186
+#: fortran/module.cc:7205
 #, 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:7240
+#: fortran/module.cc:7259
 #, gcc-internal-format
 msgid ""
 "Symbol %qs referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
 msgstr ""
 
-#: fortran/module.cc:7266
+#: fortran/module.cc:7285
 #, gcc-internal-format, gfc-internal-format
 msgid "USE statement at %C has no ONLY qualifier"
 msgstr ""
 
-#: fortran/module.cc:7295
+#: fortran/module.cc:7314
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_FORTRAN_ENV intrinsic module at %C"
 msgstr ""
 
-#: fortran/module.cc:7307
+#: fortran/module.cc:7326
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_C_BINDING module at %C"
 msgstr ""
 
-#: fortran/module.cc:7320
+#: fortran/module.cc:7339
 #, gcc-internal-format
 msgid "Cannot find an intrinsic module named %qs at %C"
 msgstr ""
 
-#: fortran/module.cc:7326
+#: fortran/module.cc:7345
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_FEATURES module at %C"
 msgstr ""
 
-#: fortran/module.cc:7332
+#: fortran/module.cc:7351
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_EXCEPTIONS module at %C"
 msgstr ""
 
-#: fortran/module.cc:7338
+#: fortran/module.cc:7357
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_ARITHMETIC module at %C"
 msgstr ""
 
-#: fortran/module.cc:7348
+#: fortran/module.cc:7367
 #, gcc-internal-format
 msgid "Cannot open module file %qs for reading at %C: %s"
 msgstr ""
 
-#: fortran/module.cc:7351
+#: fortran/module.cc:7370
 #, 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:7362
+#: fortran/module.cc:7381
 #, gcc-internal-format
 msgid ""
 "Use of non-intrinsic module %qs at %C conflicts with intrinsic module name "
 "used previously"
 msgstr ""
 
-#: fortran/module.cc:7385
+#: fortran/module.cc:7404
 #, gcc-internal-format
 msgid "File %qs opened at %C is not a GNU Fortran module file"
 msgstr ""
 
-#: fortran/module.cc:7393
+#: fortran/module.cc:7412
 #, 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:7410
+#: fortran/module.cc:7429
 #, gcc-internal-format
 msgid "Cannot USE a submodule that is currently built"
 msgstr ""
 
-#: fortran/module.cc:7412
+#: fortran/module.cc:7431
 #, gcc-internal-format
 msgid "Cannot USE a module that is currently built"
 msgstr ""
 
-#: fortran/openmp.cc:148 fortran/openmp.cc:6944
+#: fortran/openmp.cc:150 fortran/openmp.cc:7083
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk at %C"
 msgstr ""
 
-#: fortran/openmp.cc:426
+#: fortran/openmp.cc:428
 #, gcc-internal-format
 msgid "%<omp_all_memory%> at %C not permitted in this clause"
 msgstr ""
 
-#: fortran/openmp.cc:471
+#: fortran/openmp.cc:473
 #, gcc-internal-format, gfc-internal-format
 msgid "List item shall not be coindexed at %C"
 msgstr ""
 
-#: fortran/openmp.cc:490
+#: fortran/openmp.cc:492
 #, gcc-internal-format
 msgid ""
 "%qs at %L is part of the common block %</%s/%> and may only be specificed "
 "implicitly via the named common block"
 msgstr ""
 
-#: fortran/openmp.cc:515 fortran/openmp.cc:616 fortran/openmp.cc:946
-#: fortran/openmp.cc:6029
+#: fortran/openmp.cc:517 fortran/openmp.cc:618 fortran/openmp.cc:948
+#: fortran/openmp.cc:6135
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block /%s/ not found at %C"
 msgstr ""
 
-#: fortran/openmp.cc:554 fortran/openmp.cc:644
+#: fortran/openmp.cc:556 fortran/openmp.cc:646
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:671
+#: fortran/openmp.cc:673
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP detach clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:700
+#: fortran/openmp.cc:702
 #, gcc-internal-format
 msgid ""
 "%<omp_all_memory%> used with dependence-type other than OUT or INOUT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:753
+#: fortran/openmp.cc:755
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP SINK dependence-type list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:815
+#: fortran/openmp.cc:817
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenACC expression list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:882
+#: fortran/openmp.cc:884
 #, gcc-internal-format
 msgid "Unexpected OpenACC parallelism."
 msgstr ""
 
-#: fortran/openmp.cc:914
+#: fortran/openmp.cc:916
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:974
+#: fortran/openmp.cc:976
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC DECLARE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:984
+#: fortran/openmp.cc:986
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC DECLARE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1237
+#: fortran/openmp.cc:1241
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INTEGER type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1251
+#: fortran/openmp.cc:1255
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1256
+#: fortran/openmp.cc:1260
 #, gcc-internal-format
 msgid "Same identifier %qs specified again at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1283
+#: fortran/openmp.cc:1287
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected range-specification at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1393
+#: fortran/openmp.cc:1397
 #, gcc-internal-format, gfc-internal-format
 msgid "Comma expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1505
+#: fortran/openmp.cc:1509
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1565
+#: fortran/openmp.cc:1569
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1567
+#: fortran/openmp.cc:1571
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid combined or composite directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1575
+#: fortran/openmp.cc:1579
 #, gcc-internal-format
 msgid ""
 "Invalid %qs directive at %L in %s clause: declarative, informational and "
 "meta directives not permitted"
 msgstr ""
 
-#: fortran/openmp.cc:1607
+#: fortran/openmp.cc:1611
 #, gcc-internal-format
 msgid "Expected %<,%> or %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1633 fortran/openmp.cc:1643
+#: fortran/openmp.cc:1637 fortran/openmp.cc:1647
 #, gcc-internal-format
 msgid ""
 "%qs directive mentioned multiple times in %s clause in %s directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1651
+#: fortran/openmp.cc:1655
 #, gcc-internal-format
 msgid ""
 "%qs directive mentioned both times in ABSENT and CONTAINS clauses in %s "
 "directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1741
+#: fortran/openmp.cc:1745
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s modifier at %L in USES_ALLOCATORS clause"
 msgstr ""
 
-#: fortran/openmp.cc:1775
+#: fortran/openmp.cc:1779
 #, gcc-internal-format
 msgid "Unexpected %<(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1822
+#: fortran/openmp.cc:1826
 #, gcc-internal-format
 msgid "Duplicated %qs clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1829
+#: fortran/openmp.cc:1833
 #, gcc-internal-format
 msgid "Expected %<(%> after %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1836
+#: fortran/openmp.cc:1840
 #, gcc-internal-format
 msgid "Invalid expression after %<%s(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1898
+#: fortran/openmp.cc:1901
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C after trailing comma"
 msgstr ""
 
-#: fortran/openmp.cc:1968 fortran/openmp.cc:2004 fortran/openmp.cc:2396
-#: fortran/openmp.cc:2421
+#: fortran/openmp.cc:1971 fortran/openmp.cc:2007 fortran/openmp.cc:2403
+#: fortran/openmp.cc:2428
 #, gcc-internal-format
 msgid "Expected %<:%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2028
+#: fortran/openmp.cc:2031
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2054
+#: fortran/openmp.cc:2055
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected COMPILATION or EXECUTION in AT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2115
+#: fortran/openmp.cc:2116
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected TEAMS, PARALLEL or THREAD as binding in BIND at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2146
+#: fortran/openmp.cc:2147
 #, gcc-internal-format, gfc-internal-format
 msgid "COLLAPSE clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2235
+#: fortran/openmp.cc:2236
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected ALLOC, TO, FROM, TOFROM, FIRSTPRIVATE, PRESENT, NONE or DEFAULT at "
 "%C"
 msgstr ""
 
-#: fortran/openmp.cc:2255
+#: fortran/openmp.cc:2258
 #, gcc-internal-format, gfc-internal-format
-msgid "Expected SCALAR, AGGREGATE, ALLOCATABLE or POINTER at %C"
+msgid "Expected SCALAR, AGGREGATE, ALLOCATABLE, POINTER or ALL at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2284
+#: fortran/openmp.cc:2291
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP with unspecified category"
 msgstr ""
 
-#: fortran/openmp.cc:2287
+#: fortran/openmp.cc:2294
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP for category %s"
 msgstr ""
 
-#: fortran/openmp.cc:2323
+#: fortran/openmp.cc:2330
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE or PRESENT in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2326
+#: fortran/openmp.cc:2333
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE, FIRSTPRIVATE, PRIVATE or SHARED in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2376
+#: fortran/openmp.cc:2383
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2382
+#: fortran/openmp.cc:2389
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE at %C not permitted as dependence-type for this directive"
 msgstr ""
 
-#: fortran/openmp.cc:2388
+#: fortran/openmp.cc:2395
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicated clause with SOURCE dependence-type at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2403
+#: fortran/openmp.cc:2410
 #, gcc-internal-format
 msgid "Expected %<)%> or %<omp_cur_iteration)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2415
+#: fortran/openmp.cc:2422
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK at %C not permitted as dependence-type for this directive"
 msgstr ""
 
-#: fortran/openmp.cc:2426
+#: fortran/openmp.cc:2433
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SINK at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2440
+#: fortran/openmp.cc:2447
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected dependence-type SINK or SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2457
+#: fortran/openmp.cc:2464
 #, gcc-internal-format
 msgid "%<omp_all_memory%> used with DEPEND kind other than OUT or INOUT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2495 fortran/openmp.cc:2530
+#: fortran/openmp.cc:2502 fortran/openmp.cc:2537
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2511
+#: fortran/openmp.cc:2518
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2523
+#: fortran/openmp.cc:2530
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2536
+#: fortran/openmp.cc:2543
 #, gcc-internal-format
 msgid ""
 "Expected integer expression or a single device-modifier %<device_num%> or "
 "%<ancestor%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2566
+#: fortran/openmp.cc:2573
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected HOST, NOHOST or ANY at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2621
+#: fortran/openmp.cc:2628
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, ACQUIRE or RELAXED at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2970
+#: fortran/openmp.cc:2816
+#, gcc-internal-format, gfc-internal-format
+msgid "INDIRECT clause at %C requires a constant logical expression"
+msgstr ""
+
+#: fortran/openmp.cc:3003
 #, gcc-internal-format
 msgid "Multiple %qs modifiers specified at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3080
+#: fortran/openmp.cc:3113
 #, gcc-internal-format
 msgid "too many %<always%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3086
+#: fortran/openmp.cc:3119
 #, gcc-internal-format
 msgid "too many %<close%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3092
+#: fortran/openmp.cc:3125
 #, gcc-internal-format
 msgid "too many %<present%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3283
+#: fortran/openmp.cc:3316
 #, gcc-internal-format
 msgid ""
 "Expected ORDER(CONCURRENT) at %C with optional %<reproducible%> or "
 "%<unconstrained%> modifier"
 msgstr ""
 
-#: fortran/openmp.cc:3308
+#: fortran/openmp.cc:3341
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3576
+#: fortran/openmp.cc:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected FATAL or WARNING in SEVERITY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3769
+#: fortran/openmp.cc:3824
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to match clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3947
+#: fortran/openmp.cc:4007
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid clause in module with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3957
+#: fortran/openmp.cc:4017
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable is USE-associated with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3966
+#: fortran/openmp.cc:4026
 #, gcc-internal-format
 msgid ""
 "Variable %qs shall be declared in the same scoping unit as !$ACC DECLARE at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:3974
+#: fortran/openmp.cc:4034
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-size dummy array with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4023
+#: fortran/openmp.cc:4083
 #, gcc-internal-format
 msgid ""
 "%<acc update%> must contain at least one %<device%> or %<host%> or %<self%> "
 "clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4071
+#: fortran/openmp.cc:4131
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid argument to !$ACC WAIT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4078
+#: fortran/openmp.cc:4138
 #, gcc-internal-format, gfc-internal-format
 msgid "WAIT clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:4111
+#: fortran/openmp.cc:4171
 #, gcc-internal-format, gfc-internal-format
 msgid "ACC CACHE directive must be inside of loop %C"
 msgstr ""
 
-#: fortran/openmp.cc:4180
+#: fortran/openmp.cc:4240
 #, 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:4214
+#: fortran/openmp.cc:4274
 #, gcc-internal-format
 msgid "Invalid NAME %qs in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4222
+#: fortran/openmp.cc:4282
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4229
+#: fortran/openmp.cc:4289
 #, gcc-internal-format
 msgid ""
 "Syntax error in !$ACC ROUTINE ( NAME ) at %C, expecting %<)%> after NAME"
 msgstr ""
 
-#: fortran/openmp.cc:4244
+#: fortran/openmp.cc:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple loop axes specified for routine at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4255
+#: fortran/openmp.cc:4315
 #, 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:4263
+#: fortran/openmp.cc:4323
 #, 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:4284 fortran/openmp.cc:4312
+#: fortran/openmp.cc:4344 fortran/openmp.cc:4372
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC ROUTINE already applied at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4329
+#: fortran/openmp.cc:4389
 #, 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:4508
+#: fortran/openmp.cc:4568
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ALIGN or ALLOCATOR clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4516
+#: fortran/openmp.cc:4576
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, structure-element list item at %L in ALLOCATE directive is not yet "
 "supported"
 msgstr ""
 
-#: fortran/openmp.cc:4519
+#: fortran/openmp.cc:4579
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected expression as list item at %L in ALLOCATE directive"
 msgstr ""
 
-#: fortran/openmp.cc:4591
+#: fortran/openmp.cc:4650
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ASSUMES at %C must be in the specification part of a subprogram or "
 "module"
 msgstr ""
 
-#: fortran/openmp.cc:4658
+#: fortran/openmp.cc:4717
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4680
+#: fortran/openmp.cc:4739
 #, gcc-internal-format
 msgid "Expected %<( depobj )%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4698
+#: fortran/openmp.cc:4757
 #, gcc-internal-format
 msgid ""
 "Expected IN, OUT, INOUT, INOUTSET or MUTEXINOUTSET followed by %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4716
+#: fortran/openmp.cc:4771
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"The same depend object should be used as DEPOBJ argument at %L and as "
+"DESTROY argument at %L"
+msgstr ""
+
+#: fortran/openmp.cc:4785
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DEPEND, UPDATE, or DESTROY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4721
+#: fortran/openmp.cc:4790
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DEPEND clause at %L of OMP DEPOBJ construct shall not have dependence-type "
 "DEPOBJ"
 msgstr ""
 
-#: fortran/openmp.cc:4729
+#: fortran/openmp.cc:4798
 #, 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:4855 fortran/openmp.cc:8882
+#: fortran/openmp.cc:4924 fortran/openmp.cc:9176
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression"
 msgstr ""
 
-#: fortran/openmp.cc:4862
+#: fortran/openmp.cc:4931
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant character expression required in MESSAGE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4868
+#: fortran/openmp.cc:4937
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L: %s"
 msgstr ""
 
-#: fortran/openmp.cc:4887
+#: fortran/openmp.cc:4956
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4915
+#: fortran/openmp.cc:4984
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4924
+#: fortran/openmp.cc:4993
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "List specified together with memory order clause in FLUSH directive at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4932
+#: fortran/openmp.cc:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP FLUSH statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5332 fortran/openmp.cc:10890
+#: fortran/openmp.cc:5401 fortran/openmp.cc:11748
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5336 fortran/openmp.cc:10894
+#: fortran/openmp.cc:5405 fortran/openmp.cc:11752
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5341
+#: fortran/openmp.cc:5410
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5343
+#: fortran/openmp.cc:5412
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5363
+#: fortran/openmp.cc:5432
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE REDUCTION at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5400
+#: fortran/openmp.cc:5469
 #, 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:5415
+#: fortran/openmp.cc:5484
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE TARGET at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5440
+#: fortran/openmp.cc:5509
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:5443
+#: fortran/openmp.cc:5512
 #, 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:5449
+#: fortran/openmp.cc:5518
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and "
 "later in %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:5455
+#: fortran/openmp.cc:5524
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause "
 "and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:5469 fortran/openmp.cc:5515
+#: fortran/openmp.cc:5538 fortran/openmp.cc:5593
 #, 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:5479
+#: fortran/openmp.cc:5547 fortran/openmp.cc:5601
+#, gcc-internal-format, gfc-internal-format
+msgid "DEVICE_TYPE must be ANY when used with INDIRECT at %L"
+msgstr ""
+
+#: fortran/openmp.cc:5557
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET COMMON at %L previously mentioned in LINK clause and "
 "later in %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:5485
+#: fortran/openmp.cc:5563
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET COMMON at %L previously mentioned in TO or ENTER clause "
 "and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:5489
+#: fortran/openmp.cc:5567
 #, 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:5498
+#: fortran/openmp.cc:5576
 #, 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:5525
+#: fortran/openmp.cc:5611
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"OMP DECLARE TARGET directive at %L with only DEVICE_TYPE clause is ignored"
+"OMP DECLARE TARGET directive at %L with only DEVICE_TYPE or INDIRECT clauses "
+"is ignored"
 msgstr ""
 
-#: fortran/openmp.cc:5535
+#: fortran/openmp.cc:5622
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP DECLARE TARGET list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5573
+#. FIXME: constant integer expressions.
+#: fortran/openmp.cc:5661
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected trait-property-extension at %C"
+msgstr ""
+
+#: fortran/openmp.cc:5676 fortran/openmp.cc:5773 fortran/openmp.cc:5904
+#: fortran/openmp.cc:6054 fortran/openmp.cc:6082
+#, gcc-internal-format
+msgid "expected %<)%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:5698
 #, gcc-internal-format, gfc-internal-format
 msgid "expected trait selector name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5628
+#: fortran/openmp.cc:5717
 #, gcc-internal-format
-msgid "selector %qs not allowed for context selector set %qs at %C"
+msgid "unknown selector %qs for context selector set %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5648
+#: fortran/openmp.cc:5735
 #, gcc-internal-format
 msgid "selector %qs does not accept any properties at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5657 fortran/openmp.cc:5802 fortran/openmp.cc:5900
-#: fortran/openmp.cc:5967
+#: fortran/openmp.cc:5744
 #, gcc-internal-format
-msgid "expected %<(%> at %C"
+msgid ""
+"%<score%> cannot be specified in traits in the %qs trait-selector-set at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5665
-#, gcc-internal-format, gfc-internal-format
-msgid "score argument must be constant integer expression at %C"
+#: fortran/openmp.cc:5751 fortran/openmp.cc:5914 fortran/openmp.cc:6006
+#: fortran/openmp.cc:6073
+#, gcc-internal-format
+msgid "expected %<(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5673
-#, gcc-internal-format, gfc-internal-format
-msgid "score argument must be non-negative at %C"
+#: fortran/openmp.cc:5759
+#, gcc-internal-format
+msgid "%<score%> argument must be constant integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5679 fortran/openmp.cc:5792 fortran/openmp.cc:5948
-#: fortran/openmp.cc:5976
+#: fortran/openmp.cc:5767
 #, gcc-internal-format
-msgid "expected %<)%> at %C"
+msgid "%<score%> argument must be non-negative at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5685
+#: fortran/openmp.cc:5779
 #, gcc-internal-format, gfc-internal-format
 msgid "expected : at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5702
-#, gcc-internal-format, gfc-internal-format
-msgid "property must be constant integer expression or string literal at %C"
-msgstr ""
-
-#: fortran/openmp.cc:5722
+#: fortran/openmp.cc:5801
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5741
+#: fortran/openmp.cc:5820
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier or string literal at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5761
+#: fortran/openmp.cc:5841
 #, gcc-internal-format, gfc-internal-format
 msgid "expected expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5769
+#: fortran/openmp.cc:5853
 #, gcc-internal-format, gfc-internal-format
-msgid "property must be constant integer or logical expression at %C"
+msgid "property must be a constant logical expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5781
+#: fortran/openmp.cc:5856
+#, gcc-internal-format, gfc-internal-format
+msgid "property must be a constant integer expression at %C"
+msgstr ""
+
+#: fortran/openmp.cc:5868
+#, gcc-internal-format, gfc-internal-format
+msgid "property must be a conforming device number at %C"
+msgstr ""
+
+#: fortran/openmp.cc:5882
 #, gcc-internal-format, gfc-internal-format
 msgid "expected simd clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5848
-#, gcc-internal-format
-msgid ""
-"expected %<construct%>, %<device%>, %<implementation%> or %<user%> at %C"
+#: fortran/openmp.cc:5955
+#, gcc-internal-format, gfc-internal-format
+msgid "expected context selector set name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5856
+#: fortran/openmp.cc:5962
 #, gcc-internal-format
 msgid "expected %<=%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5863
+#: fortran/openmp.cc:5969
 #, gcc-internal-format
 msgid "expected %<{%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5878
+#: fortran/openmp.cc:5984
 #, gcc-internal-format
 msgid "expected %<}%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5907
+#: fortran/openmp.cc:6013
 #, gcc-internal-format, gfc-internal-format
 msgid "expected name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5918
+#: fortran/openmp.cc:6024
 #, gcc-internal-format, gfc-internal-format
 msgid "expected variant name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5958
+#: fortran/openmp.cc:6064
 #, gcc-internal-format
 msgid "expected %<match%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6009
+#: fortran/openmp.cc:6115
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:6046
+#: fortran/openmp.cc:6152
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after OMP THREADPRIVATE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6053
+#: fortran/openmp.cc:6159
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6159
+#: fortran/openmp.cc:6265
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Program unit at %L has OpenMP device constructs/routines but does not set !"
 "$OMP REQUIRES REVERSE_OFFLOAD but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:6164
+#: fortran/openmp.cc:6270
 #, 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:6169
+#: fortran/openmp.cc:6275
 #, 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:6195
+#: fortran/openmp.cc:6301
 #, 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:6199
+#: fortran/openmp.cc:6305
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %qs specified at %L comes after using a device "
 "construct/routine"
 msgstr ""
 
-#: fortran/openmp.cc:6221
+#: fortran/openmp.cc:6328
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified via module "
@@ -76908,7 +79454,7 @@ msgid ""
 "might be through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:6226
+#: fortran/openmp.cc:6333
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified at %L "
@@ -76916,1117 +79462,1250 @@ msgid ""
 "through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:6237
+#: fortran/openmp.cc:6344
 #, 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:6242
+#: fortran/openmp.cc:6349
 #, 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:6271
+#: fortran/openmp.cc:6378
 #, 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:6339
+#: fortran/openmp.cc:6456
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"Expected SEQ_CST, ACQ_REL or RELAXED for ATOMIC_DEFAULT_MEM_ORDER clause at "
-"%C"
+"Expected ACQ_REL, ACQUIRE, RELAXED, RELEASE or SEQ_CST for "
+"ATOMIC_DEFAULT_MEM_ORDER clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6355
+#: fortran/openmp.cc:6472
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6361
+#: fortran/openmp.cc:6478
 #, gcc-internal-format
 msgid "%qs clause at %L specified more than once"
 msgstr ""
 
-#: fortran/openmp.cc:6364
+#: fortran/openmp.cc:6481
 #, 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:6390
+#: fortran/openmp.cc:6507
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INCLUSIVE or EXCLUSIVE clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6396
+#: fortran/openmp.cc:6513
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP SCAN at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6595
+#: fortran/openmp.cc:6712
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after TASKYIELD clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6683
+#: fortran/openmp.cc:6800
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP MASTER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6715
+#: fortran/openmp.cc:6832
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP NOTHING statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6750 fortran/openmp.cc:6753 fortran/openmp.cc:6756
+#: fortran/openmp.cc:6867 fortran/openmp.cc:6870 fortran/openmp.cc:6873
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE"
 msgstr ""
 
-#: fortran/openmp.cc:6760
+#: fortran/openmp.cc:6877
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause requires %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:6797
+#: fortran/openmp.cc:6907
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"!$OMP ATOMIC WRITE at %L incompatible with ACQUIRES clause implicitly "
+"provided by a REQUIRES directive"
+msgstr ""
+
+#: fortran/openmp.cc:6918
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"!$OMP ATOMIC READ at %L incompatible with RELEASE clause implicitly provided "
+"by a REQUIRES directive"
+msgstr ""
+
+#: fortran/openmp.cc:6936
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC READ at %L incompatible with RELEASE clause"
 msgstr ""
 
-#: fortran/openmp.cc:6807
+#: fortran/openmp.cc:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause"
 msgstr ""
 
-#: fortran/openmp.cc:6844
+#: fortran/openmp.cc:6983
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC ATOMIC statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6859
+#: fortran/openmp.cc:6998
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP BARRIER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6915
+#: fortran/openmp.cc:7054
 #, 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:6921
+#: fortran/openmp.cc:7060
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CANCELLATION POINT statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6942
+#: fortran/openmp.cc:7081
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6981
+#: fortran/openmp.cc:7120
 #, gcc-internal-format, gfc-internal-format
 msgid "%s clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:6992
+#: fortran/openmp.cc:7132
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:7003
+#: fortran/openmp.cc:7144
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be non-negative"
 msgstr ""
 
-#: fortran/openmp.cc:7014
+#: fortran/openmp.cc:7155
 #, gcc-internal-format
 msgid "Cray pointer object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7017
+#: fortran/openmp.cc:7158
 #, gcc-internal-format
 msgid "Cray pointee object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7023 fortran/openmp.cc:8750
+#: fortran/openmp.cc:7164 fortran/openmp.cc:9044
 #, gcc-internal-format
 msgid "POINTER object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7028
+#: fortran/openmp.cc:7169
 #, gcc-internal-format
 msgid "Cray pointer object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7033
+#: fortran/openmp.cc:7174
 #, gcc-internal-format
 msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7043 fortran/openmp.cc:8235 fortran/openmp.cc:8512
+#: fortran/openmp.cc:7184 fortran/openmp.cc:8529 fortran/openmp.cc:8806
 #, gcc-internal-format
 msgid "Assumed size array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7046
+#: fortran/openmp.cc:7187
 #, gcc-internal-format
 msgid "Assumed rank array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7062 fortran/openmp.cc:8499
+#: fortran/openmp.cc:7203 fortran/openmp.cc:8793
 #, gcc-internal-format
 msgid "POINTER object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7067 fortran/openmp.cc:8754
+#: fortran/openmp.cc:7208 fortran/openmp.cc:9048
 #, gcc-internal-format
 msgid "Cray pointer object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7072 fortran/openmp.cc:8757
+#: fortran/openmp.cc:7213 fortran/openmp.cc:9051
 #, gcc-internal-format
 msgid "Cray pointee object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7077 fortran/openmp.cc:8745
+#: fortran/openmp.cc:7218 fortran/openmp.cc:9039
 #, gcc-internal-format
 msgid "ALLOCATABLE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7080
+#: fortran/openmp.cc:7221
 #, gcc-internal-format
 msgid "VALUE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7123
+#: fortran/openmp.cc:7264
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7172
+#: fortran/openmp.cc:7313
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7210
+#: fortran/openmp.cc:7349
+#, gcc-internal-format
+msgid ""
+"Unexpected function-result variable %qs at %L in declarative !$OMP ALLOCATE"
+msgstr ""
+
+#: fortran/openmp.cc:7355
+#, gcc-internal-format
+msgid "Procedure pointer %qs not supported with !$OMP ALLOCATE at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7361
 #, gcc-internal-format
 msgid ""
 "Argument %qs at %L to declarative !$OMP ALLOCATE directive must be a variable"
 msgstr ""
 
-#: fortran/openmp.cc:7218
+#: fortran/openmp.cc:7368
 #, gcc-internal-format
 msgid ""
 "Argument %qs at %L to declarative !$OMP ALLOCATE shall be in the same scope "
 "as the variable declaration"
 msgstr ""
 
-#: fortran/openmp.cc:7225
+#: fortran/openmp.cc:7375
 #, gcc-internal-format
 msgid ""
 "Unexpected dummy argument %qs as argument at %L to declarative !$OMP ALLOCATE"
 msgstr ""
 
-#: fortran/openmp.cc:7233
+#: fortran/openmp.cc:7381
+#, gcc-internal-format
+msgid ""
+"Unexpected coarray argument %qs as argument at %L to declarative !$OMP "
+"ALLOCATE"
+msgstr ""
+
+#: fortran/openmp.cc:7389
 #, gcc-internal-format
 msgid "Duplicated common block %</%s/%> in !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7240
+#: fortran/openmp.cc:7396
 #, gcc-internal-format
 msgid "Duplicated variable %qs in !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7248
+#: fortran/openmp.cc:7407
+#, gcc-internal-format
+msgid "Sorry, EQUIVALENCE object %qs not supported with !$OMP ALLOCATE at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7416
+#, gcc-internal-format
+msgid ""
+"Sorry, Cray pointers and pointees such as %qs are not supported with !$OMP "
+"ALLOCATE at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7425
 #, gcc-internal-format
 msgid ""
 "Unexpected allocatable variable %qs at %L in declarative !$OMP ALLOCATE "
 "directive"
 msgstr ""
 
-#: fortran/openmp.cc:7253
+#: fortran/openmp.cc:7430
 #, gcc-internal-format
 msgid ""
 "Unexpected pointer variable %qs at %L in declarative !$OMP ALLOCATE directive"
 msgstr ""
 
-#: fortran/openmp.cc:7264 fortran/openmp.cc:7801
+#: fortran/openmp.cc:7441 fortran/openmp.cc:7996
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ALIGN requires a scalar positive constant integer alignment expression at %L "
 "that is a power of two"
 msgstr ""
 
-#: fortran/openmp.cc:7279
+#: fortran/openmp.cc:7456
 #, gcc-internal-format
 msgid ""
 "An ALLOCATOR clause is required as the list item %<%s%s%s%> at %L has the "
 "SAVE attribute"
 msgstr ""
 
-#: fortran/openmp.cc:7284
+#: fortran/openmp.cc:7461
 #, gcc-internal-format
 msgid ""
 "Predefined allocator required in ALLOCATOR clause at %L as the list item "
 "%<%s%s%s%> at %L has the SAVE attribute"
 msgstr ""
 
-#: fortran/openmp.cc:7298 fortran/openmp.cc:7785
+#: fortran/openmp.cc:7475 fortran/openmp.cc:7980
 #, gcc-internal-format
 msgid ""
 "Expected integer expression of the %<omp_allocator_handle_kind%> kind at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7302
-#, gcc-internal-format, gfc-internal-format
-msgid "Sorry, declarative !$OMP ALLOCATE at %L not yet supported"
-msgstr ""
-
-#: fortran/openmp.cc:7316
+#: fortran/openmp.cc:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "HOLDS expression at %L must be a scalar logical expression"
 msgstr ""
 
-#: fortran/openmp.cc:7349
+#: fortran/openmp.cc:7527
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause parameter is less than COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7352
+#: fortran/openmp.cc:7530
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDER clause must not be used together ORDERED at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7359 fortran/openmp.cc:7370 fortran/resolve.cc:10994
-#: fortran/resolve.cc:12563
+#: fortran/openmp.cc:7537 fortran/openmp.cc:7548 fortran/resolve.cc:11043
+#: fortran/resolve.cc:12612
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:7374
+#: fortran/openmp.cc:7552
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause without modifier at %L used together with IF clauses with modifiers"
 msgstr ""
 
-#: fortran/openmp.cc:7499
+#: fortran/openmp.cc:7677
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause modifier %s at %L not appropriate for the current OpenMP construct"
 msgstr ""
 
-#: fortran/openmp.cc:7509
+#: fortran/openmp.cc:7687
+#, gcc-internal-format, gfc-internal-format
+msgid "SELF clause at %L requires a scalar LOGICAL expression"
+msgstr ""
+
+#: fortran/openmp.cc:7696
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:7519
+#: fortran/openmp.cc:7706
 #, gcc-internal-format, gfc-internal-format
 msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:7524
+#: fortran/openmp.cc:7711
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "INTEGER expression of SCHEDULE clause's chunk_size at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:7531
+#: fortran/openmp.cc:7718
 #, gcc-internal-format, gfc-internal-format
 msgid "Both MONOTONIC and NONMONOTONIC schedule modifiers specified at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7534
+#: fortran/openmp.cc:7721
 #, gcc-internal-format, gfc-internal-format
 msgid "NONMONOTONIC schedule modifier specified with ORDERED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7543
+#: fortran/openmp.cc:7730
 #, 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:7564
+#: fortran/openmp.cc:7751
 #, gcc-internal-format
 msgid "Variable %qs is not a dummy argument at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7600
+#: fortran/openmp.cc:7786
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "copied"
 msgstr ""
 
-#: fortran/openmp.cc:7604
+#: fortran/openmp.cc:7790
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "mapped"
 msgstr ""
 
-#: fortran/openmp.cc:7609 fortran/openmp.cc:10554
+#: fortran/openmp.cc:7795 fortran/openmp.cc:11411
 #, gcc-internal-format
 msgid "Object %qs is not a variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7618
+#: fortran/openmp.cc:7806
 #, 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:7649 fortran/openmp.cc:7661 fortran/openmp.cc:7682
-#: fortran/openmp.cc:7694 fortran/openmp.cc:7717 fortran/openmp.cc:7725
-#: fortran/openmp.cc:7746 fortran/openmp.cc:7757 fortran/openmp.cc:7769
-#: fortran/openmp.cc:7905 fortran/openmp.cc:10578
+#: fortran/openmp.cc:7810
+#, gcc-internal-format
+msgid ""
+"ORDERED clause specified together with %<inscan%> REDUCTION clause at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7813
+#, gcc-internal-format
+msgid ""
+"SCHEDULE clause specified together with %<inscan%> REDUCTION clause at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7844 fortran/openmp.cc:7856 fortran/openmp.cc:7877
+#: fortran/openmp.cc:7889 fortran/openmp.cc:7912 fortran/openmp.cc:7920
+#: fortran/openmp.cc:7941 fortran/openmp.cc:7952 fortran/openmp.cc:7964
+#: fortran/openmp.cc:8199 fortran/openmp.cc:11435
 #, gcc-internal-format
 msgid "Symbol %qs present on multiple clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7690
+#: fortran/openmp.cc:7885
 #, gcc-internal-format
 msgid "Symbol %qs has mixed component and non-component accesses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7740
+#: fortran/openmp.cc:7935
 #, gcc-internal-format
 msgid "Symbol %qs present on both data and map clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7826
+#: fortran/openmp.cc:8021
 #, gcc-internal-format
 msgid "%qs appears more than once in %<allocate%> at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7868
+#: fortran/openmp.cc:8063
 #, gcc-internal-format
 msgid ""
 "%qs specified in %<allocate%> clause at %L but not in an explicit "
 "privatization clause"
 msgstr ""
 
-#: fortran/openmp.cc:7888
+#: fortran/openmp.cc:8091
+#, gcc-internal-format
+msgid "Unexpected coarray %qs in %<allocate%> at %L"
+msgstr ""
+
+#: fortran/openmp.cc:8105
 #, gcc-internal-format
 msgid ""
 "%qs specified in %<allocate%> at %L but not in the associated ALLOCATE "
 "statement"
 msgstr ""
 
-#: fortran/openmp.cc:7912
+#: fortran/openmp.cc:8139
+#, gcc-internal-format
+msgid ""
+"%qs listed in %<allocate%> statement at %L but it is neither explicitly in "
+"listed in the %<!$OMP ALLOCATE%> directive nor exists a directive without "
+"argument list"
+msgstr ""
+
+#: fortran/openmp.cc:8150
+#, gcc-internal-format
+msgid ""
+"Unexpected coarray %qs in %<allocate%> at %L, implicitly listed in %<!$OMP "
+"ALLOCATE%> at %L"
+msgstr ""
+
+#: fortran/openmp.cc:8175
+#, gcc-internal-format
+msgid ""
+"ALLOCATORS directive at %L inside a target region must specify an ALLOCATOR "
+"modifier for %qs"
+msgstr ""
+
+#: fortran/openmp.cc:8179
+#, gcc-internal-format
+msgid ""
+"ALLOCATE directive at %L inside a target region must specify an ALLOCATOR "
+"clause for %qs"
+msgstr ""
+
+#: fortran/openmp.cc:8183
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"ALLOCATE directive at %L inside a target region must specify an ALLOCATOR "
+"clause"
+msgstr ""
+
+#: fortran/openmp.cc:8206
 #, gcc-internal-format
 msgid "Array %qs is not permitted in reduction at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7925
+#: fortran/openmp.cc:8219
 #, gcc-internal-format
 msgid "Symbol %qs present on both FROM and TO clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7943
+#: fortran/openmp.cc:8237
 #, gcc-internal-format
 msgid "Non-THREADPRIVATE object %qs in COPYIN clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7949
+#: fortran/openmp.cc:8243
 #, gcc-internal-format, gfc-internal-format
 msgid "NOWAIT clause must not be used with COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7954
+#: fortran/openmp.cc:8248
 #, gcc-internal-format
 msgid "Assumed size array %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7957
+#: fortran/openmp.cc:8251
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7965
+#: fortran/openmp.cc:8259
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7968
+#: fortran/openmp.cc:8262
 #, gcc-internal-format
 msgid "Cray pointee %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7971
+#: fortran/openmp.cc:8265
 #, gcc-internal-format
 msgid "Associate name %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7977
+#: fortran/openmp.cc:8271
 #, gcc-internal-format
 msgid "DETACH event handle %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7992
+#: fortran/openmp.cc:8286
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8002
+#: fortran/openmp.cc:8296
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause at %L requires a scalar positive constant integer "
 "alignment expression"
 msgstr ""
 
-#: fortran/openmp.cc:8028
+#: fortran/openmp.cc:8322
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range begin expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8034
+#: fortran/openmp.cc:8328
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range end expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8040
+#: fortran/openmp.cc:8334
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8045
+#: fortran/openmp.cc:8339
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonzero range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8058
+#: fortran/openmp.cc:8352
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Dependence-type SINK used together with SOURCE on the same construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8068
+#: fortran/openmp.cc:8362
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK addend not a constant integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8074
+#: fortran/openmp.cc:8368
 #, gcc-internal-format
 msgid "omp_cur_iteration at %L requires %<-1%> as logical offset"
 msgstr ""
 
-#: fortran/openmp.cc:8084
+#: fortran/openmp.cc:8378
 #, 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:8095
+#: fortran/openmp.cc:8389
 #, 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:8139
+#: fortran/openmp.cc:8433
 #, gcc-internal-format, gfc-internal-format
 msgid "Array is not contiguous at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8154
+#: fortran/openmp.cc:8448
 #, gcc-internal-format
 msgid "%qs clause argument must be ALLOCATABLE or a POINTER at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8166
+#: fortran/openmp.cc:8460
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected substring reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8174
+#: fortran/openmp.cc:8468
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected complex-parts designator reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8183 fortran/openmp.cc:8201
+#: fortran/openmp.cc:8477 fortran/openmp.cc:8495
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is not a proper array section"
 msgstr ""
 
-#: fortran/openmp.cc:8193
+#: fortran/openmp.cc:8487
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride should not be specified for array section in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8215
+#: fortran/openmp.cc:8509
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is a zero size array section"
 msgstr ""
 
-#: fortran/openmp.cc:8241
+#: fortran/openmp.cc:8535
 #, gcc-internal-format
 msgid ""
 "List item %qs with allocatable components is not permitted in map clause at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8267
+#: fortran/openmp.cc:8561
 #, 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:8298
+#: fortran/openmp.cc:8592
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause "
 "at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8327
+#: fortran/openmp.cc:8621
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE "
 "on MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8343 fortran/openmp.cc:8483
+#: fortran/openmp.cc:8637 fortran/openmp.cc:8777
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8346 fortran/openmp.cc:8486
+#: fortran/openmp.cc:8640 fortran/openmp.cc:8780
 #, gcc-internal-format
 msgid "Cray pointee %qs in %s clause at %L"
 msgstr ""
 
 #. Non-TARGET (i.e. DISPATCH) requires a C_PTR.
-#: fortran/openmp.cc:8358
+#: fortran/openmp.cc:8652
 #, gcc-internal-format
 msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)"
 msgstr ""
 
-#: fortran/openmp.cc:8415
+#: fortran/openmp.cc:8709
 #, gcc-internal-format
 msgid "Memspace %qs at %L in USES_ALLOCATORS must be a predefined memory space"
 msgstr ""
 
-#: fortran/openmp.cc:8423
+#: fortran/openmp.cc:8717
 #, gcc-internal-format
 msgid ""
 "Allocator %qs at %L in USES_ALLOCATORS must be a scalar integer of kind "
 "%<omp_allocator_handle_kind%>"
 msgstr ""
 
-#: fortran/openmp.cc:8431
+#: fortran/openmp.cc:8725
 #, gcc-internal-format
 msgid ""
 "Allocator %qs at %L in USES_ALLOCATORS must either a variable or a "
 "predefined allocator"
 msgstr ""
 
-#: fortran/openmp.cc:8436
+#: fortran/openmp.cc:8730
 #, gcc-internal-format
 msgid ""
 "A memory space or traits array may not be specified for predefined allocator "
 "%qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8447
+#: fortran/openmp.cc:8741
 #, gcc-internal-format
 msgid ""
 "Traits array %qs in USES_ALLOCATORS %L must be a one-dimensional named "
 "constant array of type %<omp_alloctrait%>"
 msgstr ""
 
-#: fortran/openmp.cc:8477
+#: fortran/openmp.cc:8771
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8489
+#: fortran/openmp.cc:8783
 #, gcc-internal-format
 msgid "Associate name %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8496
+#: fortran/openmp.cc:8790
 #, gcc-internal-format
 msgid "Procedure pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8502
+#: fortran/openmp.cc:8796
 #, gcc-internal-format
 msgid "Cray pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8515
+#: fortran/openmp.cc:8809
 #, gcc-internal-format
 msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
 msgstr ""
 
 #. case OMP_LIST_REDUCTION:
-#: fortran/openmp.cc:8525
+#: fortran/openmp.cc:8819
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8536
+#: fortran/openmp.cc:8830
 #, gcc-internal-format
 msgid "DETACH event handle %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8560
+#: fortran/openmp.cc:8854
 #, gcc-internal-format, gfc-internal-format
 msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8653
+#: fortran/openmp.cc:8947
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8681
+#: fortran/openmp.cc:8975
 #, gcc-internal-format, gfc-internal-format
 msgid "LINEAR clause modifier used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8687
+#: fortran/openmp.cc:8981
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8695
+#: fortran/openmp.cc:8989
 #, gcc-internal-format
 msgid "LINEAR variable %qs must be INTEGER at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8700
+#: fortran/openmp.cc:8994
 #, gcc-internal-format
 msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8711
+#: fortran/openmp.cc:9005
 #, gcc-internal-format
 msgid ""
 "%qs in LINEAR clause at %L requires a scalar integer linear-step expression"
 msgstr ""
 
-#: fortran/openmp.cc:8728
+#: fortran/openmp.cc:9022
 #, 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:8762
+#: fortran/openmp.cc:9056
 #, gcc-internal-format
 msgid "%s clause variable %qs at %L is neither a POINTER nor an array"
 msgstr ""
 
-#: fortran/openmp.cc:8822
+#: fortran/openmp.cc:9116
 #, gcc-internal-format, gfc-internal-format
 msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8835
+#: fortran/openmp.cc:9129
 #, gcc-internal-format, gfc-internal-format
 msgid "Value of HINT clause at %L shall be a valid constant hint expression"
 msgstr ""
 
-#: fortran/openmp.cc:8845
+#: fortran/openmp.cc:9139
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:8875
+#: fortran/openmp.cc:9169
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible use of TILE and COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8899
+#: fortran/openmp.cc:9193
 #, 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:8902
+#: fortran/openmp.cc:9196
 #, gcc-internal-format, gfc-internal-format
 msgid "%s must contain at least one MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8912
+#: fortran/openmp.cc:9206
 #, gcc-internal-format
 msgid ""
 "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)"
 msgstr ""
 
-#: fortran/openmp.cc:8917
+#: fortran/openmp.cc:9211
 #, gcc-internal-format, gfc-internal-format
 msgid "The event handle at %L must not be an array element"
 msgstr ""
 
-#: fortran/openmp.cc:8921
+#: fortran/openmp.cc:9215
 #, gcc-internal-format, gfc-internal-format
 msgid "The event handle at %L must not be part of a derived type or class"
 msgstr ""
 
-#: fortran/openmp.cc:8925
+#: fortran/openmp.cc:9219
 #, gcc-internal-format
 msgid ""
 "%<DETACH%> clause at %L must not be used together with %<MERGEABLE%> clause"
 msgstr ""
 
-#: fortran/openmp.cc:9080
+#: fortran/openmp.cc:9226
+#, gcc-internal-format
+msgid "%<host_data%> construct at %L requires %<use_device%> clause"
+msgstr ""
+
+#: fortran/openmp.cc:9380
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected IF at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:9088
+#: fortran/openmp.cc:9388
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ELSE at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:9200
+#: fortran/openmp.cc:9500
 #, gcc-internal-format
 msgid ""
 "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9206
+#: fortran/openmp.cc:9506
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic variable at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:9214
+#: fortran/openmp.cc:9514
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic expression at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:9222
+#: fortran/openmp.cc:9522
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9231
+#: fortran/openmp.cc:9531
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9238
+#: fortran/openmp.cc:9538
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9255
+#: fortran/openmp.cc:9555
 #, 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:9260
+#: fortran/openmp.cc:9560
 #, 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:9272
+#: fortran/openmp.cc:9572
 #, 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:9280
+#: fortran/openmp.cc:9580
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type "
 "at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9290
+#: fortran/openmp.cc:9590
 #, 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:9306
+#: fortran/openmp.cc:9606
 #, 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:9314
+#: fortran/openmp.cc:9614
 #, 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:9332
+#: fortran/openmp.cc:9632
 #, 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:9359
+#: fortran/openmp.cc:9659
 #, 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:9407
+#: fortran/openmp.cc:9707
 #, 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:9421
+#: fortran/openmp.cc:9721
 #, 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:9454
+#: fortran/openmp.cc:9754
 #, 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:9478
+#: fortran/openmp.cc:9778
 #, 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:9485
+#: fortran/openmp.cc:9785
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9508
+#: fortran/openmp.cc:9808
 #, gcc-internal-format
 msgid ""
 "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9515
+#: fortran/openmp.cc:9815
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9523
+#: fortran/openmp.cc:9823
 #, gcc-internal-format
 msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9541
+#: fortran/openmp.cc:9841
 #, 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:9546
+#: fortran/openmp.cc:9846
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected !$OMP ATOMIC expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9592
-#, gcc-internal-format
-msgid ""
-"ORDERED clause specified together with %<inscan%> REDUCTION clause at %L"
-msgstr ""
-
-#: fortran/openmp.cc:9595
-#, gcc-internal-format
-msgid ""
-"SCHEDULE clause specified together with %<inscan%> REDUCTION clause at %L"
-msgstr ""
-
-#: fortran/openmp.cc:9604
+#: fortran/openmp.cc:9948
 #, 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:9609
+#: fortran/openmp.cc:9955
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP SCAN at %L with zero executable statements in preceding structured "
 "block sequence"
 msgstr ""
 
-#: fortran/openmp.cc:9615
+#: fortran/openmp.cc:9962
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP SCAN at %L with zero executable statements in succeeding structured "
 "block sequence"
 msgstr ""
 
-#: fortran/openmp.cc:10027
+#: fortran/openmp.cc:10176
+#, gcc-internal-format, gfc-internal-format
+msgid "%s cannot contain loop in intervening code at %L"
+msgstr ""
+
+#: fortran/openmp.cc:10256
+#, gcc-internal-format, gfc-internal-format
+msgid "%s cannot contain OpenMP directive in intervening code at %L"
+msgstr ""
+
+#: fortran/openmp.cc:10268 fortran/openmp.cc:10294
+#, gcc-internal-format, gfc-internal-format
+msgid "%s cannot contain OpenMP API call in intervening code at %L"
+msgstr ""
+
+#: fortran/openmp.cc:10822
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO WHILE or DO without loop control at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10033
+#: fortran/openmp.cc:10828
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10039
+#: fortran/openmp.cc:10835
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10043
+#: fortran/openmp.cc:10842
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must not be THREADPRIVATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10056
+#: fortran/openmp.cc:10857
 #, 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:10060
+#: fortran/openmp.cc:10861
 #, 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:10067
+#: fortran/openmp.cc:10868
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable used in more than one loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10075
+#: fortran/openmp.cc:10874
+#, gcc-internal-format, gfc-internal-format
+msgid "%s iteration variable at %L is bound in intervening code"
+msgstr ""
+
+#: fortran/openmp.cc:10883
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop start expression not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10083
+#: fortran/openmp.cc:10890
+#, gcc-internal-format, gfc-internal-format
+msgid "%s loop start expression at %L uses variable bound in intervening code"
+msgstr ""
+
+#: fortran/openmp.cc:10899
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop end expression not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10089
+#: fortran/openmp.cc:10906
+#, gcc-internal-format, gfc-internal-format
+msgid "%s loop end expression at %L uses variable bound in intervening code"
+msgstr ""
+
+#: fortran/openmp.cc:10913
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop bounds reference different iteration variables at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10095
+#: fortran/openmp.cc:10919
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop increment not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10105
+#: fortran/openmp.cc:10926
 #, gcc-internal-format, gfc-internal-format
-msgid "collapsed %s loops not perfectly nested at %L"
+msgid ""
+"%s loop increment expression at %L uses variable bound in intervening code"
 msgstr ""
 
-#: fortran/openmp.cc:10114 fortran/openmp.cc:10122
+#. Parse error, can't recover from this.
+#: fortran/openmp.cc:10944
 #, gcc-internal-format, gfc-internal-format
-msgid "not enough DO loops for collapsed %s at %L"
+msgid "not enough DO loops for collapsed %s (level %d) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10333 fortran/openmp.cc:10346
+#: fortran/openmp.cc:10956
+#, gcc-internal-format, gfc-internal-format
+msgid "%s inner loops must be perfectly nested with ORDERED clause at %L"
+msgstr ""
+
+#: fortran/openmp.cc:10963
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"%s inner loops must be perfectly nested with REDUCTION INSCAN clause at %L"
+msgstr ""
+
+#: fortran/openmp.cc:11190 fortran/openmp.cc:11203
 #, gcc-internal-format, gfc-internal-format
 msgid "The %s directive cannot be specified within a %s region at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10365
+#: fortran/openmp.cc:11222
 #, 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:10371
+#: fortran/openmp.cc:11228
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10377
+#: fortran/openmp.cc:11234
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10393
+#: fortran/openmp.cc:11250
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10405
+#: fortran/openmp.cc:11262
 #, gcc-internal-format, gfc-internal-format
 msgid "%s !$ACC LOOP loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10415 fortran/openmp.cc:10424
+#: fortran/openmp.cc:11272 fortran/openmp.cc:11281
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for %s !$ACC LOOP at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10440
+#: fortran/openmp.cc:11297
 #, 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:10461
+#: fortran/openmp.cc:11318
 #, gcc-internal-format, gfc-internal-format
 msgid "TILE requires constant expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10561
+#: fortran/openmp.cc:11418
 #, gcc-internal-format
 msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10608
+#: fortran/openmp.cc:11465
 #, gcc-internal-format
 msgid ""
 "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE "
 "( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10614
+#: fortran/openmp.cc:11471
 #, gcc-internal-format
 msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10681
+#: fortran/openmp.cc:11539
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP TARGET region at %L with a nested TEAMS at %L may not contain any "
@@ -78034,207 +80713,207 @@ msgid ""
 "construct"
 msgstr ""
 
-#: fortran/openmp.cc:10685
+#: fortran/openmp.cc:11543
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP TARGET region at %L with a nested TEAMS may not contain any other "
 "statement, declaration or directive outside of the single TEAMS construct"
 msgstr ""
 
-#: fortran/openmp.cc:10779
+#: fortran/openmp.cc:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause"
 msgstr ""
 
-#: fortran/openmp.cc:10793
+#: fortran/openmp.cc:11651
 #, 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:10799
+#: fortran/openmp.cc:11657
 #, gcc-internal-format
 msgid ""
 "Unexpected !$OMP SCAN at %L outside loop construct with %<inscan%> REDUCTION "
 "clause"
 msgstr ""
 
-#: fortran/openmp.cc:10820
+#: fortran/openmp.cc:11678
 #, gcc-internal-format
 msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10844
+#: fortran/openmp.cc:11702
 #, 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:10852
+#: fortran/openmp.cc:11710
 #, 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:10881
+#: fortran/openmp.cc:11739
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10903
+#: fortran/openmp.cc:11761
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10919
+#: fortran/openmp.cc:11777
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Subroutine call with alternate returns in combiner of !$OMP DECLARE "
 "REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10934
+#: fortran/openmp.cc:11792
 #, 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:10944
+#: fortran/openmp.cc:11802
 #, 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:10952
+#: fortran/openmp.cc:11810
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type "
 "without default initializer at %L"
 msgstr ""
 
-#: fortran/options.cc:275
+#: fortran/options.cc:290
 #, gcc-internal-format
 msgid "%<-fexcess-precision=standard%> for Fortran"
 msgstr ""
 
-#: fortran/options.cc:277
+#: fortran/options.cc:292
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> for Fortran"
 msgstr ""
 
-#: fortran/options.cc:371
+#: fortran/options.cc:386
 #, gcc-internal-format
 msgid "Reading file %qs as free form"
 msgstr ""
 
-#: fortran/options.cc:381
+#: fortran/options.cc:396
 #, gcc-internal-format
 msgid "%<-fd-lines-as-comments%> has no effect in free form"
 msgstr ""
 
-#: fortran/options.cc:384
+#: fortran/options.cc:399
 #, gcc-internal-format
 msgid "%<-fd-lines-as-code%> has no effect in free form"
 msgstr ""
 
-#: fortran/options.cc:422
+#: fortran/options.cc:436
 #, gcc-internal-format
 msgid "Flag %<-fno-automatic%> overwrites %<-fmax-stack-var-size=%d%>"
 msgstr ""
 
-#: fortran/options.cc:425
+#: fortran/options.cc:439
 #, gcc-internal-format
 msgid "Flag %<-fno-automatic%> overwrites %<-frecursive%>"
 msgstr ""
 
-#: fortran/options.cc:428
+#: fortran/options.cc:442
 #, gcc-internal-format
 msgid "Flag %<-fno-automatic%> overwrites %<-frecursive%> implied by %qs"
 msgstr ""
 
-#: fortran/options.cc:431
+#: fortran/options.cc:445
 #, gcc-internal-format
 msgid "Flag %<-frecursive%> overwrites %<-fmax-stack-var-size=%d%>"
 msgstr ""
 
-#: fortran/options.cc:434
+#: fortran/options.cc:448
 #, gcc-internal-format
 msgid ""
 "Flag %<-fmax-stack-var-size=%d%> overwrites %<-frecursive%> implied by %qs"
 msgstr ""
 
-#: fortran/options.cc:493
+#: fortran/options.cc:507
 #, gcc-internal-format
 msgid "Fixed line length must be at least seven"
 msgstr ""
 
-#: fortran/options.cc:496
+#: fortran/options.cc:510
 #, gcc-internal-format
 msgid "Free line length must be at least three"
 msgstr ""
 
-#: fortran/options.cc:499
+#: fortran/options.cc:513
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum subrecord length cannot exceed %d"
 msgstr ""
 
-#: fortran/options.cc:518
+#: fortran/options.cc:532
 #, gcc-internal-format
 msgid "gfortran: Only one %<-J%> option allowed"
 msgstr ""
 
-#: fortran/options.cc:590
+#: fortran/options.cc:607
 #, gcc-internal-format
 msgid "Argument to %<-ffpe-trap%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:592
+#: fortran/options.cc:609
 #, gcc-internal-format
 msgid "Argument to %<-ffpe-summary%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:641
+#: fortran/options.cc:658
 #, gcc-internal-format
 msgid "Argument to %<-fcheck%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:706
+#: fortran/options.cc:723
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum supported identifier length is %d"
 msgstr ""
 
-#: fortran/options.cc:721
+#: fortran/options.cc:738
 #, gcc-internal-format
 msgid "Unrecognized option to %<-finit-logical%>: %s"
 msgstr ""
 
-#: fortran/options.cc:737
+#: fortran/options.cc:754
 #, gcc-internal-format
 msgid "The value of n in %<-finit-character=n%> must be between 0 and 127"
 msgstr ""
 
-#: fortran/parse.cc:603
+#: fortran/parse.cc:655
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:667
+#: fortran/parse.cc:719
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OpenACC directives other than ROUTINE may not appear in PURE procedures at %C"
 msgstr ""
 
-#: fortran/parse.cc:733
+#: fortran/parse.cc:785
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable OpenACC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:765
+#: fortran/parse.cc:817
 #, gcc-internal-format
 msgid ""
 "%qs directive at %L must either have a variable argument or, if associated "
@@ -78242,7 +80921,7 @@ msgid ""
 "construct"
 msgstr ""
 
-#: fortran/parse.cc:777
+#: fortran/parse.cc:829
 #, gcc-internal-format
 msgid ""
 "Structure-component expression at %L in %qs directive not permitted in "
@@ -78250,7 +80929,7 @@ msgid ""
 "be preceded by an executable statement or OpenMP construct"
 msgstr ""
 
-#: fortran/parse.cc:803
+#: fortran/parse.cc:855
 #, gcc-internal-format
 msgid ""
 "%qs directive at %L associated with an ALLOCATE stmt must be preceded by an "
@@ -78258,151 +80937,151 @@ msgid ""
 "have the allocatable or pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:971 fortran/parse.cc:1273
+#: fortran/parse.cc:1023 fortran/parse.cc:1325
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OpenMP directive at %C is not pure and thus may not appear in a PURE "
 "procedure"
 msgstr ""
 
-#: fortran/parse.cc:1244
+#: fortran/parse.cc:1296
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable OpenMP directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1260
+#: fortran/parse.cc:1312
 #, gcc-internal-format
 msgid ""
 "OpenMP ERROR directive at %L with %<at(execution)%> clause in a PURE "
 "procedure"
 msgstr ""
 
-#: fortran/parse.cc:1388
+#: fortran/parse.cc:1440
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1390
+#: fortran/parse.cc:1442
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C, ignored"
 msgstr ""
 
-#: fortran/parse.cc:1450 fortran/parse.cc:1677
+#: fortran/parse.cc:1502 fortran/parse.cc:1729
 #, gcc-internal-format, gfc-internal-format
 msgid "Zero is not a valid statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1457 fortran/parse.cc:1669
+#: fortran/parse.cc:1509 fortran/parse.cc:1721
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-numeric character in statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1469 fortran/parse.cc:1718
+#: fortran/parse.cc:1521 fortran/parse.cc:1770
 #, gcc-internal-format, gfc-internal-format
 msgid "Semicolon at %C needs to be preceded by statement"
 msgstr ""
 
-#: fortran/parse.cc:1476 fortran/parse.cc:1733
+#: fortran/parse.cc:1528 fortran/parse.cc:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label without statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:1539 fortran/parse.cc:1720
+#: fortran/parse.cc:1591 fortran/parse.cc:1772
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Semicolon at %C without preceding statement"
 msgstr ""
 
-#: fortran/parse.cc:1562 fortran/parse.cc:1696
+#: fortran/parse.cc:1614 fortran/parse.cc:1748
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad continuation line at %C"
 msgstr ""
 
-#: fortran/parse.cc:2007
+#: fortran/parse.cc:2059
 #, gcc-internal-format, gfc-internal-format
 msgid "FORMAT statement at %L does not have a statement label"
 msgstr ""
 
-#: fortran/parse.cc:2922
+#: fortran/parse.cc:2974
 #, gcc-internal-format
 msgid "gfc_ascii_statement(): Bad statement code"
 msgstr ""
 
-#: fortran/parse.cc:3066
+#: fortran/parse.cc:3120
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3223
+#: fortran/parse.cc:3277
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot follow %s statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:3240
+#: fortran/parse.cc:3294
 #, gcc-internal-format
 msgid "Unexpected end of file in %qs"
 msgstr ""
 
-#: fortran/parse.cc:3275
+#: fortran/parse.cc:3329
 #, gcc-internal-format
 msgid "Derived-type %qs with SEQUENCE must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3278
+#: fortran/parse.cc:3332
 #, gcc-internal-format
 msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3298
+#: fortran/parse.cc:3352
 #, gcc-internal-format, gfc-internal-format
 msgid "Components in TYPE at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3302
+#: fortran/parse.cc:3356
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound procedure at %C"
 msgstr ""
 
-#: fortran/parse.cc:3310
+#: fortran/parse.cc:3364
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC binding at %C"
 msgstr ""
 
-#: fortran/parse.cc:3318
+#: fortran/parse.cc:3372
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3330
+#: fortran/parse.cc:3384
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C with empty CONTAINS section"
 msgstr ""
 
-#: fortran/parse.cc:3340 fortran/parse.cc:3795
+#: fortran/parse.cc:3394 fortran/parse.cc:3849
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:3347
+#: fortran/parse.cc:3401
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede procedure bindings"
 msgstr ""
 
-#: fortran/parse.cc:3354 fortran/parse.cc:3808
+#: fortran/parse.cc:3408 fortran/parse.cc:3862
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate PRIVATE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3364
+#: fortran/parse.cc:3418
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3368
+#: fortran/parse.cc:3422
 #, gcc-internal-format, gfc-internal-format
 msgid "Already inside a CONTAINS block at %C"
 msgstr ""
 
-#: fortran/parse.cc:3487
+#: fortran/parse.cc:3541
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type LOCK_TYPE must have a codimension or be a "
@@ -78410,27 +81089,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3493
+#: fortran/parse.cc:3547
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Pointer component %s at %L has a noncoarray subcomponent of type LOCK_TYPE, "
 "which must have a codimension or be a subcomponent of a coarray"
 msgstr ""
 
-#: fortran/parse.cc:3498
+#: fortran/parse.cc:3552
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type LOCK_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3502
+#: fortran/parse.cc:3556
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L must have a codimension as it has a "
 "noncoarray subcomponent of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/parse.cc:3507
+#: fortran/parse.cc:3561
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -78439,7 +81118,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3514
+#: fortran/parse.cc:3568
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -78448,7 +81127,7 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3524
+#: fortran/parse.cc:3578
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type EVENT_TYPE must have a codimension or be a "
@@ -78456,27 +81135,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3530
+#: fortran/parse.cc:3584
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Pointer component %s at %L has a noncoarray subcomponent of type EVENT_TYPE, "
 "which must have a codimension or be a subcomponent of a coarray"
 msgstr ""
 
-#: fortran/parse.cc:3535
+#: fortran/parse.cc:3589
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type EVENT_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3539
+#: fortran/parse.cc:3593
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L must have a codimension as it has a "
 "noncoarray subcomponent of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/parse.cc:3544
+#: fortran/parse.cc:3598
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -78485,7 +81164,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3551
+#: fortran/parse.cc:3605
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -78494,331 +81173,331 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3603
+#: fortran/parse.cc:3657
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create map component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3636
+#: fortran/parse.cc:3690
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create union component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3691
+#: fortran/parse.cc:3745
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in nested structure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3778
+#: fortran/parse.cc:3832
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3786
+#: fortran/parse.cc:3840
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C without components"
 msgstr ""
 
-#: fortran/parse.cc:3802
+#: fortran/parse.cc:3856
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3819
+#: fortran/parse.cc:3873
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3825
+#: fortran/parse.cc:3879
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE attribute at %C already specified in TYPE statement"
 msgstr ""
 
-#: fortran/parse.cc:3830
+#: fortran/parse.cc:3884
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate SEQUENCE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3840
+#: fortran/parse.cc:3894
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS block in derived type definition at %C"
 msgstr ""
 
-#: fortran/parse.cc:3898
+#: fortran/parse.cc:3952
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM declaration at %C has no ENUMERATORS"
 msgstr ""
 
-#: fortran/parse.cc:3985
+#: fortran/parse.cc:4039
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in INTERFACE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4009
+#: fortran/parse.cc:4064
 #, gcc-internal-format
 msgid ""
 "Name %qs of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/parse.cc:4043
+#: fortran/parse.cc:4095
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C in INTERFACE body"
 msgstr ""
 
-#: fortran/parse.cc:4061
+#: fortran/parse.cc:4113
 #, gcc-internal-format
 msgid ""
 "INTERFACE procedure %qs at %L has the same name as the enclosing procedure"
 msgstr ""
 
-#: fortran/parse.cc:4200
+#: fortran/parse.cc:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4232
+#: fortran/parse.cc:4284
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:4316
+#: fortran/parse.cc:4368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement must appear in a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:4324
+#: fortran/parse.cc:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C follows another accessibility specification"
 msgstr ""
 
-#: fortran/parse.cc:4376
+#: fortran/parse.cc:4428
 #, gcc-internal-format
 msgid "Bad kind expression for function %qs at %L"
 msgstr ""
 
-#: fortran/parse.cc:4380
+#: fortran/parse.cc:4432
 #, gcc-internal-format
 msgid "The type for function %qs at %L is not accessible"
 msgstr ""
 
-#: fortran/parse.cc:4440
+#: fortran/parse.cc:4492
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
 msgstr ""
 
-#: fortran/parse.cc:4462
+#: fortran/parse.cc:4514
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in WHERE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4521
+#: fortran/parse.cc:4573
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in FORALL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4572
+#: fortran/parse.cc:4624
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:4590
+#: fortran/parse.cc:4642
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate ELSE statements at %L and %C"
 msgstr ""
 
-#: fortran/parse.cc:4651
+#: fortran/parse.cc:4703
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
 msgstr ""
 
-#: fortran/parse.cc:4735
+#: fortran/parse.cc:4787
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected TYPE IS, CLASS IS or END SELECT statement following SELECT TYPE at "
 "%C"
 msgstr ""
 
-#: fortran/parse.cc:4811
+#: fortran/parse.cc:4863
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected RANK or RANK DEFAULT following SELECT RANK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4875
+#: fortran/parse.cc:4927
 #, gcc-internal-format
 msgid "Variable %qs at %C cannot be redefined inside loop beginning at %L"
 msgstr ""
 
-#: fortran/parse.cc:4908
+#: fortran/parse.cc:4960
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is within another block"
 msgstr ""
 
-#: fortran/parse.cc:4918
+#: fortran/parse.cc:4970
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
 msgstr ""
 
-#: fortran/parse.cc:4944
+#: fortran/parse.cc:4996
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenACC region at %C"
 msgstr ""
 
-#: fortran/parse.cc:4945
+#: fortran/parse.cc:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenMP region at %C"
 msgstr ""
 
-#: fortran/parse.cc:4971
+#: fortran/parse.cc:5023
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in END CRITICAL at %C does not match CRITICAL label"
 msgstr ""
 
-#: fortran/parse.cc:5040 fortran/parse.cc:5869
+#: fortran/parse.cc:5092 fortran/parse.cc:5951
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:5075
+#: fortran/parse.cc:5127
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSOCIATE construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:5302
+#: fortran/parse.cc:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr ""
 
-#: fortran/parse.cc:5318
+#: fortran/parse.cc:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "Named block DO at %L requires matching ENDDO name"
 msgstr ""
 
-#: fortran/parse.cc:5475 fortran/parse.cc:6015 fortran/parse.cc:6033
+#: fortran/parse.cc:5557 fortran/parse.cc:6109 fortran/parse.cc:6127
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicated NOWAIT clause on %s and %s at %C"
 msgstr ""
 
-#: fortran/parse.cc:5576 fortran/parse.cc:5638
+#: fortran/parse.cc:5658 fortran/parse.cc:5720
 #, gcc-internal-format, gfc-internal-format
 msgid "OpenACC directive inside of CRITICAL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:5613
+#: fortran/parse.cc:5695
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s at %C"
 msgstr ""
 
-#: fortran/parse.cc:5657
+#: fortran/parse.cc:5739
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DO loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5677
+#: fortran/parse.cc:5759
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant !$ACC END LOOP at %C"
 msgstr ""
 
-#: fortran/parse.cc:5727
+#: fortran/parse.cc:5809
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statements at %L and %L have both no list item but only one may"
 msgstr ""
 
-#: fortran/parse.cc:5747
+#: fortran/parse.cc:5829
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s at %C; expected ALLOCATE or %s statement"
 msgstr ""
 
-#: fortran/parse.cc:5750
+#: fortran/parse.cc:5832
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s at %C; expected ALLOCATE statement after %s"
 msgstr ""
 
-#: fortran/parse.cc:6026
+#: fortran/parse.cc:6120
 #, gcc-internal-format, gfc-internal-format
 msgid "Name after !$omp critical and !$omp end critical does not match at %C"
 msgstr ""
 
-#: fortran/parse.cc:6101
+#: fortran/parse.cc:6195
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
 msgstr ""
 
-#: fortran/parse.cc:6115
+#: fortran/parse.cc:6209
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C after the first executable statement"
 msgstr ""
 
-#: fortran/parse.cc:6271
+#: fortran/parse.cc:6365
 #, gcc-internal-format
 msgid "%<GCC unroll%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6274
+#: fortran/parse.cc:6368
 #, gcc-internal-format
 msgid "%<GCC ivdep%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6277
+#: fortran/parse.cc:6371
 #, gcc-internal-format
 msgid "%<GCC vector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6280
+#: fortran/parse.cc:6374
 #, gcc-internal-format
 msgid "%<GCC novector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6396
+#: fortran/parse.cc:6490
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C is already ambiguous"
 msgstr ""
 
-#: fortran/parse.cc:6453
+#: fortran/parse.cc:6547
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:6478
+#: fortran/parse.cc:6572
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:6592
+#: fortran/parse.cc:6686
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
 msgstr ""
 
-#: fortran/parse.cc:6644
+#: fortran/parse.cc:6738
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6648
+#: fortran/parse.cc:6742
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6654
+#: fortran/parse.cc:6748
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6657
+#: fortran/parse.cc:6751
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6679
+#: fortran/parse.cc:6773
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
 msgstr ""
 
-#: fortran/parse.cc:6705
+#: fortran/parse.cc:6799
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:6808
+#: fortran/parse.cc:6902
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr ""
@@ -78826,7 +81505,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:7301
+#: fortran/parse.cc:7403
 #, gcc-internal-format, gfc-internal-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr ""
@@ -78979,13 +81658,11 @@ msgid "match_string_constant(): Delimiter not found"
 msgstr ""
 
 #: fortran/primary.cc:1193
-#, gcc-internal-format, gfc-internal-format
-msgid "Substring start index (%ld) at %L below 1"
+msgid "Substring start index (%td) at %L below 1"
 msgstr ""
 
 #: fortran/primary.cc:1199
-#, gcc-internal-format, gfc-internal-format
-msgid "Substring end index (%ld) at %L exceeds string length"
+msgid "Substring end index (%td) at %L exceeds string length"
 msgstr ""
 
 #: fortran/primary.cc:1284
@@ -79142,145 +81819,144 @@ msgstr ""
 msgid "Coindexed procedure-pointer component at %C"
 msgstr ""
 
-#: fortran/primary.cc:2631
+#: fortran/primary.cc:2633
 #, gcc-internal-format
 msgid "gfc_variable_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:2821
+#: fortran/primary.cc:2839
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:2878
+#: fortran/primary.cc:2896
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Bad array reference"
 msgstr ""
 
-#: fortran/primary.cc:3057
+#: fortran/primary.cc:3075
 #, gcc-internal-format
 msgid ""
 "No initializer for allocatable component %qs given in the structure "
 "constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3068
+#: fortran/primary.cc:3086
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with missing optional arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3077
+#: fortran/primary.cc:3095
 #, gcc-internal-format
 msgid ""
 "No initializer for component %qs given in the structure constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3125
+#: fortran/primary.cc:3143
 #, gcc-internal-format
 msgid "Cannot construct ABSTRACT type %qs at %L"
 msgstr ""
 
-#: fortran/primary.cc:3145
+#: fortran/primary.cc:3163
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with named arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3160
+#: fortran/primary.cc:3178
 #, gcc-internal-format, gfc-internal-format
 msgid "Component initializer without name after component named %s at %L"
 msgstr ""
 
-#: fortran/primary.cc:3165
+#: fortran/primary.cc:3183
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many components in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3224
-#, gcc-internal-format, gfc-internal-format
-msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L"
+#: fortran/primary.cc:3242
+msgid "CHARACTER expression will be truncated in constructor (%td/%td) at %L"
 msgstr ""
 
-#: fortran/primary.cc:3242
+#: fortran/primary.cc:3260
 #, gcc-internal-format
 msgid "Component %qs is initialized twice in the structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3254
+#: fortran/primary.cc:3272
 #, gcc-internal-format
 msgid ""
 "Coindexed expression to pointer component %qs in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3308
+#: fortran/primary.cc:3326
 #, gcc-internal-format
 msgid ""
 "component %qs at %L has already been set by a parent derived type constructor"
 msgstr ""
 
-#: fortran/primary.cc:3473
+#: fortran/primary.cc:3491
 #, gcc-internal-format, gfc-internal-format
 msgid "%%LOC() as an rvalue at %C"
 msgstr ""
 
-#: fortran/primary.cc:3532
+#: fortran/primary.cc:3550
 #, gcc-internal-format
 msgid ""
 "%qs at %C is the name of a recursive function and so refers to the result "
 "variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)"
 msgstr ""
 
-#: fortran/primary.cc:3563 fortran/primary.cc:3965
+#: fortran/primary.cc:3581 fortran/primary.cc:3983
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %C is not appropriate for an expression"
 msgstr ""
 
-#: fortran/primary.cc:3668
+#: fortran/primary.cc:3686
 #, gcc-internal-format
 msgid "Unexpected use of subroutine name %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3700
+#: fortran/primary.cc:3718
 #, gcc-internal-format
 msgid "Statement function %qs requires argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3703
+#: fortran/primary.cc:3721
 #, gcc-internal-format
 msgid "Function %qs requires an argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3753
+#: fortran/primary.cc:3771
 #, gcc-internal-format
 msgid "Missing argument to %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3766
+#: fortran/primary.cc:3784
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The leftmost part-ref in a data-ref cannot be a function reference at %C"
 msgstr ""
 
-#: fortran/primary.cc:3921
+#: fortran/primary.cc:3939
 #, gcc-internal-format
 msgid "Missing argument list in function %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:4035
+#: fortran/primary.cc:4053
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %C"
 msgstr ""
 
-#: fortran/primary.cc:4076
+#: fortran/primary.cc:4094
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant at %C in an EQUIVALENCE"
 msgstr ""
 
-#: fortran/primary.cc:4081
+#: fortran/primary.cc:4099
 #, gcc-internal-format
 msgid "PARAMETER %qs shall not appear in a DATA statement at %C"
 msgstr ""
 
-#: fortran/primary.cc:4117
+#: fortran/primary.cc:4135
 #, gcc-internal-format
 msgid "%qs at %C is not a variable"
 msgstr ""
@@ -79510,211 +82186,216 @@ msgstr ""
 msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:975
+#: fortran/resolve.cc:979
 #, gcc-internal-format
 msgid "Global entity %qs at %L cannot appear in a COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:979
+#: fortran/resolve.cc:983
 #, gcc-internal-format
 msgid "Global entity %qs at %L cannot appear in a COMMON block"
 msgstr ""
 
-#: fortran/resolve.cc:989
+#: fortran/resolve.cc:993
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:996
+#: fortran/resolve.cc:1000
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is "
 "allowed"
 msgstr ""
 
-#: fortran/resolve.cc:1000
+#: fortran/resolve.cc:1004
 #, gcc-internal-format
 msgid ""
 "Initialized variable %qs at %L is in a blank COMMON but initialization is "
 "only allowed in named common blocks"
 msgstr ""
 
-#: fortran/resolve.cc:1007
+#: fortran/resolve.cc:1011
 #, gcc-internal-format
 msgid "%qs at %L cannot appear in COMMON [F2008:C5100]"
 msgstr ""
 
-#: fortran/resolve.cc:1015
+#: fortran/resolve.cc:1016
+#, gcc-internal-format
+msgid "Automatic object %qs at %L cannot appear in COMMON at %L"
+msgstr ""
+
+#: fortran/resolve.cc:1028
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:1019
+#: fortran/resolve.cc:1032
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L has an ultimate component that is "
 "allocatable"
 msgstr ""
 
-#: fortran/resolve.cc:1023
+#: fortran/resolve.cc:1036
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.cc:1067
+#: fortran/resolve.cc:1080
 #, gcc-internal-format
 msgid ""
 "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus "
 "have the same binding name as the same-named COMMON block at %L: %s vs %s"
 msgstr ""
 
-#: fortran/resolve.cc:1081
+#: fortran/resolve.cc:1094
 #, gcc-internal-format
 msgid "COMMON block %qs at %L uses the same global identifier as entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1089
+#: fortran/resolve.cc:1102
 #, gcc-internal-format
 msgid ""
 "Fortran 2008: COMMON block %qs with binding label at %L sharing the "
 "identifier with global non-COMMON-block entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1111
+#: fortran/resolve.cc:1124
 #, gcc-internal-format
 msgid ""
 "COMMON block at %L with binding label %qs uses the same global identifier as "
 "entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1132
+#: fortran/resolve.cc:1145
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1136
+#: fortran/resolve.cc:1149
 #, gcc-internal-format
 msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.cc:1140
+#: fortran/resolve.cc:1153
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1144
+#: fortran/resolve.cc:1157
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.cc:1149
+#: fortran/resolve.cc:1162
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1216
+#: fortran/resolve.cc:1229
 #, gcc-internal-format
 msgid "The KIND parameter %qs in the PDT constructor at %C has no value"
 msgstr ""
 
-#: fortran/resolve.cc:1359
+#: fortran/resolve.cc:1372
 #, 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:1380
+#: fortran/resolve.cc:1393
 #, 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:1412
+#: fortran/resolve.cc:1428
 #, gcc-internal-format
 msgid ""
 "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1457
+#: fortran/resolve.cc:1473
 #, 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:1491
+#: fortran/resolve.cc:1507
 #, gcc-internal-format
 msgid ""
 "Interface mismatch for procedure-pointer component %qs in structure "
 "constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:1510
+#: fortran/resolve.cc:1526
 #, gcc-internal-format
 msgid ""
 "Bad array spec of component %qs referenced in structure constructor at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1523
+#: fortran/resolve.cc:1539
 #, 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:1544
+#: fortran/resolve.cc:1560
 #, 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:1573
+#: fortran/resolve.cc:1589
 #, gcc-internal-format
 msgid ""
 "Invalid expression in the structure constructor for pointer component %qs at "
 "%L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1699
+#: fortran/resolve.cc:1715
 #, 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:1761
+#: fortran/resolve.cc:1777
 #, gcc-internal-format
 msgid "%qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:1765
+#: fortran/resolve.cc:1781
 #, gcc-internal-format
 msgid "GENERIC procedure %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1886
+#: fortran/resolve.cc:1902
 #, gcc-internal-format
 msgid "Type specified for intrinsic function %qs at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.cc:1899
+#: fortran/resolve.cc:1915
 #, gcc-internal-format
 msgid "Intrinsic subroutine %qs at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.cc:1910
+#: fortran/resolve.cc:1926
 #, gcc-internal-format
 msgid "%qs declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.cc:1923
+#: fortran/resolve.cc:1939
 #, gcc-internal-format
 msgid ""
 "The intrinsic %qs declared INTRINSIC at %L is not available in the current "
@@ -79722,89 +82403,89 @@ msgid ""
 "fall-intrinsics%> in order to use it."
 msgstr ""
 
-#: fortran/resolve.cc:1959
+#: fortran/resolve.cc:1975
 #, 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:2017 fortran/resolve.cc:10508 fortran/resolve.cc:12490
+#: fortran/resolve.cc:2033 fortran/resolve.cc:10557 fortran/resolve.cc:12539
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.cc:2049
+#: fortran/resolve.cc:2065
 #, gcc-internal-format
 msgid "Derived type %qs is used as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2067
+#: fortran/resolve.cc:2083
 #, gcc-internal-format
 msgid "Statement function %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2075
+#: fortran/resolve.cc:2091
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2082
+#: fortran/resolve.cc:2098
 #, gcc-internal-format
 msgid "Internal procedure %qs is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2090
+#: fortran/resolve.cc:2106
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2117
+#: fortran/resolve.cc:2133
 #, gcc-internal-format
 msgid ""
 "Unable to find a specific INTRINSIC procedure for the reference %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2139
+#: fortran/resolve.cc:2155
 #, gcc-internal-format
 msgid "Symbol %qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:2194
+#: fortran/resolve.cc:2210
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.cc:2201
+#: fortran/resolve.cc:2217
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.cc:2215
+#: fortran/resolve.cc:2231
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.cc:2227
+#: fortran/resolve.cc:2243
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:2238
+#: fortran/resolve.cc:2254
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL procedure pointer component %qs is not allowed as an actual "
 "argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2247
+#: fortran/resolve.cc:2263
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:2394
+#: fortran/resolve.cc:2410
 #, gcc-internal-format
 msgid ""
 "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be "
@@ -79812,92 +82493,92 @@ msgid ""
 "argument with the same rank (Fortran 2018, 15.5.2.12)"
 msgstr ""
 
-#: fortran/resolve.cc:2433
+#: fortran/resolve.cc:2449
 #, 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:2707
+#: fortran/resolve.cc:2723
 #, gcc-internal-format
 msgid "Return type mismatch of function %qs at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.cc:2734
+#: fortran/resolve.cc:2750
 #, gcc-internal-format
 msgid "Interface mismatch in global procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:2840
+#: fortran/resolve.cc:2856
 #, gcc-internal-format
 msgid "There is no specific function for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2860
+#: fortran/resolve.cc:2876
 #, gcc-internal-format
 msgid ""
 "Generic function %qs at %L is not consistent with a specific intrinsic "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:2898
+#: fortran/resolve.cc:2914
 #, gcc-internal-format
 msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:2953
+#: fortran/resolve.cc:2969
 #, gcc-internal-format
 msgid "Unable to resolve the specific function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3030
+#: fortran/resolve.cc:3046
 #, gcc-internal-format
 msgid ""
 "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3062
+#: fortran/resolve.cc:3078
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
 msgstr ""
 
-#: fortran/resolve.cc:3066 fortran/resolve.cc:17769
+#: fortran/resolve.cc:3082 fortran/resolve.cc:17846
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:3190
+#: fortran/resolve.cc:3206
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.cc:3197
+#: fortran/resolve.cc:3213
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.cc:3204
+#: fortran/resolve.cc:3220
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:3271
+#: fortran/resolve.cc:3287
 #, gcc-internal-format
 msgid "Unexpected junk after %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3282
+#: fortran/resolve.cc:3298
 #, gcc-internal-format
 msgid "%qs at %L is not a function"
 msgstr ""
 
-#: fortran/resolve.cc:3290 fortran/resolve.cc:3805
+#: fortran/resolve.cc:3306 fortran/resolve.cc:3821
 #, gcc-internal-format
 msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3302
+#: fortran/resolve.cc:3318
 #, gcc-internal-format
 msgid ""
 "ABSTRACT INTERFACE %qs at %L must not have an assumed character length "
@@ -79905,349 +82586,349 @@ msgid ""
 msgstr ""
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.cc:3345
+#: fortran/resolve.cc:3361
 #, 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:3379
+#: fortran/resolve.cc:3395
 #, gcc-internal-format
 msgid "resolve_function(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3393
+#: fortran/resolve.cc:3409
 #, 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:3409
+#: fortran/resolve.cc:3425
 #, gcc-internal-format
 msgid ""
 "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE "
 "construct"
 msgstr ""
 
-#: fortran/resolve.cc:3471
+#: fortran/resolve.cc:3487
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as function %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3475
+#: fortran/resolve.cc:3491
 #, gcc-internal-format
 msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3533
+#: fortran/resolve.cc:3549
 #, gcc-internal-format
 msgid "Using function %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3549
+#: fortran/resolve.cc:3565
 #, gcc-internal-format
 msgid "Subroutine call to %qs in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3555
+#: fortran/resolve.cc:3571
 #, gcc-internal-format
 msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3561
+#: fortran/resolve.cc:3577
 #, gcc-internal-format
 msgid "Subroutine call to %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3629
+#: fortran/resolve.cc:3645
 #, gcc-internal-format
 msgid "There is no specific subroutine for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3638
+#: fortran/resolve.cc:3654
 #, gcc-internal-format
 msgid ""
 "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:3673
+#: fortran/resolve.cc:3689
 #, gcc-internal-format
 msgid ""
 "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:3718
+#: fortran/resolve.cc:3734
 #, gcc-internal-format
 msgid "Unable to resolve the specific subroutine %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3776
+#: fortran/resolve.cc:3792
 #, gcc-internal-format
 msgid "%qs at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3815
+#: fortran/resolve.cc:3831
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3819
+#: fortran/resolve.cc:3835
 #, gcc-internal-format
 msgid ""
 "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3864
+#: fortran/resolve.cc:3880
 #, gcc-internal-format
 msgid "resolve_subroutine(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3881
+#: fortran/resolve.cc:3897
 #, gcc-internal-format
 msgid "Using subroutine %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3908
+#: fortran/resolve.cc:3924
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.cc:3960
+#: fortran/resolve.cc:3976
 #, gcc-internal-format
 msgid "logical_to_bitwise(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4063
+#: fortran/resolve.cc:4079
 #, gcc-internal-format
 msgid "Impure function %qs at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4067
+#: fortran/resolve.cc:4083
 #, gcc-internal-format, gfc-internal-format
 msgid "Impure function at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4144
+#: fortran/resolve.cc:4170
 #, gcc-internal-format
 msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4168
+#: fortran/resolve.cc:4194
 #, gcc-internal-format
 msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4353 fortran/resolve.cc:4368
+#: fortran/resolve.cc:4379 fortran/resolve.cc:4394
 #, 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:4418
+#: fortran/resolve.cc:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Equality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4420
+#: fortran/resolve.cc:4446
 #, gcc-internal-format, gfc-internal-format
 msgid "Inequality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4480
+#: fortran/resolve.cc:4506
 #, gcc-internal-format
 msgid "resolve_operator(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4766
+#: fortran/resolve.cc:4792
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4771
+#: fortran/resolve.cc:4797
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4781
+#: fortran/resolve.cc:4807
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4786
+#: fortran/resolve.cc:4812
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4807
+#: fortran/resolve.cc:4833
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4824
+#: fortran/resolve.cc:4850
 #, 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:4832
+#: fortran/resolve.cc:4858
 #, 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:4848
+#: fortran/resolve.cc:4874
 #, 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:4857
+#: fortran/resolve.cc:4883
 #, 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:4873
+#: fortran/resolve.cc:4899
 #, gcc-internal-format
 msgid "check_dimension(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:4896
+#: fortran/resolve.cc:4922
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4906
+#: fortran/resolve.cc:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4914
+#: fortran/resolve.cc:4940
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4930
+#: fortran/resolve.cc:4956
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4958
+#: fortran/resolve.cc:4984
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:4964
+#: fortran/resolve.cc:4990
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.cc:4970
+#: fortran/resolve.cc:4996
 #, gcc-internal-format, gfc-internal-format
 msgid "REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5009
+#: fortran/resolve.cc:5035
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5016
+#: fortran/resolve.cc:5042
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.cc:5076
+#: fortran/resolve.cc:5102
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid array reference of a non-array entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5090
+#: fortran/resolve.cc:5116
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(1)"
 msgstr ""
 
-#: fortran/resolve.cc:5102
+#: fortran/resolve.cc:5128
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(2)"
 msgstr ""
 
-#: fortran/resolve.cc:5147
+#: fortran/resolve.cc:5173
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.cc:5245
+#: fortran/resolve.cc:5271
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5252
+#: fortran/resolve.cc:5278
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5274
+#: fortran/resolve.cc:5300
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5281
+#: fortran/resolve.cc:5307
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5301
+#: fortran/resolve.cc:5327
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:5492
+#: fortran/resolve.cc:5518
 #, gcc-internal-format
 msgid "resolve_ref(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:5506
+#: fortran/resolve.cc:5532
 #, 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:5516
+#: fortran/resolve.cc:5542
 #, 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:5564
+#: fortran/resolve.cc:5590
 #, 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:5656
+#: fortran/resolve.cc:5682
 #, gcc-internal-format
 msgid "gfc_expression_rank(): Two array specs"
 msgstr ""
 
-#: fortran/resolve.cc:5753
+#: fortran/resolve.cc:5779
 #, 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:5763
+#: fortran/resolve.cc:5789
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -80256,14 +82937,14 @@ 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:5773
+#: fortran/resolve.cc:5799
 #, 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:5792
+#: fortran/resolve.cc:5818
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -80272,326 +82953,326 @@ 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:5802
+#: fortran/resolve.cc:5828
 #, 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:5813
+#: fortran/resolve.cc:5839
 #, 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:5822
+#: fortran/resolve.cc:5848
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5838
+#: fortran/resolve.cc:5864
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5883
+#: fortran/resolve.cc:5909
 #, gcc-internal-format
 msgid "Scalar variable %qs has an array reference at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6028
+#: fortran/resolve.cc:6054
 #, 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:6033
+#: fortran/resolve.cc:6059
 #, gcc-internal-format
 msgid ""
 "Variable %qs is used at %L before the ENTRY statement in which it is a "
 "parameter"
 msgstr ""
 
-#: fortran/resolve.cc:6103
+#: fortran/resolve.cc:6129
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6116
+#: fortran/resolve.cc:6142
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6132
+#: fortran/resolve.cc:6158
 #, gcc-internal-format
 msgid "Using variable %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:6222
+#: fortran/resolve.cc:6248
 #, 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:6400 fortran/resolve.cc:6552
+#: fortran/resolve.cc:6426 fortran/resolve.cc:6578
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in typebound call at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6516
+#: fortran/resolve.cc:6542
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:6523
+#: fortran/resolve.cc:6549
 #, gcc-internal-format
 msgid ""
 "Base object for procedure-pointer component call at %L is of ABSTRACT type "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:6562
+#: fortran/resolve.cc:6588
 #, gcc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:6571
+#: fortran/resolve.cc:6597
 #, 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:6759
+#: fortran/resolve.cc:6785
 #, gcc-internal-format
 msgid ""
 "Found no matching specific binding for the call to the GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6793
+#: fortran/resolve.cc:6819
 #, gcc-internal-format
 msgid "%qs at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:6845
+#: fortran/resolve.cc:6871
 #, gcc-internal-format
 msgid "%qs at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:7380
+#: fortran/resolve.cc:7406
 #, gcc-internal-format
 msgid "gfc_resolve_expr(): Bad expression type"
 msgstr ""
 
-#: fortran/resolve.cc:7413
+#: fortran/resolve.cc:7439
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.cc:7423
+#: fortran/resolve.cc:7449
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.cc:7427 fortran/resolve.cc:7434
+#: fortran/resolve.cc:7453 fortran/resolve.cc:7460
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7489
+#: fortran/resolve.cc:7515
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7512
+#: fortran/resolve.cc:7538
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.cc:7529
+#: fortran/resolve.cc:7555
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it overflows"
 msgstr ""
 
-#: fortran/resolve.cc:7535
+#: fortran/resolve.cc:7561
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it underflows"
 msgstr ""
 
-#: fortran/resolve.cc:7596
+#: fortran/resolve.cc:7622
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7601
+#: fortran/resolve.cc:7627
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7608
+#: fortran/resolve.cc:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7616
+#: fortran/resolve.cc:7642
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.cc:7621
+#: fortran/resolve.cc:7647
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7634
+#: fortran/resolve.cc:7660
 #, gcc-internal-format
 msgid "FORALL index %qs may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7739 fortran/resolve.cc:8037
+#: fortran/resolve.cc:7765 fortran/resolve.cc:8063
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:7747 fortran/resolve.cc:8000
+#: fortran/resolve.cc:7773 fortran/resolve.cc:8026
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7857
+#: fortran/resolve.cc:7883
 #, 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:7888
+#: fortran/resolve.cc:7914
 #, 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:8048
+#: fortran/resolve.cc:8074
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8060
+#: fortran/resolve.cc:8086
 #, 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:8074
+#: fortran/resolve.cc:8100
 #, 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:8089
+#: fortran/resolve.cc:8115
 #, 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:8102
+#: fortran/resolve.cc:8128
 #, 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:8120
+#: fortran/resolve.cc:8146
 #, 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:8204 fortran/resolve.cc:8219
+#: fortran/resolve.cc:8230 fortran/resolve.cc:8245
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8211
+#: fortran/resolve.cc:8237
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array specification or array-valued SOURCE= expression required in ALLOCATE "
 "statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8236
+#: fortran/resolve.cc:8262
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8246 fortran/resolve.cc:8348
+#: fortran/resolve.cc:8272 fortran/resolve.cc:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8252
+#: fortran/resolve.cc:8278
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8264
+#: fortran/resolve.cc:8290
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound of 1 at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8275 fortran/resolve.cc:8303
+#: fortran/resolve.cc:8301 fortran/resolve.cc:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8322
+#: fortran/resolve.cc:8348
 #, 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:8337
+#: fortran/resolve.cc:8363
 #, gcc-internal-format
 msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8379
+#: fortran/resolve.cc:8405
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8408
+#: fortran/resolve.cc:8434
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8421
+#: fortran/resolve.cc:8447
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.cc:8435
+#: fortran/resolve.cc:8461
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8464
+#: fortran/resolve.cc:8490
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8496
+#: fortran/resolve.cc:8522
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8502 fortran/resolve.cc:8508
+#: fortran/resolve.cc:8528 fortran/resolve.cc:8534
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -80600,301 +83281,301 @@ 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:8736
+#: fortran/resolve.cc:8762
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8787
+#: fortran/resolve.cc:8813
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.cc:8798
+#: fortran/resolve.cc:8824
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.cc:8811
+#: fortran/resolve.cc:8837
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:8857
+#: fortran/resolve.cc:8883
 #, 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:8876
+#: fortran/resolve.cc:8902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.cc:8886
+#: fortran/resolve.cc:8912
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr ""
 
-#: fortran/resolve.cc:8904 fortran/resolve.cc:8912
+#: fortran/resolve.cc:8930 fortran/resolve.cc:8938
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.cc:8974 fortran/resolve.cc:9642
+#: fortran/resolve.cc:9000 fortran/resolve.cc:9691
 #, 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:9000
+#: fortran/resolve.cc:9026
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:9013
+#: fortran/resolve.cc:9039
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9028
+#: fortran/resolve.cc:9054
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.cc:9131
+#: fortran/resolve.cc:9157
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.cc:9193
+#: fortran/resolve.cc:9219
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure pointer"
 msgstr ""
 
-#: fortran/resolve.cc:9202
+#: fortran/resolve.cc:9228
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9219
+#: fortran/resolve.cc:9245
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure name"
 msgstr ""
 
-#: fortran/resolve.cc:9235
+#: fortran/resolve.cc:9261
 #, gcc-internal-format, gfc-internal-format
 msgid "Associating selector-expression at %L yields a procedure"
 msgstr ""
 
-#: fortran/resolve.cc:9242
+#: fortran/resolve.cc:9268
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L cannot be NULL()"
 msgstr ""
 
-#: fortran/resolve.cc:9247
+#: fortran/resolve.cc:9273
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L has no type"
 msgstr ""
 
-#: fortran/resolve.cc:9271
+#: fortran/resolve.cc:9297
 #, gcc-internal-format
 msgid "Associate-name %qs at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.cc:9281
+#: fortran/resolve.cc:9307
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS selector at %L needs a temporary which is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.cc:9512
+#: fortran/resolve.cc:9555
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9550 fortran/resolve.cc:9562
+#: fortran/resolve.cc:9599 fortran/resolve.cc:9611
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L must not be coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:9591
+#: fortran/resolve.cc:9640
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE IS at %L overlaps with TYPE IS at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9604
+#: fortran/resolve.cc:9653
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.cc:9617
+#: fortran/resolve.cc:9666
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be an extension of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:9620
+#: fortran/resolve.cc:9669
 #, gcc-internal-format
 msgid "Unexpected intrinsic type %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9630
+#: fortran/resolve.cc:9679
 #, 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:9877
+#: fortran/resolve.cc:9926
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10010
+#: fortran/resolve.cc:10059
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK DEFAULT at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10019
+#: fortran/resolve.cc:10068
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (*) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10022
+#: fortran/resolve.cc:10071
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (%i) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10032
+#: fortran/resolve.cc:10081
 #, 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:10141
+#: fortran/resolve.cc:10190
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid context for NULL () intrinsic at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10195
+#: fortran/resolve.cc:10244
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO %s procedure at %L must be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:10205
+#: fortran/resolve.cc:10254
 #, 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:10218
+#: fortran/resolve.cc:10267
 #, 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:10227
+#: fortran/resolve.cc:10276
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.cc:10234
+#: fortran/resolve.cc:10283
 #, 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:10245
+#: fortran/resolve.cc:10294
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.cc:10251
+#: fortran/resolve.cc:10300
 #, 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:10269
+#: fortran/resolve.cc:10318
 #, 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:10326
+#: fortran/resolve.cc:10375
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10336
+#: fortran/resolve.cc:10385
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10340
+#: fortran/resolve.cc:10389
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray or coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10343
+#: fortran/resolve.cc:10392
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray but not coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10350 fortran/resolve.cc:10472
+#: fortran/resolve.cc:10399 fortran/resolve.cc:10521
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10362 fortran/resolve.cc:10484
+#: fortran/resolve.cc:10411 fortran/resolve.cc:10533
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10374
+#: fortran/resolve.cc:10423
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.cc:10387
+#: fortran/resolve.cc:10436
 #, gcc-internal-format, gfc-internal-format
 msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10448
+#: fortran/resolve.cc:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10452 fortran/resolve.cc:10462
+#: fortran/resolve.cc:10501 fortran/resolve.cc:10511
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.cc:10515
+#: fortran/resolve.cc:10564
 #, 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:10525
+#: fortran/resolve.cc:10574
 #, 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:10542 fortran/resolve.cc:10565
+#: fortran/resolve.cc:10591 fortran/resolve.cc:10614
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10546 fortran/resolve.cc:10571
+#: fortran/resolve.cc:10595 fortran/resolve.cc:10620
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -80902,80 +83583,80 @@ 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:10586
+#: fortran/resolve.cc:10635
 #, 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:10658
+#: fortran/resolve.cc:10707
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10674
+#: fortran/resolve.cc:10723
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10687 fortran/resolve.cc:10779
+#: fortran/resolve.cc:10736 fortran/resolve.cc:10828
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10697 fortran/resolve.cc:10789
+#: fortran/resolve.cc:10746 fortran/resolve.cc:10838
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10728
+#: fortran/resolve.cc:10777
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10737
+#: fortran/resolve.cc:10786
 #, 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:10894
+#: fortran/resolve.cc:10943
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL construct at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10915
+#: fortran/resolve.cc:10964
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar variable of type integer"
 msgstr ""
 
-#: fortran/resolve.cc:10925
+#: fortran/resolve.cc:10974
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.cc:11002
+#: fortran/resolve.cc:11051
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.cc:11120
+#: fortran/resolve.cc:11169
 #, gcc-internal-format
 msgid "gfc_resolve_blocks(): Bad block type"
 msgstr ""
 
-#: fortran/resolve.cc:11183
+#: fortran/resolve.cc:11232
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Variable in the ordinary assignment at %L is a procedure pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:11244
-#, gcc-internal-format, gfc-internal-format
-msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L"
+#: fortran/resolve.cc:11293
+#, gcc-internal-format
+msgid "CHARACTER expression will be truncated in assignment (%wd/%wd) at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11276
+#: fortran/resolve.cc:11325
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed expression at %L is assigned to a derived type variable with a "
@@ -80983,7 +83664,7 @@ msgid ""
 msgstr ""
 
 #. F2008, C1283 (4).
-#: fortran/resolve.cc:11282
+#: fortran/resolve.cc:11331
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the "
@@ -80992,43 +83673,43 @@ msgid ""
 "component selection."
 msgstr ""
 
-#: fortran/resolve.cc:11294
+#: fortran/resolve.cc:11343
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:11326
+#: fortran/resolve.cc:11375
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to polymorphic coarray at %L is not permitted"
 msgstr ""
 
-#: fortran/resolve.cc:11330
+#: fortran/resolve.cc:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to an allocatable polymorphic variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11335
+#: fortran/resolve.cc:11384
 #, gcc-internal-format
 msgid ""
 "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-"
 "lhs%>"
 msgstr ""
 
-#: fortran/resolve.cc:11342
+#: fortran/resolve.cc:11391
 #, gcc-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:11353
+#: fortran/resolve.cc:11402
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed variable must not have an allocatable ultimate component in "
 "assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11776
+#: fortran/resolve.cc:11825
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TODO: type-bound defined assignment(s) at %L not done because multiple part "
@@ -81037,93 +83718,93 @@ msgstr ""
 
 #. Even if standard does not support this feature, continue to build
 #. the two statements to avoid upsetting frontend_passes.c.
-#: fortran/resolve.cc:12080
+#: fortran/resolve.cc:12129
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer procedure assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12092
+#: fortran/resolve.cc:12141
 #, 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:12177
+#: fortran/resolve.cc:12226
 #, gcc-internal-format
 msgid ""
 "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:12368
+#: fortran/resolve.cc:12417
 #, gcc-internal-format, gfc-internal-format
 msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:12404
+#: fortran/resolve.cc:12453
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12408
+#: fortran/resolve.cc:12457
 #, gcc-internal-format
 msgid "Variable %qs has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12419
+#: fortran/resolve.cc:12468
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.cc:12457
+#: fortran/resolve.cc:12506
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected intrinsic assignment in OMP WORKSHARE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12499
+#: fortran/resolve.cc:12548
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12546
+#: fortran/resolve.cc:12595
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid NULL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12550
+#: fortran/resolve.cc:12599
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:12611
+#: fortran/resolve.cc:12660
 #, gcc-internal-format
 msgid "gfc_resolve_code(): No expression on DO WHILE"
 msgstr ""
 
-#: fortran/resolve.cc:12616
+#: fortran/resolve.cc:12665
 #, 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:12700
+#: fortran/resolve.cc:12749
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.cc:12804
+#: fortran/resolve.cc:12853
 #, gcc-internal-format
 msgid "gfc_resolve_code(): Bad statement code"
 msgstr ""
 
-#: fortran/resolve.cc:12825
+#: fortran/resolve.cc:12874
 #, gcc-internal-format
 msgid "Using parameter %qs declared at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:12919
+#: fortran/resolve.cc:12968
 #, gcc-internal-format
 msgid ""
 "Variable %qs with binding label %qs at %L uses the same global identifier as "
@@ -81132,7 +83813,7 @@ 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:12933
+#: fortran/resolve.cc:12982
 #, gcc-internal-format
 msgid ""
 "Variable %qs from module %qs with binding label %qs at %L uses the same "
@@ -81142,63 +83823,63 @@ 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:12952
+#: fortran/resolve.cc:13001
 #, 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:13038
+#: fortran/resolve.cc:13087
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:13276
+#: fortran/resolve.cc:13325
 #, gcc-internal-format
 msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:13280
+#: fortran/resolve.cc:13329
 #, gcc-internal-format
 msgid "Scalar object %qs at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:13288
+#: fortran/resolve.cc:13337
 #, gcc-internal-format
 msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:13299
+#: fortran/resolve.cc:13348
 #, gcc-internal-format
 msgid "Array %qs at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:13316
+#: fortran/resolve.cc:13366
 #, gcc-internal-format
 msgid "Type %qs of CLASS variable %qs at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.cc:13328
+#: fortran/resolve.cc:13378
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.cc:13361
+#: fortran/resolve.cc:13411
 #, 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:13383
+#: fortran/resolve.cc:13433
 #, gcc-internal-format
 msgid ""
 "Implied SAVE for module variable %qs at %L, needed due to the default "
 "initialization"
 msgstr ""
 
-#: fortran/resolve.cc:13416
+#: fortran/resolve.cc:13466
 #, gcc-internal-format
 msgid ""
 "Entity %qs at %L has a deferred type parameter and requires either the "
@@ -81207,1052 +83888,1057 @@ msgstr ""
 
 #. F08:C541. The shape of an array defined in a main program or module
 #. * needs to be constant.
-#: fortran/resolve.cc:13452
+#: fortran/resolve.cc:13502
 #, gcc-internal-format
 msgid "The module or main program array %qs at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.cc:13477
+#: fortran/resolve.cc:13527
 #, 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:13498
+#: fortran/resolve.cc:13548
 #, gcc-internal-format
 msgid "%qs at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.cc:13505
+#: fortran/resolve.cc:13555
 #, gcc-internal-format
 msgid "COMMON variable %qs at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:13553
+#: fortran/resolve.cc:13603
 #, gcc-internal-format
 msgid "Allocatable %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13556
+#: fortran/resolve.cc:13606
 #, gcc-internal-format
 msgid "External %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13559
+#: fortran/resolve.cc:13609
 #, gcc-internal-format
 msgid "Dummy %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13562
+#: fortran/resolve.cc:13612
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13565
+#: fortran/resolve.cc:13615
 #, gcc-internal-format
 msgid "Function result %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13568
+#: fortran/resolve.cc:13618
 #, gcc-internal-format
 msgid "Automatic array %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13610
+#: fortran/resolve.cc:13660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13642
+#: fortran/resolve.cc:13692
 #, gcc-internal-format
 msgid "Character-valued statement function %qs at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.cc:13665
+#: fortran/resolve.cc:13715
 #, 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:13687
+#: fortran/resolve.cc:13737
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs "
 "which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.cc:13705
+#: fortran/resolve.cc:13755
 #, gcc-internal-format
 msgid "Function %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13717
+#: fortran/resolve.cc:13767
 #, gcc-internal-format
 msgid "External object %qs at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13727
+#: fortran/resolve.cc:13777
 #, gcc-internal-format
 msgid "ELEMENTAL function %qs at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.cc:13737
+#: fortran/resolve.cc:13787
 #, gcc-internal-format
 msgid ""
 "Statement function %qs at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13756
+#: fortran/resolve.cc:13806
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13760
+#: fortran/resolve.cc:13810
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13764
+#: fortran/resolve.cc:13814
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.cc:13768
+#: fortran/resolve.cc:13818
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:13781
+#: fortran/resolve.cc:13831
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13792
+#: fortran/resolve.cc:13842
 #, gcc-internal-format
 msgid "Procedure pointer %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13798
+#: fortran/resolve.cc:13848
 #, gcc-internal-format
 msgid "Dummy procedure %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13818
+#: fortran/resolve.cc:13868
 #, 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:13875
+#: fortran/resolve.cc:13925
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13881
+#: fortran/resolve.cc:13931
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13887
+#: fortran/resolve.cc:13937
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13895
+#: fortran/resolve.cc:13945
 #, gcc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13901
+#: fortran/resolve.cc:13951
 #, gcc-internal-format
 msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13944
+#: fortran/resolve.cc:13994
 #, 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:13952
+#: fortran/resolve.cc:14002
 #, 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:13960
+#: fortran/resolve.cc:14010
 #, 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:13969
+#: fortran/resolve.cc:14019
 #, 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:13993
+#: fortran/resolve.cc:14043
 #, gcc-internal-format
 msgid "Interface of %qs at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.cc:14063
+#: fortran/resolve.cc:14113
 #, gcc-internal-format
 msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:14072
+#: fortran/resolve.cc:14122
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14080 fortran/resolve.cc:14097
+#: fortran/resolve.cc:14130 fortran/resolve.cc:14147
 #, gcc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14088
+#: fortran/resolve.cc:14138
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "FINAL procedure at %L with assumed rank argument must be the only finalizer "
 "with the same kind/type (F2018: C790)"
 msgstr ""
 
-#: fortran/resolve.cc:14105
+#: fortran/resolve.cc:14155
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:14111
+#: fortran/resolve.cc:14161
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14117
+#: fortran/resolve.cc:14167
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.cc:14125
+#: fortran/resolve.cc:14175
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:14134
+#: fortran/resolve.cc:14184
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:14156
+#: fortran/resolve.cc:14206
 #, gcc-internal-format
 msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14193
+#: fortran/resolve.cc:14243
 #, gcc-internal-format
 msgid ""
 "Only array FINAL procedures declared for derived type %qs defined at %L, "
 "suggest also scalar one unless an assumed rank finalizer has been declared"
 msgstr ""
 
-#: fortran/resolve.cc:14234
+#: fortran/resolve.cc:14284
 #, gcc-internal-format
 msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14270
+#: fortran/resolve.cc:14320
 #, gcc-internal-format
 msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:14329
+#: fortran/resolve.cc:14379
 #, gcc-internal-format
 msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14341
+#: fortran/resolve.cc:14391
 #, gcc-internal-format
 msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.cc:14369
+#: fortran/resolve.cc:14419
 #, gcc-internal-format
 msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.cc:14425
+#: fortran/resolve.cc:14475
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L cannot be NOPASS"
 msgstr ""
 
-#: fortran/resolve.cc:14637
+#: fortran/resolve.cc:14687
 #, gcc-internal-format
 msgid ""
 "%qs must be a module procedure or an external procedure with an explicit "
 "interface at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14680
+#: fortran/resolve.cc:14730
 #, gcc-internal-format
 msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14694
+#: fortran/resolve.cc:14744
 #, gcc-internal-format
 msgid "Procedure %qs with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14708 fortran/resolve.cc:15196
+#: fortran/resolve.cc:14758 fortran/resolve.cc:15246
 #, gcc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14716
+#: fortran/resolve.cc:14766
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14725
+#: fortran/resolve.cc:14775
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14731
+#: fortran/resolve.cc:14781
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14737
+#: fortran/resolve.cc:14787
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:14766
+#: fortran/resolve.cc:14816
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as a component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14776
+#: fortran/resolve.cc:14826
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14871
+#: fortran/resolve.cc:14921
 #, gcc-internal-format
 msgid ""
 "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and "
 "not overridden"
 msgstr ""
 
-#: fortran/resolve.cc:14976
+#: fortran/resolve.cc:15026
 #, gcc-internal-format
 msgid "Coarray component %qs at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:14985
+#: fortran/resolve.cc:15035
 #, 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:14995
+#: fortran/resolve.cc:15045
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L with coarray component shall be a nonpointer, "
 "nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.cc:15020
+#: fortran/resolve.cc:15070
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.cc:15031
+#: fortran/resolve.cc:15081
 #, gcc-internal-format
 msgid "Component %qs of BIND(C) type at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:15129
+#: fortran/resolve.cc:15179
 #, gcc-internal-format
 msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15143
+#: fortran/resolve.cc:15193
 #, gcc-internal-format
 msgid ""
 "Procedure pointer component %qs with PASS at %L must have at least one "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:15159
+#: fortran/resolve.cc:15209
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15169
+#: fortran/resolve.cc:15219
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:15178
+#: fortran/resolve.cc:15228
 #, gcc-internal-format
 msgid ""
 "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15187
+#: fortran/resolve.cc:15237
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:15229
+#: fortran/resolve.cc:15279
 #, gcc-internal-format
 msgid ""
 "Component %qs of %qs at %L has the same name as an inherited type-bound "
 "procedure"
 msgstr ""
 
-#: fortran/resolve.cc:15242
+#: fortran/resolve.cc:15292
 #, gcc-internal-format
 msgid ""
 "Character length of component %qs needs to be a constant specification "
 "expression at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15253
+#: fortran/resolve.cc:15303
 #, gcc-internal-format
 msgid ""
 "Character length expression of component %qs at %L must be of INTEGER type, "
 "found %s"
 msgstr ""
 
-#: fortran/resolve.cc:15266
+#: fortran/resolve.cc:15316
 #, gcc-internal-format
 msgid ""
 "Character component %qs of %qs at %L with deferred length must be a POINTER "
 "or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:15299
+#: fortran/resolve.cc:15349
 #, 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:15307
+#: fortran/resolve.cc:15357
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.cc:15316
+#: fortran/resolve.cc:15366
 #, 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:15402
+#: fortran/resolve.cc:15452
 #, gcc-internal-format, gfc-internal-format
 msgid "Conflicting initializers in union at %L and %L"
 msgstr ""
 
-#: fortran/resolve.cc:15447
+#: fortran/resolve.cc:15497
 #, 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:15460
+#: fortran/resolve.cc:15510
 #, gcc-internal-format
 msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.cc:15524
+#: fortran/resolve.cc:15574
 #, gcc-internal-format
 msgid ""
 "Parameterized type %qs does not have a component corresponding to parameter "
 "%qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15557
+#: fortran/resolve.cc:15607
 #, 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:15571
+#: fortran/resolve.cc:15621
 #, gcc-internal-format
 msgid "Derived type %qs at %L has not been declared"
 msgstr ""
 
-#: fortran/resolve.cc:15639
+#: fortran/resolve.cc:15689
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:15645
+#: fortran/resolve.cc:15695
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15651
+#: fortran/resolve.cc:15701
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15659
+#: fortran/resolve.cc:15709
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15676
+#: fortran/resolve.cc:15726
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC "
 "namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15698
+#: fortran/resolve.cc:15748
 #, 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:15709
+#: fortran/resolve.cc:15759
 #, 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:15736
+#: fortran/resolve.cc:15786
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15755
+#: fortran/resolve.cc:15805
 #, gcc-internal-format
 msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:15771
+#: fortran/resolve.cc:15821
 #, gcc-internal-format
 msgid ""
 "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:15782
+#: fortran/resolve.cc:15832
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15790
+#: fortran/resolve.cc:15840
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15841
+#: fortran/resolve.cc:15891
 #, 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:15852
+#: fortran/resolve.cc:15902
 #, 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:15859
+#: fortran/resolve.cc:15909
 #, 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:15899
+#: fortran/resolve.cc:15949
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays "
 "at %L are unsupported"
 msgstr ""
 
-#: fortran/resolve.cc:15912
+#: fortran/resolve.cc:15962
 #, gcc-internal-format
 msgid ""
 "%<omp_all_memory%>, declared at %L, may only be used in the OpenMP DEPEND "
 "clause"
 msgstr ""
 
-#: fortran/resolve.cc:15970
+#: fortran/resolve.cc:16020
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15973
+#: fortran/resolve.cc:16023
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16073
+#: fortran/resolve.cc:16129
 #, 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:16094
+#: fortran/resolve.cc:16150
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16108
+#: fortran/resolve.cc:16164
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16111
+#: fortran/resolve.cc:16167
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16121
+#: fortran/resolve.cc:16177
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16128
+#: fortran/resolve.cc:16184
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16141
+#: fortran/resolve.cc:16197
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.cc:16147
+#: fortran/resolve.cc:16203
 #, gcc-internal-format
 msgid ""
 "%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16157
+#: fortran/resolve.cc:16213
 #, gcc-internal-format
 msgid ""
 "Character dummy variable %qs at %L with VALUE attribute must have constant "
 "length"
 msgstr ""
 
-#: fortran/resolve.cc:16166
+#: fortran/resolve.cc:16222
 #, gcc-internal-format
 msgid ""
 "C interoperable character dummy variable %qs at %L with VALUE attribute must "
 "have length one"
 msgstr ""
 
-#: fortran/resolve.cc:16179 fortran/resolve.cc:16356
+#: fortran/resolve.cc:16235 fortran/resolve.cc:16412
 #, gcc-internal-format
 msgid "The derived type %qs at %L is of type %qs, which has not been defined"
 msgstr ""
 
-#: fortran/resolve.cc:16193
+#: fortran/resolve.cc:16249
 #, 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:16202
+#: fortran/resolve.cc:16258
 #, 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:16211
+#: fortran/resolve.cc:16267
 #, 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:16219
+#: fortran/resolve.cc:16275
 #, 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:16226
+#: fortran/resolve.cc:16282
 #, 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:16246
+#: fortran/resolve.cc:16302
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
 msgstr ""
 
-#: fortran/resolve.cc:16253
+#: fortran/resolve.cc:16309
 #, 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:16260
+#: fortran/resolve.cc:16316
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16267
+#: fortran/resolve.cc:16323
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
 msgstr ""
 
-#: fortran/resolve.cc:16293
+#: fortran/resolve.cc:16349
 #, 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:16303
+#: fortran/resolve.cc:16359
 #, gcc-internal-format
 msgid "BIND(C) Variable %qs at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:16382
+#: fortran/resolve.cc:16438
 #, gcc-internal-format
 msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16397
+#: fortran/resolve.cc:16453
 #, 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:16410
+#: fortran/resolve.cc:16466
 #, 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:16428
+#: fortran/resolve.cc:16484
 #, 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:16440
+#: fortran/resolve.cc:16496
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16449
+#: fortran/resolve.cc:16505
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16462
+#: fortran/resolve.cc:16518
 #, gcc-internal-format
 msgid ""
 "Function result %qs at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.cc:16471
+#: fortran/resolve.cc:16527
 #, 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:16484
+#: fortran/resolve.cc:16540
 #, 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:16500
+#: fortran/resolve.cc:16556
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:16508
+#: fortran/resolve.cc:16564
 #, gcc-internal-format
 msgid ""
 "Coarray variable %qs at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16515
+#: fortran/resolve.cc:16571
 #, gcc-internal-format
 msgid "Allocatable coarray variable %qs at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16528
+#: fortran/resolve.cc:16584
 #, 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:16537
+#: fortran/resolve.cc:16593
 #, gcc-internal-format
 msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16553
+#: fortran/resolve.cc:16609
 #, gcc-internal-format
 msgid ""
 "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16559
+#: fortran/resolve.cc:16615
 #, gcc-internal-format
 msgid ""
 "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16584
+#: fortran/resolve.cc:16640
 #, gcc-internal-format
 msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16655
+#: fortran/resolve.cc:16711
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16667
+#: fortran/resolve.cc:16723
 #, gcc-internal-format
 msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16783
+#: fortran/resolve.cc:16839
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting definable entity near %L"
 msgstr ""
 
-#: fortran/resolve.cc:16791
+#: fortran/resolve.cc:16847
 #, gcc-internal-format
 msgid "BLOCK DATA element %qs at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.cc:16798
+#: fortran/resolve.cc:16854
 #, gcc-internal-format
 msgid "DATA array %qs at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.cc:16805
+#: fortran/resolve.cc:16861
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.cc:16821
+#: fortran/resolve.cc:16877
 #, gcc-internal-format
 msgid "DATA element %qs at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.cc:16828
+#: fortran/resolve.cc:16884
 #, 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:16837
+#: fortran/resolve.cc:16893
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16883
+#: fortran/resolve.cc:16955
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.cc:16896
+#: fortran/resolve.cc:16968
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.cc:16995
+#: fortran/resolve.cc:17044
+#, gcc-internal-format, gfc-internal-format
+msgid "Non-constant character length at %L in DATA statement"
+msgstr ""
+
+#: fortran/resolve.cc:17072
 #, 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:17003
+#: fortran/resolve.cc:17080
 #, 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:17011
+#: fortran/resolve.cc:17088
 #, 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:17018
+#: fortran/resolve.cc:17095
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L shall not be zero"
 msgstr ""
 
-#: fortran/resolve.cc:17143
+#: fortran/resolve.cc:17220
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.cc:17309
+#: fortran/resolve.cc:17386
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr ""
 
-#: fortran/resolve.cc:17315
+#: fortran/resolve.cc:17392
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.cc:17399
+#: fortran/resolve.cc:17476
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L must have SEQUENCE attribute to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17408
+#: fortran/resolve.cc:17485
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17416
+#: fortran/resolve.cc:17493
 #, 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:17432
+#: fortran/resolve.cc:17509
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L with pointer component(s) cannot be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17535
+#: fortran/resolve.cc:17612
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17550
+#: fortran/resolve.cc:17627
 #, 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:17575
+#: fortran/resolve.cc:17652
 #, gcc-internal-format
 msgid ""
 "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure "
 "procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17584
+#: fortran/resolve.cc:17661
 #, gcc-internal-format
 msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17659
+#: fortran/resolve.cc:17736
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17670
+#: fortran/resolve.cc:17747
 #, gcc-internal-format
 msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17681
+#: fortran/resolve.cc:17758
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.cc:17712
+#: fortran/resolve.cc:17789
 #, gcc-internal-format
 msgid "Self reference in character length expression for %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17779
+#: fortran/resolve.cc:17856
 #, gcc-internal-format
 msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17792
+#: fortran/resolve.cc:17869
 #, gcc-internal-format
 msgid "ENTRY %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:17814
+#: fortran/resolve.cc:17891
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:17824
+#: fortran/resolve.cc:17901
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.cc:17832
+#: fortran/resolve.cc:17909
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:17846
+#: fortran/resolve.cc:17923
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17864
+#: fortran/resolve.cc:17941
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17871
+#: fortran/resolve.cc:17948
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.cc:17950
+#: fortran/resolve.cc:18030
 #, gcc-internal-format
 msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -83109,66 +85795,66 @@ msgstr ""
 msgid "Symbol %qs at %C has already been host associated"
 msgstr ""
 
-#: fortran/symbol.cc:4438
+#: fortran/symbol.cc:4469
 #, gcc-internal-format
 msgid "verify_bind_c_derived_type(): Given symbol is unexpectedly NULL"
 msgstr ""
 
-#: fortran/symbol.cc:4451
+#: fortran/symbol.cc:4482
 #, gcc-internal-format
 msgid ""
 "Derived type %qs declared at %L must have the BIND attribute to be C "
 "interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4469
+#: fortran/symbol.cc:4500
 #, gcc-internal-format
 msgid ""
 "Derived type %qs with BIND(C) attribute at %L is empty, and may be "
 "inaccessible by the C companion processor"
 msgstr ""
 
-#: fortran/symbol.cc:4490
+#: fortran/symbol.cc:4521
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L cannot have the POINTER attribute because it is a member "
 "of the BIND(C) derived type %qs at %L"
 msgstr ""
 
-#: fortran/symbol.cc:4500
+#: fortran/symbol.cc:4531
 #, gcc-internal-format
 msgid ""
 "Procedure pointer component %qs at %L cannot be a member of the BIND(C) "
 "derived type %qs at %L"
 msgstr ""
 
-#: fortran/symbol.cc:4511
+#: fortran/symbol.cc:4542
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L cannot have the ALLOCATABLE attribute because it is a "
 "member of the BIND(C) derived type %qs at %L"
 msgstr ""
 
-#: fortran/symbol.cc:4550
+#: fortran/symbol.cc:4581
 #, gcc-internal-format
 msgid ""
 "Component %qs in derived type %qs at %L may not be C interoperable, even "
 "though derived type %qs is BIND(C)"
 msgstr ""
 
-#: fortran/symbol.cc:4560
+#: fortran/symbol.cc:4591
 #, gcc-internal-format
 msgid "Component %qs in derived type %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4572
+#: fortran/symbol.cc:4603
 #, gcc-internal-format
 msgid ""
 "Derived type %qs at %L cannot have the SEQUENCE attribute because it is "
 "BIND(C)"
 msgstr ""
 
-#: fortran/symbol.cc:5076 fortran/symbol.cc:5081
+#: fortran/symbol.cc:5107 fortran/symbol.cc:5112
 #, gcc-internal-format
 msgid "Symbol %qs is used before it is typed at %L"
 msgstr ""
@@ -83198,7 +85884,7 @@ msgstr ""
 msgid "Overlapping unequal initializers in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9714
+#: fortran/trans-array.cc:2338 fortran/trans-expr.cc:9810
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The structure constructor at %C has been finalized. This feature was removed "
@@ -83207,19 +85893,19 @@ msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/trans-array.cc:6391
+#: fortran/trans-array.cc:6570
 #, 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:8597
+#: fortran/trans-array.cc:8803
 #, gcc-internal-format
 msgid "Creating array temporary at %L for argument %qs"
 msgstr ""
 
-#: fortran/trans-array.cc:11906
+#: fortran/trans-array.cc:12166
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -83227,8 +85913,8 @@ msgstr ""
 #: fortran/trans-common.cc:411
 #, gcc-internal-format
 msgid ""
-"Named COMMON block %qs at %L shall be of the same size as elsewhere (%lu vs "
-"%lu bytes)"
+"Named COMMON block %qs at %L shall be of the same size as elsewhere (%wu vs "
+"%wu bytes)"
 msgstr ""
 
 #: fortran/trans-common.cc:819
@@ -83318,7 +86004,7 @@ msgstr ""
 msgid "non-constant initialization expression at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:762
+#: fortran/trans-decl.cc:763
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, moved "
@@ -83331,89 +86017,101 @@ msgid ""
 "SAVE attribute."
 msgstr ""
 
-#: fortran/trans-decl.cc:1795
+#: fortran/trans-decl.cc:1800
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %C has no default type"
 msgstr ""
 
-#: fortran/trans-decl.cc:1798
+#: fortran/trans-decl.cc:1803
 #, gcc-internal-format
 msgid "intrinsic variable which isn't a procedure"
 msgstr ""
 
-#: fortran/trans-decl.cc:4559 fortran/trans-decl.cc:7827
+#: fortran/trans-decl.cc:4564 fortran/trans-decl.cc:7957
 #, gcc-internal-format
 msgid "Return value of function %qs at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:5074
+#: fortran/trans-decl.cc:5109
 #, gcc-internal-format
 msgid "Deferred type parameter not yet supported"
 msgstr ""
 
-#: fortran/trans-decl.cc:5307
+#: fortran/trans-decl.cc:5224
+#, gcc-internal-format
+msgid "Sorry, !$OMP allocate for COMMON block variable %qs at %L not supported"
+msgstr ""
+
+#: fortran/trans-decl.cc:5231
+#, gcc-internal-format
+msgid ""
+"Sorry, !$OMP allocate for variable %qs at %L with SAVE attribute not yet "
+"implemented"
+msgstr ""
+
+#: fortran/trans-decl.cc:5437
 #, gcc-internal-format
 msgid "backend decl for module variable %qs already exists"
 msgstr ""
 
-#: fortran/trans-decl.cc:5320
+#: fortran/trans-decl.cc:5450
 #, gcc-internal-format
 msgid "Unused PRIVATE module variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5942
+#: fortran/trans-decl.cc:6072
 #, gcc-internal-format
 msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument"
 msgstr ""
 
-#: fortran/trans-decl.cc:5945
+#: fortran/trans-decl.cc:6075
 #, gcc-internal-format
 msgid "Symbol %qs at %L has the WEAK attribute but is a local variable"
 msgstr ""
 
-#: fortran/trans-decl.cc:5960
+#: fortran/trans-decl.cc:6090
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:5966
+#: fortran/trans-decl.cc:6096
 #, gcc-internal-format
 msgid ""
 "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not "
 "set and does not have a default initializer"
 msgstr ""
 
-#: fortran/trans-decl.cc:5977 fortran/trans-decl.cc:6128
+#: fortran/trans-decl.cc:6107 fortran/trans-decl.cc:6258
 #, gcc-internal-format
 msgid "Unused dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5993
+#: fortran/trans-decl.cc:6123
 #, gcc-internal-format
 msgid "Unused module variable %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6012
+#: fortran/trans-decl.cc:6142
 #, gcc-internal-format
 msgid "Unused variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6061
+#: fortran/trans-decl.cc:6191
 #, gcc-internal-format
 msgid "Unused parameter %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6065
+#: fortran/trans-decl.cc:6195
 #, gcc-internal-format
 msgid "Unused parameter %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6095
+#: fortran/trans-decl.cc:6225
 #, gcc-internal-format
 msgid "Return value %qs of function %qs declared at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:6692
+#: fortran/trans-decl.cc:6822
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
 msgstr ""
@@ -83423,36 +86121,36 @@ msgstr ""
 msgid "Cannot compute the length of the char array at %L."
 msgstr ""
 
-#: fortran/trans-expr.cc:1901
+#: fortran/trans-expr.cc:1904
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable variable at %L will be added"
 msgstr ""
 
-#: fortran/trans-expr.cc:2223
+#: fortran/trans-expr.cc:2240
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, coindexed access to an unlimited polymorphic object at %L is not "
 "supported"
 msgstr ""
 
-#: fortran/trans-expr.cc:2232
+#: fortran/trans-expr.cc:2249
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, coindexed access to an unlimited polymorphic component at %L is not "
 "supported"
 msgstr ""
 
-#: fortran/trans-expr.cc:3927
+#: fortran/trans-expr.cc:3944
 #, gcc-internal-format
 msgid "Unknown intrinsic op"
 msgstr ""
 
-#: fortran/trans-expr.cc:5445
+#: fortran/trans-expr.cc:5463
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown argument list function at %L"
 msgstr ""
 
-#: fortran/trans-expr.cc:10286
+#: fortran/trans-expr.cc:10388
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "If bounds remapping is specified at %L, the pointer target shall not be NULL"
@@ -83469,144 +86167,159 @@ msgstr ""
 msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12324 fortran/trans-stmt.cc:1103
+#: fortran/trans-intrinsic.cc:12336 fortran/trans-stmt.cc:1104
 #, 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:12331
+#: fortran/trans-intrinsic.cc:12343
 #, gcc-internal-format, gfc-internal-format
 msgid "The event variable at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/trans-io.cc:1991
+#: fortran/trans-io.cc:1993
 #, gcc-internal-format
 msgid "build_dt: format with namelist"
 msgstr ""
 
-#: fortran/trans-io.cc:2532
+#: fortran/trans-io.cc:2534
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad IO basetype (%d)"
 msgstr ""
 
-#: fortran/trans-openmp.cc:871 fortran/trans-openmp.cc:1388
+#: fortran/trans-openmp.cc:872 fortran/trans-openmp.cc:1389
 #, gcc-internal-format
 msgid "Sorry, polymorphic arrays not yet supported for firstprivate"
 msgstr ""
 
-#: fortran/trans-openmp.cc:1542
+#: fortran/trans-openmp.cc:1543
 #, gcc-internal-format
 msgid "implicit mapping of assumed size array %qD"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3212
+#: fortran/trans-openmp.cc:3284
 #, gcc-internal-format
 msgid "optional class parameter"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3629
+#: fortran/trans-openmp.cc:3700
 #, gcc-internal-format
 msgid "unhandled expression type"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3812
+#: fortran/trans-openmp.cc:3980
 #, gcc-internal-format
 msgid "unhandled expression"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3932
+#: fortran/trans-openmp.cc:4100
 #, gcc-internal-format
 msgid "%<uses_allocators%> clause with traits and memory spaces"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5379 fortran/trans-openmp.cc:5399
+#: fortran/trans-openmp.cc:5024
+#, gcc-internal-format
+msgid "%<!$OMP %s%> at %L requires %<-fopenmp-allocators%>"
+msgstr ""
+
+#: fortran/trans-openmp.cc:5027
+#, gcc-internal-format
+msgid ""
+"All files that might deallocate such a variable must be compiled with %<-"
+"fopenmp-allocators%>"
+msgstr ""
+
+#: fortran/trans-openmp.cc:5030
+#, gcc-internal-format
+msgid ""
+"This includes explicit DEALLOCATE, reallocation on intrinsic assignment, "
+"INTENT(OUT) for allocatable dummy arguments, and reallocation of allocatable "
+"components allocated with an OpenMP allocator"
+msgstr ""
+
+#: fortran/trans-openmp.cc:5607 fortran/trans-openmp.cc:5627
 #, gcc-internal-format
 msgid "non-rectangular loop nest with non-constant step for %qs"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5401
+#: fortran/trans-openmp.cc:5629
 #, gcc-internal-format
 msgid "Used here"
 msgstr ""
 
-#: fortran/trans-openmp.cc:6923
+#: fortran/trans-openmp.cc:7153
 #, gcc-internal-format
 msgid ""
 "%qs specified in 'allocate' clause at %L but not in an explicit "
 "privatization clause"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7820
+#: fortran/trans-openmp.cc:8053
 #, gcc-internal-format
 msgid "gfc_trans_omp_workshare(): Bad statement code"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7957
-#, gcc-internal-format
-msgid "%<!$OMP %s%> not yet supported"
-msgstr ""
-
-#: fortran/trans-openmp.cc:8125
+#: fortran/trans-openmp.cc:8356
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name for 'declare variant' must be specified at %L "
 msgstr ""
 
-#: fortran/trans-openmp.cc:8135
+#: fortran/trans-openmp.cc:8366
 #, 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:8138
+#: fortran/trans-openmp.cc:8369
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be an entry name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8141
+#: fortran/trans-openmp.cc:8372
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a generic name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8144
+#: fortran/trans-openmp.cc:8375
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a procedure pointer"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8147
+#: fortran/trans-openmp.cc:8378
 #, gcc-internal-format, gfc-internal-format
 msgid "The base procedure at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8244
+#: fortran/trans-openmp.cc:8491
 #, gcc-internal-format
 msgid "Cannot find symbol %qs"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8255
+#: fortran/trans-openmp.cc:8502
 #, gcc-internal-format
 msgid "variant %qs at %L is not a function or subroutine"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8267
+#: fortran/trans-openmp.cc:8516
 #, gcc-internal-format
 msgid "variant %qs and base %qs at %L have incompatible types: %s"
 msgstr ""
 
-#: fortran/trans-stmt.cc:575
+#: fortran/trans-stmt.cc:576
 #, gcc-internal-format, gfc-internal-format
 msgid "An alternate return at %L without a * dummy argument"
 msgstr ""
 
-#: fortran/trans-stmt.cc:907
+#: fortran/trans-stmt.cc:908
 #, 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:1366
+#: fortran/trans-stmt.cc:1367
 #, 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:3672
+#: fortran/trans-stmt.cc:3686
 #, gcc-internal-format
 msgid "gfc_trans_select(): Bad type for case expr."
 msgstr ""
@@ -83683,7 +86396,7 @@ msgstr ""
 msgid "gfc_validate_kind(): Got bad kind"
 msgstr ""
 
-#: fortran/trans.cc:2634
+#: fortran/trans.cc:2683
 #, gcc-internal-format
 msgid "gfc_trans_code(): Bad statement code"
 msgstr ""
@@ -83774,87 +86487,82 @@ msgstr ""
 msgid "unexpected EOF"
 msgstr ""
 
-#: jit/dummy-frontend.cc:207 lto/lto-lang.cc:310
-#, gcc-internal-format
-msgid "%s:%s: %E: %E"
-msgstr ""
-
-#: lto/lto-common.cc:2030
+#: lto/lto-common.cc:2028
 #, gcc-internal-format
 msgid "bytecode stream: garbage at the end of symbols section"
 msgstr ""
 
-#: lto/lto-common.cc:2057
+#: lto/lto-common.cc:2055
 #, gcc-internal-format
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto-common.cc:2089
+#: lto/lto-common.cc:2087
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto-common.cc:2098
+#: lto/lto-common.cc:2096
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr ""
 
-#: lto/lto-common.cc:2101
+#: lto/lto-common.cc:2099
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
 
-#: lto/lto-common.cc:2122
+#: lto/lto-common.cc:2120
 #, gcc-internal-format
 msgid "invalid line in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2144
+#: lto/lto-common.cc:2142
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2150
+#: lto/lto-common.cc:2148
 #, gcc-internal-format
 msgid "resolution sub id %wx not in object file"
 msgstr ""
 
-#: lto/lto-common.cc:2267
+#: lto/lto-common.cc:2265
 #, gcc-internal-format
 msgid "bytecode stream in file %qs generated with GCC compiler older than 10.0"
 msgstr ""
 
-#: lto/lto-common.cc:2287
+#: lto/lto-common.cc:2285
 #, gcc-internal-format
 msgid "cannot read %<LTO_section_decls%> from %s"
 msgstr ""
 
-#: lto/lto-common.cc:2408
+#: lto/lto-common.cc:2406
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr ""
 
-#: lto/lto-common.cc:2429
+#: lto/lto-common.cc:2427
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr ""
 
-#: lto/lto-common.cc:2440
+#: lto/lto-common.cc:2438
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr ""
 
-#: lto/lto-common.cc:2757
+#: lto/lto-common.cc:2755
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr ""
 
-#: lto/lto-common.cc:2882
+#: lto/lto-common.cc:2880
 #, gcc-internal-format, gfc-internal-format
 msgid "missing resolution data for %s"
 msgstr ""
 
-#: lto/lto-common.cc:2919
+#: lto/lto-common.cc:2917
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -83874,12 +86582,17 @@ msgstr ""
 msgid "Not configured with %<--enable-gather-detailed-mem-stats%>."
 msgstr ""
 
-#: lto/lto-lang.cc:865
+#: lto/lto-lang.cc:324
+#, gcc-internal-format
+msgid "%s:%s: %E: %E"
+msgstr ""
+
+#: lto/lto-lang.cc:879
 #, gcc-internal-format
 msgid "%<-fwpa%> and %<-fltrans%> are mutually exclusive"
 msgstr ""
 
-#: lto/lto-lang.cc:899
+#: lto/lto-lang.cc:913
 #, gcc-internal-format
 msgid "%<-flinker-output=rel%> and %<-fltrans%> are mutually exclusive"
 msgstr ""
@@ -83974,11 +86687,6 @@ msgstr ""
 msgid "function %qD redeclared as variable"
 msgstr ""
 
-#: lto/lto-symtab.cc:865
-#, gcc-internal-format
-msgid "previously declared here"
-msgstr ""
-
 #: lto/lto.cc:172
 #, gcc-internal-format
 msgid "%<lto_obj_file_open()%> failed"
@@ -84019,7 +86727,7 @@ msgstr ""
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: m2/gm2-lang.cc:1052
+#: m2/gm2-lang.cc:1119
 #, gcc-internal-format
 msgid "cannot convert expression, only base types can be converted"
 msgstr ""
@@ -84030,7 +86738,7 @@ msgstr ""
 msgid "%qs is not a valid Modula-2 system library name or abbreviation"
 msgstr ""
 
-#: m2/gm2spec.cc:728 m2/gm2spec.cc:736
+#: m2/gm2spec.cc:724 m2/gm2spec.cc:732
 #, gcc-internal-format
 msgid "%qs and %qs cannot both be enabled"
 msgstr ""
@@ -84040,12 +86748,12 @@ msgstr ""
 msgid "the location value is corrupt"
 msgstr ""
 
-#: m2/gm2-gcc/m2builtins.cc:43
+#: m2/gm2-gcc/m2builtins.cc:46
 #, gcc-internal-format
 msgid "%s:%d:assertion of condition %qs failed"
 msgstr ""
 
-#: m2/gm2-gcc/m2builtins.cc:49
+#: m2/gm2-gcc/m2builtins.cc:52
 #, gcc-internal-format, gfc-internal-format
 msgid "%s:%d:%s"
 msgstr ""
@@ -84096,47 +86804,48 @@ msgstr ""
 msgid "constant %qs is too large"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:2588
+#: m2/gm2-gcc/m2expr.cc:2609
 #, gcc-internal-format
 msgid "not expecting different types to binary operator"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:2849
+#: m2/gm2-gcc/m2expr.cc:2867
 #, gcc-internal-format
 msgid "cannot take the address of this expression"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3616
+#: m2/gm2-gcc/m2expr.cc:3634
 #, gcc-internal-format
 msgid "argument to CAP is not a constant or variable of type CHAR"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3890
+#: m2/gm2-gcc/m2expr.cc:3914 m2/gm2-gcc/m2expr.cc:4020
+#: m2/gm2-gcc/m2expr.cc:4029
 #, gcc-internal-format
-msgid "constant literal %qs contains %qc, expected 0 or 1"
+msgid "constant literal %qs exceeds internal ZTYPE range"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3905 m2/gm2-gcc/m2expr.cc:3917
+#: m2/gm2-gcc/m2expr.cc:3949
 #, gcc-internal-format
-msgid "constant literal %qs contains %qc, expected %qs"
+msgid "constant literal %qs contains %qc, expected 0 or 1"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3936
+#: m2/gm2-gcc/m2expr.cc:3964 m2/gm2-gcc/m2expr.cc:3976
 #, gcc-internal-format
-msgid "constant literal %qs contains %qc, expected %qs or %qs"
+msgid "constant literal %qs contains %qc, expected %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3961 m2/gm2-gcc/m2expr.cc:3970
+#: m2/gm2-gcc/m2expr.cc:3995
 #, gcc-internal-format
-msgid "constant literal %qs exceeds internal ZTYPE range"
+msgid "constant literal %qs contains %qc, expected %qs or %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:3988
+#: m2/gm2-gcc/m2expr.cc:4061
 #, gcc-internal-format
 msgid "%qs applied to a void type"
 msgstr ""
 
-#: m2/gm2-gcc/m2expr.cc:4009 m2/gm2-gcc/m2expr.cc:4053
+#: m2/gm2-gcc/m2expr.cc:4082 m2/gm2-gcc/m2expr.cc:4126
 #, gcc-internal-format
 msgid "%qs applied to an incomplete type"
 msgstr ""
@@ -84146,218 +86855,218 @@ msgstr ""
 msgid "memory allocation failed in vasprintf"
 msgstr ""
 
-#: m2/gm2-gcc/m2linemap.cc:364 rust/rust-gcc-diagnostics.cc:33
+#: m2/gm2-gcc/m2linemap.cc:364 rust/rust-diagnostics.cc:166
 #, gcc-internal-format, gfc-internal-format
 msgid "at %s, %s"
 msgstr ""
 
-#: m2/gm2-gcc/m2statement.cc:539
+#: m2/gm2-gcc/m2statement.cc:558
 #, gcc-internal-format
 msgid "internal error: not expecting operand1 to be a constant set"
 msgstr ""
 
-#: m2/gm2-gcc/m2statement.cc:933
+#: m2/gm2-gcc/m2statement.cc:952
 #, gcc-internal-format
 msgid "expecting one and only one label to be declared"
 msgstr ""
 
-#: m2/gm2-gcc/m2treelib.cc:290
+#: m2/gm2-gcc/m2treelib.cc:286
 #, gcc-internal-format
 msgid "field number exceeds definition of set"
 msgstr ""
 
-#: m2/gm2-gcc/m2treelib.cc:295
+#: m2/gm2-gcc/m2treelib.cc:291
 #, gcc-internal-format
 msgid "field number out of range trying to access set element"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:223
+#: m2/gm2-gcc/m2type.cc:224
 #, gcc-internal-format
 msgid "array declaration canonicalization has failed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:314
+#: m2/gm2-gcc/m2type.cc:315
 #, gcc-internal-format
 msgid "low bound for the array is outside the ztype limits"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:316
+#: m2/gm2-gcc/m2type.cc:317
 #, gcc-internal-format
 msgid "high bound for the array is outside the ztype limits"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:924
+#: m2/gm2-gcc/m2type.cc:909
 #, gcc-internal-format
 msgid "set base type must be an ordinal type"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:954
+#: m2/gm2-gcc/m2type.cc:938
 #, gcc-internal-format
 msgid "ordinal type expected"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:963
+#: m2/gm2-gcc/m2type.cc:947
 #, gcc-internal-format
 msgid "range limits are not of the same type"
 msgstr ""
 
 #. This enum is a named one that has been declared already.
-#: m2/gm2-gcc/m2type.cc:2003
+#: m2/gm2-gcc/m2type.cc:1989
 #, gcc-internal-format
 msgid "redeclaration of enum %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2069
+#: m2/gm2-gcc/m2type.cc:2055
 #, gcc-internal-format
 msgid "enumeration values exceed range of integer"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2303
+#: m2/gm2-gcc/m2type.cc:2289
 #, gcc-internal-format
 msgid "set type cannot be initialized with a %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2310
+#: m2/gm2-gcc/m2type.cc:2296
 #, gcc-internal-format
 msgid "set type does not take another integer value"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2435
+#: m2/gm2-gcc/m2type.cc:2421
 #, gcc-internal-format
 msgid "array cannot be initialized with a %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2441
+#: m2/gm2-gcc/m2type.cc:2427
 #, gcc-internal-format
 msgid "array type must be initialized"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2448
+#: m2/gm2-gcc/m2type.cc:2434
 #, gcc-internal-format
 msgid "array element value must be the same type as its declaration"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2511
+#: m2/gm2-gcc/m2type.cc:2497
 #, gcc-internal-format
 msgid "low bound for the subrange has overflowed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2513
+#: m2/gm2-gcc/m2type.cc:2499
 #, gcc-internal-format
 msgid "high bound for the subrange has overflowed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2810
+#: m2/gm2-gcc/m2type.cc:2796
 #, gcc-internal-format
 msgid "requested alignment is not a constant"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2812
+#: m2/gm2-gcc/m2type.cc:2798
 #, gcc-internal-format
 msgid "requested alignment is not a power of 2"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2814
+#: m2/gm2-gcc/m2type.cc:2800
 #, gcc-internal-format
 msgid "requested alignment is too large"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2841
+#: m2/gm2-gcc/m2type.cc:2826
 #, gcc-internal-format
 msgid "alignment may not be specified for %qD"
 msgstr ""
 
-#: objc/objc-act.cc:423 objc/objc-act.cc:6962
+#: objc/objc-act.cc:426 objc/objc-act.cc:6965
 #, gcc-internal-format
 msgid "%<@end%> missing in implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:576
+#: objc/objc-act.cc:579
 #, gcc-internal-format
 msgid "class attributes are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:591
+#: objc/objc-act.cc:594
 #, gcc-internal-format
 msgid "category attributes are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:594
+#: objc/objc-act.cc:597
 #, gcc-internal-format
 msgid ""
 "category attributes are not available in this version of the compiler, "
 "(ignored)"
 msgstr ""
 
-#: objc/objc-act.cc:600
+#: objc/objc-act.cc:603
 #, gcc-internal-format
 msgid "class extensions are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:614
+#: objc/objc-act.cc:617
 #, gcc-internal-format
 msgid "class extension for class %qE declared after its %<@implementation%>"
 msgstr ""
 
-#: objc/objc-act.cc:629
+#: objc/objc-act.cc:632
 #, gcc-internal-format
 msgid "protocol attributes are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:694
+#: objc/objc-act.cc:697
 #, gcc-internal-format
 msgid "%<@end%> must appear in an @implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:703
+#: objc/objc-act.cc:706
 #, gcc-internal-format
 msgid "%<@package%> is not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:705
+#: objc/objc-act.cc:708
 #, gcc-internal-format
 msgid "%<@package%> presently has the same effect as %<@public%>"
 msgstr ""
 
-#: objc/objc-act.cc:716
+#: objc/objc-act.cc:719
 #, gcc-internal-format
 msgid "%<@optional%> is not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:718
+#: objc/objc-act.cc:721
 #, gcc-internal-format
 msgid "%<@required%> is not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:726
+#: objc/objc-act.cc:729
 #, gcc-internal-format
 msgid "%<@optional%> is allowed in @protocol context only"
 msgstr ""
 
-#: objc/objc-act.cc:728
+#: objc/objc-act.cc:731
 #, gcc-internal-format
 msgid "%<@required%> is allowed in @protocol context only"
 msgstr ""
 
 #. FIXME: we probably ought to bail out at this point.
-#: objc/objc-act.cc:851
+#: objc/objc-act.cc:854
 #, gcc-internal-format
 msgid "%<@property%> is not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:856
+#: objc/objc-act.cc:859
 #, gcc-internal-format
 msgid ""
 "property declaration not in %<@interface%>, %<@protocol%> or %<category%> "
 "context"
 msgstr ""
 
-#: objc/objc-act.cc:867
+#: objc/objc-act.cc:870
 #, gcc-internal-format
 msgid "properties must be named"
 msgstr ""
 
-#: objc/objc-act.cc:875
+#: objc/objc-act.cc:878
 #, gcc-internal-format
 msgid "property cannot be an array"
 msgstr ""
@@ -84369,132 +87078,132 @@ msgstr ""
 #. and arguments of functions cannot be bitfields).  The
 #. underlying instance variable could be a bitfield, but that is
 #. a different matter.
-#: objc/objc-act.cc:888
+#: objc/objc-act.cc:891
 #, gcc-internal-format
 msgid "property cannot be a bit-field"
 msgstr ""
 
-#: objc/objc-act.cc:912
+#: objc/objc-act.cc:915
 #, gcc-internal-format
 msgid "multiple property %qE methods specified, the latest one will be used"
 msgstr ""
 
-#: objc/objc-act.cc:914
+#: objc/objc-act.cc:917
 #, gcc-internal-format
 msgid "previous specification"
 msgstr ""
 
-#: objc/objc-act.cc:929
+#: objc/objc-act.cc:932
 #, gcc-internal-format
 msgid "%qE attribute conflicts with %qE attribute"
 msgstr ""
 
-#: objc/objc-act.cc:931
+#: objc/objc-act.cc:934
 #, gcc-internal-format
 msgid "%qE specified here"
 msgstr ""
 
-#: objc/objc-act.cc:937
+#: objc/objc-act.cc:940
 #, gcc-internal-format
 msgid "duplicate %qE attribute"
 msgstr ""
 
-#: objc/objc-act.cc:938
+#: objc/objc-act.cc:941
 #, gcc-internal-format
 msgid "first specified here"
 msgstr ""
 
-#: objc/objc-act.cc:965
+#: objc/objc-act.cc:968
 #, gcc-internal-format
 msgid "%<readonly%> attribute conflicts with %<setter%> attribute"
 msgstr ""
 
-#: objc/objc-act.cc:968
+#: objc/objc-act.cc:971
 #, gcc-internal-format
 msgid "%<setter%> specified here"
 msgstr ""
 
-#: objc/objc-act.cc:1047
+#: objc/objc-act.cc:1050
 #, gcc-internal-format
 msgid ""
 "object property %qD has no %<assign%>, %<retain%> or %<copy%> attribute; "
 "assuming %<assign%>"
 msgstr ""
 
-#: objc/objc-act.cc:1050
+#: objc/objc-act.cc:1053
 #, gcc-internal-format
 msgid ""
 "%<assign%> can be unsafe for Objective-C objects; please state explicitly if "
 "you need it"
 msgstr ""
 
-#: objc/objc-act.cc:1067
+#: objc/objc-act.cc:1070
 #, gcc-internal-format
 msgid "%qE attribute is only valid for Objective-C objects"
 msgstr ""
 
-#: objc/objc-act.cc:1125
+#: objc/objc-act.cc:1128
 #, gcc-internal-format
 msgid "redeclaration of property %qD"
 msgstr ""
 
-#: objc/objc-act.cc:1128 objc/objc-act.cc:1194 objc/objc-act.cc:1205
-#: objc/objc-act.cc:1219 objc/objc-act.cc:1230 objc/objc-act.cc:1242
-#: objc/objc-act.cc:1279 objc/objc-act.cc:7749 objc/objc-act.cc:7812
-#: objc/objc-act.cc:7835 objc/objc-act.cc:7849 objc/objc-act.cc:7867
-#: objc/objc-act.cc:7966
+#: objc/objc-act.cc:1131 objc/objc-act.cc:1197 objc/objc-act.cc:1208
+#: objc/objc-act.cc:1222 objc/objc-act.cc:1233 objc/objc-act.cc:1245
+#: objc/objc-act.cc:1282 objc/objc-act.cc:7752 objc/objc-act.cc:7815
+#: objc/objc-act.cc:7838 objc/objc-act.cc:7852 objc/objc-act.cc:7870
+#: objc/objc-act.cc:7969
 #, gcc-internal-format
 msgid "originally specified here"
 msgstr ""
 
-#: objc/objc-act.cc:1190
+#: objc/objc-act.cc:1193
 #, gcc-internal-format
 msgid ""
 "%<nonatomic%> attribute of property %qD conflicts with previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1201
+#: objc/objc-act.cc:1204
 #, gcc-internal-format
 msgid ""
 "%<getter%> attribute of property %qD conflicts with previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1215
+#: objc/objc-act.cc:1218
 #, gcc-internal-format
 msgid ""
 "%<setter%> attribute of property %qD conflicts with previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1227
+#: objc/objc-act.cc:1230
 #, gcc-internal-format
 msgid ""
 "assign semantics attributes of property %qD conflict with previous "
 "declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1238
+#: objc/objc-act.cc:1241
 #, gcc-internal-format
 msgid ""
 "%<readonly%> attribute of property %qD conflicts with previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1277
+#: objc/objc-act.cc:1280
 #, gcc-internal-format
 msgid "type of property %qD conflicts with previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:1320
+#: objc/objc-act.cc:1323
 #, gcc-internal-format
 msgid "nullability specifier %qE cannot be applied to non-pointer type %qT"
 msgstr ""
 
-#: objc/objc-act.cc:1325
+#: objc/objc-act.cc:1328
 #, gcc-internal-format
 msgid ""
 "nullability specifier %qE cannot be applied to multi-level pointer type %qT"
 msgstr ""
 
-#: objc/objc-act.cc:1778
+#: objc/objc-act.cc:1781
 #, gcc-internal-format
 msgid "the dot syntax is not available in Objective-C 1.0"
 msgstr ""
@@ -84502,98 +87211,98 @@ msgstr ""
 #. We know that 'class_name' is an Objective-C class name as the
 #. parser won't call this function if it is not.  This is only a
 #. double-check for safety.
-#: objc/objc-act.cc:1794
+#: objc/objc-act.cc:1797
 #, gcc-internal-format
 msgid "could not find class %qE"
 msgstr ""
 
 #. Again, this should never happen, but we do check.
-#: objc/objc-act.cc:1802
+#: objc/objc-act.cc:1805
 #, gcc-internal-format
 msgid "could not find interface for class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:1808 objc/objc-act.cc:7144
+#: objc/objc-act.cc:1811 objc/objc-act.cc:7147
 #, gcc-internal-format
 msgid "class %qE is unavailable"
 msgstr ""
 
-#: objc/objc-act.cc:1810 objc/objc-act.cc:7001 objc/objc-act.cc:7146
+#: objc/objc-act.cc:1813 objc/objc-act.cc:7004 objc/objc-act.cc:7149
 #, gcc-internal-format
 msgid "class %qE is deprecated"
 msgstr ""
 
-#: objc/objc-act.cc:1839
+#: objc/objc-act.cc:1842
 #, gcc-internal-format
 msgid "could not find setter/getter for %qE in class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:1889
+#: objc/objc-act.cc:1892
 #, gcc-internal-format
 msgid "%qs property cannot be set"
 msgstr ""
 
-#: objc/objc-act.cc:2157
+#: objc/objc-act.cc:2160
 #, gcc-internal-format
 msgid "method declaration not in @interface context"
 msgstr ""
 
-#: objc/objc-act.cc:2161
+#: objc/objc-act.cc:2164
 #, gcc-internal-format
 msgid "method attributes are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:2181
+#: objc/objc-act.cc:2184
 #, gcc-internal-format
 msgid "method definition not in @implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:2194
+#: objc/objc-act.cc:2197
 #, gcc-internal-format
 msgid "method attributes cannot be specified in @implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:2424
+#: objc/objc-act.cc:2427
 #, gcc-internal-format
 msgid "class %qs does not implement the %qE protocol"
 msgstr ""
 
-#: objc/objc-act.cc:2427
+#: objc/objc-act.cc:2430
 #, gcc-internal-format
 msgid "type %qs does not conform to the %qE protocol"
 msgstr ""
 
-#: objc/objc-act.cc:2722
+#: objc/objc-act.cc:2725
 #, gcc-internal-format
 msgid "comparison of distinct Objective-C types lacks a cast"
 msgstr ""
 
-#: objc/objc-act.cc:2726
+#: objc/objc-act.cc:2729
 #, gcc-internal-format
 msgid "initialization from distinct Objective-C type"
 msgstr ""
 
-#: objc/objc-act.cc:2730
+#: objc/objc-act.cc:2733
 #, gcc-internal-format
 msgid "assignment from distinct Objective-C type"
 msgstr ""
 
-#: objc/objc-act.cc:2734
+#: objc/objc-act.cc:2737
 #, gcc-internal-format
 msgid "distinct Objective-C type in return"
 msgstr ""
 
-#: objc/objc-act.cc:2738
+#: objc/objc-act.cc:2741
 #, gcc-internal-format
 msgid "passing argument %d of %qE from distinct Objective-C type"
 msgstr ""
 
-#: objc/objc-act.cc:2881
+#: objc/objc-act.cc:2884
 #, gcc-internal-format
 msgid "statically allocated instance of Objective-C class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:2890
+#: objc/objc-act.cc:2893
 #, gcc-internal-format
 msgid "redeclaration of Objective-C class %qs"
 msgstr ""
@@ -84605,186 +87314,186 @@ msgstr ""
 #. Objective-C class, but something else, such as 'int'.
 #. This is an error; protocols make no sense unless you use
 #. them with Objective-C objects.
-#: objc/objc-act.cc:2932
+#: objc/objc-act.cc:2935
 #, gcc-internal-format
 msgid "only Objective-C object types can be qualified with a protocol"
 msgstr ""
 
-#: objc/objc-act.cc:2996
+#: objc/objc-act.cc:2999
 #, gcc-internal-format
 msgid "protocol %qE has circular dependency"
 msgstr ""
 
-#: objc/objc-act.cc:3029 objc/objc-act.cc:5863
+#: objc/objc-act.cc:3032 objc/objc-act.cc:5866
 #, gcc-internal-format
 msgid "cannot find protocol declaration for %qE"
 msgstr ""
 
-#: objc/objc-act.cc:3339 objc/objc-act.cc:3994 objc/objc-act.cc:6575
-#: objc/objc-act.cc:7052 objc/objc-act.cc:7137 objc/objc-act.cc:7192
+#: objc/objc-act.cc:3342 objc/objc-act.cc:3997 objc/objc-act.cc:6578
+#: objc/objc-act.cc:7055 objc/objc-act.cc:7140 objc/objc-act.cc:7195
 #, gcc-internal-format
 msgid "cannot find interface declaration for %qE"
 msgstr ""
 
-#: objc/objc-act.cc:3343
+#: objc/objc-act.cc:3346
 #, gcc-internal-format
 msgid "interface %qE does not have valid constant string layout"
 msgstr ""
 
-#: objc/objc-act.cc:3348
+#: objc/objc-act.cc:3351
 #, gcc-internal-format
 msgid "cannot find reference tag for class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:3493
+#: objc/objc-act.cc:3496
 #, gcc-internal-format
 msgid "%qE is not an Objective-C class name or alias"
 msgstr ""
 
-#: objc/objc-act.cc:3508 objc/objc-act.cc:3539 objc/objc-act.cc:6956
-#: objc/objc-act.cc:8302 objc/objc-act.cc:8358
+#: objc/objc-act.cc:3511 objc/objc-act.cc:3542 objc/objc-act.cc:6959
+#: objc/objc-act.cc:8305 objc/objc-act.cc:8361
 #, gcc-internal-format
 msgid "Objective-C declarations may only appear in global scope"
 msgstr ""
 
-#: objc/objc-act.cc:3513
+#: objc/objc-act.cc:3516
 #, gcc-internal-format
 msgid "cannot find class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:3515
+#: objc/objc-act.cc:3518
 #, gcc-internal-format
 msgid "class %qE already exists"
 msgstr ""
 
-#: objc/objc-act.cc:3557 objc/objc-act.cc:7017
+#: objc/objc-act.cc:3560 objc/objc-act.cc:7020
 #, gcc-internal-format
 msgid "%qE redeclared as different kind of symbol"
 msgstr ""
 
-#: objc/objc-act.cc:3559 objc/objc-act.cc:4145 objc/objc-act.cc:4173
-#: objc/objc-act.cc:4228 objc/objc-act.cc:7019
+#: objc/objc-act.cc:3562 objc/objc-act.cc:4148 objc/objc-act.cc:4176
+#: objc/objc-act.cc:4231 objc/objc-act.cc:7022
 #, gcc-internal-format
 msgid "previous declaration of %q+D"
 msgstr ""
 
-#: objc/objc-act.cc:3848
+#: objc/objc-act.cc:3851
 #, gcc-internal-format
 msgid "strong-cast assignment has been intercepted"
 msgstr ""
 
-#: objc/objc-act.cc:3890
+#: objc/objc-act.cc:3893
 #, gcc-internal-format
 msgid "strong-cast may possibly be needed"
 msgstr ""
 
-#: objc/objc-act.cc:3900
+#: objc/objc-act.cc:3903
 #, gcc-internal-format
 msgid "instance variable assignment has been intercepted"
 msgstr ""
 
-#: objc/objc-act.cc:3919
+#: objc/objc-act.cc:3922
 #, gcc-internal-format
 msgid "pointer arithmetic for garbage-collected objects not allowed"
 msgstr ""
 
-#: objc/objc-act.cc:3925
+#: objc/objc-act.cc:3928
 #, gcc-internal-format
 msgid "global/static variable assignment has been intercepted"
 msgstr ""
 
-#: objc/objc-act.cc:4142 objc/objc-act.cc:4170 objc/objc-act.cc:4225
+#: objc/objc-act.cc:4145 objc/objc-act.cc:4173 objc/objc-act.cc:4228
 #, gcc-internal-format
 msgid "duplicate instance variable %q+D"
 msgstr ""
 
-#: objc/objc-act.cc:4285
+#: objc/objc-act.cc:4288
 #, gcc-internal-format
 msgid ""
 "%<-fobjc-exceptions%> is required to enable Objective-C exception syntax"
 msgstr ""
 
-#: objc/objc-act.cc:4369
+#: objc/objc-act.cc:4372
 #, gcc-internal-format
 msgid "%<@catch%> parameter is not a known Objective-C class type"
 msgstr ""
 
-#: objc/objc-act.cc:4375
+#: objc/objc-act.cc:4378
 #, gcc-internal-format
 msgid "%<@catch%> parameter cannot be protocol-qualified"
 msgstr ""
 
-#: objc/objc-act.cc:4420
+#: objc/objc-act.cc:4423
 #, gcc-internal-format
 msgid "exception of type %<%T%> will be caught"
 msgstr ""
 
-#: objc/objc-act.cc:4422
+#: objc/objc-act.cc:4425
 #, gcc-internal-format
 msgid "   by earlier handler for %<%T%>"
 msgstr ""
 
-#: objc/objc-act.cc:4469
+#: objc/objc-act.cc:4472
 #, gcc-internal-format
 msgid "%<@try%> without %<@catch%> or %<@finally%>"
 msgstr ""
 
-#: objc/objc-act.cc:4498
+#: objc/objc-act.cc:4501
 #, gcc-internal-format
 msgid "%<@throw%> (rethrow) used outside of a %<@catch%> block"
 msgstr ""
 
-#: objc/objc-act.cc:4511
+#: objc/objc-act.cc:4514
 #, gcc-internal-format
 msgid "%<@throw%> argument is not an object"
 msgstr ""
 
-#: objc/objc-act.cc:4532
+#: objc/objc-act.cc:4535
 #, gcc-internal-format
 msgid "%<@synchronized%> argument is not an object"
 msgstr ""
 
-#: objc/objc-act.cc:4742
+#: objc/objc-act.cc:4745
 #, gcc-internal-format
 msgid "%s %qs"
 msgstr ""
 
-#: objc/objc-act.cc:4765 objc/objc-act.cc:4790
+#: objc/objc-act.cc:4768 objc/objc-act.cc:4793
 #, gcc-internal-format
 msgid "inconsistent instance variable specification"
 msgstr ""
 
-#: objc/objc-act.cc:4845
+#: objc/objc-act.cc:4848
 #, gcc-internal-format
 msgid "cannot use an object as parameter to a method"
 msgstr ""
 
-#: objc/objc-act.cc:4889
+#: objc/objc-act.cc:4892
 #, gcc-internal-format
 msgid "method argument attributes are not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:5264
+#: objc/objc-act.cc:5267
 #, gcc-internal-format
 msgid "multiple methods named %<%c%E%> found"
 msgstr ""
 
-#: objc/objc-act.cc:5267
+#: objc/objc-act.cc:5270
 #, gcc-internal-format
 msgid "using %<%c%s%>"
 msgstr ""
 
-#: objc/objc-act.cc:5276
+#: objc/objc-act.cc:5279
 #, gcc-internal-format
 msgid "multiple selectors named %<%c%E%> found"
 msgstr ""
 
-#: objc/objc-act.cc:5279
+#: objc/objc-act.cc:5282
 #, gcc-internal-format
 msgid "found %<%c%s%>"
 msgstr ""
 
-#: objc/objc-act.cc:5288
+#: objc/objc-act.cc:5291
 #, gcc-internal-format
 msgid "also found %<%c%s%>"
 msgstr ""
@@ -84812,50 +87521,50 @@ msgstr ""
 #. warning, either include an @interface for the
 #. class, or cast the receiver to 'id'.  Note that
 #. rtype is an IDENTIFIER_NODE at this point.
-#: objc/objc-act.cc:5576 objc/objc-act.cc:5711
+#: objc/objc-act.cc:5579 objc/objc-act.cc:5714
 #, gcc-internal-format
 msgid "%<@interface%> of class %qE not found"
 msgstr ""
 
-#: objc/objc-act.cc:5585
+#: objc/objc-act.cc:5588
 #, gcc-internal-format
 msgid "no super class declared in @interface for %qE"
 msgstr ""
 
-#: objc/objc-act.cc:5636
+#: objc/objc-act.cc:5639
 #, gcc-internal-format
 msgid "found %<-%E%> instead of %<+%E%> in protocol(s)"
 msgstr ""
 
 #. We have a type, but it's not an Objective-C type (!).
-#: objc/objc-act.cc:5748
+#: objc/objc-act.cc:5751
 #, gcc-internal-format
 msgid "invalid receiver type %qs"
 msgstr ""
 
-#: objc/objc-act.cc:5765
+#: objc/objc-act.cc:5768
 #, gcc-internal-format
 msgid "%<%c%E%> not found in protocol(s)"
 msgstr ""
 
-#: objc/objc-act.cc:5779
+#: objc/objc-act.cc:5782
 #, gcc-internal-format
 msgid "%qE may not respond to %<%c%E%>"
 msgstr ""
 
-#: objc/objc-act.cc:5787
+#: objc/objc-act.cc:5790
 #, gcc-internal-format
 msgid "no %<%c%E%> method found"
 msgstr ""
 
-#: objc/objc-act.cc:5794
+#: objc/objc-act.cc:5797
 #, gcc-internal-format
 msgid ""
 "(messages without a matching method signature will be assumed to return "
 "%<id%> and accept %<...%> as arguments)"
 msgstr ""
 
-#: objc/objc-act.cc:5912
+#: objc/objc-act.cc:5915
 #, gcc-internal-format
 msgid "undeclared selector %qE"
 msgstr ""
@@ -84869,222 +87578,222 @@ msgstr ""
 #. to an instance variable.  It's better to catch the cases
 #. where this is done unknowingly than to support the above
 #. paradigm.
-#: objc/objc-act.cc:5936
+#: objc/objc-act.cc:5939
 #, gcc-internal-format
 msgid "instance variable %qE accessed in class method"
 msgstr ""
 
-#: objc/objc-act.cc:6166 objc/objc-act.cc:6186
+#: objc/objc-act.cc:6169 objc/objc-act.cc:6189
 #, gcc-internal-format
 msgid ""
 "method %<%c%E%> declared %<@optional%> and %<@required%> at the same time"
 msgstr ""
 
-#: objc/objc-act.cc:6170
+#: objc/objc-act.cc:6173
 #, gcc-internal-format
 msgid "previous declaration of %<%c%E%> as %<@required%>"
 msgstr ""
 
-#: objc/objc-act.cc:6190
+#: objc/objc-act.cc:6193
 #, gcc-internal-format
 msgid "previous declaration of %<%c%E%> as %<@optional%>"
 msgstr ""
 
-#: objc/objc-act.cc:6250
+#: objc/objc-act.cc:6253
 #, gcc-internal-format
 msgid "duplicate declaration of method %<%c%E%> with conflicting types"
 msgstr ""
 
-#: objc/objc-act.cc:6254
+#: objc/objc-act.cc:6257
 #, gcc-internal-format
 msgid "previous declaration of %<%c%E%>"
 msgstr ""
 
-#: objc/objc-act.cc:6291
+#: objc/objc-act.cc:6294
 #, gcc-internal-format
 msgid "duplicate interface declaration for category %<%E(%E)%>"
 msgstr ""
 
-#: objc/objc-act.cc:6379
+#: objc/objc-act.cc:6382
 #, gcc-internal-format
 msgid "illegal reference type specified for instance variable %qs"
 msgstr ""
 
-#: objc/objc-act.cc:6390
+#: objc/objc-act.cc:6393
 #, gcc-internal-format
 msgid "instance variable %qs has unknown size"
 msgstr ""
 
-#: objc/objc-act.cc:6411
+#: objc/objc-act.cc:6414
 #, gcc-internal-format
 msgid "instance variable %qs uses flexible array member"
 msgstr ""
 
-#: objc/objc-act.cc:6438
+#: objc/objc-act.cc:6441
 #, gcc-internal-format
 msgid "type %qE has no default constructor to call"
 msgstr ""
 
-#: objc/objc-act.cc:6444
+#: objc/objc-act.cc:6447
 #, gcc-internal-format
 msgid "destructor for %qE shall not be run either"
 msgstr ""
 
 #. Vtable pointers are Real Bad(tm), since Obj-C cannot
 #. initialize them.
-#: objc/objc-act.cc:6456
+#: objc/objc-act.cc:6459
 #, gcc-internal-format
 msgid "type %qE has virtual member functions"
 msgstr ""
 
-#: objc/objc-act.cc:6457
+#: objc/objc-act.cc:6460
 #, gcc-internal-format
 msgid "illegal aggregate type %qE specified for instance variable %qs"
 msgstr ""
 
-#: objc/objc-act.cc:6467
+#: objc/objc-act.cc:6470
 #, gcc-internal-format
 msgid "type %qE has a user-defined constructor"
 msgstr ""
 
-#: objc/objc-act.cc:6469
+#: objc/objc-act.cc:6472
 #, gcc-internal-format
 msgid "type %qE has a user-defined destructor"
 msgstr ""
 
-#: objc/objc-act.cc:6473
+#: objc/objc-act.cc:6476
 #, gcc-internal-format
 msgid ""
 "C++ constructors and destructors will not be invoked for Objective-C fields"
 msgstr ""
 
-#: objc/objc-act.cc:6604
+#: objc/objc-act.cc:6607
 #, gcc-internal-format
 msgid "instance variable %qE is declared private"
 msgstr ""
 
-#: objc/objc-act.cc:6615
+#: objc/objc-act.cc:6618
 #, gcc-internal-format
 msgid "instance variable %qE is %s; this will be a hard error in the future"
 msgstr ""
 
-#: objc/objc-act.cc:6622
+#: objc/objc-act.cc:6625
 #, gcc-internal-format
 msgid "instance variable %qE is declared %s"
 msgstr ""
 
-#: objc/objc-act.cc:6733 objc/objc-act.cc:6848
+#: objc/objc-act.cc:6736 objc/objc-act.cc:6851
 #, gcc-internal-format
 msgid "incomplete implementation of class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:6737 objc/objc-act.cc:6852
+#: objc/objc-act.cc:6740 objc/objc-act.cc:6855
 #, gcc-internal-format
 msgid "incomplete implementation of category %qE"
 msgstr ""
 
-#: objc/objc-act.cc:6746 objc/objc-act.cc:6860
+#: objc/objc-act.cc:6749 objc/objc-act.cc:6863
 #, gcc-internal-format
 msgid "method definition for %<%c%E%> not found"
 msgstr ""
 
-#: objc/objc-act.cc:6901
+#: objc/objc-act.cc:6904
 #, gcc-internal-format
 msgid "%s %qE does not fully implement the %qE protocol"
 msgstr ""
 
-#: objc/objc-act.cc:6991
+#: objc/objc-act.cc:6994
 #, gcc-internal-format
 msgid "cannot find interface declaration for %qE, superclass of %qE"
 msgstr ""
 
-#: objc/objc-act.cc:6999
+#: objc/objc-act.cc:7002
 #, gcc-internal-format
 msgid "class %qE is not available"
 msgstr ""
 
-#: objc/objc-act.cc:7032
+#: objc/objc-act.cc:7035
 #, gcc-internal-format
 msgid "reimplementation of class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:7065
+#: objc/objc-act.cc:7068
 #, gcc-internal-format
 msgid "conflicting super class name %qE"
 msgstr ""
 
-#: objc/objc-act.cc:7068
+#: objc/objc-act.cc:7071
 #, gcc-internal-format
 msgid "previous declaration of %qE"
 msgstr ""
 
-#: objc/objc-act.cc:7070
+#: objc/objc-act.cc:7073
 #, gcc-internal-format
 msgid "previous declaration"
 msgstr ""
 
-#: objc/objc-act.cc:7082
+#: objc/objc-act.cc:7085
 #, gcc-internal-format
 msgid "class %qE defined without specifying a base class"
 msgstr ""
 
-#: objc/objc-act.cc:7089 objc/objc-act.cc:7091
+#: objc/objc-act.cc:7092 objc/objc-act.cc:7094
 #, gcc-internal-format
 msgid "duplicate interface declaration for class %qE"
 msgstr ""
 
-#: objc/objc-act.cc:7416 objc/objc-act.cc:7612
+#: objc/objc-act.cc:7419 objc/objc-act.cc:7615
 #, gcc-internal-format
 msgid "cannot find instance variable associated with property"
 msgstr ""
 
 #. TODO: This should be caught much earlier than this.
-#: objc/objc-act.cc:7578
+#: objc/objc-act.cc:7581
 #, gcc-internal-format
 msgid "invalid setter, it must have one argument"
 msgstr ""
 
-#: objc/objc-act.cc:7742 objc/objc-act.cc:7959
+#: objc/objc-act.cc:7745 objc/objc-act.cc:7962
 #, gcc-internal-format
 msgid "property %qs already specified in %<@dynamic%>"
 msgstr ""
 
-#: objc/objc-act.cc:7745 objc/objc-act.cc:7962
+#: objc/objc-act.cc:7748 objc/objc-act.cc:7965
 #, gcc-internal-format
 msgid "property %qs already specified in %<@synthesize%>"
 msgstr ""
 
-#: objc/objc-act.cc:7759 objc/objc-act.cc:7976
+#: objc/objc-act.cc:7762 objc/objc-act.cc:7979
 #, gcc-internal-format
 msgid "no declaration of property %qs found in the interface"
 msgstr ""
 
-#: objc/objc-act.cc:7786
+#: objc/objc-act.cc:7789
 #, gcc-internal-format
 msgid "ivar %qs used by %<@synthesize%> declaration must be an existing ivar"
 msgstr ""
 
-#: objc/objc-act.cc:7807
+#: objc/objc-act.cc:7810
 #, gcc-internal-format
 msgid "property %qs is using instance variable %qs of incompatible type"
 msgstr ""
 
-#: objc/objc-act.cc:7829
+#: objc/objc-act.cc:7832
 #, gcc-internal-format
 msgid "%<assign%> property %qs is using bit-field instance variable %qs"
 msgstr ""
 
-#: objc/objc-act.cc:7843
+#: objc/objc-act.cc:7846
 #, gcc-internal-format
 msgid "%<atomic%> property %qs is using bit-field instance variable %qs"
 msgstr ""
 
-#: objc/objc-act.cc:7862
+#: objc/objc-act.cc:7865
 #, gcc-internal-format
 msgid "property %qs is using the same instance variable as property %qs"
 msgstr ""
 
-#: objc/objc-act.cc:7903
+#: objc/objc-act.cc:7906
 #, gcc-internal-format
 msgid "%<@synthesize%> is not available in Objective-C 1.0"
 msgstr ""
@@ -85093,22 +87802,22 @@ msgstr ""
 #. detects the problem while parsing, outputs the error
 #. "misplaced '@synthesize' Objective-C++ construct" and skips
 #. the declaration.
-#: objc/objc-act.cc:7914
+#: objc/objc-act.cc:7917
 #, gcc-internal-format
 msgid "%<@synthesize%> not in @implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:7920
+#: objc/objc-act.cc:7923
 #, gcc-internal-format
 msgid "%<@synthesize%> cannot be used in categories"
 msgstr ""
 
-#: objc/objc-act.cc:7929
+#: objc/objc-act.cc:7932
 #, gcc-internal-format
 msgid "%<@synthesize%> requires the @interface of the class to be available"
 msgstr ""
 
-#: objc/objc-act.cc:8012
+#: objc/objc-act.cc:8015
 #, gcc-internal-format
 msgid "%<@dynamic%> is not available in Objective-C 1.0"
 msgstr ""
@@ -85117,22 +87826,22 @@ msgstr ""
 #. detects the problem while parsing, outputs the error
 #. "misplaced '@dynamic' Objective-C++ construct" and skips the
 #. declaration.
-#: objc/objc-act.cc:8023
+#: objc/objc-act.cc:8026
 #, gcc-internal-format
 msgid "%<@dynamic%> not in @implementation context"
 msgstr ""
 
-#: objc/objc-act.cc:8045
+#: objc/objc-act.cc:8048
 #, gcc-internal-format
 msgid "%<@dynamic%> requires the @interface of the class to be available"
 msgstr ""
 
-#: objc/objc-act.cc:8245
+#: objc/objc-act.cc:8248
 #, gcc-internal-format
 msgid "definition of protocol %qE not found"
 msgstr ""
 
-#: objc/objc-act.cc:8272
+#: objc/objc-act.cc:8275
 #, gcc-internal-format
 msgid "protocol %qE is unavailable"
 msgstr ""
@@ -85140,47 +87849,47 @@ msgstr ""
 #. It would be nice to use warn_deprecated_use() here, but
 #. we are using TREE_CHAIN (which is supposed to be the
 #. TYPE_STUB_DECL for a TYPE) for something different.
-#: objc/objc-act.cc:8278
+#: objc/objc-act.cc:8281
 #, gcc-internal-format
 msgid "protocol %qE is deprecated"
 msgstr ""
 
-#: objc/objc-act.cc:8405
+#: objc/objc-act.cc:8408
 #, gcc-internal-format
 msgid "duplicate declaration for protocol %qE"
 msgstr ""
 
-#: objc/objc-act.cc:8929
+#: objc/objc-act.cc:8932
 #, gcc-internal-format
 msgid "conflicting types for %<%c%s%>"
 msgstr ""
 
-#: objc/objc-act.cc:8933
+#: objc/objc-act.cc:8936
 #, gcc-internal-format
 msgid "previous declaration of %<%c%s%>"
 msgstr ""
 
-#: objc/objc-act.cc:9035
+#: objc/objc-act.cc:9038
 #, gcc-internal-format
 msgid "no super class declared in interface for %qE"
 msgstr ""
 
-#: objc/objc-act.cc:9062
+#: objc/objc-act.cc:9065
 #, gcc-internal-format
 msgid "%<[super ...]%> must appear in a method context"
 msgstr ""
 
-#: objc/objc-act.cc:9102
+#: objc/objc-act.cc:9105
 #, gcc-internal-format
 msgid "method possibly missing a [super dealloc] call"
 msgstr ""
 
-#: objc/objc-act.cc:9570
+#: objc/objc-act.cc:9573
 #, gcc-internal-format
 msgid "instance variable %qs is declared private"
 msgstr ""
 
-#: objc/objc-act.cc:9623
+#: objc/objc-act.cc:9626
 #, gcc-internal-format
 msgid "local declaration of %qE hides instance variable"
 msgstr ""
@@ -85188,22 +87897,22 @@ msgstr ""
 #. This can happen if DECL_ARTIFICIAL (*expr_p), but
 #. should be impossible for real properties, which always
 #. have a getter.
-#: objc/objc-act.cc:9667
+#: objc/objc-act.cc:9670
 #, gcc-internal-format
 msgid "no %qs getter found"
 msgstr ""
 
-#: objc/objc-act.cc:9914
+#: objc/objc-act.cc:9917
 #, gcc-internal-format
 msgid "fast enumeration is not available in Objective-C 1.0"
 msgstr ""
 
-#: objc/objc-act.cc:9924
+#: objc/objc-act.cc:9927
 #, gcc-internal-format
 msgid "iterating variable in fast enumeration is not an object"
 msgstr ""
 
-#: objc/objc-act.cc:9930
+#: objc/objc-act.cc:9933
 #, gcc-internal-format
 msgid "collection in fast enumeration is not an object"
 msgstr ""
@@ -85234,8 +87943,8 @@ msgstr ""
 msgid "%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>"
 msgstr ""
 
-#: objc/objc-gnu-runtime-abi-01.cc:2159 objc/objc-next-runtime-abi-01.cc:2819
-#: objc/objc-next-runtime-abi-02.cc:3822
+#: objc/objc-gnu-runtime-abi-01.cc:2162 objc/objc-next-runtime-abi-01.cc:2822
+#: objc/objc-next-runtime-abi-02.cc:3839
 #, gcc-internal-format
 msgid "non-objective-c type %qT cannot be caught"
 msgstr ""
@@ -85259,47 +87968,52 @@ msgstr ""
 msgid "creating selector for nonexistent method %qE"
 msgstr ""
 
-#: rust/rust-lang.cc:104
+#: rust/backend/rust-constexpr.cc:1676
 #, gcc-internal-format
-msgid "TODO"
+msgid "array size expression is not supported yet"
 msgstr ""
 
-#: rust/backend/rust-constexpr.cc:1673
+#: rust/backend/rust-constexpr.cc:1803
 #, gcc-internal-format
-msgid "array size expression is not supported yet"
+msgid "constant folding not supported for this tree code"
 msgstr ""
 
-#: rust/backend/rust-constexpr.cc:1800
+#: rust/backend/rust-constexpr.cc:2480
 #, gcc-internal-format
-msgid "constant folding not supported for this tree code"
+msgid "cast from %qT is not allowed"
+msgstr ""
+
+#: rust/backend/rust-constexpr.cc:2753
+#, gcc-internal-format
+msgid "modification of %qE is not a constant expression"
 msgstr ""
 
-#: rust/backend/rust-constexpr.cc:6169
+#: rust/backend/rust-constexpr.cc:6172
 #, gcc-internal-format
 msgid "%qD declared %<thread_local%> in %<constexpr%> context"
 msgstr ""
 
-#: rust/backend/rust-constexpr.cc:6178
+#: rust/backend/rust-constexpr.cc:6181
 #, gcc-internal-format
 msgid "%qD declared %<static%> in %<constexpr%> context"
 msgstr ""
 
-#: rust/backend/rust-tree.cc:618
+#: rust/backend/rust-tree.cc:616
 #, gcc-internal-format
 msgid "ignoring return value of %qD, that must be used: %<%s%>"
 msgstr ""
 
-#: rust/backend/rust-tree.cc:619
+#: rust/backend/rust-tree.cc:617
 #, gcc-internal-format
 msgid "ignoring return value of %qD, that must be used"
 msgstr ""
 
-#: rust/backend/rust-tree.cc:635
+#: rust/backend/rust-tree.cc:633
 #, gcc-internal-format
 msgid "ignoring returned value of type %qT, that must be used: %<%s%>"
 msgstr ""
 
-#: rust/backend/rust-tree.cc:636
+#: rust/backend/rust-tree.cc:634
 #, gcc-internal-format
 msgid "ignoring returned value of type %qT, that must be used"
 msgstr ""
@@ -85308,3 +88022,8 @@ msgstr ""
 #, gcc-internal-format
 msgid "unused name %qE"
 msgstr ""
+
+#: rust/resolve/rust-ast-resolve-expr.cc:167
+#, gcc-internal-format, gfc-internal-format
+msgid "are you trying to break %s? how dare you?"
+msgstr ""
diff --git a/libcpp/po/cpplib.pot b/libcpp/po/cpplib.pot
index 873bb763855eb0e6c4f8fe3c7cff6a5c1dc84f72..3f79239658a9be828347e0bafacda2a4494fac3e 100644
--- a/libcpp/po/cpplib.pot
+++ b/libcpp/po/cpplib.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"POT-Creation-Date: 2024-02-16 21:34+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,244 +17,271 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: charset.cc:683
+#: charset.cc:759
 #, c-format
 msgid "conversion from %s to %s not supported by iconv"
 msgstr ""
 
-#: charset.cc:686
+#: charset.cc:762
 msgid "iconv_open"
 msgstr ""
 
-#: charset.cc:696
+#: charset.cc:772
 #, c-format
 msgid "no iconv implementation, cannot convert from %s to %s"
 msgstr ""
 
-#: charset.cc:794
+#: charset.cc:870
 #, c-format
 msgid "character 0x%lx is not in the basic source character set\n"
 msgstr ""
 
-#: charset.cc:811
-#: charset.cc:2420
+#: charset.cc:887
+#: charset.cc:2574
 msgid "converting to execution character set"
 msgstr ""
 
-#: charset.cc:817
+#: charset.cc:893
 #, c-format
 msgid "character 0x%lx is not unibyte in execution character set"
 msgstr ""
 
-#: charset.cc:1437
+#: charset.cc:1549
 msgid "universal character names are only valid in C++ and C99"
 msgstr ""
 
-#: charset.cc:1441
+#: charset.cc:1553
 msgid "C99's universal character names are incompatible with C90"
 msgstr ""
 
-#: charset.cc:1444
+#: charset.cc:1556
 #, c-format
 msgid "the meaning of '\\%c' is different in traditional C"
 msgstr ""
 
-#: charset.cc:1483
+#: charset.cc:1595
 msgid "'\\N' not followed by '{'"
 msgstr ""
 
-#: charset.cc:1513
+#: charset.cc:1625
 msgid ""
 "empty named universal character escape sequence; treating it as separate "
 "tokens"
 msgstr ""
 
-#: charset.cc:1520
+#: charset.cc:1632
 msgid "empty named universal character escape sequence"
 msgstr ""
 
-#: charset.cc:1525
+#: charset.cc:1637
 msgid "named universal character escapes are only valid in C++23"
 msgstr ""
 
-#: charset.cc:1545
+#: charset.cc:1657
 #, c-format
 msgid ""
 "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1551
+#: charset.cc:1663
 #, c-format
 msgid "\\N{%.*s} is not a valid universal character"
 msgstr ""
 
-#: charset.cc:1561
+#: charset.cc:1673
 #, c-format
 msgid "did you mean \\N{%s}?"
 msgstr ""
 
-#: charset.cc:1579
+#: charset.cc:1691
 #, c-format
 msgid ""
 "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1588
+#: charset.cc:1700
 #, c-format
 msgid "'\\N{' not terminated with '}' after %.*s"
 msgstr ""
 
-#: charset.cc:1596
+#: charset.cc:1708
 msgid "In _cpp_valid_ucn but not a UCN"
 msgstr ""
 
-#: charset.cc:1638
+#: charset.cc:1750
 msgid "empty delimited escape sequence; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1645
-#: charset.cc:1978
-#: charset.cc:2081
+#: charset.cc:1757
+#: charset.cc:2124
+#: charset.cc:2227
 msgid "empty delimited escape sequence"
 msgstr ""
 
-#: charset.cc:1649
-#: charset.cc:1984
-#: charset.cc:2087
+#: charset.cc:1761
+#: charset.cc:2130
+#: charset.cc:2233
 msgid "delimited escape sequences are only valid in C++23"
 msgstr ""
 
-#: charset.cc:1663
+#: charset.cc:1775
 #, c-format
 msgid ""
 "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1675
+#: charset.cc:1787
 #, c-format
 msgid "incomplete universal character name %.*s"
 msgstr ""
 
-#: charset.cc:1679
+#: charset.cc:1791
 #, c-format
 msgid "'\\u{' not terminated with '}' after %.*s"
 msgstr ""
 
-#: charset.cc:1694
+#: charset.cc:1806
 #, c-format
 msgid "%.*s is not a valid universal character"
 msgstr ""
 
-#: charset.cc:1704
-#: lex.cc:2079
+#: charset.cc:1816
+#: lex.cc:2082
 msgid "'$' in identifier or number"
 msgstr ""
 
-#: charset.cc:1714
+#: charset.cc:1826
 #, c-format
 msgid "universal character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1718
+#: charset.cc:1830
 #, c-format
 msgid "universal character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:1725
+#: charset.cc:1837
 #, c-format
 msgid "%.*s is outside the UCS codespace"
 msgstr ""
 
-#: charset.cc:1769
-#: charset.cc:2797
+#: charset.cc:1881
+#: charset.cc:3037
 msgid "converting UCN to source character set"
 msgstr ""
 
-#: charset.cc:1776
+#: charset.cc:1888
 msgid "converting UCN to execution character set"
 msgstr ""
 
-#: charset.cc:1840
+#: charset.cc:1952
 #, c-format
 msgid "extended character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1857
+#: charset.cc:1969
 #, c-format
 msgid "extended character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:1945
+#: charset.cc:2091
 msgid "the meaning of '\\x' is different in traditional C"
 msgstr ""
 
-#: charset.cc:1992
+#: charset.cc:2138
 msgid "\\x used with no following hex digits"
 msgstr ""
 
-#: charset.cc:1998
+#: charset.cc:2144
 #, c-format
 msgid "'\\x{' not terminated with '}' after %.*s"
 msgstr ""
 
-#: charset.cc:2006
+#: charset.cc:2152
 msgid "hex escape sequence out of range"
 msgstr ""
 
-#: charset.cc:2049
+#: charset.cc:2195
 msgid "'\\o' not followed by '{'"
 msgstr ""
 
-#: charset.cc:2093
+#: charset.cc:2239
 #, c-format
 msgid "'\\o{' not terminated with '}' after %.*s"
 msgstr ""
 
-#: charset.cc:2102
+#: charset.cc:2248
 msgid "octal escape sequence out of range"
 msgstr ""
 
-#: charset.cc:2184
+#: charset.cc:2300
+#: charset.cc:2310
+#, c-format
+msgid "numeric escape sequence in unevaluated string: '\\%c'"
+msgstr ""
+
+#: charset.cc:2338
 msgid "the meaning of '\\a' is different in traditional C"
 msgstr ""
 
-#: charset.cc:2191
+#: charset.cc:2345
 #, c-format
 msgid "non-ISO-standard escape sequence, '\\%c'"
 msgstr ""
 
-#: charset.cc:2199
+#: charset.cc:2353
 #, c-format
 msgid "unknown escape sequence: '\\%c'"
 msgstr ""
 
-#: charset.cc:2209
+#: charset.cc:2363
 #, c-format
 msgid "unknown escape sequence: '\\%s'"
 msgstr ""
 
-#: charset.cc:2217
+#: charset.cc:2371
 msgid "converting escape sequence to execution character set"
 msgstr ""
 
-#: charset.cc:2357
+#: charset.cc:2511
 msgid "missing open quote"
 msgstr ""
 
-#: charset.cc:2575
-#: charset.cc:2658
-msgid "character constant too long for its type"
+#: charset.cc:2772
+msgid "character not encodable in a single execution character code unit"
 msgstr ""
 
-#: charset.cc:2578
+#: charset.cc:2777
+msgid ""
+"at least one character in a multi-character literal not encodable in a "
+"single execution character code unit"
+msgstr ""
+
+#: charset.cc:2795
+#, c-format
+msgid ""
+"multi-character literal with %ld characters exceeds 'int' size of %ld bytes"
+msgstr ""
+
+#: charset.cc:2799
+#: charset.cc:2894
+msgid "multi-character literal cannot have an encoding prefix"
+msgstr ""
+
+#: charset.cc:2802
+#: charset.cc:2897
+msgid "character not encodable in a single code unit"
+msgstr ""
+
+#: charset.cc:2806
 msgid "multi-character character constant"
 msgstr ""
 
-#: charset.cc:2698
+#: charset.cc:2938
 msgid "empty character constant"
 msgstr ""
 
-#: charset.cc:2882
+#: charset.cc:3122
 #, c-format
 msgid "failure to convert %s to %s"
 msgstr ""
@@ -271,18 +298,18 @@ msgid "#%s is a GCC extension"
 msgstr ""
 
 #: directives.cc:394
-#: directives.cc:2152
-#: directives.cc:2191
+#: directives.cc:2163
+#: directives.cc:2202
 #, c-format
 msgid "#%s before C++23 is a GCC extension"
 msgstr ""
 
 #: directives.cc:397
 #: directives.cc:401
-#: directives.cc:2156
-#: directives.cc:2195
+#: directives.cc:2167
+#: directives.cc:2206
 #, c-format
-msgid "#%s before C2X is a GCC extension"
+msgid "#%s before C23 is a GCC extension"
 msgstr ""
 
 #: directives.cc:407
@@ -341,211 +368,211 @@ msgstr ""
 msgid "macro names must be identifiers"
 msgstr ""
 
-#: directives.cc:694
-#: directives.cc:699
+#: directives.cc:698
+#: directives.cc:702
 #, c-format
 msgid "undefining \"%s\""
 msgstr ""
 
-#: directives.cc:756
+#: directives.cc:759
 msgid "missing terminating > character"
 msgstr ""
 
-#: directives.cc:815
+#: directives.cc:818
 #, c-format
 msgid "#%s expects \"FILENAME\" or <FILENAME>"
 msgstr ""
 
-#: directives.cc:861
+#: directives.cc:864
 #, c-format
 msgid "empty filename in #%s"
 msgstr ""
 
-#: directives.cc:870
+#: directives.cc:873
 #, c-format
 msgid ""
 "#include nested depth %u exceeds maximum of %u (use -fmax-include-"
 "depth=DEPTH to increase the maximum)"
 msgstr ""
 
-#: directives.cc:915
+#: directives.cc:918
 msgid "#include_next in primary source file"
 msgstr ""
 
-#: directives.cc:941
+#: directives.cc:944
 #, c-format
 msgid "invalid flag \"%s\" in line directive"
 msgstr ""
 
-#: directives.cc:1008
+#: directives.cc:1011
 msgid "unexpected end of file after #line"
 msgstr ""
 
-#: directives.cc:1011
+#: directives.cc:1014
 #, c-format
 msgid "\"%s\" after #line is not a positive integer"
 msgstr ""
 
-#: directives.cc:1017
-#: directives.cc:1019
+#: directives.cc:1020
+#: directives.cc:1022
 msgid "line number out of range"
 msgstr ""
 
-#: directives.cc:1032
-#: directives.cc:1113
+#: directives.cc:1035
+#: directives.cc:1116
 #, c-format
 msgid "\"%s\" is not a valid filename"
 msgstr ""
 
-#: directives.cc:1073
+#: directives.cc:1076
 #, c-format
 msgid "\"%s\" after # is not a positive integer"
 msgstr ""
 
-#: directives.cc:1140
+#: directives.cc:1143
 #, c-format
 msgid "file \"%s\" linemarker ignored due to incorrect nesting"
 msgstr ""
 
-#: directives.cc:1218
-#: directives.cc:1220
-#: directives.cc:1222
-#: directives.cc:1810
+#: directives.cc:1221
+#: directives.cc:1223
+#: directives.cc:1225
+#: directives.cc:1816
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: directives.cc:1246
+#: directives.cc:1249
 #, c-format
 msgid "invalid #%s directive"
 msgstr ""
 
-#: directives.cc:1309
+#: directives.cc:1312
 #, c-format
 msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
 msgstr ""
 
-#: directives.cc:1318
+#: directives.cc:1321
 #, c-format
 msgid "registering pragma \"%s\" with name expansion and no namespace"
 msgstr ""
 
-#: directives.cc:1336
+#: directives.cc:1339
 #, c-format
 msgid "registering \"%s\" as both a pragma and a pragma namespace"
 msgstr ""
 
-#: directives.cc:1339
+#: directives.cc:1342
 #, c-format
 msgid "#pragma %s %s is already registered"
 msgstr ""
 
-#: directives.cc:1342
+#: directives.cc:1345
 #, c-format
 msgid "#pragma %s is already registered"
 msgstr ""
 
-#: directives.cc:1372
+#: directives.cc:1375
 msgid "registering pragma with NULL handler"
 msgstr ""
 
-#: directives.cc:1589
+#: directives.cc:1592
 msgid "#pragma once in main file"
 msgstr ""
 
-#: directives.cc:1612
+#: directives.cc:1615
 msgid "invalid #pragma push_macro directive"
 msgstr ""
 
-#: directives.cc:1669
+#: directives.cc:1672
 msgid "invalid #pragma pop_macro directive"
 msgstr ""
 
-#: directives.cc:1724
+#: directives.cc:1727
 msgid "invalid #pragma GCC poison directive"
 msgstr ""
 
-#: directives.cc:1733
+#: directives.cc:1736
 #, c-format
 msgid "poisoning existing macro \"%s\""
 msgstr ""
 
-#: directives.cc:1752
+#: directives.cc:1758
 msgid "#pragma system_header ignored outside include file"
 msgstr ""
 
-#: directives.cc:1777
+#: directives.cc:1783
 #, c-format
 msgid "cannot find source file %s"
 msgstr ""
 
-#: directives.cc:1781
+#: directives.cc:1787
 #, c-format
 msgid "current file is older than %s"
 msgstr ""
 
-#: directives.cc:1805
+#: directives.cc:1811
 #, c-format
 msgid "invalid \"#pragma GCC %s\" directive"
 msgstr ""
 
-#: directives.cc:2008
+#: directives.cc:2019
 msgid "_Pragma takes a parenthesized string literal"
 msgstr ""
 
-#: directives.cc:2091
+#: directives.cc:2102
 msgid "#else without #if"
 msgstr ""
 
-#: directives.cc:2096
+#: directives.cc:2107
 msgid "#else after #else"
 msgstr ""
 
-#: directives.cc:2098
-#: directives.cc:2132
+#: directives.cc:2109
+#: directives.cc:2143
 msgid "the conditional began here"
 msgstr ""
 
-#: directives.cc:2124
+#: directives.cc:2135
 #, c-format
 msgid "#%s without #if"
 msgstr ""
 
-#: directives.cc:2129
+#: directives.cc:2140
 #, c-format
 msgid "#%s after #else"
 msgstr ""
 
-#: directives.cc:2231
+#: directives.cc:2242
 msgid "#endif without #if"
 msgstr ""
 
-#: directives.cc:2307
+#: directives.cc:2318
 msgid "missing '(' after predicate"
 msgstr ""
 
-#: directives.cc:2325
+#: directives.cc:2336
 msgid "missing ')' to complete answer"
 msgstr ""
 
-#: directives.cc:2337
+#: directives.cc:2348
 msgid "predicate's answer is empty"
 msgstr ""
 
-#: directives.cc:2367
+#: directives.cc:2378
 msgid "assertion without predicate"
 msgstr ""
 
-#: directives.cc:2370
+#: directives.cc:2381
 msgid "predicate must be an identifier"
 msgstr ""
 
-#: directives.cc:2452
+#: directives.cc:2463
 #, c-format
 msgid "\"%s\" re-asserted"
 msgstr ""
 
-#: directives.cc:2770
+#: directives.cc:2781
 #, c-format
 msgid "unterminated #%s"
 msgstr ""
@@ -560,251 +587,256 @@ msgstr ""
 msgid "stdout"
 msgstr ""
 
-#: expr.cc:646
-#: expr.cc:763
+#: expr.cc:667
+#: expr.cc:784
 msgid "fixed-point constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:671
+#: expr.cc:692
 msgid "invalid prefix \"0b\" for floating constant"
 msgstr ""
 
-#: expr.cc:684
+#: expr.cc:705
 msgid "use of C++17 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:687
+#: expr.cc:708
 msgid "use of C99 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:731
+#: expr.cc:752
 #, c-format
 msgid "invalid suffix \"%.*s\" on floating constant"
 msgstr ""
 
-#: expr.cc:742
-#: expr.cc:809
+#: expr.cc:763
+#: expr.cc:830
 #, c-format
 msgid "traditional C rejects the \"%.*s\" suffix"
 msgstr ""
 
-#: expr.cc:750
+#: expr.cc:771
 msgid "suffix for double constant is a GCC extension"
 msgstr ""
 
-#: expr.cc:756
+#: expr.cc:777
 #, c-format
 msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:769
-#: expr.cc:773
-msgid "decimal float constants are a C2X feature"
+#: expr.cc:790
+#: expr.cc:794
+msgid "decimal float constants are a C23 feature"
 msgstr ""
 
-#: expr.cc:792
+#: expr.cc:813
 #, c-format
 msgid "invalid suffix \"%.*s\" on integer constant"
 msgstr ""
 
-#: expr.cc:817
+#: expr.cc:838
 msgid "use of C++11 long long integer constant"
 msgstr ""
 
-#: expr.cc:818
+#: expr.cc:839
 msgid "use of C99 long long integer constant"
 msgstr ""
 
-#: expr.cc:832
+#: expr.cc:853
 msgid "use of C++23 %<size_t%> integer constant"
 msgstr ""
 
-#: expr.cc:833
+#: expr.cc:854
 msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
 msgstr ""
 
-#: expr.cc:844
+#: expr.cc:864
+#: expr.cc:875
+msgid "ISO C does not support literal %<wb%> suffixes before C23"
+msgstr ""
+
+#: expr.cc:888
 msgid "imaginary constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:851
+#: expr.cc:895
 msgid "binary constants are a C++14 feature or GCC extension"
 msgstr ""
 
-#: expr.cc:853
-msgid "binary constants are a C2X feature or GCC extension"
+#: expr.cc:897
+msgid "binary constants are a C23 feature or GCC extension"
 msgstr ""
 
-#: expr.cc:858
-msgid "binary constants are a C2X feature"
+#: expr.cc:902
+msgid "binary constants are a C23 feature"
 msgstr ""
 
-#: expr.cc:954
+#: expr.cc:998
 msgid "integer constant is too large for its type"
 msgstr ""
 
-#: expr.cc:985
+#: expr.cc:1029
 msgid "integer constant is so large that it is unsigned"
 msgstr ""
 
-#: expr.cc:1080
+#: expr.cc:1124
 msgid "missing ')' after \"defined\""
 msgstr ""
 
-#: expr.cc:1087
+#: expr.cc:1131
 msgid "operator \"defined\" requires an identifier"
 msgstr ""
 
-#: expr.cc:1095
+#: expr.cc:1139
 #, c-format
 msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
 msgstr ""
 
-#: expr.cc:1108
+#: expr.cc:1152
 msgid "this use of \"defined\" may not be portable"
 msgstr ""
 
-#: expr.cc:1153
+#: expr.cc:1197
 msgid "user-defined literal in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1158
+#: expr.cc:1202
 msgid "floating constant in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1164
+#: expr.cc:1208
 msgid "imaginary number in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1213
+#: expr.cc:1257
 #, c-format
 msgid "\"%s\" is not defined, evaluates to 0"
 msgstr ""
 
-#: expr.cc:1226
+#: expr.cc:1270
 msgid "assertions are a GCC extension"
 msgstr ""
 
-#: expr.cc:1229
+#: expr.cc:1273
 msgid "assertions are a deprecated extension"
 msgstr ""
 
-#: expr.cc:1479
+#: expr.cc:1523
 #, c-format
 msgid "unbalanced stack in %s"
 msgstr ""
 
-#: expr.cc:1499
+#: expr.cc:1543
 #, c-format
 msgid "impossible operator '%u'"
 msgstr ""
 
-#: expr.cc:1600
+#: expr.cc:1644
 msgid "missing ')' in expression"
 msgstr ""
 
-#: expr.cc:1629
+#: expr.cc:1673
 msgid "'?' without following ':'"
 msgstr ""
 
-#: expr.cc:1639
+#: expr.cc:1683
 msgid "integer overflow in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1644
+#: expr.cc:1688
 msgid "missing '(' in expression"
 msgstr ""
 
-#: expr.cc:1676
+#: expr.cc:1720
 #, c-format
 msgid "the left operand of \"%s\" changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1681
+#: expr.cc:1725
 #, c-format
 msgid "the right operand of \"%s\" changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1940
+#: expr.cc:1984
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: expr.cc:2038
+#: expr.cc:2082
 msgid "comma operator in operand of #if"
 msgstr ""
 
-#: expr.cc:2174
+#: expr.cc:2218
 msgid "division by zero in #if"
 msgstr ""
 
-#: files.cc:516
+#: files.cc:520
 msgid "NULL directory in find_file"
 msgstr ""
 
-#: files.cc:570
+#: files.cc:583
 msgid "one or more PCH files were found, but they were invalid"
 msgstr ""
 
-#: files.cc:574
+#: files.cc:587
 msgid "use -Winvalid-pch for more information"
 msgstr ""
 
-#: files.cc:688
+#: files.cc:703
 #, c-format
 msgid "%s is a block device"
 msgstr ""
 
-#: files.cc:707
+#: files.cc:722
 #, c-format
 msgid "%s is too large"
 msgstr ""
 
-#: files.cc:748
+#: files.cc:763
 #, c-format
 msgid "%s is shorter than expected"
 msgstr ""
 
-#: files.cc:1060
+#: files.cc:1075
 #, c-format
 msgid "no include path in which to search for %s"
 msgstr ""
 
-#: files.cc:1578
+#: files.cc:1598
 msgid "Multiple include guards may be useful for:\n"
 msgstr ""
 
-#: init.cc:631
+#: init.cc:638
 msgid "cppchar_t must be an unsigned type"
 msgstr ""
 
-#: init.cc:635
+#: init.cc:642
 #, c-format
 msgid ""
 "preprocessor arithmetic has maximum precision of %lu bits; target requires "
 "%lu bits"
 msgstr ""
 
-#: init.cc:642
+#: init.cc:649
 msgid "CPP arithmetic must be at least as precise as a target int"
 msgstr ""
 
-#: init.cc:645
+#: init.cc:652
 msgid "target char is less than 8 bits wide"
 msgstr ""
 
-#: init.cc:649
+#: init.cc:656
 msgid "target wchar_t is narrower than target char"
 msgstr ""
 
-#: init.cc:653
+#: init.cc:660
 msgid "target int is narrower than target char"
 msgstr ""
 
-#: init.cc:658
+#: init.cc:665
 msgid "CPP half-integer narrower than CPP character"
 msgstr ""
 
-#: init.cc:662
+#: init.cc:669
 #, c-format
 msgid ""
 "CPP on this host cannot handle wide character constants over %lu bits, but "
@@ -904,128 +936,127 @@ msgstr ""
 msgid "`%.*s' is not in NFC"
 msgstr ""
 
-#: lex.cc:2141
+#: lex.cc:2144
 msgid "__VA_OPT__ is not available until C++20"
 msgstr ""
 
-#: lex.cc:2144
-msgid "__VA_OPT__ is not available until C2X"
+#: lex.cc:2147
+msgid "__VA_OPT__ is not available until C23"
 msgstr ""
 
-#: lex.cc:2152
+#: lex.cc:2155
 msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
 msgstr ""
 
-#: lex.cc:2183
-#: lex.cc:2279
+#: lex.cc:2172
 #, c-format
 msgid "attempt to use poisoned \"%s\""
 msgstr ""
 
-#: lex.cc:2193
-#: lex.cc:2289
+#: lex.cc:2177
+msgid "poisoned here"
+msgstr ""
+
+#: lex.cc:2187
 msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
 msgstr ""
 
-#: lex.cc:2197
-#: lex.cc:2293
+#: lex.cc:2191
 msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
 msgstr ""
 
-#: lex.cc:2207
-#: lex.cc:2305
+#: lex.cc:2203
 #, c-format
 msgid "identifier \"%s\" is a special operator name in C++"
 msgstr ""
 
-#: lex.cc:2345
+#: lex.cc:2372
 msgid "adjacent digit separators"
 msgstr ""
 
-#: lex.cc:2665
+#: lex.cc:2521
+msgid ""
+"invalid suffix on literal; C++11 requires a space between literal and string "
+"macro"
+msgstr ""
+
+#: lex.cc:2729
 msgid "raw string delimiter longer than 16 characters"
 msgstr ""
 
-#: lex.cc:2669
+#: lex.cc:2733
 msgid "invalid new-line in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2673
-#: lex.cc:5519
+#: lex.cc:2737
+#: lex.cc:5576
 #, c-format
 msgid "invalid character '%c' in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2711
-#: lex.cc:2734
+#: lex.cc:2775
+#: lex.cc:2798
 msgid "unterminated raw string"
 msgstr ""
 
-#: lex.cc:2770
-#: lex.cc:2922
-msgid ""
-"invalid suffix on literal; C++11 requires a space between literal and string "
-"macro"
-msgstr ""
-
-#: lex.cc:2905
+#: lex.cc:2955
 msgid "null character(s) preserved in literal"
 msgstr ""
 
-#: lex.cc:2908
+#: lex.cc:2958
 #, c-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: lex.cc:2940
+#: lex.cc:2991
 msgid "C++11 requires a space between string literal and macro"
 msgstr ""
 
-#: lex.cc:3533
+#: lex.cc:3584
 msgid "module control-line cannot be in included file"
 msgstr ""
 
-#: lex.cc:3547
+#: lex.cc:3598
 #, c-format
 msgid "module control-line \"%s\" cannot be an object-like macro"
 msgstr ""
 
-#: lex.cc:3949
-#: lex.cc:5352
+#: lex.cc:4004
+#: lex.cc:5409
 #: traditional.cc:174
 msgid "unterminated comment"
 msgstr ""
 
-#: lex.cc:3963
-#: lex.cc:3997
+#: lex.cc:4018
+#: lex.cc:4052
 msgid "C++ style comments are not allowed in ISO C90"
 msgstr ""
 
-#: lex.cc:3965
-#: lex.cc:3976
-#: lex.cc:4000
+#: lex.cc:4020
+#: lex.cc:4031
+#: lex.cc:4055
 msgid "(this will be reported only once per input file)"
 msgstr ""
 
-#: lex.cc:3974
+#: lex.cc:4029
 msgid "C++ style comments are incompatible with C90"
 msgstr ""
 
-#: lex.cc:4006
+#: lex.cc:4061
 msgid "multi-line comment"
 msgstr ""
 
-#: lex.cc:4427
+#: lex.cc:4484
 #, c-format
 msgid "unspellable token %s"
 msgstr ""
 
-#: lex.cc:5507
+#: lex.cc:5564
 #, c-format
 msgid "raw string delimiter longer than %d characters"
 msgstr ""
 
-#: lex.cc:5577
+#: lex.cc:5634
 msgid "unterminated literal"
 msgstr ""
 
@@ -1071,7 +1102,7 @@ msgid "macro \"%s\" is not used"
 msgstr ""
 
 #: macro.cc:498
-#: macro.cc:797
+#: macro.cc:803
 #, c-format
 msgid "invalid built-in macro \"%s\""
 msgstr ""
@@ -1094,139 +1125,139 @@ msgstr ""
 msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
 msgstr ""
 
-#: macro.cc:916
+#: macro.cc:922
 msgid "invalid string literal, ignoring final '\\'"
 msgstr ""
 
-#: macro.cc:980
+#: macro.cc:986
 #, c-format
 msgid "pasting \"%.*s\" and \"%.*s\" does not give a valid preprocessing token"
 msgstr ""
 
-#: macro.cc:1112
+#: macro.cc:1118
 msgid ""
 "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
 msgstr ""
 
-#: macro.cc:1116
+#: macro.cc:1122
 msgid ""
 "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
 msgstr ""
 
-#: macro.cc:1123
+#: macro.cc:1129
 #, c-format
 msgid "macro \"%s\" requires %u arguments, but only %u given"
 msgstr ""
 
-#: macro.cc:1128
+#: macro.cc:1134
 #, c-format
 msgid "macro \"%s\" passed %u arguments, but takes just %u"
 msgstr ""
 
-#: macro.cc:1132
+#: macro.cc:1138
 #, c-format
 msgid "macro \"%s\" defined here"
 msgstr ""
 
-#: macro.cc:1326
+#: macro.cc:1332
 #: traditional.cc:822
 #, c-format
 msgid "unterminated argument list invoking macro \"%s\""
 msgstr ""
 
-#: macro.cc:1472
+#: macro.cc:1478
 #, c-format
 msgid "function-like macro \"%s\" must be used with arguments in traditional C"
 msgstr ""
 
-#: macro.cc:2307
+#: macro.cc:2313
 #, c-format
 msgid ""
 "invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"
 "+98"
 msgstr ""
 
-#: macro.cc:2315
-#: macro.cc:2324
+#: macro.cc:2321
+#: macro.cc:2330
 #, c-format
 msgid ""
 "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
 msgstr ""
 
-#: macro.cc:3375
+#: macro.cc:3381
 #, c-format
 msgid "duplicate macro parameter \"%s\""
 msgstr ""
 
-#: macro.cc:3457
+#: macro.cc:3463
 #, c-format
 msgid "expected parameter name, found \"%s\""
 msgstr ""
 
-#: macro.cc:3458
+#: macro.cc:3464
 #, c-format
 msgid "expected ',' or ')', found \"%s\""
 msgstr ""
 
-#: macro.cc:3459
+#: macro.cc:3465
 msgid "expected parameter name before end of line"
 msgstr ""
 
-#: macro.cc:3460
+#: macro.cc:3466
 msgid "expected ')' before end of line"
 msgstr ""
 
-#: macro.cc:3461
+#: macro.cc:3467
 msgid "expected ')' after \"...\""
 msgstr ""
 
-#: macro.cc:3518
+#: macro.cc:3524
 msgid "anonymous variadic macros were introduced in C++11"
 msgstr ""
 
-#: macro.cc:3519
-#: macro.cc:3523
+#: macro.cc:3525
+#: macro.cc:3529
 msgid "anonymous variadic macros were introduced in C99"
 msgstr ""
 
-#: macro.cc:3529
+#: macro.cc:3535
 msgid "ISO C++ does not permit named variadic macros"
 msgstr ""
 
-#: macro.cc:3530
+#: macro.cc:3536
 msgid "ISO C does not permit named variadic macros"
 msgstr ""
 
-#: macro.cc:3576
+#: macro.cc:3582
 msgid "'##' cannot appear at either end of a macro expansion"
 msgstr ""
 
-#: macro.cc:3614
+#: macro.cc:3620
 msgid "ISO C++11 requires whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3615
+#: macro.cc:3621
 msgid "ISO C99 requires whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3639
+#: macro.cc:3645
 msgid "missing whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3692
+#: macro.cc:3698
 msgid "'#' is not followed by a macro parameter"
 msgstr ""
 
-#: macro.cc:3848
+#: macro.cc:3862
 #, c-format
 msgid "\"%s\" redefined"
 msgstr ""
 
-#: macro.cc:3853
+#: macro.cc:3867
 msgid "this is the location of the previous definition"
 msgstr ""
 
-#: macro.cc:3990
+#: macro.cc:4004
 #, c-format
 msgid "macro argument \"%s\" would be stringified in traditional C"
 msgstr ""
@@ -1267,7 +1298,7 @@ msgid "%s: not used because `__COUNTER__' is invalid"
 msgstr ""
 
 #: pch.cc:720
-#: pch.cc:876
+#: pch.cc:883
 msgid "while reading precompiled header"
 msgstr ""