]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Regenerate .pot files
authorJoseph Myers <josmyers@redhat.com>
Fri, 14 Feb 2025 23:15:18 +0000 (23:15 +0000)
committerJoseph Myers <josmyers@redhat.com>
Fri, 14 Feb 2025 23:16:11 +0000 (23:16 +0000)
gcc/po/
* gcc.pot: Regenerate.

libcpp/po/
* cpplib.pot: Regenerate.

gcc/po/gcc.pot
libcpp/po/cpplib.pot

index 9305797524feac2004af748096e6311ac75d87ae..79688299ff5eafe903cdca7406b04ebacdf5dac5 100644 (file)
@@ -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: 2024-05-02 19:42+0000\n"
+"POT-Creation-Date: 2025-02-14 22:51+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,47 +241,47 @@ msgstr ""
 msgid "error"
 msgstr ""
 
-#: gcc.cc:852 gcc.cc:909
+#: gcc.cc:856 gcc.cc:913
 msgid "-gz is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:858
+#: gcc.cc:862
 msgid "-gz=zstd is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1092
+#: gcc.cc:1096
 msgid "-fuse-linker-plugin is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1108
+#: gcc.cc:1112
 msgid "cannot specify -static with -fsanitize=address"
 msgstr ""
 
-#: gcc.cc:1110
+#: gcc.cc:1114
 msgid "cannot specify -static with -fsanitize=hwaddress"
 msgstr ""
 
-#: gcc.cc:1112
+#: gcc.cc:1116
 msgid "cannot specify -static with -fsanitize=thread"
 msgstr ""
 
-#: gcc.cc:1134
+#: gcc.cc:1138
 msgid "-fvtable-verify=std is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1136
+#: gcc.cc:1140
 msgid "-fvtable-verify=preinit is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1279 ada/gcc-interface/lang-specs.h:37
+#: gcc.cc:1283 ada/gcc-interface/lang-specs.h:37
 msgid "-pg and -fomit-frame-pointer are incompatible"
 msgstr ""
 
-#: gcc.cc:1454
+#: gcc.cc:1458
 msgid "GNU C no longer supports -traditional without -E"
 msgstr ""
 
-#: gcc.cc:1463
+#: gcc.cc:1467
 msgid "-E or -x required when input is from standard input"
 msgstr ""
 
@@ -329,11 +329,11 @@ msgstr ""
 msgid "-force_flat_namespace not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:213 config/darwin.h:659
+#: config/darwin.h:213 config/darwin.h:663
 msgid "gsplit-dwarf is not supported on this platform"
 msgstr ""
 
-#: config/darwin.h:282
+#: config/darwin.h:284
 msgid "rdynamic is not supported"
 msgstr ""
 
@@ -350,11 +350,11 @@ msgstr ""
 msgid "cannot use mshared and static together"
 msgstr ""
 
-#: config/sol2.h:349 config/sol2.h:354
+#: config/sol2.h:335 config/sol2.h:340
 msgid "does not support multilib"
 msgstr ""
 
-#: config/sol2.h:448
+#: config/sol2.h:433
 msgid "-pie is not supported in this configuration"
 msgstr ""
 
@@ -367,7 +367,7 @@ msgstr ""
 msgid "consider using `-pg' instead of `-p' with gprof (1)"
 msgstr ""
 
-#: config/arc/arc.h:68 config/mips/mips.h:1507
+#: config/arc/arc.h:68 config/mips/mips.h:1511
 msgid "may not use both -EB and -EL"
 msgstr ""
 
@@ -384,7 +384,7 @@ msgid "do not specify both -march=... and -mcpu=..."
 msgstr ""
 
 #: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:129
-#: config/i386/mingw-w64.h:123 config/i386/mingw32.h:167
+#: config/i386/mingw-w64.h:125 config/mingw/mingw32.h:174
 msgid "shared and mdll are not compatible"
 msgstr ""
 
@@ -424,10 +424,6 @@ msgstr ""
 msgid "-mdata-region requires the large memory model (-mlarge)"
 msgstr ""
 
-#: config/nios2/elf.h:44
-msgid "You need a C startup file for -msys-crt0="
-msgstr ""
-
 #: config/pa/pa-hpux11.h:134 config/pa/pa-hpux11.h:137 config/pa/pa64-hpux.h:29
 #: config/pa/pa64-hpux.h:32 config/pa/pa64-hpux.h:41 config/pa/pa64-hpux.h:44
 msgid "warning: consider linking with '-static' as system libraries with"
@@ -446,7 +442,7 @@ msgstr ""
 msgid "consider using `-pg' instead of `-p' with gprof(1)"
 msgstr ""
 
-#: config/rs6000/rs6000.h:168
+#: config/rs6000/rs6000.h:164
 msgid "Missing -mcpu option in ASM_CPU_SPEC?"
 msgstr ""
 
@@ -476,7 +472,7 @@ msgstr ""
 
 #: config/sparc/linux64.h:156 config/sparc/linux64.h:162
 #: config/sparc/netbsd-elf.h:103 config/sparc/netbsd-elf.h:112
-#: config/sparc/sol2.h:237 config/sparc/sol2.h:243
+#: config/sparc/sol2.h:240 config/sparc/sol2.h:246
 msgid "may not use both -m32 and -m64"
 msgstr ""
 
@@ -543,11 +539,11 @@ msgstr ""
 msgid "Warn about creation of array temporaries."
 msgstr ""
 
-#: fortran/lang.opt:214 fortran/lang.opt:539 c-family/c.opt:1598
-#: config/alpha/alpha.opt:31 common.opt:691 common.opt:837 common.opt:1085
-#: common.opt:1089 common.opt:1093 common.opt:1097 common.opt:1825
-#: common.opt:1928 common.opt:2105 common.opt:2109 common.opt:2388
-#: common.opt:2610 common.opt:3377
+#: fortran/lang.opt:214 fortran/lang.opt:543 c-family/c.opt:1691
+#: config/alpha/alpha.opt:31 common.opt:691 common.opt:841 common.opt:1092
+#: common.opt:1096 common.opt:1100 common.opt:1104 common.opt:1856
+#: common.opt:1959 common.opt:2136 common.opt:2140 common.opt:2451
+#: common.opt:2673 common.opt:3440
 #, no-c-format
 msgid "Does nothing. Preserved for backward compatibility."
 msgstr ""
@@ -739,510 +735,527 @@ msgid ""
 "use BLAS."
 msgstr ""
 
-#: fortran/lang.opt:425
+#: fortran/lang.opt:429
 #, no-c-format
 msgid ""
 "Produce a warning at runtime if a array temporary has been created for a "
 "procedure argument."
 msgstr ""
 
-#: fortran/lang.opt:429
+#: fortran/lang.opt:433
 #, 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:454
+#: fortran/lang.opt:458
 #, no-c-format
 msgid "Use the Cray Pointer extension."
 msgstr ""
 
-#: fortran/lang.opt:458
+#: fortran/lang.opt:462
 #, no-c-format
 msgid "Generate C prototypes from BIND(C) declarations."
 msgstr ""
 
-#: fortran/lang.opt:462
+#: fortran/lang.opt:466
 #, no-c-format
 msgid "Generate C prototypes from non-BIND(C) external procedure definitions."
 msgstr ""
 
-#: fortran/lang.opt:466
+#: fortran/lang.opt:470
 #, no-c-format
 msgid "Ignore 'D' in column one in fixed form."
 msgstr ""
 
-#: fortran/lang.opt:470
+#: fortran/lang.opt:474
 #, no-c-format
 msgid "Treat lines with 'D' in column one as comments."
 msgstr ""
 
-#: fortran/lang.opt:474
+#: fortran/lang.opt:478
 #, no-c-format
 msgid "Issue debug information for compiler-generated auxiliary variables."
 msgstr ""
 
-#: fortran/lang.opt:478
+#: fortran/lang.opt:482
 #, no-c-format
 msgid "Enable all DEC language extensions."
 msgstr ""
 
-#: fortran/lang.opt:482
+#: fortran/lang.opt:486
 #, no-c-format
 msgid "Enable the use of blank format items in format strings."
 msgstr ""
 
-#: fortran/lang.opt:486
+#: fortran/lang.opt:490
 #, no-c-format
 msgid ""
 "Enable the use of character literals in assignments and data statements for "
 "non-character variables."
 msgstr ""
 
-#: fortran/lang.opt:491
+#: fortran/lang.opt:495
 #, no-c-format
 msgid "Enable legacy parsing of INCLUDE as statement."
 msgstr ""
 
-#: fortran/lang.opt:495
+#: fortran/lang.opt:499
 #, no-c-format
 msgid "Enable default widths for i, f and g format specifiers."
 msgstr ""
 
-#: fortran/lang.opt:499
+#: fortran/lang.opt:503
 #, no-c-format
 msgid "Enable kind-specific variants of integer intrinsic functions."
 msgstr ""
 
-#: fortran/lang.opt:503
+#: fortran/lang.opt:507
 #, no-c-format
 msgid "Enable legacy math intrinsics for compatibility."
 msgstr ""
 
-#: fortran/lang.opt:507
+#: fortran/lang.opt:511
 #, no-c-format
 msgid "Enable support for DEC STRUCTURE/RECORD."
 msgstr ""
 
-#: fortran/lang.opt:511
+#: fortran/lang.opt:515
 #, no-c-format
 msgid "Enable DEC-style STATIC and AUTOMATIC attributes."
 msgstr ""
 
-#: fortran/lang.opt:515
+#: fortran/lang.opt:519
 #, no-c-format
 msgid "Set the default double precision kind to an 8 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:519
+#: fortran/lang.opt:523
 #, no-c-format
 msgid "Set the default integer 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 8 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:527
+#: fortran/lang.opt:531
 #, no-c-format
 msgid "Set the default real kind to an 10 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:531
+#: fortran/lang.opt:535
 #, no-c-format
 msgid "Set the default real kind to an 16 byte wide type."
 msgstr ""
 
-#: fortran/lang.opt:535
+#: fortran/lang.opt:539
 #, no-c-format
 msgid "Allow dollar signs in entity names."
 msgstr ""
 
-#: fortran/lang.opt:543
+#: fortran/lang.opt:547
 #, no-c-format
 msgid "Display the code tree after parsing."
 msgstr ""
 
-#: fortran/lang.opt:547
+#: fortran/lang.opt:551
 #, no-c-format
 msgid "Display the code tree after front end optimization."
 msgstr ""
 
-#: fortran/lang.opt:551
+#: fortran/lang.opt:555
 #, no-c-format
 msgid "Display the global symbol table after parsing."
 msgstr ""
 
-#: fortran/lang.opt:555
+#: fortran/lang.opt:559
 #, no-c-format
 msgid "Display the code tree after parsing; deprecated option."
 msgstr ""
 
-#: fortran/lang.opt:559
+#: fortran/lang.opt:563
 #, no-c-format
 msgid ""
 "Specify that an external BLAS library should be used for matmul calls on "
 "large-size arrays."
 msgstr ""
 
-#: fortran/lang.opt:563
+#: fortran/lang.opt:567
 #, no-c-format
 msgid "Use f2c calling convention."
 msgstr ""
 
-#: fortran/lang.opt:567
+#: fortran/lang.opt:571
 #, no-c-format
 msgid "Assume that the source file is fixed form."
 msgstr ""
 
-#: fortran/lang.opt:571
+#: fortran/lang.opt:575
 #, no-c-format
 msgid "Force creation of temporary to test infrequently-executed forall code."
 msgstr ""
 
-#: fortran/lang.opt:575
+#: fortran/lang.opt:579
 #, no-c-format
 msgid "Interpret any INTEGER(4) as an INTEGER(8)."
 msgstr ""
 
-#: fortran/lang.opt:579 fortran/lang.opt:583
+#: fortran/lang.opt:583 fortran/lang.opt:587
 #, no-c-format
 msgid "Specify where to find the compiled intrinsic modules."
 msgstr ""
 
-#: fortran/lang.opt:587
+#: fortran/lang.opt:591
 #, no-c-format
 msgid "Allow arbitrary character line width in fixed mode."
 msgstr ""
 
-#: fortran/lang.opt:591
+#: fortran/lang.opt:595
 #, no-c-format
 msgid "-ffixed-line-length-<n>\tUse n as character line width in fixed mode."
 msgstr ""
 
-#: fortran/lang.opt:595
+#: fortran/lang.opt:599
 #, no-c-format
 msgid "Pad shorter fixed form lines to line width with spaces."
 msgstr ""
 
-#: fortran/lang.opt:599
+#: fortran/lang.opt:603
 #, no-c-format
 msgid "-ffpe-trap=[...]\tStop on following floating point exceptions."
 msgstr ""
 
-#: fortran/lang.opt:603
+#: fortran/lang.opt:607
 #, no-c-format
 msgid "-ffpe-summary=[...]\tPrint summary of floating point exceptions."
 msgstr ""
 
-#: fortran/lang.opt:607
+#: fortran/lang.opt:611
 #, no-c-format
 msgid "Assume that the source file is free form."
 msgstr ""
 
-#: fortran/lang.opt:611
+#: fortran/lang.opt:615
 #, no-c-format
 msgid "Allow arbitrary character line width in free mode."
 msgstr ""
 
-#: fortran/lang.opt:615
+#: fortran/lang.opt:619
 #, no-c-format
 msgid "-ffree-line-length-<n>\tUse n as character line width in free mode."
 msgstr ""
 
-#: fortran/lang.opt:619
+#: fortran/lang.opt:623
 #, no-c-format
 msgid "Try to interchange loops if profitable."
 msgstr ""
 
-#: fortran/lang.opt:623
+#: fortran/lang.opt:627
 #, no-c-format
 msgid "Enable front end optimization."
 msgstr ""
 
-#: fortran/lang.opt:627
+#: fortran/lang.opt:631
 #, no-c-format
 msgid ""
 "Specify that no implicit typing is allowed, unless overridden by explicit "
 "IMPLICIT statements."
 msgstr ""
 
-#: fortran/lang.opt:631
+#: fortran/lang.opt:635
 #, no-c-format
 msgid ""
 "-finit-character=<n>\tInitialize local character variables to ASCII value n."
 msgstr ""
 
-#: fortran/lang.opt:635
+#: fortran/lang.opt:639
 #, no-c-format
 msgid ""
 "Initialize components of derived type variables according to other init "
 "flags."
 msgstr ""
 
-#: fortran/lang.opt:639
+#: fortran/lang.opt:643
 #, no-c-format
 msgid "-finit-integer=<n>\tInitialize local integer variables to n."
 msgstr ""
 
-#: fortran/lang.opt:643
+#: fortran/lang.opt:647
 #, no-c-format
 msgid "Initialize local variables to zero (from g77)."
 msgstr ""
 
-#: fortran/lang.opt:647
+#: fortran/lang.opt:651
 #, no-c-format
 msgid "-finit-logical=<true|false>\tInitialize local logical variables."
 msgstr ""
 
-#: fortran/lang.opt:651
+#: fortran/lang.opt:655
 #, no-c-format
 msgid "-finit-real=<zero|snan|nan|inf|-inf>\tInitialize local real variables."
 msgstr ""
 
-#: fortran/lang.opt:673
+#: fortran/lang.opt:677
 #, no-c-format
 msgid "-finline-arg-packing\tPerform argument packing inline."
 msgstr ""
 
-#: fortran/lang.opt:677
+#: fortran/lang.opt:687
+#, no-c-format
+msgid ""
+"Enable generation of inline code instead of calls to functions from the "
+"library to implement intrinsics."
+msgstr ""
+
+#: fortran/lang.opt:708
 #, 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:681
+#: fortran/lang.opt:712
 #, no-c-format
 msgid ""
 "-fmax-array-constructor=<n>\tMaximum number of objects in an array "
 "constructor."
 msgstr ""
 
-#: fortran/lang.opt:685
+#: fortran/lang.opt:716
 #, no-c-format
 msgid "-fmax-identifier-length=<n>\tMaximum identifier length."
 msgstr ""
 
-#: fortran/lang.opt:689
+#: fortran/lang.opt:720
 #, no-c-format
 msgid "-fmax-subrecord-length=<n>\tMaximum length for subrecords."
 msgstr ""
 
-#: fortran/lang.opt:693
+#: fortran/lang.opt:724
 #, 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:697
+#: fortran/lang.opt:728
 #, no-c-format
 msgid "Put all local arrays on stack."
 msgstr ""
 
-#: fortran/lang.opt:701
+#: fortran/lang.opt:732
 #, no-c-format
 msgid "Set default accessibility of module entities to PRIVATE."
 msgstr ""
 
-#: fortran/lang.opt:721
+#: fortran/lang.opt:752
 #, no-c-format
 msgid "Handle OpenMP allocators for allocatables and pointers."
 msgstr ""
 
-#: fortran/lang.opt:725
+#: fortran/lang.opt:756
 #, no-c-format
 msgid "Try to lay out derived types as compactly as possible."
 msgstr ""
 
-#: fortran/lang.opt:733
+#: fortran/lang.opt:764
 #, no-c-format
 msgid "Protect parentheses in expressions."
 msgstr ""
 
-#: fortran/lang.opt:737
+#: fortran/lang.opt:768
 #, no-c-format
 msgid ""
 "Path to header file that should be pre-included before each compilation unit."
 msgstr ""
 
-#: fortran/lang.opt:741
+#: fortran/lang.opt:772
 #, no-c-format
 msgid "Enable range checking during compilation."
 msgstr ""
 
-#: fortran/lang.opt:745
+#: fortran/lang.opt:776
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(8)."
 msgstr ""
 
-#: fortran/lang.opt:749
+#: fortran/lang.opt:780
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(10)."
 msgstr ""
 
-#: fortran/lang.opt:753
+#: fortran/lang.opt:784
 #, no-c-format
 msgid "Interpret any REAL(4) as a REAL(16)."
 msgstr ""
 
-#: fortran/lang.opt:757
+#: fortran/lang.opt:788
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(4)."
 msgstr ""
 
-#: fortran/lang.opt:761
+#: fortran/lang.opt:792
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(10)."
 msgstr ""
 
-#: fortran/lang.opt:765
+#: fortran/lang.opt:796
 #, no-c-format
 msgid "Interpret any REAL(8) as a REAL(16)."
 msgstr ""
 
-#: fortran/lang.opt:769
+#: fortran/lang.opt:800
 #, no-c-format
 msgid "Reallocate the LHS in assignments."
 msgstr ""
 
-#: fortran/lang.opt:773
+#: fortran/lang.opt:804
 #, no-c-format
 msgid "Use a 4-byte record marker for unformatted files."
 msgstr ""
 
-#: fortran/lang.opt:777
+#: fortran/lang.opt:808
 #, no-c-format
 msgid "Use an 8-byte record marker for unformatted files."
 msgstr ""
 
-#: fortran/lang.opt:781
+#: fortran/lang.opt:812
 #, no-c-format
 msgid "Allocate local variables on the stack to allow indirect recursion."
 msgstr ""
 
-#: fortran/lang.opt:785
+#: fortran/lang.opt:816
 #, no-c-format
 msgid "Copy array sections into a contiguous block on procedure entry."
 msgstr ""
 
-#: fortran/lang.opt:789
+#: fortran/lang.opt:820
+#, no-c-format
+msgid "Experimental unsigned numbers."
+msgstr ""
+
+#: fortran/lang.opt:824
 #, no-c-format
 msgid ""
 "-fcoarray=<none|single|lib>\tSpecify which coarray parallelization should be "
 "used."
 msgstr ""
 
-#: fortran/lang.opt:805
+#: fortran/lang.opt:840
 #, no-c-format
 msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed."
 msgstr ""
 
-#: fortran/lang.opt:809
+#: fortran/lang.opt:844
 #, no-c-format
 msgid "Append a second underscore if the name already contains an underscore."
 msgstr ""
 
-#: fortran/lang.opt:817
+#: fortran/lang.opt:852
 #, no-c-format
 msgid "Apply negative sign to zero values."
 msgstr ""
 
-#: fortran/lang.opt:824
+#: fortran/lang.opt:859
 #, no-c-format
 msgid ""
 "Disallow tail call optimization when a calling routine may have omitted "
 "character lengths."
 msgstr ""
 
-#: fortran/lang.opt:828
+#: fortran/lang.opt:863
 #, no-c-format
 msgid "Append underscores to externally visible names."
 msgstr ""
 
-#: fortran/lang.opt:832 c-family/c.opt:1733 c-family/c.opt:1810
-#: c-family/c.opt:1818 c-family/c.opt:2149 config/xtensa/xtensa.opt:42
+#: fortran/lang.opt:867 c-family/c.opt:1830 c-family/c.opt:1907
+#: c-family/c.opt:1915 c-family/c.opt:2246 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:649 common.opt:1183 common.opt:1187 common.opt:1191
-#: common.opt:1286 common.opt:1615 common.opt:1697 common.opt:2057
-#: common.opt:2200 common.opt:2243 common.opt:2688 common.opt:2724
-#: common.opt:2817 common.opt:2821 common.opt:2930 common.opt:3065
-#: common.opt:3073 common.opt:3081 common.opt:3089 common.opt:3190
-#: common.opt:3250 common.opt:3338 common.opt:3502 common.opt:3506
-#: common.opt:3510 common.opt:3514 common.opt:3584 common.opt:3588
-#: common.opt:3619 common.opt:3623
+#: config/arc/arc.opt:405 common.opt:649 common.opt:1190 common.opt:1194
+#: common.opt:1198 common.opt:1293 common.opt:1638 common.opt:1720
+#: common.opt:1819 common.opt:2088 common.opt:2231 common.opt:2285
+#: common.opt:2751 common.opt:2787 common.opt:2880 common.opt:2884
+#: common.opt:2993 common.opt:3128 common.opt:3136 common.opt:3144
+#: common.opt:3152 common.opt:3253 common.opt:3313 common.opt:3401
+#: common.opt:3581 common.opt:3585 common.opt:3589 common.opt:3593
+#: common.opt:3667 common.opt:3671 common.opt:3702 common.opt:3706
 #, no-c-format
 msgid "Does nothing.  Preserved for backward compatibility."
 msgstr ""
 
-#: fortran/lang.opt:872
+#: fortran/lang.opt:907
 #, no-c-format
 msgid "Statically link the GNU Fortran helper library (libgfortran)."
 msgstr ""
 
-#: fortran/lang.opt:876
+#: fortran/lang.opt:911
 #, no-c-format
 msgid "Statically link the GCC Quad-Precision Math Library (libquadmath)."
 msgstr ""
 
-#: fortran/lang.opt:880
+#: fortran/lang.opt:915
 #, no-c-format
 msgid "Conform to the ISO Fortran 2003 standard."
 msgstr ""
 
-#: fortran/lang.opt:884
+#: fortran/lang.opt:919
 #, no-c-format
 msgid "Conform to the ISO Fortran 2008 standard."
 msgstr ""
 
-#: fortran/lang.opt:888
+#: fortran/lang.opt:923
 #, no-c-format
 msgid "Conform to the ISO Fortran 2008 standard including TS 29113."
 msgstr ""
 
-#: fortran/lang.opt:892
+#: fortran/lang.opt:927
 #, no-c-format
 msgid "Conform to the ISO Fortran 2018 standard."
 msgstr ""
 
-#: fortran/lang.opt:896
+#: fortran/lang.opt:931
 #, no-c-format
 msgid "Conform to the ISO Fortran 2023 standard."
 msgstr ""
 
-#: fortran/lang.opt:900
+#: fortran/lang.opt:935
+#, no-c-format
+msgid "Enable experimental Fortran 202y features."
+msgstr ""
+
+#: fortran/lang.opt:939
 #, no-c-format
 msgid "Conform to the ISO Fortran 95 standard."
 msgstr ""
 
-#: fortran/lang.opt:904
+#: fortran/lang.opt:943
 #, no-c-format
 msgid "Conform to nothing in particular."
 msgstr ""
 
-#: fortran/lang.opt:908
+#: fortran/lang.opt:947
 #, no-c-format
 msgid "Accept extensions to support legacy code."
 msgstr ""
 
-#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1469 c-family/c.opt:1473
+#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1562 c-family/c.opt:1566
 #, no-c-format
 msgid "Warn when a const variable is unused."
 msgstr ""
 
-#: rust/lang.opt:55 c-family/c.opt:1485
+#: rust/lang.opt:55 c-family/c.opt:1578
 #, 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 c-family/c.opt:854 common.opt:660
+#: rust/lang.opt:59 c-family/c.opt:892 common.opt:660
 #, no-c-format
 msgid "Warn for infinitely recursive calls."
 msgstr ""
@@ -1334,1379 +1347,1444 @@ msgstr ""
 msgid "Use the WIP borrow checker."
 msgstr ""
 
-#: c-family/c.opt:182
+#: c-family/c.opt:71
+#, no-c-format
+msgid "--embed-dir=<dir>\tAdd <dir> to the #embed path."
+msgstr ""
+
+#: c-family/c.opt:192
 #, no-c-format
 msgid ""
 "-A<question>=<answer>\tAssert the <answer> to <question>.  Putting '-' "
 "before <question> disables the <answer> to <question>."
 msgstr ""
 
-#: c-family/c.opt:186
+#: c-family/c.opt:196
 #, no-c-format
 msgid "Do not discard comments."
 msgstr ""
 
-#: c-family/c.opt:190
+#: c-family/c.opt:200
 #, no-c-format
 msgid "Do not discard comments in macro expansions."
 msgstr ""
 
-#: c-family/c.opt:194
+#: c-family/c.opt:204
 #, no-c-format
 msgid ""
 "-D<macro>[=<val>]\tDefine a <macro> with <val> as its value.  If just "
 "<macro> is given, <val> is taken to be 1."
 msgstr ""
 
-#: c-family/c.opt:201
+#: c-family/c.opt:211
 #, no-c-format
 msgid "-F <dir>\tAdd <dir> to the end of the main framework include path."
 msgstr ""
 
-#: c-family/c.opt:205
+#: c-family/c.opt:215
 #, no-c-format
 msgid "Enable parsing GIMPLE."
 msgstr ""
 
-#: c-family/c.opt:209
+#: c-family/c.opt:219
 #, no-c-format
 msgid "Print the name of header files as they are used."
 msgstr ""
 
-#: c-family/c.opt:213
+#: c-family/c.opt:223
 #, no-c-format
 msgid "-I <dir>\tAdd <dir> to the end of the main include path."
 msgstr ""
 
-#: c-family/c.opt:217
+#: c-family/c.opt:227
 #, no-c-format
 msgid "Generate make dependencies."
 msgstr ""
 
-#: c-family/c.opt:221
+#: c-family/c.opt:231
 #, no-c-format
 msgid "Generate make dependencies and compile."
 msgstr ""
 
-#: c-family/c.opt:225
+#: c-family/c.opt:235
 #, no-c-format
 msgid "-MF <file>\tWrite dependency output to the given file."
 msgstr ""
 
-#: c-family/c.opt:229
+#: c-family/c.opt:239
 #, no-c-format
 msgid "Treat missing header files as generated files."
 msgstr ""
 
-#: c-family/c.opt:233
+#: c-family/c.opt:243
 #, no-c-format
 msgid "Like -M but ignore system header files."
 msgstr ""
 
-#: c-family/c.opt:237
+#: c-family/c.opt:247
 #, no-c-format
 msgid "Like -MD but ignore system header files."
 msgstr ""
 
-#: c-family/c.opt:241
+#: c-family/c.opt:251
 #, no-c-format
 msgid "Generate C++ Module dependency information."
 msgstr ""
 
-#: c-family/c.opt:249
+#: c-family/c.opt:259
 #, no-c-format
 msgid "Generate phony targets for all headers."
 msgstr ""
 
-#: c-family/c.opt:253
+#: c-family/c.opt:263
 #, no-c-format
 msgid "-MQ <target>\tAdd a target that may require quoting."
 msgstr ""
 
-#: c-family/c.opt:257
+#: c-family/c.opt:267
 #, no-c-format
 msgid "-MT <target>\tAdd a target that does not require quoting."
 msgstr ""
 
-#: c-family/c.opt:261
+#: c-family/c.opt:271
 #, no-c-format
 msgid ""
 "Structured format for output dependency information.  Supported "
 "(\"p1689r5\")."
 msgstr ""
 
-#: c-family/c.opt:265
+#: c-family/c.opt:275
 #, no-c-format
 msgid "File for output dependency information."
 msgstr ""
 
-#: c-family/c.opt:269
+#: c-family/c.opt:279
 #, no-c-format
 msgid "-fdeps-target=obj.o Output file for the compile step."
 msgstr ""
 
-#: c-family/c.opt:273
+#: c-family/c.opt:283
 #, no-c-format
 msgid "Do not generate #line directives."
 msgstr ""
 
-#: c-family/c.opt:277
+#: c-family/c.opt:287
 #, no-c-format
 msgid "-U<macro>\tUndefine <macro>."
 msgstr ""
 
-#: c-family/c.opt:281
+#: c-family/c.opt:291
 #, no-c-format
 msgid "Warn if the NSObject attribute is applied to a non-typedef."
 msgstr ""
 
-#: c-family/c.opt:285
+#: c-family/c.opt:295
 #, no-c-format
 msgid ""
 "Warn about things that will change when compiling with an ABI-compliant "
 "compiler."
 msgstr ""
 
-#: c-family/c.opt:289
+#: c-family/c.opt:299
 #, no-c-format
 msgid ""
 "Warn about things that change between the current -fabi-version and the "
 "specified version."
 msgstr ""
 
-#: c-family/c.opt:293
+#: c-family/c.opt:303
 #, 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:300
+#: c-family/c.opt:310
 #, no-c-format
 msgid ""
 "Warn on suspicious calls of standard functions computing absolute values."
 msgstr ""
 
-#: c-family/c.opt:304
+#: c-family/c.opt:314
 #, no-c-format
 msgid "Warn about suspicious uses of memory addresses."
 msgstr ""
 
-#: c-family/c.opt:308
+#: c-family/c.opt:318
 #, no-c-format
 msgid "Warn when the address of packed member of struct or union is taken."
 msgstr ""
 
-#: c-family/c.opt:324
+#: c-family/c.opt:334
 #, no-c-format
 msgid "Warn about 'new' of type with extended alignment without -faligned-new."
 msgstr ""
 
-#: c-family/c.opt:328
+#: c-family/c.opt:338
 #, no-c-format
 msgid ""
 "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member "
 "allocation function."
 msgstr ""
 
-#: c-family/c.opt:332 ada/gcc-interface/lang.opt:57
+#: c-family/c.opt:342 ada/gcc-interface/lang.opt:57
 #, no-c-format
 msgid "Enable most warning messages."
 msgstr ""
 
-#: c-family/c.opt:336
+#: c-family/c.opt:346
 #, no-c-format
 msgid "Warn on any use of alloca."
 msgstr ""
 
-#: c-family/c.opt:340
+#: c-family/c.opt:350
 #, no-c-format
 msgid ""
 "Warn when allocating insufficient storage for the target type of the "
 "assigned pointer."
 msgstr ""
 
-#: c-family/c.opt:344
+#: c-family/c.opt:354
 #, 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:349
+#: c-family/c.opt:359
 #, 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:353
+#: c-family/c.opt:363
 #, no-c-format
 msgid "Warn for calls to allocation functions that specify zero bytes."
 msgstr ""
 
-#: c-family/c.opt:357
+#: c-family/c.opt:367
 #, 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:363
+#: c-family/c.opt:373
 #, no-c-format
 msgid ""
 "Disable Walloca-larger-than= warning.  Equivalent to Walloca-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:367
+#: c-family/c.opt:377
 #, 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
+#: c-family/c.opt:385
 #, no-c-format
 msgid "Warn about comparisons between two operands of array type."
 msgstr ""
 
-#: c-family/c.opt:379 c-family/c.opt:383
+#: c-family/c.opt:389 c-family/c.opt:393
 #, no-c-format
 msgid ""
 "Warn about mismatched declarations of array parameters and unsafe accesses "
 "to them."
 msgstr ""
 
-#: c-family/c.opt:387
+#: c-family/c.opt:397
 #, no-c-format
 msgid ""
 "Warn whenever an Objective-C assignment is being intercepted by the garbage "
 "collector."
 msgstr ""
 
-#: c-family/c.opt:391
+#: c-family/c.opt:401
 #, no-c-format
 msgid "Warn about casting functions to incompatible types."
 msgstr ""
 
-#: c-family/c.opt:399
+#: c-family/c.opt:409
 #, no-c-format
 msgid ""
 "-Wbidi-chars=[none|unpaired|any|ucn] Warn about UTF-8 bidirectional control "
 "characters."
 msgstr ""
 
-#: c-family/c.opt:422
+#: c-family/c.opt:432
 #, no-c-format
 msgid ""
 "Warn about boolean expression compared with an integer value different from "
 "true/false."
 msgstr ""
 
-#: c-family/c.opt:426
+#: c-family/c.opt:436
 #, no-c-format
 msgid "Warn about certain operations on boolean expressions."
 msgstr ""
 
-#: c-family/c.opt:430
+#: c-family/c.opt:440
 #, no-c-format
 msgid "Warn when a built-in function is declared with the wrong signature."
 msgstr ""
 
-#: c-family/c.opt:434
+#: c-family/c.opt:444
 #, no-c-format
 msgid "Warn when a built-in preprocessor macro is undefined or redefined."
 msgstr ""
 
-#: c-family/c.opt:438
+#: c-family/c.opt:448
 #, no-c-format
 msgid "Warn about features not present in ISO C11, but present in ISO C23."
 msgstr ""
 
-#: c-family/c.opt:442
+#: c-family/c.opt:452
 #, no-c-format
 msgid "Deprecated in favor of -Wc11-c23-compat."
 msgstr ""
 
-#: c-family/c.opt:446
+#: c-family/c.opt:456
+#, no-c-format
+msgid "Warn about features not present in ISO C23, but present in ISO C2Y."
+msgstr ""
+
+#: c-family/c.opt:460
 #, no-c-format
 msgid "Warn about features not present in ISO C90, but present in ISO C99."
 msgstr ""
 
-#: c-family/c.opt:450
+#: c-family/c.opt:464
 #, no-c-format
 msgid "Warn about features not present in ISO C99, but present in ISO C11."
 msgstr ""
 
-#: c-family/c.opt:454
+#: c-family/c.opt:468
 #, no-c-format
 msgid "Warn about C constructs that are not in the common subset of C and C++."
 msgstr ""
 
-#: c-family/c.opt:461
+#: c-family/c.opt:475
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO "
 "C++ 2011."
 msgstr ""
 
-#: c-family/c.opt:465
+#: c-family/c.opt:479
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO "
 "C++ 2014."
 msgstr ""
 
-#: c-family/c.opt:472
+#: c-family/c.opt:486
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO "
 "C++ 2017."
 msgstr ""
 
-#: c-family/c.opt:479
+#: c-family/c.opt:493
 #, no-c-format
 msgid ""
 "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO "
 "C++ 2020."
 msgstr ""
 
-#: c-family/c.opt:483
+#: c-family/c.opt:497
 #, no-c-format
 msgid "Warn about C++11 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:487
+#: c-family/c.opt:501
 #, no-c-format
 msgid "Warn about C++14 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:491
+#: c-family/c.opt:505
 #, no-c-format
 msgid "Warn about C++17 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:495
+#: c-family/c.opt:509
 #, no-c-format
 msgid "Warn about C++20 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:499
+#: c-family/c.opt:513
 #, no-c-format
 msgid "Warn about C++23 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:503
+#: c-family/c.opt:517
 #, no-c-format
 msgid "Warn about C++26 constructs in code compiled with an older standard."
 msgstr ""
 
-#: c-family/c.opt:507
+#: c-family/c.opt:521
 #, 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
+#: c-family/c.opt:525
 #, no-c-format
 msgid "Warn about casts between incompatible function types."
 msgstr ""
 
-#: c-family/c.opt:515
+#: c-family/c.opt:529
 #, no-c-format
 msgid "Warn about casts which discard qualifiers."
 msgstr ""
 
-#: c-family/c.opt:519
+#: c-family/c.opt:533
 #, no-c-format
 msgid ""
 "Warn about a cast to reference type that does not use a related user-defined "
 "conversion function."
 msgstr ""
 
-#: c-family/c.opt:523 c-family/c.opt:527
+#: c-family/c.opt:537 c-family/c.opt:541
 #, no-c-format
 msgid "Warn about catch handlers of non-reference type."
 msgstr ""
 
-#: c-family/c.opt:531
+#: c-family/c.opt:545
 #, 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:535
+#: c-family/c.opt:549
 #, no-c-format
 msgid "Warn about subscripts whose type is \"char\"."
 msgstr ""
 
-#: c-family/c.opt:539 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:1650 c-family/c.opt:1654 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 c-family/c.opt:1705 c-family/c.opt:1709
-#: config/i386/i386.opt:1022
+#: c-family/c.opt:553 c-family/c.opt:1727 c-family/c.opt:1731
+#: c-family/c.opt:1735 c-family/c.opt:1739 c-family/c.opt:1743
+#: c-family/c.opt:1747 c-family/c.opt:1751 c-family/c.opt:1758
+#: c-family/c.opt:1762 c-family/c.opt:1766 c-family/c.opt:1770
+#: c-family/c.opt:1774 c-family/c.opt:1778 c-family/c.opt:1782
+#: c-family/c.opt:1786 c-family/c.opt:1790 c-family/c.opt:1794
+#: c-family/c.opt:1798 c-family/c.opt:1802 c-family/c.opt:1806
+#: config/i386/i386.opt:1005
 #, no-c-format
 msgid "Removed in GCC 9.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:543
+#: c-family/c.opt:557
 #, 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:547
+#: c-family/c.opt:561
 #, no-c-format
 msgid "Warn for unsafe raw memory writes to objects of class types."
 msgstr ""
 
-#: c-family/c.opt:551
+#: c-family/c.opt:565
 #, no-c-format
 msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"."
 msgstr ""
 
-#: c-family/c.opt:555
+#: c-family/c.opt:569
 #, no-c-format
 msgid "Warn about uses of a comma operator within a subscripting expression."
 msgstr ""
 
-#: c-family/c.opt:559
+#: c-family/c.opt:573
 #, no-c-format
 msgid ""
 "Warn about possibly nested block comments, and C++ comments spanning more "
 "than one physical line."
 msgstr ""
 
-#: c-family/c.opt:563
+#: c-family/c.opt:577
 #, no-c-format
 msgid "Synonym for -Wcomment."
 msgstr ""
 
-#: c-family/c.opt:567
+#: c-family/c.opt:581
 #, no-c-format
 msgid "Warn for conditionally-supported constructs."
 msgstr ""
 
-#: c-family/c.opt:571
+#: c-family/c.opt:585
 #, no-c-format
 msgid "Warn for implicit type conversions that may change a value."
 msgstr ""
 
-#: c-family/c.opt:575
+#: c-family/c.opt:589
 #, no-c-format
 msgid "Warn for converting NULL from/to a non-pointer type."
 msgstr ""
 
-#: c-family/c.opt:583
+#: c-family/c.opt:597
 #, no-c-format
 msgid ""
 "Warn when performing class template argument deduction on a type with no "
 "deduction guides."
 msgstr ""
 
-#: c-family/c.opt:588
+#: c-family/c.opt:602
 #, no-c-format
 msgid "Warn when all constructors and destructors are private."
 msgstr ""
 
-#: c-family/c.opt:592
+#: c-family/c.opt:606
 #, no-c-format
 msgid "Warn about dangling else."
 msgstr ""
 
-#: c-family/c.opt:596 c-family/c.opt:600
+#: c-family/c.opt:610 c-family/c.opt:614
 #, no-c-format
 msgid "Warn for uses of pointers to auto variables whose lifetime has ended."
 msgstr ""
 
-#: c-family/c.opt:604
+#: c-family/c.opt:618
 #, no-c-format
 msgid "Warn when a reference is bound to a temporary whose lifetime has ended."
 msgstr ""
 
-#: c-family/c.opt:608
+#: c-family/c.opt:622
 #, no-c-format
 msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage."
 msgstr ""
 
-#: c-family/c.opt:612
+#: c-family/c.opt:626
 #, no-c-format
 msgid "Warn when a declaration is found after a statement."
 msgstr ""
 
-#: c-family/c.opt:616
+#: c-family/c.opt:630
 #, no-c-format
 msgid "Warn for missing parameter types in function declarations."
 msgstr ""
 
-#: c-family/c.opt:620
+#: c-family/c.opt:634
+#, no-c-format
+msgid "Warn when an explicitly defaulted function is deleted."
+msgstr ""
+
+#: c-family/c.opt:638
 #, no-c-format
 msgid "Warn when deleting a pointer to incomplete type."
 msgstr ""
 
-#: c-family/c.opt:624
+#: c-family/c.opt:642
 #, no-c-format
 msgid "Warn about deleting polymorphic objects with non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:632
+#: c-family/c.opt:650
 #, 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:637
+#: c-family/c.opt:655
 #, 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:642
+#: c-family/c.opt:660
 #, no-c-format
 msgid ""
 "Warn about deprecated arithmetic conversions on operands of enumeration "
 "types."
 msgstr ""
 
-#: c-family/c.opt:646
+#: c-family/c.opt:664
 #, 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:651
+#: c-family/c.opt:669
+#, no-c-format
+msgid ""
+"Warn about deprecated space between  and suffix in a user-defined literal "
+"operator."
+msgstr ""
+
+#: c-family/c.opt:673
+#, no-c-format
+msgid ""
+"Warn about calls with arguments to functions declared without parameters."
+msgstr ""
+
+#: c-family/c.opt:677
+#, no-c-format
+msgid ""
+"Warn about deprecated omission of comma before ... in varargs function "
+"declaration."
+msgstr ""
+
+#: c-family/c.opt:681
 #, no-c-format
 msgid ""
 "Warn about positional initialization of structs requiring designated "
 "initializers."
 msgstr ""
 
-#: c-family/c.opt:655
+#: c-family/c.opt:685
 #, no-c-format
 msgid "Warn if qualifiers on arrays which are pointer targets are discarded."
 msgstr ""
 
-#: c-family/c.opt:659
+#: c-family/c.opt:689
 #, no-c-format
 msgid "Warn if type qualifiers on pointers are discarded."
 msgstr ""
 
-#: c-family/c.opt:663
+#: c-family/c.opt:693
 #, no-c-format
 msgid "Warn about compile-time integer division by zero."
 msgstr ""
 
-#: c-family/c.opt:667
+#: c-family/c.opt:697
 #, no-c-format
 msgid "Warn about implicit conversions from \"float\" to \"double\"."
 msgstr ""
 
-#: c-family/c.opt:671
+#: c-family/c.opt:701
 #, no-c-format
 msgid ""
 "Warn when a declaration has duplicate const, volatile, restrict or _Atomic "
 "specifier."
 msgstr ""
 
-#: c-family/c.opt:675
+#: c-family/c.opt:705
 #, no-c-format
 msgid "Warn about duplicated branches in if-else statements."
 msgstr ""
 
-#: c-family/c.opt:679
+#: c-family/c.opt:709
 #, no-c-format
 msgid "Warn about duplicated conditions in an if-else-if chain."
 msgstr ""
 
-#: c-family/c.opt:683
+#: c-family/c.opt:713
 #, no-c-format
 msgid "Warn about violations of Effective C++ style rules."
 msgstr ""
 
-#: c-family/c.opt:687
+#: c-family/c.opt:717
 #, no-c-format
 msgid ""
 "Warn if an additional enum-base is used in an elaborated-type-specifier."
 msgstr ""
 
-#: c-family/c.opt:691
+#: c-family/c.opt:721
 #, no-c-format
 msgid "Warn about an empty body in an if or else statement."
 msgstr ""
 
-#: c-family/c.opt:695
+#: c-family/c.opt:725
 #, no-c-format
 msgid "Warn about stray tokens after #else and #endif."
 msgstr ""
 
-#: c-family/c.opt:699
+#: c-family/c.opt:729
 #, no-c-format
 msgid "Warn about comparison of different enum types."
 msgstr ""
 
-#: c-family/c.opt:703
+#: c-family/c.opt:733
 #, no-c-format
 msgid "Warn about implicit conversion of enum types."
 msgstr ""
 
-#: c-family/c.opt:707
+#: c-family/c.opt:737
 #, no-c-format
 msgid "Warn about enum/integer type mismatches."
 msgstr ""
 
-#: c-family/c.opt:715
+#: c-family/c.opt:745
 #, no-c-format
 msgid ""
 "This switch is deprecated; use -Werror=implicit-function-declaration instead."
 msgstr ""
 
-#: c-family/c.opt:719
+#: c-family/c.opt:749
 #, no-c-format
 msgid "Warn when an exception handler is shadowed by another handler."
 msgstr ""
 
-#: c-family/c.opt:723
+#: c-family/c.opt:753
 #, no-c-format
 msgid "Warn if \"defined\" is used outside #if."
 msgstr ""
 
-#: c-family/c.opt:731
+#: c-family/c.opt:761
 #, no-c-format
 msgid "Warn about semicolon after in-class function definition."
 msgstr ""
 
-#: c-family/c.opt:735
+#: c-family/c.opt:765
 #, 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:740
+#: c-family/c.opt:770
 #, no-c-format
 msgid ""
 "Warn for implicit type conversions that cause loss of floating point "
 "precision."
 msgstr ""
 
-#: c-family/c.opt:744
+#: c-family/c.opt:774
 #, no-c-format
 msgid "Warn if testing floating point numbers for equality."
 msgstr ""
 
-#: c-family/c.opt:748 c-family/c.opt:803
+#: c-family/c.opt:778 c-family/c.opt:833
 #, no-c-format
 msgid "Warn about printf/scanf/strftime/strfmon format string anomalies."
 msgstr ""
 
-#: c-family/c.opt:752
+#: c-family/c.opt:782
 #, no-c-format
 msgid "Warn about format strings that contain NUL bytes."
 msgstr ""
 
-#: c-family/c.opt:756
+#: c-family/c.opt:786
 #, no-c-format
 msgid "Warn about GCC format strings with strings unsuitable for diagnostics."
 msgstr ""
 
-#: c-family/c.opt:760
+#: c-family/c.opt:790
 #, no-c-format
 msgid "Warn if passing too many arguments to a function for its format string."
 msgstr ""
 
-#: c-family/c.opt:764
+#: c-family/c.opt:794
 #, no-c-format
 msgid "Warn about format strings that are not literals."
 msgstr ""
 
-#: c-family/c.opt:768
+#: c-family/c.opt:798
 #, 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:773
+#: c-family/c.opt:803
 #, 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:778
+#: c-family/c.opt:808
 #, no-c-format
 msgid "Warn about possible security problems with format functions."
 msgstr ""
 
-#: c-family/c.opt:782
+#: c-family/c.opt:812
 #, no-c-format
 msgid "Warn about sign differences with format functions."
 msgstr ""
 
-#: c-family/c.opt:786
+#: c-family/c.opt:816
 #, 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:791
+#: c-family/c.opt:821
 #, no-c-format
 msgid ""
 "Warn about calls to snprintf and similar functions that truncate output."
 msgstr ""
 
-#: c-family/c.opt:795
+#: c-family/c.opt:825
 #, no-c-format
 msgid "Warn about strftime formats yielding 2-digit years."
 msgstr ""
 
-#: c-family/c.opt:799
+#: c-family/c.opt:829
 #, no-c-format
 msgid "Warn about zero-length formats."
 msgstr ""
 
-#: c-family/c.opt:807
+#: c-family/c.opt:837
 #, no-c-format
 msgid ""
 "Warn when __builtin_frame_address or __builtin_return_address is used "
 "unsafely."
 msgstr ""
 
-#: c-family/c.opt:811
+#: c-family/c.opt:841
+#, no-c-format
+msgid ""
+"Warn about labels on declarations and at the end of compound statements."
+msgstr ""
+
+#: c-family/c.opt:845
 #, no-c-format
 msgid ""
 "Warn about the global module fragment not containing only preprocessing "
 "directives."
 msgstr ""
 
-#: c-family/c.opt:815
+#: c-family/c.opt:849
+#, no-c-format
+msgid ""
+"Warn when #ifndef of a header guard is followed by #define of a different "
+"macro with the header guard macro not defined at the end of header."
+msgstr ""
+
+#: c-family/c.opt:853
 #, no-c-format
 msgid "Warn when the field in a struct is not aligned."
 msgstr ""
 
-#: c-family/c.opt:819
+#: c-family/c.opt:857
 #, no-c-format
 msgid "Warn whenever type qualifiers are ignored."
 msgstr ""
 
-#: c-family/c.opt:823
+#: c-family/c.opt:861
 #, no-c-format
 msgid "Warn whenever attributes are ignored."
 msgstr ""
 
-#: c-family/c.opt:827
+#: c-family/c.opt:865
 #, no-c-format
 msgid "Warn about implicit declarations."
 msgstr ""
 
-#: c-family/c.opt:835
+#: c-family/c.opt:873
 #, no-c-format
 msgid "Warn about implicit function declarations."
 msgstr ""
 
-#: c-family/c.opt:839
+#: c-family/c.opt:877
 #, no-c-format
 msgid "Warn when a declaration does not specify a type."
 msgstr ""
 
-#: c-family/c.opt:846
+#: c-family/c.opt:884
 #, no-c-format
 msgid "Warn when a base is inaccessible in derived due to ambiguity."
 msgstr ""
 
-#: c-family/c.opt:850
+#: c-family/c.opt:888
 #, no-c-format
 msgid ""
 "Warn when there is a conversion between pointers that have incompatible "
 "types."
 msgstr ""
 
-#: c-family/c.opt:858
+#: c-family/c.opt:896
 #, no-c-format
 msgid "Warn about variables which are initialized to themselves."
 msgstr ""
 
-#: c-family/c.opt:862
+#: c-family/c.opt:900
 #, no-c-format
 msgid ""
 "Warn about uses of std::initializer_list that can result in dangling "
 "pointers."
 msgstr ""
 
-#: c-family/c.opt:866
+#: c-family/c.opt:904
 #, no-c-format
 msgid ""
 "Warn about nonsensical values of --param destructive-interference-size or "
 "constructive-interference-size."
 msgstr ""
 
-#: c-family/c.opt:871
+#: c-family/c.opt:909
 #, no-c-format
 msgid ""
 "Warn about C++11 inheriting constructors when the base has a variadic "
 "constructor."
 msgstr ""
 
-#: c-family/c.opt:875
+#: c-family/c.opt:913
 #, no-c-format
 msgid ""
 "Warn about incompatible integer to pointer and pointer to integer "
 "conversions."
 msgstr ""
 
-#: c-family/c.opt:879
+#: c-family/c.opt:917
 #, no-c-format
 msgid "Warn for suspicious integer expressions in boolean context."
 msgstr ""
 
-#: c-family/c.opt:883
+#: c-family/c.opt:921
 #, 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:887
+#: c-family/c.opt:925
 #, no-c-format
 msgid "Warn when a function never produces a constant expression."
 msgstr ""
 
-#: c-family/c.opt:891
+#: c-family/c.opt:929
 #, no-c-format
 msgid "Warn about invalid uses of the \"offsetof\" macro."
 msgstr ""
 
-#: c-family/c.opt:895
+#: c-family/c.opt:933
 #, no-c-format
 msgid "Warn about PCH files that are found but not used."
 msgstr ""
 
-#: c-family/c.opt:899
+#: c-family/c.opt:937
 #, no-c-format
 msgid "Warn about invalid UTF-8 characters."
 msgstr ""
 
-#: c-family/c.opt:903
+#: c-family/c.opt:941
 #, no-c-format
 msgid "Warn when a jump misses a variable initialization."
 msgstr ""
 
-#: c-family/c.opt:907
+#: c-family/c.opt:960
+#, no-c-format
+msgid ""
+"Warn about leading whitespace style issues on lines except when in raw "
+"string literals."
+msgstr ""
+
+#: c-family/c.opt:964
 #, 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:911
+#: c-family/c.opt:968
 #, no-c-format
 msgid ""
 "Warn when logical not is used on the left hand side operand of a comparison."
 msgstr ""
 
-#: c-family/c.opt:915
+#: c-family/c.opt:972
 #, no-c-format
 msgid ""
 "Warn when a logical operator is suspiciously always evaluating to true or "
 "false."
 msgstr ""
 
-#: c-family/c.opt:919
+#: c-family/c.opt:976
 #, no-c-format
 msgid "Do not warn about using \"long long\" when -pedantic."
 msgstr ""
 
-#: c-family/c.opt:923
+#: c-family/c.opt:980
 #, no-c-format
 msgid "Warn about suspicious declarations of \"main\"."
 msgstr ""
 
-#: c-family/c.opt:935
+#: c-family/c.opt:992
 #, no-c-format
 msgid ""
 "Warn about suspicious calls to memset where the third argument contains the "
 "number of elements not multiplied by the element size."
 msgstr ""
 
-#: c-family/c.opt:939
+#: c-family/c.opt:996
 #, no-c-format
 msgid ""
 "Warn about suspicious calls to memset where the third argument is constant "
 "literal zero and the second is not."
 msgstr ""
 
-#: c-family/c.opt:943
+#: c-family/c.opt:1000
 #, no-c-format
 msgid ""
 "Warn when the indentation of the code does not reflect the block structure."
 msgstr ""
 
-#: c-family/c.opt:947
+#: c-family/c.opt:1004
 #, no-c-format
 msgid ""
 "Warn for deallocation calls with arguments returned from mismatched "
 "allocation functions."
 msgstr ""
 
-#: c-family/c.opt:952
+#: c-family/c.opt:1009
 #, 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:957
+#: c-family/c.opt:1014
 #, no-c-format
 msgid ""
 "Warn when a class is redeclared or referenced using a mismatched class-key."
 msgstr ""
 
-#: c-family/c.opt:961
+#: c-family/c.opt:1018
 #, no-c-format
 msgid ""
 "Warn about declarations of entities that may be missing attributes that "
 "related entities have been declared with."
 msgstr ""
 
-#: c-family/c.opt:966
+#: c-family/c.opt:1023
 #, no-c-format
 msgid "Warn about possibly missing braces around initializers."
 msgstr ""
 
-#: c-family/c.opt:970
+#: c-family/c.opt:1027
 #, no-c-format
 msgid "Warn about global functions without previous declarations."
 msgstr ""
 
-#: c-family/c.opt:974
+#: c-family/c.opt:1031
 #, no-c-format
 msgid "Warn about missing fields in struct initializers."
 msgstr ""
 
-#: c-family/c.opt:982
+#: c-family/c.opt:1039
 #, no-c-format
 msgid "Warn about user-specified include directories that do not exist."
 msgstr ""
 
-#: c-family/c.opt:986
+#: c-family/c.opt:1043
+#, no-c-format
+msgid "Warn about function definitions omitting parameter names."
+msgstr ""
+
+#: c-family/c.opt:1047
 #, no-c-format
 msgid ""
 "Warn about function parameters declared without a type specifier in K&R-"
 "style functions."
 msgstr ""
 
-#: c-family/c.opt:990
+#: c-family/c.opt:1051
 #, no-c-format
 msgid "Warn about global functions without prototypes."
 msgstr ""
 
-#: c-family/c.opt:994
+#: c-family/c.opt:1055
 #, no-c-format
 msgid "Warn about likely missing requires keyword."
 msgstr ""
 
-#: c-family/c.opt:998
+#: c-family/c.opt:1059
 #, 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:1002
+#: c-family/c.opt:1063
 #, no-c-format
 msgid "Warn about global variables without previous declarations."
 msgstr ""
 
-#: c-family/c.opt:1009
+#: c-family/c.opt:1070
 #, no-c-format
 msgid "Warn about use of multi-character character constants."
 msgstr ""
 
-#: c-family/c.opt:1013
+#: c-family/c.opt:1074
 #, no-c-format
 msgid "Warn on direct multiple inheritance."
 msgstr ""
 
-#: c-family/c.opt:1017
+#: c-family/c.opt:1078
 #, 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:1021
+#: c-family/c.opt:1082
 #, no-c-format
 msgid "Warn on namespace definition."
 msgstr ""
 
-#: c-family/c.opt:1025
+#: c-family/c.opt:1086
 #, no-c-format
 msgid ""
 "Warn about narrowing conversions within { } that are ill-formed in C++11."
 msgstr ""
 
-#: c-family/c.opt:1029
+#: c-family/c.opt:1090
 #, no-c-format
 msgid "Warn about \"extern\" declarations not at file scope."
 msgstr ""
 
-#: c-family/c.opt:1033
+#: c-family/c.opt:1094
 #, 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:1037
+#: c-family/c.opt:1098
 #, no-c-format
 msgid ""
 "Warn if C++17 noexcept function type will change the mangled name of a "
 "symbol."
 msgstr ""
 
-#: c-family/c.opt:1041
+#: c-family/c.opt:1102
 #, no-c-format
 msgid ""
 "Warn when non-templatized friend functions are declared within a template."
 msgstr ""
 
-#: c-family/c.opt:1045
+#: c-family/c.opt:1106
 #, no-c-format
 msgid "Warn about non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:1049
+#: c-family/c.opt:1110
 #, no-c-format
 msgid ""
 "Warn about NULL being passed to argument slots marked as requiring non-NULL."
 msgstr ""
 
-#: c-family/c.opt:1065
+#: c-family/c.opt:1126
 #, no-c-format
 msgid ""
 "-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings."
 msgstr ""
 
-#: c-family/c.opt:1088
+#: c-family/c.opt:1149
 #, 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:1093
+#: c-family/c.opt:1154
 #, no-c-format
 msgid "Warn if a C-style cast is used in a program."
 msgstr ""
 
-#: c-family/c.opt:1097
+#: c-family/c.opt:1158
 #, no-c-format
 msgid "Warn for obsolescent usage in a declaration."
 msgstr ""
 
-#: c-family/c.opt:1101
+#: c-family/c.opt:1162
 #, no-c-format
 msgid "Warn if an old-style parameter definition is used."
 msgstr ""
 
-#: c-family/c.opt:1105
+#: c-family/c.opt:1166
 #, no-c-format
 msgid ""
 "Warn about potentially suboptimal choices related to OpenACC parallelism."
 msgstr ""
 
-#: c-family/c.opt:1109
+#: c-family/c.opt:1170
 #, no-c-format
 msgid "Warn about suspicious OpenMP code."
 msgstr ""
 
-#: c-family/c.opt:1113
+#: c-family/c.opt:1174
 #, no-c-format
 msgid "Warn if a simd directive is overridden by the vectorizer cost model."
 msgstr ""
 
-#: c-family/c.opt:1117
+#: c-family/c.opt:1178
 #, no-c-format
 msgid ""
 "Warn if a string is longer than the maximum portable length specified by the "
 "standard."
 msgstr ""
 
-#: c-family/c.opt:1121 c-family/c.opt:1125
+#: c-family/c.opt:1182 c-family/c.opt:1186
 #, no-c-format
 msgid "Warn about overloaded virtual function names."
 msgstr ""
 
-#: c-family/c.opt:1129
+#: c-family/c.opt:1190
 #, no-c-format
 msgid "Warn about overriding initializers without side effects."
 msgstr ""
 
-#: c-family/c.opt:1133
+#: c-family/c.opt:1194
 #, no-c-format
 msgid "Warn about overriding initializers with side effects."
 msgstr ""
 
-#: c-family/c.opt:1137
+#: c-family/c.opt:1198
 #, no-c-format
 msgid ""
 "Warn if the named return value optimization is not performed although it is "
 "allowed."
 msgstr ""
 
-#: c-family/c.opt:1141
+#: c-family/c.opt:1202
 #, no-c-format
 msgid "Warn about packed bit-fields whose offset changed in GCC 4.4."
 msgstr ""
 
-#: c-family/c.opt:1145
+#: c-family/c.opt:1206
 #, no-c-format
 msgid "Warn when fields in a struct with the packed attribute are misaligned."
 msgstr ""
 
-#: c-family/c.opt:1149
+#: c-family/c.opt:1210
 #, no-c-format
 msgid "Warn about possibly missing parentheses."
 msgstr ""
 
-#: c-family/c.opt:1157
+#: c-family/c.opt:1218
 #, 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:1161 c-family/c.opt:1165
+#: c-family/c.opt:1222 c-family/c.opt:1226
 #, no-c-format
 msgid "Warn for placement new expressions with undefined behavior."
 msgstr ""
 
-#: c-family/c.opt:1169
+#: c-family/c.opt:1230
 #, no-c-format
 msgid "Warn when converting the type of pointers to member functions."
 msgstr ""
 
-#: c-family/c.opt:1173
+#: c-family/c.opt:1234
 #, no-c-format
 msgid "Warn about function pointer arithmetic."
 msgstr ""
 
-#: c-family/c.opt:1177
+#: c-family/c.opt:1238
 #, no-c-format
 msgid "Warn when a pointer differs in signedness in an assignment."
 msgstr ""
 
-#: c-family/c.opt:1181
+#: c-family/c.opt:1242
 #, no-c-format
 msgid "Warn when a pointer is compared with a zero character constant."
 msgstr ""
 
-#: c-family/c.opt:1185
+#: c-family/c.opt:1246
 #, no-c-format
 msgid "Warn when a pointer is cast to an integer of a different size."
 msgstr ""
 
-#: c-family/c.opt:1189
+#: c-family/c.opt:1250
 #, no-c-format
 msgid "Warn about misuses of pragmas."
 msgstr ""
 
-#: c-family/c.opt:1193
+#: c-family/c.opt:1254
+#, no-c-format
+msgid "Warn about #pragma once outside of a header."
+msgstr ""
+
+#: c-family/c.opt:1258
 #, no-c-format
 msgid ""
 "Warn if constructor or destructors with priorities from 0 to 100 are used."
 msgstr ""
 
-#: c-family/c.opt:1197
+#: c-family/c.opt:1262
 #, no-c-format
 msgid ""
 "Warn if a property for an Objective-C object has no assign semantics "
 "specified."
 msgstr ""
 
-#: c-family/c.opt:1201
+#: c-family/c.opt:1266
 #, no-c-format
 msgid "Warn if inherited methods are unimplemented."
 msgstr ""
 
-#: c-family/c.opt:1205
+#: c-family/c.opt:1270
 #, no-c-format
 msgid "Warn when a range-based for-loop is creating unnecessary copies."
 msgstr ""
 
-#: c-family/c.opt:1209
+#: c-family/c.opt:1274
 #, no-c-format
 msgid "Warn about multiple declarations of the same object."
 msgstr ""
 
-#: c-family/c.opt:1213
+#: c-family/c.opt:1278
 #, no-c-format
 msgid "Warn about redundant calls to std::move."
 msgstr ""
 
-#: c-family/c.opt:1217
+#: c-family/c.opt:1282
 #, no-c-format
 msgid ""
 "Warn when a class or enumerated type is referenced using a redundant class-"
 "key."
 msgstr ""
 
-#: c-family/c.opt:1221
+#: c-family/c.opt:1286
 #, no-c-format
 msgid "Warn about uses of register storage specifier."
 msgstr ""
 
-#: c-family/c.opt:1225
+#: c-family/c.opt:1290
 #, no-c-format
 msgid "Warn when the compiler reorders code."
 msgstr ""
 
-#: c-family/c.opt:1229
+#: c-family/c.opt:1294
 #, no-c-format
 msgid ""
 "Warn when an argument passed to a restrict-qualified parameter aliases with "
 "another argument."
 msgstr ""
 
-#: c-family/c.opt:1234
+#: c-family/c.opt:1299
 #, 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:1238
+#: c-family/c.opt:1303
 #, 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:1242
+#: c-family/c.opt:1307
 #, no-c-format
 msgid "Warn on suspicious constructs involving reverse scalar storage order."
 msgstr ""
 
-#: c-family/c.opt:1246
+#: c-family/c.opt:1311
 #, no-c-format
 msgid "Warn if a selector has multiple methods."
 msgstr ""
 
-#: c-family/c.opt:1250
+#: c-family/c.opt:1315
 #, no-c-format
 msgid "Warn when a value is moved to itself with std::move."
 msgstr ""
 
-#: c-family/c.opt:1254
+#: c-family/c.opt:1319
 #, no-c-format
 msgid "Warn about possible violations of sequence point rules."
 msgstr ""
 
-#: c-family/c.opt:1258
+#: c-family/c.opt:1323
 #, no-c-format
 msgid "Warn if a local declaration hides an instance variable."
 msgstr ""
 
-#: c-family/c.opt:1262 c-family/c.opt:1266
+#: c-family/c.opt:1327 c-family/c.opt:1331
 #, no-c-format
 msgid "Warn if left shift of a signed value overflows."
 msgstr ""
 
-#: c-family/c.opt:1270
+#: c-family/c.opt:1335
 #, no-c-format
 msgid "Warn if shift count is negative."
 msgstr ""
 
-#: c-family/c.opt:1274
+#: c-family/c.opt:1339
 #, no-c-format
 msgid "Warn if shift count >= width of type."
 msgstr ""
 
-#: c-family/c.opt:1278
+#: c-family/c.opt:1343
 #, no-c-format
 msgid "Warn if left shifting a negative value."
 msgstr ""
 
-#: c-family/c.opt:1282
+#: c-family/c.opt:1347
 #, no-c-format
 msgid "Warn about signed-unsigned comparisons."
 msgstr ""
 
-#: c-family/c.opt:1290
+#: c-family/c.opt:1355
 #, no-c-format
 msgid ""
 "Warn for implicit type conversions between signed and unsigned integers."
 msgstr ""
 
-#: c-family/c.opt:1294
+#: c-family/c.opt:1359
 #, no-c-format
 msgid "Warn when overload promotes from unsigned to signed."
 msgstr ""
 
-#: c-family/c.opt:1298
+#: c-family/c.opt:1363
 #, no-c-format
 msgid "Warn about missing sized deallocation functions."
 msgstr ""
 
-#: c-family/c.opt:1302
+#: c-family/c.opt:1367
 #, no-c-format
 msgid ""
 "Warn about divisions of two sizeof operators when the first one is applied "
 "to an array and the divisor does not equal the size of the array element."
 msgstr ""
 
-#: c-family/c.opt:1307
+#: c-family/c.opt:1372
 #, no-c-format
 msgid "Warn when sizeof is applied on a parameter declared as an array."
 msgstr ""
 
-#: c-family/c.opt:1311
+#: c-family/c.opt:1376
 #, no-c-format
 msgid ""
 "Warn about suspicious divisions of two sizeof expressions that don't work "
 "correctly with pointers."
 msgstr ""
 
-#: c-family/c.opt:1315
+#: c-family/c.opt:1380
 #, no-c-format
 msgid ""
 "Warn about suspicious length parameters to certain string functions if the "
 "argument uses sizeof."
 msgstr ""
 
-#: c-family/c.opt:1323
+#: c-family/c.opt:1388
 #, no-c-format
 msgid ""
 "Warn about improper usages of flexible array members according to the level "
 "of -fstrict-flex-arrays."
 msgstr ""
 
-#: c-family/c.opt:1328
+#: c-family/c.opt:1393
 #, no-c-format
 msgid "Warn about uncasted NULL used as sentinel."
 msgstr ""
 
-#: c-family/c.opt:1336
+#: c-family/c.opt:1401
 #, no-c-format
 msgid "Warn about unprototyped function declarations."
 msgstr ""
 
-#: c-family/c.opt:1340
+#: c-family/c.opt:1405
 #, no-c-format
 msgid "Warn if type signatures of candidate methods do not match exactly."
 msgstr ""
 
-#: c-family/c.opt:1344
+#: c-family/c.opt:1409
 #, no-c-format
 msgid ""
 "Warn about calls to strcmp and strncmp used in equality expressions that are "
@@ -2714,197 +2792,223 @@ msgid ""
 "argument."
 msgstr ""
 
-#: c-family/c.opt:1350
+#: c-family/c.opt:1415
 #, no-c-format
 msgid ""
 "Warn about buffer overflow in string manipulation functions like memcpy and "
 "strcpy."
 msgstr ""
 
-#: c-family/c.opt:1355
+#: c-family/c.opt:1420
 #, 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:1360
+#: c-family/c.opt:1425
 #, 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:1364
+#: c-family/c.opt:1429
 #, no-c-format
 msgid ""
 "Warn about truncation in string manipulation functions like strncat and "
 "strncpy."
 msgstr ""
 
-#: c-family/c.opt:1368
+#: c-family/c.opt:1433
 #, 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:1372
+#: c-family/c.opt:1437
 #, no-c-format
 msgid "Warn about functions which might be candidates for format attributes."
 msgstr ""
 
-#: c-family/c.opt:1376
+#: c-family/c.opt:1441
 #, 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:1381
+#: c-family/c.opt:1446
 #, no-c-format
 msgid "Warn about enumerated switches, with no default, missing a case."
 msgstr ""
 
-#: c-family/c.opt:1385
+#: c-family/c.opt:1450
 #, no-c-format
 msgid "Warn about enumerated switches missing a \"default:\" statement."
 msgstr ""
 
-#: c-family/c.opt:1389
+#: c-family/c.opt:1454
 #, no-c-format
 msgid "Warn about all enumerated switches missing a specific case."
 msgstr ""
 
-#: c-family/c.opt:1393
+#: c-family/c.opt:1458
 #, no-c-format
 msgid "Warn about switches with boolean controlling expression."
 msgstr ""
 
-#: c-family/c.opt:1397
+#: c-family/c.opt:1462
 #, no-c-format
 msgid "Warn about switch values that are outside of the switch's type range."
 msgstr ""
 
-#: c-family/c.opt:1401
+#: c-family/c.opt:1466
 #, 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:1405
+#: c-family/c.opt:1470
 #, no-c-format
 msgid "Deprecated.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1413
+#: c-family/c.opt:1478
 #, no-c-format
 msgid "Warn on primary template declaration."
 msgstr ""
 
-#: c-family/c.opt:1417
+#: c-family/c.opt:1482
 #, no-c-format
-msgid "Warn if a comparison always evaluates to true or false."
+msgid "Diagnose errors when parsing a template."
 msgstr ""
 
-#: c-family/c.opt:1421
+#: c-family/c.opt:1486
 #, no-c-format
 msgid "Warn about simple-template-id in a constructor or destructor."
 msgstr ""
 
-#: c-family/c.opt:1425
+#: c-family/c.opt:1490
+#, no-c-format
+msgid "Warn about templates naming TU-local entities in a module."
+msgstr ""
+
+#: c-family/c.opt:1494
 #, no-c-format
 msgid "Warn if a throw expression will always result in a call to terminate()."
 msgstr ""
 
-#: c-family/c.opt:1429
+#: c-family/c.opt:1498
 #, no-c-format
 msgid "Warn about features not present in traditional C."
 msgstr ""
 
-#: c-family/c.opt:1433
+#: c-family/c.opt:1502
 #, 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:1437
+#: c-family/c.opt:1518
+#, no-c-format
+msgid ""
+"Warn about trailing whitespace on lines except when in raw string literals."
+msgstr ""
+
+#: c-family/c.opt:1522
+#, no-c-format
+msgid ""
+"Warn about trailing whitespace on lines except when in raw string "
+"literals.   Equivalent to Wtrailing-whitespace=blanks when enabled or "
+"Wtrailing-whitespace=none when disabled."
+msgstr ""
+
+#: c-family/c.opt:1526
 #, no-c-format
 msgid ""
 "Warn if trigraphs are encountered that might affect the meaning of the "
 "program."
 msgstr ""
 
-#: c-family/c.opt:1441
+#: c-family/c.opt:1530
 #, no-c-format
 msgid "Warn about @selector()s without previously declared methods."
 msgstr ""
 
-#: c-family/c.opt:1445
+#: c-family/c.opt:1534
 #, no-c-format
 msgid "Warn if an undefined macro is used in an #if directive."
 msgstr ""
 
-#: c-family/c.opt:1449
+#: c-family/c.opt:1538
 #, no-c-format
 msgid "Warn about invalid forms of delimited or named escape sequences."
 msgstr ""
 
-#: c-family/c.opt:1457
+#: c-family/c.opt:1546
 #, no-c-format
 msgid "Warn about unrecognized pragmas."
 msgstr ""
 
-#: c-family/c.opt:1461
+#: c-family/c.opt:1550
 #, no-c-format
 msgid "Warn about unsuffixed float constants."
 msgstr ""
 
-#: c-family/c.opt:1477
+#: c-family/c.opt:1554
+#, no-c-format
+msgid ""
+"Warn about character arrays initialized as unterminated character sequences "
+"with a string literal."
+msgstr ""
+
+#: c-family/c.opt:1570
 #, no-c-format
 msgid "Warn when typedefs locally defined in a function are not used."
 msgstr ""
 
-#: c-family/c.opt:1481
+#: c-family/c.opt:1574
 #, no-c-format
 msgid "Warn about macros defined in the main file that are not used."
 msgstr ""
 
-#: c-family/c.opt:1501
+#: c-family/c.opt:1594
 #, no-c-format
 msgid "Warn about useless casts."
 msgstr ""
 
-#: c-family/c.opt:1505
+#: c-family/c.opt:1598
 #, no-c-format
 msgid "Warn about using variadic macros."
 msgstr ""
 
-#: c-family/c.opt:1509
+#: c-family/c.opt:1602
 #, no-c-format
 msgid ""
 "Warn about questionable usage of the macros used to retrieve variable "
 "arguments."
 msgstr ""
 
-#: c-family/c.opt:1513
+#: c-family/c.opt:1606
 #, no-c-format
 msgid "Warn about the most vexing parse syntactic ambiguity."
 msgstr ""
 
-#: c-family/c.opt:1517
+#: c-family/c.opt:1610
 #, no-c-format
 msgid "Warn if a virtual base has a non-trivial move assignment operator."
 msgstr ""
 
-#: c-family/c.opt:1521
+#: c-family/c.opt:1614
 #, no-c-format
 msgid "Warn if a variable length array is used."
 msgstr ""
 
-#: c-family/c.opt:1525
+#: c-family/c.opt:1618
 #, no-c-format
 msgid ""
 "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length "
@@ -2912,34 +3016,34 @@ msgid ""
 "larger than <number> bytes."
 msgstr ""
 
-#: c-family/c.opt:1531
+#: c-family/c.opt:1624
 #, no-c-format
 msgid ""
 "Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:1535
+#: c-family/c.opt:1628
 #, no-c-format
 msgid "Warn about mismatched declarations of VLA parameters."
 msgstr ""
 
-#: c-family/c.opt:1539
+#: c-family/c.opt:1632
 #, no-c-format
 msgid "Warn about deprecated uses of volatile qualifier."
 msgstr ""
 
-#: c-family/c.opt:1543
+#: c-family/c.opt:1636
 #, no-c-format
 msgid "Warn when a register variable is declared volatile."
 msgstr ""
 
-#: c-family/c.opt:1547
+#: c-family/c.opt:1640
 #, no-c-format
 msgid "Warn on direct virtual inheritance."
 msgstr ""
 
-#: c-family/c.opt:1551
+#: c-family/c.opt:1644
 #, no-c-format
 msgid ""
 "In C++, nonzero means warn about deprecated conversion from string literals "
@@ -2947,188 +3051,195 @@ msgid ""
 "not deprecated by the ISO C standard."
 msgstr ""
 
-#: c-family/c.opt:1555
+#: c-family/c.opt:1648
 #, no-c-format
 msgid ""
 "Warn about xor operators where it appears the user meant exponentiation."
 msgstr ""
 
-#: c-family/c.opt:1559
+#: c-family/c.opt:1652
 #, no-c-format
 msgid "Warn when a literal '0' is used as null pointer."
 msgstr ""
 
-#: c-family/c.opt:1563
+#: c-family/c.opt:1656
 #, no-c-format
 msgid "Warn about accesses to interior zero-length array members."
 msgstr ""
 
-#: c-family/c.opt:1567
+#: c-family/c.opt:1660
 #, no-c-format
 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)."
 msgstr ""
 
-#: c-family/c.opt:1575
+#: c-family/c.opt:1668
 #, no-c-format
 msgid ""
 "The version of the C++ ABI used for -Wabi warnings and link compatibility "
 "aliases."
 msgstr ""
 
-#: c-family/c.opt:1579
+#: c-family/c.opt:1672
 #, no-c-format
 msgid "Enforce class member access control semantics."
 msgstr ""
 
-#: c-family/c.opt:1583
+#: c-family/c.opt:1676
 #, no-c-format
 msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent."
 msgstr ""
 
-#: c-family/c.opt:1587
+#: c-family/c.opt:1680
 #, no-c-format
 msgid "Support C++17 allocation of over-aligned types."
 msgstr ""
 
-#: c-family/c.opt:1591
+#: c-family/c.opt:1684
 #, no-c-format
 msgid ""
 "-faligned-new=<N>\tUse C++17 over-aligned type allocation for alignments "
 "greater than N."
 msgstr ""
 
-#: c-family/c.opt:1602 c-family/c.opt:1919 c-family/c.opt:2321
-#: c-family/c.opt:2325 c-family/c.opt:2341
+#: c-family/c.opt:1695 c-family/c.opt:2016 c-family/c.opt:2429
+#: c-family/c.opt:2433 c-family/c.opt:2449
 #, no-c-format
 msgid "No longer supported."
 msgstr ""
 
-#: c-family/c.opt:1606
+#: c-family/c.opt:1699
 #, no-c-format
 msgid "Recognize the \"asm\" keyword."
 msgstr ""
 
-#: c-family/c.opt:1614
+#: c-family/c.opt:1703
+#, no-c-format
+msgid ""
+"Assume C++ replaceable global operators new, new[], delete, delete[] don't "
+"read or write visible global state."
+msgstr ""
+
+#: c-family/c.opt:1711
 #, no-c-format
 msgid "Recognize built-in functions."
 msgstr ""
 
-#: c-family/c.opt:1621
+#: c-family/c.opt:1718
 #, no-c-format
 msgid "Where shorter, use canonicalized paths to systems headers."
 msgstr ""
 
-#: c-family/c.opt:1625
+#: c-family/c.opt:1722
 #, 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:1713
+#: c-family/c.opt:1810
 #, no-c-format
 msgid "Removed in GCC 8.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1717
+#: c-family/c.opt:1814
 #, no-c-format
 msgid "Enable support for C++ concepts."
 msgstr ""
 
-#: c-family/c.opt:1721
+#: c-family/c.opt:1818
 #, no-c-format
-msgid "Enable certain features present in the Concepts TS."
+msgid "Removed in GCC 15.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1725
+#: c-family/c.opt:1822
 #, no-c-format
 msgid ""
 "Specify maximum error replay depth during recursive diagnosis of a "
 "constraint satisfaction failure."
 msgstr ""
 
-#: c-family/c.opt:1729
+#: c-family/c.opt:1826
 #, no-c-format
 msgid "Allow the arguments of the '?' operator to have different types."
 msgstr ""
 
-#: c-family/c.opt:1737
+#: c-family/c.opt:1834
 #, no-c-format
 msgid "-fconst-string-class=<name>\tUse class <name> for constant strings."
 msgstr ""
 
-#: c-family/c.opt:1741
+#: c-family/c.opt:1838
 #, no-c-format
 msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
 msgstr ""
 
-#: c-family/c.opt:1745
+#: c-family/c.opt:1842
 #, no-c-format
 msgid ""
 "-fconstexpr-cache-depth=<number>\tSpecify maximum constexpr recursion cache "
 "depth."
 msgstr ""
 
-#: c-family/c.opt:1749
+#: c-family/c.opt:1846
 #, no-c-format
 msgid "Allow IEC559 floating point exceptions in constant expressions."
 msgstr ""
 
-#: c-family/c.opt:1753
+#: c-family/c.opt:1850
 #, no-c-format
 msgid ""
 "-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration "
 "count."
 msgstr ""
 
-#: c-family/c.opt:1757
+#: c-family/c.opt:1854
 #, no-c-format
 msgid ""
 "-fconstexpr-ops-limit=<number>\tSpecify maximum number of constexpr "
 "operations during a single constexpr evaluation."
 msgstr ""
 
-#: c-family/c.opt:1761
+#: c-family/c.opt:1858
 #, no-c-format
 msgid "Enable certain features present in drafts of C++ Contracts."
 msgstr ""
 
-#: c-family/c.opt:1774
+#: c-family/c.opt:1871
 #, 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:1778
+#: c-family/c.opt:1875
 #, no-c-format
 msgid ""
 "-fcontract-build-level=[off|default|audit]\tSpecify max contract level to "
 "generate runtime checks for."
 msgstr ""
 
-#: c-family/c.opt:1782
+#: c-family/c.opt:1879
 #, 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:1786
+#: c-family/c.opt:1883
 #, no-c-format
 msgid ""
 "-fcontract-mode=[on|off]\tEnable or disable all contract facilities (default "
 "on)."
 msgstr ""
 
-#: c-family/c.opt:1790
+#: c-family/c.opt:1887
 #, no-c-format
 msgid ""
 "-fcontract-continuation-mode=[on|off]\tEnable or disable contract "
 "continuation mode (default off)."
 msgstr ""
 
-#: c-family/c.opt:1794
+#: c-family/c.opt:1891
 #, no-c-format
 msgid ""
 "-fcontract-role=<name>:<semantics>\tSpecify the semantics for all levels in "
@@ -3136,441 +3247,451 @@ msgid ""
 "(ex: opt:assume,assume,assume)."
 msgstr ""
 
-#: c-family/c.opt:1798
+#: c-family/c.opt:1895
 #, no-c-format
 msgid ""
 "-fcontract-semantic=<level>:<semantic>\tSpecify the concrete semantics for "
 "level."
 msgstr ""
 
-#: c-family/c.opt:1802
+#: c-family/c.opt:1899
 #, no-c-format
 msgid "Enable C++ coroutines (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1806
+#: c-family/c.opt:1903
 #, no-c-format
 msgid "Emit debug annotations during preprocessing."
 msgstr ""
 
-#: c-family/c.opt:1814
+#: c-family/c.opt:1911
 #, no-c-format
 msgid "Factor complex constructors and destructors to favor space over speed."
 msgstr ""
 
-#: c-family/c.opt:1822
+#: c-family/c.opt:1919
 #, no-c-format
 msgid "Print hierarchical comparisons when template types are mismatched."
 msgstr ""
 
-#: c-family/c.opt:1826
+#: c-family/c.opt:1923
 #, no-c-format
 msgid "Note all candidates during overload resolution failure."
 msgstr ""
 
-#: c-family/c.opt:1830
+#: c-family/c.opt:1927
 #, no-c-format
 msgid "Preprocess directives only."
 msgstr ""
 
-#: c-family/c.opt:1834
+#: c-family/c.opt:1931
 #, no-c-format
 msgid "Permit '$' as an identifier character."
 msgstr ""
 
-#: c-family/c.opt:1838
+#: c-family/c.opt:1935
 #, 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:1842
+#: c-family/c.opt:1939
 #, no-c-format
 msgid "Write all declarations as Ada code transitively."
 msgstr ""
 
-#: c-family/c.opt:1846
+#: c-family/c.opt:1943
 #, no-c-format
 msgid "Write all declarations as Ada code for the given file only."
 msgstr ""
 
-#: c-family/c.opt:1853
+#: c-family/c.opt:1950
 #, no-c-format
 msgid "Do not elide common elements in template comparisons."
 msgstr ""
 
-#: c-family/c.opt:1857
+#: c-family/c.opt:1954
 #, no-c-format
 msgid "Generate code to check exception specifications."
 msgstr ""
 
-#: c-family/c.opt:1864
+#: c-family/c.opt:1961
 #, no-c-format
 msgid ""
 "-fexec-charset=<cset>\tConvert all strings and character constants to "
 "character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:1868
+#: c-family/c.opt:1965
 #, no-c-format
 msgid "Permit universal character names (\\u and \\U) in identifiers."
 msgstr ""
 
-#: c-family/c.opt:1872
+#: c-family/c.opt:1969
 #, no-c-format
 msgid ""
 "-finput-charset=<cset>\tSpecify the default character set for source files."
 msgstr ""
 
-#: c-family/c.opt:1876
+#: c-family/c.opt:1973
 #, no-c-format
 msgid ""
 "Support dynamic initialization of thread-local variables in a different "
 "translation unit."
 msgstr ""
 
-#: c-family/c.opt:1883
+#: c-family/c.opt:1980
 #, no-c-format
 msgid "Fold calls to simple inline functions."
 msgstr ""
 
-#: c-family/c.opt:1890
+#: c-family/c.opt:1987
 #, no-c-format
 msgid "Do not assume that standard C libraries and \"main\" exist."
 msgstr ""
 
-#: c-family/c.opt:1894
+#: c-family/c.opt:1991
 #, no-c-format
 msgid "Recognize GNU-defined keywords."
 msgstr ""
 
-#: c-family/c.opt:1898
+#: c-family/c.opt:1995
 #, no-c-format
 msgid "Generate code for GNU runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1902
+#: c-family/c.opt:1999
 #, no-c-format
 msgid "Use traditional GNU semantics for inline functions."
 msgstr ""
 
-#: c-family/c.opt:1915
+#: c-family/c.opt:2012
 #, no-c-format
 msgid "Assume normal C execution environment."
 msgstr ""
 
-#: c-family/c.opt:1923
+#: c-family/c.opt:2020
 #, no-c-format
 msgid "Implement P2564 for consteval propagation."
 msgstr ""
 
-#: c-family/c.opt:1927
+#: c-family/c.opt:2024
 #, no-c-format
 msgid "Export functions even if they can be inlined."
 msgstr ""
 
-#: c-family/c.opt:1931
+#: c-family/c.opt:2028
 #, no-c-format
 msgid "Make inline functions constexpr by default."
 msgstr ""
 
-#: c-family/c.opt:1935
+#: c-family/c.opt:2032
 #, no-c-format
 msgid "Emit implicit instantiations of inline templates."
 msgstr ""
 
-#: c-family/c.opt:1939
+#: c-family/c.opt:2036
 #, no-c-format
 msgid "Emit implicit instantiations of templates."
 msgstr ""
 
-#: c-family/c.opt:1943
+#: c-family/c.opt:2040
 #, no-c-format
 msgid "Implement C++17 inheriting constructor semantics."
 msgstr ""
 
-#: c-family/c.opt:1950
+#: c-family/c.opt:2047
 #, no-c-format
 msgid "Don't emit dllexported inline functions unless needed."
 msgstr ""
 
-#: c-family/c.opt:1957
+#: c-family/c.opt:2054
 #, no-c-format
 msgid ""
 "Allow implicit conversions between vectors with differing numbers of "
 "subparts and/or differing element types."
 msgstr ""
 
-#: c-family/c.opt:1961
+#: c-family/c.opt:2058
 #, no-c-format
-msgid "Enable C++ modules-ts (experimental)."
+msgid "Enable C++20 Modules (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1969
+#: c-family/c.opt:2066
 #, no-c-format
 msgid "Enable C++ header module (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1976
+#: c-family/c.opt:2073
 #, no-c-format
 msgid ""
 "Member functions defined within their class are inline in module purview."
 msgstr ""
 
-#: c-family/c.opt:1980
+#: c-family/c.opt:2077
 #, no-c-format
 msgid "Only emit Compiled Module Interface."
 msgstr ""
 
-#: c-family/c.opt:1984
+#: c-family/c.opt:2081
 #, no-c-format
 msgid "Mapper for module to CMI files."
 msgstr ""
 
-#: c-family/c.opt:1988
+#: c-family/c.opt:2085
 #, no-c-format
 msgid "Enable lazy module importing."
 msgstr ""
 
-#: c-family/c.opt:1996
+#: c-family/c.opt:2093
 #, no-c-format
 msgid "Warn about macros that have conflicting header units definitions."
 msgstr ""
 
-#: c-family/c.opt:2000
+#: c-family/c.opt:2097
 #, no-c-format
 msgid "Warn if pointers of distinct types are compared without a cast."
 msgstr ""
 
-#: c-family/c.opt:2004
+#: c-family/c.opt:2101
 #, no-c-format
 msgid "Note #include directives translated to import declarations."
 msgstr ""
 
-#: c-family/c.opt:2008
+#: c-family/c.opt:2105
 #, no-c-format
 msgid ""
 "Note #include directives not translated to import declarations, and not "
 "known to be textual."
 msgstr ""
 
-#: c-family/c.opt:2012
+#: c-family/c.opt:2109
 #, no-c-format
 msgid "Note a #include translation of a specific header."
 msgstr ""
 
-#: c-family/c.opt:2016
+#: c-family/c.opt:2113
 #, no-c-format
 msgid "Note Compiled Module Interface pathnames."
 msgstr ""
 
-#: c-family/c.opt:2020
+#: c-family/c.opt:2117
 #, no-c-format
 msgid ""
 "Note Compiled Module Interface pathname of a specific module or header-unit."
 msgstr ""
 
-#: c-family/c.opt:2024
+#: c-family/c.opt:2121
 #, no-c-format
 msgid ""
 "fmax-include-depth=<number> Set the maximum depth of the nested #include."
 msgstr ""
 
-#: c-family/c.opt:2028
+#: c-family/c.opt:2125
 #, no-c-format
 msgid "Don't warn about uses of Microsoft extensions."
 msgstr ""
 
-#: c-family/c.opt:2047
+#: c-family/c.opt:2144
 #, no-c-format
 msgid ""
 "Implement resolution of DR 150 for matching of template template arguments."
 msgstr ""
 
-#: c-family/c.opt:2051
+#: c-family/c.opt:2148
 #, no-c-format
 msgid "Generate code for NeXT (Apple macOS) runtime environment."
 msgstr ""
 
-#: c-family/c.opt:2055
+#: c-family/c.opt:2152
 #, no-c-format
 msgid "Assume that receivers of Objective-C messages may be nil."
 msgstr ""
 
-#: c-family/c.opt:2059
+#: c-family/c.opt:2156
 #, no-c-format
 msgid ""
 "Allow access to instance variables as if they were local declarations within "
 "instance method implementations."
 msgstr ""
 
-#: c-family/c.opt:2063
+#: c-family/c.opt:2160
 #, no-c-format
 msgid ""
 "-fvisibility=[private|protected|public|package]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: c-family/c.opt:2088
+#: c-family/c.opt:2185
 #, no-c-format
 msgid ""
 "Treat a throw() exception specification as noexcept to improve code size."
 msgstr ""
 
-#: c-family/c.opt:2092
+#: c-family/c.opt:2189
 #, no-c-format
 msgid ""
 "Specify which ABI to use for Objective-C family code and meta-data "
 "generation."
 msgstr ""
 
-#: c-family/c.opt:2098
+#: c-family/c.opt:2195
 #, no-c-format
 msgid ""
 "Generate special Objective-C methods to initialize/destroy non-POD C++ "
 "ivars, if needed."
 msgstr ""
 
-#: c-family/c.opt:2102
+#: c-family/c.opt:2199
 #, no-c-format
 msgid "Allow fast jumps to the message dispatcher."
 msgstr ""
 
-#: c-family/c.opt:2108
+#: c-family/c.opt:2205
 #, no-c-format
 msgid "Enable Objective-C exception and synchronization syntax."
 msgstr ""
 
-#: c-family/c.opt:2112
+#: c-family/c.opt:2209
 #, no-c-format
 msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs."
 msgstr ""
 
-#: c-family/c.opt:2116
+#: c-family/c.opt:2213
 #, no-c-format
 msgid ""
 "Enable inline checks for nil receivers with the NeXT runtime and ABI version "
 "2."
 msgstr ""
 
-#: c-family/c.opt:2121
+#: c-family/c.opt:2218
 #, no-c-format
 msgid "Enable Objective-C setjmp exception handling runtime."
 msgstr ""
 
-#: c-family/c.opt:2125
+#: c-family/c.opt:2222
 #, no-c-format
 msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0."
 msgstr ""
 
-#: c-family/c.opt:2129
+#: c-family/c.opt:2226
 #, no-c-format
 msgid "Enable OpenACC."
 msgstr ""
 
-#: c-family/c.opt:2133
+#: c-family/c.opt:2230
 #, no-c-format
 msgid "Specify default OpenACC compute dimensions."
 msgstr ""
 
-#: c-family/c.opt:2137
+#: c-family/c.opt:2234
 #, no-c-format
 msgid "Enable OpenMP (implies -frecursive in Fortran)."
 msgstr ""
 
-#: c-family/c.opt:2141
+#: c-family/c.opt:2238
 #, no-c-format
 msgid "Enable OpenMP's SIMD directives."
 msgstr ""
 
-#: c-family/c.opt:2145
+#: c-family/c.opt:2242
 #, no-c-format
 msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
 msgstr ""
 
-#: c-family/c.opt:2156
+#: c-family/c.opt:2253
 #, no-c-format
 msgid "Look for and use PCH files even when preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2160
+#: c-family/c.opt:2257
 #, no-c-format
 msgid "Downgrade conformance errors to warnings."
 msgstr ""
 
-#: c-family/c.opt:2164
+#: c-family/c.opt:2261
 #, no-c-format
 msgid "Enable Plan 9 language extensions."
 msgstr ""
 
-#: c-family/c.opt:2168
+#: c-family/c.opt:2265
 #, no-c-format
 msgid "Treat the input file as already preprocessed."
 msgstr ""
 
-#: c-family/c.opt:2176
+#: c-family/c.opt:2273
 #, 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:2180
+#: c-family/c.opt:2277
 #, no-c-format
 msgid ""
 "Do not pretty-print template specializations as the template signature "
 "followed by the arguments."
 msgstr ""
 
-#: c-family/c.opt:2184
+#: c-family/c.opt:2281
 #, no-c-format
 msgid "Treat known sprintf return values as constants."
 msgstr ""
 
-#: c-family/c.opt:2188
+#: c-family/c.opt:2285
+#, no-c-format
+msgid "Enable lifetime extension of range based for temporaries."
+msgstr ""
+
+#: c-family/c.opt:2289
 #, 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:2192
+#: c-family/c.opt:2293
 #, no-c-format
 msgid "Removed in GCC 10.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:2196
+#: c-family/c.opt:2297
 #, no-c-format
 msgid "Generate run time type descriptor information."
 msgstr ""
 
-#: c-family/c.opt:2200 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:2301
+#, no-c-format
+msgid "Look for the main source file on the include path."
+msgstr ""
+
+#: c-family/c.opt:2308 ada/gcc-interface/lang.opt:81
 #, no-c-format
 msgid "Use the narrowest integer type possible for enumeration types."
 msgstr ""
 
-#: c-family/c.opt:2204
+#: c-family/c.opt:2312
 #, no-c-format
 msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
 msgstr ""
 
-#: c-family/c.opt:2208
+#: c-family/c.opt:2316
 #, no-c-format
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
 msgstr ""
 
-#: c-family/c.opt:2212 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:2320 ada/gcc-interface/lang.opt:85
 #, no-c-format
 msgid "Make \"char\" signed by default."
 msgstr ""
 
-#: c-family/c.opt:2216
+#: c-family/c.opt:2324
 #, no-c-format
 msgid "Enable C++14 sized deallocation support."
 msgstr ""
 
-#: c-family/c.opt:2223
+#: c-family/c.opt:2331
 #, no-c-format
 msgid ""
 "-fstrict-flex-arrays=<level>    Control when to treat the trailing array of "
@@ -3579,439 +3700,450 @@ msgid ""
 "structures as flexible array members."
 msgstr ""
 
-#: c-family/c.opt:2230
+#: c-family/c.opt:2338
 #, no-c-format
 msgid ""
 "-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar "
 "storage order."
 msgstr ""
 
-#: c-family/c.opt:2246
+#: c-family/c.opt:2354
 #, no-c-format
 msgid "Display statistics accumulated during compilation."
 msgstr ""
 
-#: c-family/c.opt:2250
+#: c-family/c.opt:2358
 #, no-c-format
 msgid ""
 "Assume that values of enumeration type are always within the minimum range "
 "of that type."
 msgstr ""
 
-#: c-family/c.opt:2257 c-family/c.opt:2262
+#: c-family/c.opt:2365 c-family/c.opt:2370
 #, no-c-format
 msgid ""
 "Follow the C++17 evaluation order requirements for assignment expressions, "
 "shift, member function calls, etc."
 msgstr ""
 
-#: c-family/c.opt:2279
+#: c-family/c.opt:2387
 #, no-c-format
 msgid ""
 "Set the maximum number of template instantiation notes for a single warning "
 "or error."
 msgstr ""
 
-#: c-family/c.opt:2286
+#: c-family/c.opt:2394
 #, no-c-format
 msgid ""
 "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
 msgstr ""
 
-#: c-family/c.opt:2293
+#: c-family/c.opt:2401
 #, no-c-format
 msgid ""
 "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing "
 "local statics."
 msgstr ""
 
-#: c-family/c.opt:2297
+#: c-family/c.opt:2405
 #, no-c-format
 msgid ""
 "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
 msgstr ""
 
-#: c-family/c.opt:2301 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2409 ada/gcc-interface/lang.opt:89
 #, no-c-format
 msgid "Make \"char\" unsigned by default."
 msgstr ""
 
-#: c-family/c.opt:2305
+#: c-family/c.opt:2413
 #, no-c-format
 msgid "Use __cxa_atexit to register destructors."
 msgstr ""
 
-#: c-family/c.opt:2309
+#: c-family/c.opt:2417
 #, no-c-format
 msgid "Use __cxa_get_exception_ptr in exception handling."
 msgstr ""
 
-#: c-family/c.opt:2313
+#: c-family/c.opt:2421
 #, no-c-format
 msgid "Marks all inlined functions and methods as having hidden visibility."
 msgstr ""
 
-#: c-family/c.opt:2317
+#: c-family/c.opt:2425
 #, no-c-format
 msgid "Changes visibility to match Microsoft Visual Studio by default."
 msgstr ""
 
-#: c-family/c.opt:2329
+#: c-family/c.opt:2437
 #, no-c-format
 msgid "Emit common-like symbols as weak symbols."
 msgstr ""
 
-#: c-family/c.opt:2333
+#: c-family/c.opt:2441
 #, no-c-format
 msgid ""
 "-fwide-exec-charset=<cset>\tConvert all wide strings and character constants "
 "to character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:2337
+#: c-family/c.opt:2445
 #, no-c-format
 msgid "Generate a #line directive pointing at the current working directory."
 msgstr ""
 
-#: c-family/c.opt:2345
+#: c-family/c.opt:2453
 #, no-c-format
 msgid ""
 "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
 msgstr ""
 
-#: c-family/c.opt:2349
+#: c-family/c.opt:2457
 #, no-c-format
 msgid "Dump declarations to a .decl file."
 msgstr ""
 
-#: c-family/c.opt:2353
+#: c-family/c.opt:2461
 #, no-c-format
 msgid ""
 "-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2357
+#: c-family/c.opt:2465
 #, no-c-format
 msgid ""
 "-femit-struct-debug-reduced\tConservative reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2361
+#: c-family/c.opt:2469
 #, no-c-format
 msgid ""
 "-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for "
 "structs."
 msgstr ""
 
-#: c-family/c.opt:2365
+#: c-family/c.opt:2473
 #, 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:2370
+#: c-family/c.opt:2478
 #, no-c-format
 msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2374
+#: c-family/c.opt:2482
 #, no-c-format
 msgid "-imacros <file>\tAccept definition of macros in <file>."
 msgstr ""
 
-#: c-family/c.opt:2378
+#: c-family/c.opt:2486
 #, no-c-format
 msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
 msgstr ""
 
-#: c-family/c.opt:2382
+#: c-family/c.opt:2490
 #, no-c-format
 msgid "-include <file>\tInclude the contents of <file> before other files."
 msgstr ""
 
-#: c-family/c.opt:2386
+#: c-family/c.opt:2494
 #, no-c-format
 msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
 msgstr ""
 
-#: c-family/c.opt:2390
+#: c-family/c.opt:2498
 #, no-c-format
 msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
 msgstr ""
 
-#: c-family/c.opt:2394
+#: c-family/c.opt:2502
 #, no-c-format
 msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2398
+#: c-family/c.opt:2506
 #, no-c-format
 msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
 msgstr ""
 
-#: c-family/c.opt:2402
+#: c-family/c.opt:2510
 #, no-c-format
 msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2406
+#: c-family/c.opt:2514
 #, no-c-format
 msgid ""
 "-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
 msgstr ""
 
-#: c-family/c.opt:2416
+#: c-family/c.opt:2524
 #, no-c-format
 msgid ""
 "Do not search standard system include directories (those specified with -"
 "isystem will still be used)."
 msgstr ""
 
-#: c-family/c.opt:2420
+#: c-family/c.opt:2528
 #, no-c-format
 msgid "Do not search standard system include directories for C++."
 msgstr ""
 
-#: c-family/c.opt:2432
+#: c-family/c.opt:2540
 #, no-c-format
 msgid "Generate C header of platform-specific features."
 msgstr ""
 
-#: c-family/c.opt:2436
+#: c-family/c.opt:2544
 #, no-c-format
 msgid "Remap file names when including files."
 msgstr ""
 
-#: c-family/c.opt:2440 c-family/c.opt:2444
+#: c-family/c.opt:2548 c-family/c.opt:2552
 #, no-c-format
 msgid ""
 "Conform to the ISO 1998 C++ standard revised by the 2003 technical "
 "corrigendum."
 msgstr ""
 
-#: c-family/c.opt:2448
+#: c-family/c.opt:2556
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2452
+#: c-family/c.opt:2560
 #, no-c-format
 msgid "Deprecated in favor of -std=c++11."
 msgstr ""
 
-#: c-family/c.opt:2456
+#: c-family/c.opt:2564
 #, no-c-format
 msgid "Deprecated in favor of -std=c++14."
 msgstr ""
 
-#: c-family/c.opt:2460
+#: c-family/c.opt:2568
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2464
+#: c-family/c.opt:2572
 #, no-c-format
 msgid "Deprecated in favor of -std=c++17."
 msgstr ""
 
-#: c-family/c.opt:2468
+#: c-family/c.opt:2576
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2472 c-family/c.opt:2476
+#: c-family/c.opt:2580 c-family/c.opt:2584
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2480 c-family/c.opt:2484
+#: c-family/c.opt:2588 c-family/c.opt:2592
 #, no-c-format
 msgid ""
-"Conform to the ISO 2023 C++ draft standard (experimental and incomplete "
-"support)."
+"Conform to the ISO 2023 C++ standard (published in 2024; experimental and "
+"incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2488 c-family/c.opt:2492
+#: c-family/c.opt:2596 c-family/c.opt:2600
 #, no-c-format
 msgid ""
 "Conform to the ISO 2026 C++ draft standard (experimental and incomplete "
 "support)."
 msgstr ""
 
-#: c-family/c.opt:2496 c-family/c.opt:2650
+#: c-family/c.opt:2604 c-family/c.opt:2766
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard."
 msgstr ""
 
-#: c-family/c.opt:2500
+#: c-family/c.opt:2608
 #, no-c-format
 msgid "Deprecated in favor of -std=c11."
 msgstr ""
 
-#: c-family/c.opt:2504 c-family/c.opt:2508 c-family/c.opt:2654
-#: c-family/c.opt:2658
+#: c-family/c.opt:2612 c-family/c.opt:2616 c-family/c.opt:2770
+#: c-family/c.opt:2774
 #, no-c-format
 msgid "Conform to the ISO 2017 C standard (published in 2018)."
 msgstr ""
 
-#: c-family/c.opt:2512 c-family/c.opt:2662
+#: c-family/c.opt:2620 c-family/c.opt:2778
 #, no-c-format
-msgid ""
-"Conform to the ISO 2023 C standard draft (expected to be published in 2024) "
-"(experimental and incomplete support)."
+msgid "Conform to the ISO 2023 C standard (published in 2024)."
 msgstr ""
 
-#: c-family/c.opt:2516
+#: c-family/c.opt:2624
 #, no-c-format
 msgid "Deprecated in favor of -std=c23."
 msgstr ""
 
-#: c-family/c.opt:2520 c-family/c.opt:2524 c-family/c.opt:2634
+#: c-family/c.opt:2628
+#, no-c-format
+msgid ""
+"Conform to the ISO 202Y C standard draft (experimental and incomplete "
+"support)."
+msgstr ""
+
+#: c-family/c.opt:2632 c-family/c.opt:2636 c-family/c.opt:2750
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard."
 msgstr ""
 
-#: c-family/c.opt:2528 c-family/c.opt:2642
+#: c-family/c.opt:2640 c-family/c.opt:2758
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard."
 msgstr ""
 
-#: c-family/c.opt:2532
+#: c-family/c.opt:2644
 #, no-c-format
 msgid "Deprecated in favor of -std=c99."
 msgstr ""
 
-#: c-family/c.opt:2536 c-family/c.opt:2541
+#: c-family/c.opt:2648 c-family/c.opt:2653
 #, 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:2546
+#: c-family/c.opt:2658
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2550
+#: c-family/c.opt:2662
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++11."
 msgstr ""
 
-#: c-family/c.opt:2554
+#: c-family/c.opt:2666
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++14."
 msgstr ""
 
-#: c-family/c.opt:2558
+#: c-family/c.opt:2670
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2562
+#: c-family/c.opt:2674
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++17."
 msgstr ""
 
-#: c-family/c.opt:2566
+#: c-family/c.opt:2678
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2570 c-family/c.opt:2574
+#: c-family/c.opt:2682 c-family/c.opt:2686
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard with GNU extensions (experimental and "
 "incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2578 c-family/c.opt:2582
+#: c-family/c.opt:2690 c-family/c.opt:2694
 #, no-c-format
 msgid ""
-"Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental "
-"and incomplete support)."
+"Conform to the ISO 2023 C++ standard with GNU extensions (published in 2024; "
+"experimental and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2586 c-family/c.opt:2590
+#: c-family/c.opt:2698 c-family/c.opt:2702
 #, no-c-format
 msgid ""
 "Conform to the ISO 2026 C++ draft standard with GNU extensions (experimental "
 "and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2594
+#: c-family/c.opt:2706
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2598
+#: c-family/c.opt:2710
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu11."
 msgstr ""
 
-#: c-family/c.opt:2602 c-family/c.opt:2606
+#: c-family/c.opt:2714 c-family/c.opt:2718
 #, no-c-format
 msgid ""
 "Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2610
+#: c-family/c.opt:2722
 #, no-c-format
 msgid ""
-"Conform to the ISO 2023 C standard draft (expected to be published in 2024) "
-"with GNU extensions (experimental and incomplete support)."
+"Conform to the ISO 2023 C standard (published in 2024) with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2614
+#: c-family/c.opt:2726
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu23."
 msgstr ""
 
-#: c-family/c.opt:2618 c-family/c.opt:2622
+#: c-family/c.opt:2730
+#, no-c-format
+msgid ""
+"Conform to the ISO 202Y C standard draft with GNU extensions (experimental "
+"and incomplete support)."
+msgstr ""
+
+#: c-family/c.opt:2734 c-family/c.opt:2738
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2626
+#: c-family/c.opt:2742
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2630
+#: c-family/c.opt:2746
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu99."
 msgstr ""
 
-#: c-family/c.opt:2638
+#: c-family/c.opt:2754
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard as amended in 1994."
 msgstr ""
 
-#: c-family/c.opt:2646
+#: c-family/c.opt:2762
 #, no-c-format
 msgid "Deprecated in favor of -std=iso9899:1999."
 msgstr ""
 
-#: c-family/c.opt:2666
+#: c-family/c.opt:2782
 #, no-c-format
 msgid ""
 "-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers "
 "and runtime."
 msgstr ""
 
-#: c-family/c.opt:2683
+#: c-family/c.opt:2799
 #, no-c-format
 msgid "Enable traditional preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2687
+#: c-family/c.opt:2803
 #, no-c-format
 msgid "-trigraphs\tSupport ISO C trigraphs."
 msgstr ""
 
-#: c-family/c.opt:2691
+#: c-family/c.opt:2807
 #, no-c-format
 msgid "Do not predefine system-specific and GCC-specific macros."
 msgstr ""
@@ -4297,107 +4429,112 @@ msgstr ""
 
 #: d/lang.opt:405
 #, no-c-format
-msgid "Enable rvalue arguments to ref parameters."
+msgid "Enable safety checks on all functions by default."
 msgstr ""
 
 #: d/lang.opt:409
 #, no-c-format
-msgid "Disable access to variables marked `@system' from @safe code."
+msgid "Enable rvalue arguments to ref parameters."
 msgstr ""
 
 #: d/lang.opt:413
 #, no-c-format
-msgid "Compile release version."
+msgid "Disable access to variables marked `@system' from @safe code."
 msgstr ""
 
 #: d/lang.opt:417
 #, no-c-format
-msgid "Turn off all revertable D language features."
+msgid "Compile release version."
 msgstr ""
 
 #: d/lang.opt:421
 #, no-c-format
-msgid "Revert DIP1000: Scoped pointers."
+msgid "Turn off all revertable D language features."
 msgstr ""
 
 #: d/lang.opt:425
 #, no-c-format
-msgid "Don't destruct fields of partially constructed objects."
+msgid "Revert DIP1000: Scoped pointers."
 msgstr ""
 
 #: d/lang.opt:429
 #, no-c-format
+msgid "Don't destruct fields of partially constructed objects."
+msgstr ""
+
+#: d/lang.opt:433
+#, no-c-format
 msgid "Don't use C-style integral promotion for unary '+', '-' and '~'."
 msgstr ""
 
-#: d/lang.opt:437
+#: d/lang.opt:441
 #, no-c-format
 msgid ""
 "-fsave-mixins=<filename>\tExpand and save mixins to file specified by "
 "<filename>."
 msgstr ""
 
-#: d/lang.opt:441
+#: d/lang.opt:445
 #, no-c-format
 msgid "Generate code for switches without a default case."
 msgstr ""
 
-#: d/lang.opt:445
+#: d/lang.opt:449
 #, no-c-format
 msgid "List information on all D language transitions."
 msgstr ""
 
-#: d/lang.opt:449
+#: d/lang.opt:453
 #, no-c-format
 msgid "List all non-mutable fields which occupy an object instance."
 msgstr ""
 
-#: d/lang.opt:453
+#: d/lang.opt:457
 #, no-c-format
 msgid "List all usages of 'in' on parameter."
 msgstr ""
 
-#: d/lang.opt:457
+#: d/lang.opt:461
 #, no-c-format
 msgid "List all hidden GC allocations."
 msgstr ""
 
-#: d/lang.opt:461
+#: d/lang.opt:465
 #, no-c-format
 msgid "List statistics on template instantiations."
 msgstr ""
 
-#: d/lang.opt:465
+#: d/lang.opt:469
 #, no-c-format
 msgid "List all variables going into thread local storage."
 msgstr ""
 
-#: d/lang.opt:469
+#: d/lang.opt:473
 #, no-c-format
 msgid "Compile in unittest code."
 msgstr ""
 
-#: d/lang.opt:473
+#: d/lang.opt:477
 #, no-c-format
 msgid "-fversion=<ident>\tCompile in version code identified by <ident>."
 msgstr ""
 
-#: d/lang.opt:477
+#: d/lang.opt:481
 #, no-c-format
 msgid "Emit template instantiations as weak symbols."
 msgstr ""
 
-#: d/lang.opt:497
+#: d/lang.opt:501
 #, no-c-format
 msgid "Do not link the standard D library in the compilation."
 msgstr ""
 
-#: d/lang.opt:505
+#: d/lang.opt:509
 #, no-c-format
 msgid "Link the standard D library statically in the compilation."
 msgstr ""
 
-#: d/lang.opt:509
+#: d/lang.opt:513
 #, no-c-format
 msgid "Link the standard D library dynamically in the compilation."
 msgstr ""
@@ -4521,7 +4658,7 @@ msgid ""
 "the application"
 msgstr ""
 
-#: m2/lang.opt:119 m2/lang.opt:231
+#: m2/lang.opt:119 m2/lang.opt:235
 #, no-c-format
 msgid "turns on all range checking for numerical values"
 msgstr ""
@@ -4582,189 +4719,196 @@ msgstr ""
 #: m2/lang.opt:159
 #, no-c-format
 msgid ""
+"override the default 64 bit definition of SYSTEM.COFF_T with the argument "
+"specified"
+msgstr ""
+
+#: m2/lang.opt:163
+#, no-c-format
+msgid ""
 "generate extra nops to improve debugging, producing an instruction for every "
 "code related keyword"
 msgstr ""
 
-#: m2/lang.opt:163
+#: m2/lang.opt:167
 #, no-c-format
 msgid "generate error messages which render keywords in lower case"
 msgstr ""
 
-#: m2/lang.opt:167
+#: m2/lang.opt:171
 #, no-c-format
 msgid ""
 "specify the module mangled prefix name for all modules in the following "
 "include paths"
 msgstr ""
 
-#: m2/lang.opt:175
+#: m2/lang.opt:179
 #, no-c-format
 msgid "insert plugin to identify runtime errors at compiletime"
 msgstr ""
 
-#: m2/lang.opt:179
+#: m2/lang.opt:183
 #, no-c-format
 msgid "specify the module mangled prefix name"
 msgstr ""
 
-#: m2/lang.opt:183
+#: m2/lang.opt:187
 #, no-c-format
 msgid ""
 "display statistics about the amount of source lines compiled and symbols used"
 msgstr ""
 
-#: m2/lang.opt:187
+#: m2/lang.opt:191
 #, no-c-format
 msgid "experimental flag to turn on the new strict type checker"
 msgstr ""
 
-#: m2/lang.opt:191
+#: m2/lang.opt:195
 #, no-c-format
 msgid "compile all implementation modules and program module at once"
 msgstr ""
 
-#: m2/lang.opt:195
+#: m2/lang.opt:199
 #, no-c-format
 msgid "recognize the specified suffix as implementation and module filenames"
 msgstr ""
 
-#: m2/lang.opt:199
+#: m2/lang.opt:203
 #, no-c-format
 msgid ""
 "turns on runtime checking to detect accessing data through a NIL value "
 "pointer"
 msgstr ""
 
-#: m2/lang.opt:203
+#: m2/lang.opt:207
 #, no-c-format
 msgid "use PIM [234] dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:207
+#: m2/lang.opt:211
 #, no-c-format
 msgid "use PIM 2 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:211
+#: m2/lang.opt:215
 #, no-c-format
 msgid "use PIM 3 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:215
+#: m2/lang.opt:219
 #, no-c-format
 msgid "use PIM 4 dialect of Modula-2"
 msgstr ""
 
-#: m2/lang.opt:219
+#: m2/lang.opt:223
 #, no-c-format
 msgid "force positive result from MOD and DIV result floor"
 msgstr ""
 
-#: m2/lang.opt:223
+#: m2/lang.opt:227
 #, no-c-format
 msgid "link against the pthread library (default on)"
 msgstr ""
 
-#: m2/lang.opt:227
+#: m2/lang.opt:231
 #, no-c-format
 msgid "internal compiler debugging information, dump the list of quadruples"
 msgstr ""
 
-#: m2/lang.opt:235
+#: m2/lang.opt:239
 #, no-c-format
 msgid ""
 "turns on runtime checking for functions which finish without executing a "
 "RETURN statement"
 msgstr ""
 
-#: m2/lang.opt:239
+#: m2/lang.opt:243
 #, no-c-format
 msgid "specify the list of runtime modules and their initialization order"
 msgstr ""
 
-#: m2/lang.opt:243
+#: m2/lang.opt:247
 #, no-c-format
 msgid ""
 "the modules initialization order is dynamically determined by M2RTS and "
 "application dependencies"
 msgstr ""
 
-#: m2/lang.opt:247
+#: m2/lang.opt:251
 #, no-c-format
 msgid "generate a C source scaffold for the current module being compiled"
 msgstr ""
 
-#: m2/lang.opt:251
+#: m2/lang.opt:255
 #, no-c-format
 msgid "generate a C++ source scaffold for the current module being compiled"
 msgstr ""
 
-#: m2/lang.opt:255
+#: m2/lang.opt:259
 #, no-c-format
 msgid "generate the main function"
 msgstr ""
 
-#: m2/lang.opt:259
+#: m2/lang.opt:263
 #, no-c-format
 msgid ""
 "generate static scaffold initialization and finalization for every module "
 "inside main"
 msgstr ""
 
-#: m2/lang.opt:263
+#: m2/lang.opt:267
 #, no-c-format
 msgid "generate a shared library from the module"
 msgstr ""
 
-#: m2/lang.opt:267
+#: m2/lang.opt:271
 #, 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:271
+#: m2/lang.opt:275
 #, no-c-format
 msgid "display the location of module source files as they are compiled"
 msgstr ""
 
-#: m2/lang.opt:275
+#: m2/lang.opt:279
 #, no-c-format
 msgid "create a swig interface file for the module"
 msgstr ""
 
-#: m2/lang.opt:279
+#: m2/lang.opt:283
 #, 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:283
+#: m2/lang.opt:287
 #, no-c-format
 msgid ""
 "orders the initialization/finalizations for scaffold-static or force linking "
 "of modules if scaffold-dynamic"
 msgstr ""
 
-#: m2/lang.opt:291
+#: m2/lang.opt:295
 #, no-c-format
 msgid "turns on all division and modulus by zero checking for ordinal values"
 msgstr ""
 
-#: m2/lang.opt:295
+#: m2/lang.opt:299
 #, no-c-format
 msgid ""
 "turns on runtime checking to check whether a whole number will exceed range"
 msgstr ""
 
-#: m2/lang.opt:299
+#: m2/lang.opt:303
 #, no-c-format
 msgid "Link the standard Modula-2 libraries statically in the compilation."
 msgstr ""
 
-#: m2/lang.opt:444 m2/lang.opt:448
+#: m2/lang.opt:448 m2/lang.opt:452
 #, no-c-format
 msgid "save temporary preprocessed files"
 msgstr ""
@@ -5168,217 +5312,224 @@ msgstr ""
 #: analyzer/analyzer.opt:227
 #, no-c-format
 msgid ""
-"Warn about code paths in which a call is made to strtok with undefined "
+"Warn about code paths in which pointer subtraction involves undefined "
 "behavior."
 msgstr ""
 
 #: analyzer/analyzer.opt:231
 #, no-c-format
-msgid "Warn about code paths in which a freed value is used."
+msgid ""
+"Warn about code paths in which a call is made to strtok with undefined "
+"behavior."
 msgstr ""
 
 #: analyzer/analyzer.opt:235
 #, no-c-format
+msgid "Warn about code paths in which a freed value is used."
+msgstr ""
+
+#: analyzer/analyzer.opt:239
+#, no-c-format
 msgid ""
 "Warn about code paths in which a pointer to a stale stack frame is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:239
+#: analyzer/analyzer.opt:243
 #, no-c-format
 msgid "Warn about code paths in which va_arg uses the wrong type."
 msgstr ""
 
-#: analyzer/analyzer.opt:243
+#: analyzer/analyzer.opt:247
 #, 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:247
+#: analyzer/analyzer.opt:251
 #, 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:251
+#: analyzer/analyzer.opt:255
 #, no-c-format
 msgid "Warn about code paths in which a va_list is used after va_end."
 msgstr ""
 
-#: analyzer/analyzer.opt:255
+#: analyzer/analyzer.opt:259
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a const object."
 msgstr ""
 
-#: analyzer/analyzer.opt:259
+#: analyzer/analyzer.opt:263
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a string literal."
 msgstr ""
 
-#: analyzer/analyzer.opt:263
+#: analyzer/analyzer.opt:267
 #, no-c-format
 msgid "Warn about code paths in which an uninitialized value is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:267
+#: analyzer/analyzer.opt:271
 #, no-c-format
 msgid ""
 "Warn if expressions are too complicated for the analyzer to fully track."
 msgstr ""
 
-#: analyzer/analyzer.opt:271
+#: analyzer/analyzer.opt:275
 #, no-c-format
 msgid "Warn if the code is too complicated for the analyzer to fully explore."
 msgstr ""
 
-#: analyzer/analyzer.opt:275
+#: analyzer/analyzer.opt:279
 #, no-c-format
 msgid "Restrict the analyzer to run just the named checker."
 msgstr ""
 
-#: analyzer/analyzer.opt:279
+#: analyzer/analyzer.opt:283
 #, no-c-format
 msgid "Add extra annotations to diagrams."
 msgstr ""
 
-#: analyzer/analyzer.opt:283
+#: analyzer/analyzer.opt:287
 #, no-c-format
 msgid "Avoid combining multiple statements into one exploded edge."
 msgstr ""
 
-#: analyzer/analyzer.opt:287
+#: analyzer/analyzer.opt:291
 #, no-c-format
 msgid "Verify that paths are feasible when emitting diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:291
+#: analyzer/analyzer.opt:295
 #, no-c-format
 msgid "Issue a note when diagnostics are deduplicated."
 msgstr ""
 
-#: analyzer/analyzer.opt:295
+#: analyzer/analyzer.opt:299
 #, no-c-format
 msgid "Purge unneeded state during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:299
+#: analyzer/analyzer.opt:303
 #, no-c-format
 msgid "Merge similar-enough states during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:303
+#: analyzer/analyzer.opt:307
 #, no-c-format
 msgid "Stop exploring an execution path after certain diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:307
+#: analyzer/analyzer.opt:311
 #, no-c-format
 msgid "Enable transitivity of constraints during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:311
+#: analyzer/analyzer.opt:315
 #, no-c-format
 msgid "Show events within system headers in analyzer execution paths."
 msgstr ""
 
-#: analyzer/analyzer.opt:315
+#: analyzer/analyzer.opt:319
 #, no-c-format
 msgid "Approximate the effect of function calls to simplify analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:319
+#: analyzer/analyzer.opt:323
 #, no-c-format
 msgid "Try to reconstruct function calls and returns after inlining."
 msgstr ""
 
-#: analyzer/analyzer.opt:323
+#: analyzer/analyzer.opt:327
 #, no-c-format
 msgid "Emit more verbose descriptions of control flow in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:327
+#: analyzer/analyzer.opt:331
 #, no-c-format
 msgid "Emit more verbose descriptions of state changes in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:331
+#: analyzer/analyzer.opt:335
 #, no-c-format
 msgid "Control which events are displayed in diagnostic paths."
 msgstr ""
 
-#: analyzer/analyzer.opt:335
+#: analyzer/analyzer.opt:339
 #, no-c-format
 msgid "Dump various analyzer internals to SRCFILE.analyzer.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:339
+#: analyzer/analyzer.opt:343
 #, no-c-format
 msgid "Dump various analyzer internals to stderr."
 msgstr ""
 
-#: analyzer/analyzer.opt:343
+#: analyzer/analyzer.opt:347
 #, no-c-format
 msgid ""
 "Dump analyzer-specific call graph information to a SRCFILE.callgraph.dot "
 "file."
 msgstr ""
 
-#: analyzer/analyzer.opt:347
+#: analyzer/analyzer.opt:351
 #, no-c-format
 msgid "Dump the analyzer exploded graph to a SRCFILE.eg.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:351
+#: analyzer/analyzer.opt:355
 #, no-c-format
 msgid "Emit diagnostics showing the location of nodes in the exploded graph."
 msgstr ""
 
-#: analyzer/analyzer.opt:355
+#: analyzer/analyzer.opt:359
 #, no-c-format
 msgid "Dump a textual representation of the exploded graph to SRCFILE.eg.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:359
+#: analyzer/analyzer.opt:363
 #, no-c-format
 msgid ""
 "Dump a textual representation of the exploded graph to SRCFILE.eg-ID.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:363
+#: analyzer/analyzer.opt:367
 #, no-c-format
 msgid ""
 "Dump a textual representation of each diagnostic's exploded path to SRCFILE."
 "IDX.KIND.epath.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:367
+#: analyzer/analyzer.opt:371
 #, no-c-format
 msgid ""
 "Dump various analyzer internals to SRCFILE.*.fg.dot and SRCFILE.*.tg.dot."
 msgstr ""
 
-#: analyzer/analyzer.opt:371
+#: analyzer/analyzer.opt:375
 #, no-c-format
 msgid "Dump various analyzer internals to SRCFILE.*.infinite-loop.dot."
 msgstr ""
 
-#: analyzer/analyzer.opt:375
+#: analyzer/analyzer.opt:379
 #, no-c-format
 msgid "Dump analyzer-specific data to a SRCFILE.analyzer.json.gz file."
 msgstr ""
 
-#: analyzer/analyzer.opt:379
+#: analyzer/analyzer.opt:383
 #, no-c-format
 msgid "Dump state-purging information to a SRCFILE.state-purge.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:383
+#: analyzer/analyzer.opt:387
 #, no-c-format
 msgid "Dump the analyzer supergraph to a SRCFILE.supergraph.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:387
+#: analyzer/analyzer.opt:391
 #, no-c-format
 msgid ""
 "Emit custom warnings with internal details intended for analyzer developers."
@@ -5881,7 +6032,7 @@ msgstr ""
 msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework."
 msgstr ""
 
-#: config/darwin.opt:258 config/darwin.opt:273 config/darwin.opt:277
+#: config/darwin.opt:258 config/darwin.opt:279 config/darwin.opt:283
 #, no-c-format
 msgid "(Obsolete) LD_PREBIND is no longer supported."
 msgstr ""
@@ -5891,37 +6042,37 @@ msgstr ""
 msgid "(Obsolete) This is the default."
 msgstr ""
 
-#: config/darwin.opt:269
+#: config/darwin.opt:275
 #, no-c-format
 msgid ""
 "-pagezero_size <size>\tAllows setting the page 0 size to 4kb when required."
 msgstr ""
 
-#: config/darwin.opt:281
+#: config/darwin.opt:287
 #, no-c-format
 msgid "Produces a Mach-O file suitable for embedded/ROM use."
 msgstr ""
 
-#: config/darwin.opt:285
+#: config/darwin.opt:291
 #, 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:292
+#: config/darwin.opt:298
 #, no-c-format
 msgid "Synonym for \"-export-dynamic\" for linker versions that support it."
 msgstr ""
 
-#: config/darwin.opt:296
+#: config/darwin.opt:302
 #, no-c-format
 msgid ""
 "-read_only_relocs <treatment>\tAllow relocations in read-only pages (not "
 "recommended)."
 msgstr ""
 
-#: config/darwin.opt:300
+#: config/darwin.opt:306
 #, no-c-format
 msgid ""
 "-sectalign <segname> <sectname> <value>\tSet section <sectname> in segment "
@@ -5929,64 +6080,64 @@ msgid ""
 "expressed in hexadecimal form."
 msgstr ""
 
-#: config/darwin.opt:304
+#: config/darwin.opt:310
 #, no-c-format
 msgid ""
 "-sectcreate <segname> <sectname> <file>\tCreate section <sectname> in "
 "segment <segname> from the contents of <file>."
 msgstr ""
 
-#: config/darwin.opt:308
+#: config/darwin.opt:314
 #, 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:312
+#: config/darwin.opt:318
 #, no-c-format
 msgid ""
 "(Obsolete) -sectorder <segname> <sectname> <orderfile>\tReplaced by a more "
 "general option \"-order_file\"."
 msgstr ""
 
-#: config/darwin.opt:316
+#: config/darwin.opt:322
 #, 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:321
+#: config/darwin.opt:327
 #, no-c-format
 msgid "(Obsolete, ld_classic only) -seg_addr_table_filename <path>."
 msgstr ""
 
-#: config/darwin.opt:325
+#: config/darwin.opt:331
 #, no-c-format
 msgid "Synonym for \"image_base\"."
 msgstr ""
 
-#: config/darwin.opt:329
+#: config/darwin.opt:335
 #, 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:334
+#: config/darwin.opt:340
 #, no-c-format
 msgid ""
 "(Obsolete, ld_classic only) -sectcreate <segname> <sectname> <file>\tAllowed "
 "creation of a section from a file."
 msgstr ""
 
-#: config/darwin.opt:338
+#: config/darwin.opt:344
 #, no-c-format
 msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported."
 msgstr ""
 
-#: config/darwin.opt:342
+#: config/darwin.opt:348
 #, no-c-format
 msgid ""
 "-segprot <segname> <max_prot> <init_prot>\tThe virtual memory protections "
@@ -5995,71 +6146,77 @@ msgid ""
 "\"x\" or \"-\" the latter meaning \"no access\"."
 msgstr ""
 
-#: config/darwin.opt:346
+#: config/darwin.opt:352
 #, 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:350
+#: config/darwin.opt:356
 #, 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:354
+#: config/darwin.opt:360
 #, no-c-format
 msgid "(Obsolete)\tThis is the default."
 msgstr ""
 
-#: config/darwin.opt:358
+#: config/darwin.opt:364
 #, no-c-format
 msgid ""
 "-sub_library <name>\tLibrary named <name> will be re-exported (only useful "
 "for dylibs)."
 msgstr ""
 
-#: config/darwin.opt:362
+#: config/darwin.opt:368
 #, no-c-format
 msgid ""
 "-sub_umbrella <name>\tFramework named <name> will be re-exported (only "
 "useful for dylibs)."
 msgstr ""
 
-#: config/darwin.opt:366
+#: config/darwin.opt:372
 #, no-c-format
 msgid "This is the default."
 msgstr ""
 
-#: config/darwin.opt:370
+#: config/darwin.opt:376
 #, 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:374
+#: config/darwin.opt:380
 #, no-c-format
 msgid "-umbrella <framework>\tThe specified framework will be re-exported."
 msgstr ""
 
-#: config/darwin.opt:378
+#: config/darwin.opt:384
 #, no-c-format
 msgid ""
 "-undefined <treatment>\tSpecify the handling for undefined symbols (default "
 "is error)."
 msgstr ""
 
-#: config/darwin.opt:382
+#: config/darwin.opt:388
 #, no-c-format
 msgid ""
 "-unexported_symbols_list <filename>\tDo not export the global symbols listed "
 "in <filename>."
 msgstr ""
 
-#: config/darwin.opt:386
+#: config/darwin.opt:392
+#, no-c-format
+msgid ""
+"-weak_framework <framework>\tMake a weak link to the specified framework."
+msgstr ""
+
+#: config/darwin.opt:396
 #, no-c-format
 msgid ""
 "-weak_reference_mismatches <treatment>\tSpecifies what to do if a symbol "
@@ -6067,22 +6224,22 @@ msgid ""
 "is to treat the symbol as non-weak."
 msgstr ""
 
-#: config/darwin.opt:390
+#: config/darwin.opt:400
 #, no-c-format
 msgid "Logs which object files the linker loads."
 msgstr ""
 
-#: config/darwin.opt:394
+#: config/darwin.opt:404
 #, no-c-format
 msgid "Logs which symbol(s) caused an object to be loaded."
 msgstr ""
 
-#: config/darwin.opt:402
+#: config/darwin.opt:412
 #, no-c-format
 msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"."
 msgstr ""
 
-#: config/darwin.opt:406
+#: config/darwin.opt:416
 #, no-c-format
 msgid ""
 "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable "
@@ -6133,12 +6290,12 @@ msgid ""
 "but may be used as a shared library."
 msgstr ""
 
-#: config/bfin/bfin.opt:74 config/m68k/m68k.opt:175
+#: config/bfin/bfin.opt:74 config/m68k/m68k.opt:180
 #, no-c-format
 msgid "ID of shared library to build."
 msgstr ""
 
-#: config/bfin/bfin.opt:78 config/m68k/m68k.opt:171
+#: config/bfin/bfin.opt:78 config/m68k/m68k.opt:176
 #, no-c-format
 msgid "Enable separate data segment."
 msgstr ""
@@ -6303,8 +6460,8 @@ msgstr ""
 msgid "Align variables on a 32-bit boundary."
 msgstr ""
 
-#: config/m68k/m68k.opt:103 config/arm/arm.opt:86 config/nios2/nios2.opt:570
-#: config/nds32/nds32.opt:171 config/c6x/c6x.opt:67
+#: config/m68k/m68k.opt:103 config/arm/arm.opt:86 config/nds32/nds32.opt:171
+#: config/c6x/c6x.opt:67
 #, no-c-format
 msgid "Specify the name of the target architecture."
 msgstr ""
@@ -6354,68 +6511,75 @@ msgstr ""
 msgid "Use 32-bit offsets in jump tables rather than 16-bit offsets."
 msgstr ""
 
-#: config/m68k/m68k.opt:151
+#: config/m68k/m68k.opt:151 config/avr/avr.opt:23
+#, no-c-format
+msgid ""
+"Usa LRA for reload instead of the old reload framework.  This option is "
+"experimental, and it may be removed in future versions of the compiler."
+msgstr ""
+
+#: config/m68k/m68k.opt:156
 #, no-c-format
 msgid "Do not use the bit-field instructions."
 msgstr ""
 
-#: config/m68k/m68k.opt:155
+#: config/m68k/m68k.opt:160
 #, no-c-format
 msgid "Use normal calling convention."
 msgstr ""
 
-#: config/m68k/m68k.opt:159
+#: config/m68k/m68k.opt:164
 #, no-c-format
 msgid "Consider type 'int' to be 32 bits wide."
 msgstr ""
 
-#: config/m68k/m68k.opt:163
+#: config/m68k/m68k.opt:168
 #, no-c-format
 msgid "Generate pc-relative code."
 msgstr ""
 
-#: config/m68k/m68k.opt:167
+#: config/m68k/m68k.opt:172
 #, no-c-format
 msgid "Use different calling convention using 'rtd'."
 msgstr ""
 
-#: config/m68k/m68k.opt:179
+#: config/m68k/m68k.opt:184
 #, no-c-format
 msgid "Consider type 'int' to be 16 bits wide."
 msgstr ""
 
-#: config/m68k/m68k.opt:183
+#: config/m68k/m68k.opt:188
 #, no-c-format
 msgid "Generate code with library calls for floating point."
 msgstr ""
 
-#: config/m68k/m68k.opt:187 config/xtensa/xtensa.opt:73
+#: config/m68k/m68k.opt:192 config/xtensa/xtensa.opt:73
 #, no-c-format
 msgid "Do not use unaligned memory references."
 msgstr ""
 
-#: config/m68k/m68k.opt:191
+#: config/m68k/m68k.opt:196
 #, no-c-format
 msgid "Tune for the specified target CPU or architecture."
 msgstr ""
 
-#: config/m68k/m68k.opt:195
+#: config/m68k/m68k.opt:200
 #, no-c-format
 msgid "Support more than 8192 GOT entries on ColdFire."
 msgstr ""
 
-#: config/m68k/m68k.opt:199
+#: config/m68k/m68k.opt:204
 #, no-c-format
 msgid "Support TLS segment larger than 64K."
 msgstr ""
 
-#: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:74
+#: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:83
 #: config/arm/arm.opt:105 config/microblaze/microblaze.opt:60
 #, no-c-format
 msgid "Assume target CPU is configured as big endian."
 msgstr ""
 
-#: config/riscv/riscv.opt:30 config/aarch64/aarch64.opt:94
+#: config/riscv/riscv.opt:30 config/aarch64/aarch64.opt:103
 #: config/arm/arm.opt:170 config/microblaze/microblaze.opt:64
 #, no-c-format
 msgid "Assume target CPU is configured as little endian."
@@ -6428,7 +6592,7 @@ msgstr ""
 
 #: config/riscv/riscv.opt:38
 #, no-c-format
-msgid "When generating -fpic code, allow the use of PLTs. Ignored for fno-pic."
+msgid "This option is deprecated; use -fplt or -fno-plt instead."
 msgstr ""
 
 #: config/riscv/riscv.opt:42
@@ -6468,7 +6632,7 @@ msgstr ""
 msgid "-march=help\tPrint supported -march extensions."
 msgstr ""
 
-#: config/riscv/riscv.opt:103 config/mips/mips.opt:430
+#: config/riscv/riscv.opt:103 config/mips/mips.opt:426
 #, no-c-format
 msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR."
 msgstr ""
@@ -6499,36 +6663,46 @@ msgid ""
 "targets 32-bit integer load/stores."
 msgstr ""
 
-#: config/riscv/riscv.opt:125 config/aarch64/aarch64.opt:98
-#: config/loongarch/loongarch.opt:266
+#: config/riscv/riscv.opt:125 config/aarch64/aarch64.opt:107
+#: config/loongarch/loongarch.opt:270
 #, no-c-format
 msgid "Specify the code model."
 msgstr ""
 
-#: config/riscv/riscv.opt:129 config/loongarch/loongarch.opt:206
+#: config/riscv/riscv.opt:129 config/loongarch/loongarch.opt:210
 #, no-c-format
 msgid "Do not generate unaligned memory accesses."
 msgstr ""
 
-#: config/riscv/riscv.opt:133 config/i386/i386.opt:308
+#: config/riscv/riscv.opt:133
+#, no-c-format
+msgid "Do not generate unaligned scalar memory accesses."
+msgstr ""
+
+#: config/riscv/riscv.opt:137
+#, no-c-format
+msgid "Do not create element-misaligned vector memory accesses."
+msgstr ""
+
+#: config/riscv/riscv.opt:141 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:146
+#: config/riscv/riscv.opt:154
 #, no-c-format
 msgid "Use %reloc() operators, rather than assembly macros, to load addresses."
 msgstr ""
 
-#: config/riscv/riscv.opt:150 config/loongarch/loongarch.opt:274
+#: config/riscv/riscv.opt:158 config/loongarch/loongarch.opt:278
 #, 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:155
+#: config/riscv/riscv.opt:163
 #, no-c-format
 msgid ""
 "Enable the CSR checking for the ISA-dependent CSR and the read-only CSR. The "
@@ -6536,149 +6710,167 @@ msgid ""
 "only CSR can not be written by the CSR instructions."
 msgstr ""
 
-#: config/riscv/riscv.opt:161 config/aarch64/aarch64.opt:141
+#: config/riscv/riscv.opt:169 config/aarch64/aarch64.opt:150
 #: config/i386/i386.opt:420
 #, no-c-format
 msgid "Omit the frame pointer in leaf functions."
 msgstr ""
 
-#: config/riscv/riscv.opt:183
+#: config/riscv/riscv.opt:191
 #, no-c-format
 msgid "Emit RISC-V ELF attribute."
 msgstr ""
 
-#: config/riscv/riscv.opt:187 config/i386/i386.opt:261
+#: config/riscv/riscv.opt:195 config/i386/i386.opt:261
 #, no-c-format
 msgid "Use the given data alignment."
 msgstr ""
 
-#: config/riscv/riscv.opt:191 config/i386/i386.opt:265
+#: config/riscv/riscv.opt:199 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:201 config/aarch64/aarch64.opt:304
-#: config/i386/i386.opt:1038 config/arm/arm.opt:349
+#: config/riscv/riscv.opt:209 config/aarch64/aarch64.opt:313
+#: config/i386/i386.opt:1021 config/arm/arm.opt:349
 #: config/rs6000/rs6000.opt:554
 #, no-c-format
 msgid "Use given stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:205 config/aarch64/aarch64.opt:308
+#: config/riscv/riscv.opt:213 config/aarch64/aarch64.opt:317
 #: config/arm/arm.opt:353 config/rs6000/rs6000.opt:558
 #, no-c-format
 msgid "Valid arguments to -mstack-protector-guard=:"
 msgstr ""
 
-#: config/riscv/riscv.opt:215 config/i386/i386.opt:1052
+#: config/riscv/riscv.opt:223 config/i386/i386.opt:1035
 #: config/rs6000/rs6000.opt:568
 #, no-c-format
 msgid "Use the given base register for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:222 config/i386/i386.opt:1059
+#: config/riscv/riscv.opt:230 config/i386/i386.opt:1042
 #: config/rs6000/rs6000.opt:575
 #, no-c-format
 msgid "Use the given offset for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:494
+#: config/riscv/riscv.opt:543
 #, no-c-format
 msgid "Supported ISA specs (for use with the -misa-spec= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:507
+#: config/riscv/riscv.opt:556
 #, no-c-format
 msgid "Set the version of RISC-V ISA spec."
 msgstr ""
 
-#: config/riscv/riscv.opt:511
+#: config/riscv/riscv.opt:560
 #, no-c-format
 msgid "Enable conditional moves unconditionally."
 msgstr ""
 
-#: config/riscv/riscv.opt:515
+#: config/riscv/riscv.opt:564
 #, no-c-format
 msgid "Always inline subword atomic operations."
 msgstr ""
 
-#: config/riscv/riscv.opt:519
+#: config/riscv/riscv.opt:568
 #, no-c-format
 msgid "Inline strcmp calls if possible."
 msgstr ""
 
-#: config/riscv/riscv.opt:523
+#: config/riscv/riscv.opt:572
 #, no-c-format
 msgid "Inline strncmp calls if possible."
 msgstr ""
 
-#: config/riscv/riscv.opt:527
+#: config/riscv/riscv.opt:576
 #, no-c-format
 msgid "Inline strlen calls if possible."
 msgstr ""
 
-#: config/riscv/riscv.opt:531
+#: config/riscv/riscv.opt:580
 #, no-c-format
 msgid ""
 "Max number of bytes to compare as part of inlined strcmp/strncmp routines "
 "(default: 64)."
 msgstr ""
 
-#: config/riscv/riscv.opt:535
+#: config/riscv/riscv.opt:584
 #, no-c-format
 msgid "The RVV possible LMUL (-mrvv-max-lmul=):"
 msgstr ""
 
-#: config/riscv/riscv.opt:554
+#: config/riscv/riscv.opt:603
 #, no-c-format
 msgid "-mrvv-max-lmul=<string>\tSet the RVV LMUL of auto-vectorization."
 msgstr ""
 
-#: config/riscv/riscv.opt:561
+#: config/riscv/riscv.opt:610
 #, no-c-format
 msgid "Valid arguments to -param=vsetvl-strategy=:"
 msgstr ""
 
-#: config/riscv/riscv.opt:574
+#: config/riscv/riscv.opt:623
 #, no-c-format
 msgid ""
 "-param=vsetvl-strategy=<string>\tSet the optimization level of VSETVL insert "
 "pass."
 msgstr ""
 
-#: config/riscv/riscv.opt:578 config/i386/i386.opt:496
+#: config/riscv/riscv.opt:627
+#, no-c-format
+msgid ""
+"-param=riscv-two-source-permutes Enable permutes with two source vectors."
+msgstr ""
+
+#: config/riscv/riscv.opt:631 config/i386/i386.opt:496
 #, no-c-format
 msgid "Valid arguments to -mstringop-strategy=:"
 msgstr ""
 
-#: config/riscv/riscv.opt:594
+#: config/riscv/riscv.opt:647
 #, no-c-format
 msgid "Specify stringop expansion strategy."
 msgstr ""
 
-#: config/riscv/riscv.opt:598
+#: config/riscv/riscv.opt:651
 #, no-c-format
 msgid "The possible RVV vector register lengths:"
 msgstr ""
 
-#: config/riscv/riscv.opt:608
+#: config/riscv/riscv.opt:661
 #, no-c-format
 msgid ""
 "-mrvv-vector-bits=<string>\tSet the kind of bits for an RVV vector register."
 msgstr ""
 
-#: config/riscv/riscv.opt:612 config/aarch64/aarch64.opt:49
-#: config/loongarch/loongarch.opt:283
+#: config/riscv/riscv.opt:665 config/aarch64/aarch64.opt:58
+#: config/loongarch/loongarch.opt:287
 #, no-c-format
 msgid "The possible TLS dialects:"
 msgstr ""
 
-#: config/riscv/riscv.opt:622 config/aarch64/aarch64.opt:145
-#: config/loongarch/loongarch.opt:293
+#: config/riscv/riscv.opt:675 config/aarch64/aarch64.opt:154
+#: config/loongarch/loongarch.opt:297
 #, no-c-format
 msgid "Specify TLS dialect."
 msgstr ""
 
+#: config/riscv/riscv.opt:679
+#, no-c-format
+msgid "Specifies whether the fence.tso instruction should be used."
+msgstr ""
+
+#: config/riscv/riscv.opt:683
+#, no-c-format
+msgid ""
+"Enable (default) or disable generation of vector segment load/store "
+"instructions."
+msgstr ""
+
 #: config/m32c/m32c.opt:23
 #, no-c-format
 msgid "-msim\tUse simulator runtime."
@@ -6826,107 +7018,107 @@ msgid ""
 "__mspabi helper function. The default value is 4."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:61 config/loongarch/loongarch.opt:244
+#: config/aarch64/aarch64.opt:70 config/loongarch/loongarch.opt:248
 #, no-c-format
 msgid "The code model option names for -mcmodel:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:78 config/i386/i386.opt:1073
+#: config/aarch64/aarch64.opt:87 config/i386/i386.opt:1056
 #, no-c-format
 msgid "Generate code which uses only the general registers."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:82 config/i386/i386.opt:1165
+#: config/aarch64/aarch64.opt:91 config/i386/i386.opt:1148
 #, no-c-format
 msgid "Generate code to mitigate against straight line speculation."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:86
+#: config/aarch64/aarch64.opt:95
 #, no-c-format
 msgid "Workaround for ARM Cortex-A53 Erratum number 835769."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:90
+#: config/aarch64/aarch64.opt:99
 #, no-c-format
 msgid "Workaround for ARM Cortex-A53 Erratum number 843419."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:102
+#: config/aarch64/aarch64.opt:111
 #, no-c-format
 msgid "The register used to access the thread pointer:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:133
+#: config/aarch64/aarch64.opt:142
 #, no-c-format
 msgid "Specify the thread pointer register."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:137
+#: config/aarch64/aarch64.opt:146
 #, no-c-format
 msgid "Don't assume that unaligned accesses are handled by the system."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:149
+#: config/aarch64/aarch64.opt:158
 #, no-c-format
 msgid ""
 "Specifies bit size of immediate TLS offsets.  Valid values are 12, 24, 32, "
 "48."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:168
+#: config/aarch64/aarch64.opt:177
 #, no-c-format
 msgid "Use features of architecture ARCH."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:172
+#: config/aarch64/aarch64.opt:181
 #, no-c-format
 msgid "Use features of and optimize for CPU."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:176
+#: config/aarch64/aarch64.opt:185
 #, no-c-format
 msgid "Optimize for CPU."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:180
+#: config/aarch64/aarch64.opt:189
 #, no-c-format
 msgid "Generate code that conforms to the specified ABI."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:184
+#: config/aarch64/aarch64.opt:193
 #, no-c-format
 msgid ""
 "-moverride=<string>\tPower users only! Override CPU optimization parameters."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:188
+#: config/aarch64/aarch64.opt:197
 #, no-c-format
 msgid "Known AArch64 ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:198
+#: config/aarch64/aarch64.opt:207
 #, no-c-format
 msgid "PC relative literal loads."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:202 config/arm/arm.opt:337
+#: config/aarch64/aarch64.opt:211 config/arm/arm.opt:337
 #, no-c-format
 msgid "Use branch-protection features."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:206
+#: config/aarch64/aarch64.opt:215
 #, no-c-format
 msgid "Select return address signing scope."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:210
+#: config/aarch64/aarch64.opt:219
 #, no-c-format
 msgid ""
 "Supported AArch64 return address signing scope (for use with -msign-return-"
 "address= option):"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:223
+#: config/aarch64/aarch64.opt:232
 #, no-c-format
 msgid ""
 "Enable the reciprocal square root approximation.  Enabling this reduces "
@@ -6934,7 +7126,7 @@ msgid ""
 "precision and to 32 bits for double precision."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:229
+#: config/aarch64/aarch64.opt:238
 #, no-c-format
 msgid ""
 "Enable the square root approximation.  Enabling this reduces precision of "
@@ -6942,7 +7134,7 @@ msgid ""
 "double precision. If enabled, it implies -mlow-precision-recip-sqrt."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:236
+#: config/aarch64/aarch64.opt:245
 #, no-c-format
 msgid ""
 "Enable the division approximation.  Enabling this reduces precision of "
@@ -6950,7 +7142,7 @@ msgid ""
 "double precision."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:254
+#: config/aarch64/aarch64.opt:263
 #, no-c-format
 msgid ""
 "Specify when to enable an early register allocation pass.  The possibilities "
@@ -6958,42 +7150,42 @@ msgid ""
 "instructions, and no functions."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:260
+#: config/aarch64/aarch64.opt:269
 #, no-c-format
 msgid "The possible SVE vector lengths:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:282
+#: config/aarch64/aarch64.opt:291
 #, no-c-format
 msgid ""
 "-msve-vector-bits=<number>\tSet the number of bits in an SVE vector register."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:286
+#: config/aarch64/aarch64.opt:295
 #, no-c-format
 msgid "Enables verbose cost model dumping in the debug dump files."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:290
+#: config/aarch64/aarch64.opt:299
 #, no-c-format
 msgid "Generate code to track when the CPU might be speculating incorrectly."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:294
+#: config/aarch64/aarch64.opt:303
 #, 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
+#: config/aarch64/aarch64.opt:308
 #, 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
+#: config/aarch64/aarch64.opt:327
 #, no-c-format
 msgid ""
 "Use the system register specified on the command line as the stack protector "
@@ -7001,7 +7193,7 @@ msgid ""
 "for use in user-land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:324
+#: config/aarch64/aarch64.opt:333
 #, no-c-format
 msgid ""
 "Use an immediate to offset from the stack protector guard register, sp_el0. "
@@ -7009,19 +7201,19 @@ msgid ""
 "land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:333
+#: config/aarch64/aarch64.opt:342
 #, no-c-format
 msgid "Generate local calls to out-of-line atomic operations."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:337
+#: config/aarch64/aarch64.opt:346
 #, no-c-format
 msgid ""
 "When vectorizing, consider using multiple different approaches and use the "
 "cost model to choose the cheapest one."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:342
+#: config/aarch64/aarch64.opt:351
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for float "
@@ -7029,7 +7221,7 @@ msgid ""
 "approximation is enabled.  The default value is 1."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:346
+#: config/aarch64/aarch64.opt:355
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for double "
@@ -7037,48 +7229,55 @@ msgid ""
 "approximation is enabled.  The default value is 2."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:356
+#: config/aarch64/aarch64.opt:359
+#, no-c-format
+msgid ""
+"--param=aarch64-autovec-preference=[default|asimd-only|sve-only|prefer-asimd|"
+"prefer-sve] Force an ISA selection strategy for auto-vectorization."
+msgstr ""
+
+#: config/aarch64/aarch64.opt:385
 #, no-c-format
 msgid "Constant memcpy size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:360
+#: config/aarch64/aarch64.opt:389
 #, no-c-format
 msgid ""
 "Constant memmove size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:364
+#: config/aarch64/aarch64.opt:393
 #, no-c-format
 msgid "Constant memset size in bytes from which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:368
+#: config/aarch64/aarch64.opt:397
 #, no-c-format
 msgid "Limit how much the autovectorizer may unroll a loop."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:372
+#: config/aarch64/aarch64.opt:401
 #, no-c-format
 msgid ""
 "--param=aarch64-ldp-policy=[default|always|never|aligned] Fine-grained "
 "policy for load pairs."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:376
+#: config/aarch64/aarch64.opt:405
 #, no-c-format
 msgid ""
 "--param=aarch64-stp-policy=[default|always|never|aligned] Fine-grained "
 "policy for store pairs."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:395
+#: config/aarch64/aarch64.opt:424
 #, no-c-format
 msgid ""
 "Limit on number of alias checks performed when attempting to form an ldp/stp."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:399
+#: config/aarch64/aarch64.opt:428
 #, no-c-format
 msgid ""
 "Param to control which writeback opportunities we try to handle in the load/"
@@ -7089,6 +7288,11 @@ msgid ""
 "destructive updates of the base register used by a pair."
 msgstr ""
 
+#: config/aarch64/aarch64.opt:437
+#, no-c-format
+msgid "Warn about usage of experimental Function Multi Versioning."
+msgstr ""
+
 #: config/linux.opt:24
 #, no-c-format
 msgid "Use Bionic C library."
@@ -7109,6 +7313,68 @@ msgstr ""
 msgid "Use musl C library."
 msgstr ""
 
+#: config/mingw/cygming.opt:23
+#, no-c-format
+msgid "Create console application."
+msgstr ""
+
+#: config/mingw/cygming.opt:27
+#, no-c-format
+msgid "Generate code for a DLL."
+msgstr ""
+
+#: config/mingw/cygming.opt:31
+#, no-c-format
+msgid "Ignore dllimport for functions."
+msgstr ""
+
+#: config/mingw/cygming.opt:35
+#, no-c-format
+msgid "Use Mingw-specific thread support."
+msgstr ""
+
+#: config/mingw/cygming.opt:39
+#, no-c-format
+msgid "Set Windows defines."
+msgstr ""
+
+#: config/mingw/cygming.opt:43
+#, no-c-format
+msgid "Create GUI application."
+msgstr ""
+
+#: config/mingw/cygming.opt:47
+#, no-c-format
+msgid "Use the GNU extension to the PE format for aligned common data."
+msgstr ""
+
+#: config/mingw/cygming.opt:51
+#, no-c-format
+msgid ""
+"Compile code that relies on Cygwin DLL wrappers to support C++ operator new/"
+"delete replacement."
+msgstr ""
+
+#: config/mingw/cygming.opt:55
+#, no-c-format
+msgid "For nested functions on stack executable permission is set."
+msgstr ""
+
+#: config/mingw/cygming.opt:62
+#, no-c-format
+msgid "Put relocated read-only data into .data section."
+msgstr ""
+
+#: config/mingw/mingw.opt:23
+#, no-c-format
+msgid "Preprocess, compile or link with specified C RunTime DLL library."
+msgstr ""
+
+#: config/mingw/mingw.opt:33
+#, no-c-format
+msgid "Warn about none ISO msvcrt scanf/printf width extensions."
+msgstr ""
+
 #: config/ia64/ilp32.opt:3
 #, no-c-format
 msgid "Generate ILP32 code."
@@ -7229,7 +7495,7 @@ msgstr ""
 msgid "Specify bit size of immediate TLS offsets."
 msgstr ""
 
-#: config/ia64/ia64.opt:122 config/i386/i386.opt:542 config/s390/s390.opt:203
+#: config/ia64/ia64.opt:122 config/i386/i386.opt:542 config/s390/s390.opt:206
 #: config/sparc/sparc.opt:146 config/visium/visium.opt:49
 #, no-c-format
 msgid "Schedule code for given CPU."
@@ -7425,10 +7691,9 @@ msgstr ""
 msgid "Target the software simulator."
 msgstr ""
 
-#: config/ft32/ft32.opt:27 config/s390/s390.opt:234 config/mips/mips.opt:418
-#: config/arc/arc.opt:405
+#: config/ft32/ft32.opt:27
 #, no-c-format
-msgid "Use LRA instead of reload."
+msgid "Ignored, but preserved for backward compatibility."
 msgstr ""
 
 #: config/ft32/ft32.opt:31
@@ -7659,68 +7924,6 @@ msgstr ""
 msgid "Use windowed registers ABI."
 msgstr ""
 
-#: config/i386/cygming.opt:23
-#, no-c-format
-msgid "Create console application."
-msgstr ""
-
-#: config/i386/cygming.opt:27
-#, no-c-format
-msgid "Generate code for a DLL."
-msgstr ""
-
-#: config/i386/cygming.opt:31
-#, no-c-format
-msgid "Ignore dllimport for functions."
-msgstr ""
-
-#: config/i386/cygming.opt:35
-#, no-c-format
-msgid "Use Mingw-specific thread support."
-msgstr ""
-
-#: config/i386/cygming.opt:39
-#, no-c-format
-msgid "Set Windows defines."
-msgstr ""
-
-#: config/i386/cygming.opt:43
-#, no-c-format
-msgid "Create GUI application."
-msgstr ""
-
-#: config/i386/cygming.opt:47
-#, no-c-format
-msgid "Use the GNU extension to the PE format for aligned common data."
-msgstr ""
-
-#: config/i386/cygming.opt:51
-#, no-c-format
-msgid ""
-"Compile code that relies on Cygwin DLL wrappers to support C++ operator new/"
-"delete replacement."
-msgstr ""
-
-#: config/i386/cygming.opt:55
-#, no-c-format
-msgid "For nested functions on stack executable permission is set."
-msgstr ""
-
-#: config/i386/cygming.opt:62
-#, no-c-format
-msgid "Put relocated read-only data into .data section."
-msgstr ""
-
-#: config/i386/mingw.opt:23
-#, no-c-format
-msgid "Preprocess, compile or link with specified C RunTime DLL library."
-msgstr ""
-
-#: config/i386/mingw.opt:33
-#, no-c-format
-msgid "Warn about none ISO msvcrt scanf/printf width extensions."
-msgstr ""
-
 #: config/i386/mingw-w64.opt:23
 #, no-c-format
 msgid "Use unicode startup and define UNICODE macro."
@@ -7746,13 +7949,13 @@ msgstr ""
 msgid "Use 80-bit long double."
 msgstr ""
 
-#: config/i386/i386.opt:229 config/s390/s390.opt:163
+#: config/i386/i386.opt:229 config/s390/s390.opt:166
 #: 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:233 config/s390/s390.opt:159
+#: config/i386/i386.opt:233 config/s390/s390.opt:162
 #: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:98
 #, no-c-format
 msgid "Use 128-bit long double."
@@ -8018,917 +8221,930 @@ msgid ""
 "Known vectorization library ABIs (for use with the -mveclibabi= option):"
 msgstr ""
 
-#: config/i386/i386.opt:593
+#: config/i386/i386.opt:596
 #, no-c-format
 msgid "Return 8-byte vectors in memory."
 msgstr ""
 
-#: config/i386/i386.opt:597
+#: config/i386/i386.opt:600
 #, no-c-format
 msgid "Generate reciprocals instead of divss and sqrtss."
 msgstr ""
 
-#: config/i386/i386.opt:601 config/loongarch/loongarch.opt:235
+#: config/i386/i386.opt:604 config/loongarch/loongarch.opt:239
 #, no-c-format
 msgid "Control generation of reciprocal estimates."
 msgstr ""
 
-#: config/i386/i386.opt:605
+#: config/i386/i386.opt:608
 #, no-c-format
 msgid "Generate cld instruction in the function prologue."
 msgstr ""
 
-#: config/i386/i386.opt:609
+#: config/i386/i386.opt:612
 #, no-c-format
 msgid ""
 "Generate vzeroupper instruction before a transfer of control flow out of the "
 "function."
 msgstr ""
 
-#: config/i386/i386.opt:614
+#: config/i386/i386.opt:617
 #, no-c-format
 msgid ""
 "Disable Scalar to Vector optimization pass transforming 64-bit integer "
 "computations into a vector ones."
 msgstr ""
 
-#: config/i386/i386.opt:619
+#: config/i386/i386.opt:622
 #, 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:623
+#: config/i386/i386.opt:626
 #, 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:628
+#: config/i386/i386.opt:631
 #, no-c-format
 msgid ""
 "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-"
 "vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:632
+#: config/i386/i386.opt:635
 #, no-c-format
 msgid ""
 "Use given register vector width instructions instead of maximum register "
 "width in the auto-vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:636
+#: config/i386/i386.opt:639
 #, no-c-format
 msgid ""
 "Known preferred register vector length (to use with the -mprefer-vector-"
 "width= option):"
 msgstr ""
 
-#: config/i386/i386.opt:652
+#: config/i386/i386.opt:655
 #, no-c-format
 msgid ""
 "Enable floating-point status flags setting SSE vector operations on partial "
 "vectors."
 msgstr ""
 
-#: config/i386/i386.opt:656
+#: config/i386/i386.opt:659
 #, no-c-format
 msgid ""
 "Maximum number of bits that can be moved from memory to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:660
+#: config/i386/i386.opt:663
 #, no-c-format
 msgid "Maximum number of bits that can be stored to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:664
+#: config/i386/i386.opt:667
 #, no-c-format
 msgid ""
 "Optimize noreturn functions by not saving callee-saved registers used in the "
 "function."
 msgstr ""
 
-#: config/i386/i386.opt:670
+#: config/i386/i386.opt:673
 #, no-c-format
 msgid "Generate 32bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:674
+#: config/i386/i386.opt:677
 #, no-c-format
 msgid "Generate 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:678
+#: config/i386/i386.opt:681
 #, no-c-format
 msgid "Generate 32bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:682
+#: config/i386/i386.opt:685
 #, no-c-format
 msgid "Generate 16bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:686
+#: config/i386/i386.opt:689
 #, no-c-format
 msgid "Support MMX built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:690
+#: config/i386/i386.opt:693
 #, no-c-format
 msgid "Support 3DNow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:694
+#: config/i386/i386.opt:697
 #, no-c-format
 msgid "Support Athlon 3Dnow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:698
+#: config/i386/i386.opt:701
 #, no-c-format
 msgid "Support MMX and SSE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:702
+#: config/i386/i386.opt:705
 #, no-c-format
 msgid "Support MMX, SSE and SSE2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:706
+#: config/i386/i386.opt:709
 #, no-c-format
 msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:710
+#: config/i386/i386.opt:713
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:714
+#: config/i386/i386.opt:717
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:718 config/i386/i386.opt:722
+#: config/i386/i386.opt:721 config/i386/i386.opt:725
 #, 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:726
+#: config/i386/i386.opt:729
 #, no-c-format
 msgid ""
 "Do not support SSE4.1 and SSE4.2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:734
+#: config/i386/i386.opt:737
 #, 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:738
+#: config/i386/i386.opt:741
 #, 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:742
+#: config/i386/i386.opt:745
 #, 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:746
-#, 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:750
-#, 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:754
+#: config/i386/i386.opt:749
 #, 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:758
+#: config/i386/i386.opt:753
 #, 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:762
+#: config/i386/i386.opt:757
 #, 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:766
+#: config/i386/i386.opt:761
 #, 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:770
+#: config/i386/i386.opt:765
 #, 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:774
+#: config/i386/i386.opt:769
 #, 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:778
-#, 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:782
-#, 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:786
+#: config/i386/i386.opt:773
 #, 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:790
+#: config/i386/i386.opt:777
 #, 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:794
+#: config/i386/i386.opt:781
 #, no-c-format
 msgid "Support AVX512VNNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:798
+#: config/i386/i386.opt:785
 #, 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:802
+#: config/i386/i386.opt:789
 #, no-c-format
 msgid "Support AVX512VP2INTERSECT built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:806
+#: config/i386/i386.opt:793
 #, 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:810
+#: config/i386/i386.opt:797
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:814
+#: config/i386/i386.opt:801
 #, no-c-format
 msgid "Support FMA4 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:818
+#: config/i386/i386.opt:805
 #, no-c-format
 msgid "Support XOP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:822
+#: config/i386/i386.opt:809
 #, no-c-format
 msgid "Support LWP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:826
+#: config/i386/i386.opt:813
 #, no-c-format
 msgid ""
 "Support code generation of Advanced Bit Manipulation (ABM) instructions."
 msgstr ""
 
-#: config/i386/i386.opt:830
+#: config/i386/i386.opt:817
 #, no-c-format
 msgid "Support code generation of popcnt instruction."
 msgstr ""
 
-#: config/i386/i386.opt:834
+#: config/i386/i386.opt:821
 #, no-c-format
 msgid "Support PCONFIG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:838
+#: config/i386/i386.opt:825
 #, no-c-format
 msgid "Support WBNOINVD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:842
+#: config/i386/i386.opt:829
 #, no-c-format
 msgid "Support PTWRITE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:846
+#: config/i386/i386.opt:833
 #, no-c-format
 msgid "Support UINTR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:850
+#: config/i386/i386.opt:837
 #, no-c-format
 msgid "Support SGX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:854
+#: config/i386/i386.opt:841
 #, no-c-format
 msgid "Support RDPID built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:858
+#: config/i386/i386.opt:845
 #, no-c-format
 msgid "Support GFNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:862
+#: config/i386/i386.opt:849
 #, no-c-format
 msgid "Support VAES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:866
+#: config/i386/i386.opt:853
 #, no-c-format
 msgid "Support VPCLMULQDQ built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:870
+#: config/i386/i386.opt:857
 #, no-c-format
 msgid "Support BMI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:874
+#: config/i386/i386.opt:861
 #, no-c-format
 msgid "Support BMI2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:878
+#: config/i386/i386.opt:865
 #, no-c-format
 msgid "Support LZCNT built-in function and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:882
+#: config/i386/i386.opt:869
 #, no-c-format
 msgid "Support Hardware Lock Elision prefixes."
 msgstr ""
 
-#: config/i386/i386.opt:886
+#: config/i386/i386.opt:873
 #, no-c-format
 msgid "Support RDSEED instruction."
 msgstr ""
 
-#: config/i386/i386.opt:890
+#: config/i386/i386.opt:877
 #, no-c-format
 msgid "Support PREFETCHW instruction."
 msgstr ""
 
-#: config/i386/i386.opt:894
+#: config/i386/i386.opt:881
 #, no-c-format
 msgid "Support flag-preserving add-carry instructions."
 msgstr ""
 
-#: config/i386/i386.opt:898
+#: config/i386/i386.opt:885
 #, no-c-format
 msgid "Support CLFLUSHOPT instructions."
 msgstr ""
 
-#: config/i386/i386.opt:902
+#: config/i386/i386.opt:889
 #, no-c-format
 msgid "Support CLWB instruction."
 msgstr ""
 
-#: config/i386/i386.opt:909
+#: config/i386/i386.opt:896
 #, no-c-format
 msgid "Support FXSAVE and FXRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:913
+#: config/i386/i386.opt:900
 #, no-c-format
 msgid "Support XSAVE and XRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:917
+#: config/i386/i386.opt:904
 #, no-c-format
 msgid "Support XSAVEOPT instruction."
 msgstr ""
 
-#: config/i386/i386.opt:921
+#: config/i386/i386.opt:908
 #, no-c-format
 msgid "Support XSAVEC instructions."
 msgstr ""
 
-#: config/i386/i386.opt:925
+#: config/i386/i386.opt:912
 #, no-c-format
 msgid "Support XSAVES and XRSTORS instructions."
 msgstr ""
 
-#: config/i386/i386.opt:929
+#: config/i386/i386.opt:916
 #, no-c-format
 msgid "Support TBM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:933
+#: config/i386/i386.opt:920
 #, no-c-format
 msgid "Support code generation of cmpxchg16b instruction."
 msgstr ""
 
-#: config/i386/i386.opt:937
+#: config/i386/i386.opt:924
 #, no-c-format
 msgid "Support code generation of sahf instruction in 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:941
+#: config/i386/i386.opt:928
 #, no-c-format
 msgid "Support code generation of movbe instruction."
 msgstr ""
 
-#: config/i386/i386.opt:945
+#: config/i386/i386.opt:932
 #, no-c-format
 msgid "Support code generation of crc32 instruction."
 msgstr ""
 
-#: config/i386/i386.opt:949
+#: config/i386/i386.opt:936
 #, no-c-format
 msgid "Support AES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:953
+#: config/i386/i386.opt:940
 #, no-c-format
 msgid "Support SHA1 and SHA256 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:957
+#: config/i386/i386.opt:944
 #, no-c-format
 msgid "Support PCLMUL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:961
+#: config/i386/i386.opt:948
 #, no-c-format
 msgid "Encode SSE instructions with VEX prefix."
 msgstr ""
 
-#: config/i386/i386.opt:965
+#: config/i386/i386.opt:952
 #, no-c-format
 msgid "Support FSGSBASE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:969
+#: config/i386/i386.opt:956
 #, no-c-format
 msgid "Support RDRND built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:973
+#: config/i386/i386.opt:960
 #, no-c-format
 msgid "Support F16C built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:977
-#, no-c-format
-msgid "Support PREFETCHWT1 built-in functions and code generation."
-msgstr ""
-
-#: config/i386/i386.opt:981
+#: config/i386/i386.opt:964
 #, no-c-format
 msgid "Emit profiling counter call at function entry before prologue."
 msgstr ""
 
-#: config/i386/i386.opt:985
+#: config/i386/i386.opt:968
 #, no-c-format
 msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
 msgstr ""
 
-#: config/i386/i386.opt:989 config/s390/s390.opt:311
+#: config/i386/i386.opt:972 config/s390/s390.opt:310
 #, no-c-format
 msgid ""
 "Generate mcount/__fentry__ calls as nops. To activate they need to be "
 "patched in."
 msgstr ""
 
-#: config/i386/i386.opt:994
+#: config/i386/i386.opt:977
 #, no-c-format
 msgid "Set name of __fentry__ symbol called at function entry."
 msgstr ""
 
-#: config/i386/i386.opt:998
+#: config/i386/i386.opt:981
 #, no-c-format
 msgid "Set name of section to record mrecord-mcount calls."
 msgstr ""
 
-#: config/i386/i386.opt:1002
+#: config/i386/i386.opt:985
 #, no-c-format
 msgid "Skip setting up RAX register when passing variable arguments."
 msgstr ""
 
-#: config/i386/i386.opt:1006
+#: config/i386/i386.opt:989
 #, no-c-format
 msgid ""
 "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-"
 "time check."
 msgstr ""
 
-#: config/i386/i386.opt:1010
+#: config/i386/i386.opt:993
 #, no-c-format
 msgid "Split 32-byte AVX unaligned load."
 msgstr ""
 
-#: config/i386/i386.opt:1014
+#: config/i386/i386.opt:997
 #, no-c-format
 msgid "Split 32-byte AVX unaligned store."
 msgstr ""
 
-#: config/i386/i386.opt:1018
+#: config/i386/i386.opt:1001
 #, no-c-format
 msgid "Support RTM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1026
+#: config/i386/i386.opt:1009
 #, no-c-format
 msgid "Support MWAITX and MONITORX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1030
+#: config/i386/i386.opt:1013
 #, no-c-format
 msgid "Support CLZERO built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1034
+#: config/i386/i386.opt:1017
 #, no-c-format
 msgid "Support PKU built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1042
+#: config/i386/i386.opt:1025
 #, no-c-format
 msgid ""
 "Known stack protector guard (for use with the -mstack-protector-guard= "
 "option):"
 msgstr ""
 
-#: config/i386/i386.opt:1066
+#: config/i386/i386.opt:1049
 #, no-c-format
 msgid "Use the given symbol for addressing the stack-protector guard."
 msgstr ""
 
-#: config/i386/i386.opt:1077
+#: config/i386/i386.opt:1060
 #, no-c-format
 msgid ""
 "Enable shadow stack built-in functions from Control-flow Enforcement "
 "Technology (CET)."
 msgstr ""
 
-#: config/i386/i386.opt:1082
+#: config/i386/i386.opt:1065
 #, 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:1087
+#: config/i386/i386.opt:1070
 #, no-c-format
 msgid ""
 "Insert ENDBR instruction at function entry only via cf_check attribute for "
 "CET instrumentation."
 msgstr ""
 
-#: config/i386/i386.opt:1092
+#: config/i386/i386.opt:1075
 #, no-c-format
 msgid "Make all function calls indirect."
 msgstr ""
 
-#: config/i386/i386.opt:1096
+#: config/i386/i386.opt:1079
 #, no-c-format
 msgid "Convert indirect call and jump to call and return thunks."
 msgstr ""
 
-#: config/i386/i386.opt:1100
+#: config/i386/i386.opt:1083
 #, no-c-format
 msgid "Convert function return to call and return thunk."
 msgstr ""
 
-#: config/i386/i386.opt:1104 config/s390/s390.opt:277
+#: config/i386/i386.opt:1087 config/s390/s390.opt:276
 #, no-c-format
 msgid ""
 "Known indirect branch choices (for use with the -mindirect-branch=/-"
 "mfunction-return= options):"
 msgstr ""
 
-#: config/i386/i386.opt:1120
+#: config/i386/i386.opt:1103
 #, 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:1124
+#: config/i386/i386.opt:1107
 #, no-c-format
 msgid "Force indirect call and jump via register."
 msgstr ""
 
-#: config/i386/i386.opt:1128
+#: config/i386/i386.opt:1111
 #, no-c-format
 msgid "Support MOVDIRI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1132
+#: config/i386/i386.opt:1115
 #, no-c-format
 msgid "Support MOVDIR64B built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1136
+#: config/i386/i386.opt:1119
 #, no-c-format
 msgid "Support WAITPKG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1140
+#: config/i386/i386.opt:1123
 #, no-c-format
 msgid "Support CLDEMOTE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1144
+#: config/i386/i386.opt:1127
 #, no-c-format
 msgid "Instrument function exit in instrumented functions with __fentry__."
 msgstr ""
 
-#: config/i386/i386.opt:1148
+#: config/i386/i386.opt:1131
 #, no-c-format
 msgid "Known choices for return instrumentation with -minstrument-return=:"
 msgstr ""
 
-#: config/i386/i386.opt:1161
+#: config/i386/i386.opt:1144
 #, no-c-format
 msgid ""
 "Generate a __return_loc section pointing to all return instrumentation code."
 msgstr ""
 
-#: config/i386/i386.opt:1169
+#: config/i386/i386.opt:1152
 #, no-c-format
 msgid ""
 "Known choices for mitigation against straight line speculation with -mharden-"
 "sls=:"
 msgstr ""
 
-#: config/i386/i386.opt:1185
+#: config/i386/i386.opt:1168
 #, 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:1190
+#: config/i386/i386.opt:1173
 #, no-c-format
 msgid "Support ENQCMD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1194
+#: config/i386/i386.opt:1177
 #, no-c-format
 msgid "Support SERIALIZE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1198
+#: config/i386/i386.opt:1181
 #, no-c-format
 msgid "Support TSXLDTRK built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1202
+#: config/i386/i386.opt:1185
 #, no-c-format
 msgid "Support AMX-TILE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1206
+#: config/i386/i386.opt:1189
 #, no-c-format
 msgid "Support AMX-INT8 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1210
+#: config/i386/i386.opt:1193
 #, no-c-format
 msgid "Support AMX-BF16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1214
+#: config/i386/i386.opt:1197
 #, no-c-format
 msgid "Support HRESET built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1218
+#: config/i386/i386.opt:1201
 #, no-c-format
 msgid "Support KL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1222
+#: config/i386/i386.opt:1205
 #, no-c-format
 msgid "Support WIDEKL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1226
+#: config/i386/i386.opt:1209
 #, 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:1231
+#: config/i386/i386.opt:1214
 #, no-c-format
 msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property."
 msgstr ""
 
-#: config/i386/i386.opt:1235
+#: config/i386/i386.opt:1218
 #, no-c-format
 msgid "Support MWAIT and MONITOR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1239
+#: config/i386/i386.opt:1222
 #, 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:1243
+#: config/i386/i386.opt:1226
 #, no-c-format
 msgid "Do not use GOT to access external symbols."
 msgstr ""
 
-#: config/i386/i386.opt:1247
+#: config/i386/i386.opt:1230
 #, no-c-format
 msgid "Instructions number above which STFL stall penalty can be compensated."
 msgstr ""
 
-#: config/i386/i386.opt:1251
+#: config/i386/i386.opt:1234
 #, 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:1256
+#: config/i386/i386.opt:1239
 #, 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:1261
+#: config/i386/i386.opt:1244
 #, 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:1266
+#: config/i386/i386.opt:1249
 #, 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:1271
+#: config/i386/i386.opt:1254
 #, no-c-format
 msgid "Support AMX-FP16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1275
+#: config/i386/i386.opt:1258
 #, no-c-format
 msgid "Support PREFETCHI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1279
+#: config/i386/i386.opt:1262
 #, no-c-format
 msgid "Support RAOINT built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1283
+#: config/i386/i386.opt:1266
 #, no-c-format
 msgid "Enable conservative small loop unrolling."
 msgstr ""
 
-#: config/i386/i386.opt:1287
+#: config/i386/i386.opt:1270
 #, no-c-format
 msgid ""
 "-mlam=[none|u48|u57] Instrument meta data position in user data pointers."
 msgstr ""
 
-#: config/i386/i386.opt:1303
+#: config/i386/i386.opt:1286
 #, no-c-format
 msgid "Support AMX-COMPLEX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1307
+#: config/i386/i386.opt:1290
 #, 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:1312
+#: config/i386/i386.opt:1295
 #, 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:1317
+#: config/i386/i386.opt:1300
 #, 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:1322
+#: config/i386/i386.opt:1305
 #, 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:1327
+#: config/i386/i386.opt:1310
 #, no-c-format
 msgid "Enable vectorization for gather instruction."
 msgstr ""
 
-#: config/i386/i386.opt:1331
+#: config/i386/i386.opt:1314
 #, no-c-format
 msgid "Enable vectorization for scatter instruction."
 msgstr ""
 
-#: config/i386/i386.opt:1335
+#: config/i386/i386.opt:1318
 #, no-c-format
 msgid ""
-"Support code generation for APX features, including EGPR, PUSH2POP2, NDD and "
-"PPX."
+"Support code generation for APX features, including EGPR, PUSH2POP2, NDD, "
+"PPX, NF, CCMP and ZU."
 msgstr ""
 
-#: config/i386/i386.opt:1364
+#: config/i386/i386.opt:1356
 #, no-c-format
 msgid "Enable GPR32 in inline asm when APX_F enabled."
 msgstr ""
 
-#: config/i386/i386.opt:1368
+#: config/i386/i386.opt:1360
 #, no-c-format
 msgid "Support 512 bit vector built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1372
+#: config/i386/i386.opt:1364
 #, no-c-format
 msgid "Support USER_MSR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1376 config/i386/i386.opt:1386
+#: config/i386/i386.opt:1368 config/i386/i386.opt:1378
 #, 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:1381
+#: config/i386/i386.opt:1373
 #, 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/i386/i386.opt:1383 config/i386/i386.opt:1393
+#, no-c-format
+msgid ""
+"Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1 and "
+"AVX10.2 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1388
+#, no-c-format
+msgid ""
+"Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 "
+"and AVX10.2-512 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1398
+#, no-c-format
+msgid ""
+"Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, "
+"AVX10.2-512 and AMX-AVX512 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1403
+#, no-c-format
+msgid "Support AMX-TF32 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1407
+#, no-c-format
+msgid "Support AMX-TRANSPOSE built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1411
+#, no-c-format
+msgid "Support AMX-FP8 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1415
+#, no-c-format
+msgid "Support MOVRS built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1419
+#, no-c-format
+msgid "Support AMX-MOVRS 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."
@@ -8955,17 +9171,17 @@ msgstr ""
 msgid "Generate cpp defines for workstation IO."
 msgstr ""
 
-#: config/pa/pa.opt:30 config/pa/pa.opt:95 config/pa/pa.opt:107
+#: config/pa/pa.opt:30 config/pa/pa.opt:99 config/pa/pa.opt:111
 #, no-c-format
 msgid "Generate PA1.0 code."
 msgstr ""
 
-#: config/pa/pa.opt:34 config/pa/pa.opt:111 config/pa/pa.opt:156
+#: config/pa/pa.opt:34 config/pa/pa.opt:115 config/pa/pa.opt:160
 #, no-c-format
 msgid "Generate PA1.1 code."
 msgstr ""
 
-#: config/pa/pa.opt:38 config/pa/pa.opt:115
+#: config/pa/pa.opt:38 config/pa/pa.opt:119
 #, no-c-format
 msgid "Generate PA2.0 code (requires binutils 2.10 or later)."
 msgstr ""
@@ -9017,44 +9233,49 @@ msgstr ""
 msgid "Always generate long calls."
 msgstr ""
 
-#: config/pa/pa.opt:91
+#: config/pa/pa.opt:91 config/sh/sh.opt:303
+#, no-c-format
+msgid "Use LRA instead of reload (transitional)."
+msgstr ""
+
+#: config/pa/pa.opt:95
 #, no-c-format
 msgid "Emit long load/store sequences."
 msgstr ""
 
-#: config/pa/pa.opt:99
+#: config/pa/pa.opt:103
 #, no-c-format
 msgid "Disable space regs."
 msgstr ""
 
-#: config/pa/pa.opt:103
+#: config/pa/pa.opt:107
 #, no-c-format
 msgid "Assume memory references are ordered and barriers are not needed."
 msgstr ""
 
-#: config/pa/pa.opt:119
+#: config/pa/pa.opt:123
 #, no-c-format
 msgid "Use portable calling conventions."
 msgstr ""
 
-#: config/pa/pa.opt:123
+#: config/pa/pa.opt:127
 #, no-c-format
 msgid ""
 "Specify CPU for scheduling purposes.  Valid arguments are 700, 7100, 7100LC, "
 "7200, 7300, and 8000."
 msgstr ""
 
-#: config/pa/pa.opt:148 config/frv/frv.opt:215
+#: config/pa/pa.opt:152 config/frv/frv.opt:215
 #, no-c-format
 msgid "Use software floating point."
 msgstr ""
 
-#: config/pa/pa.opt:152
+#: config/pa/pa.opt:156
 #, no-c-format
 msgid "Use software integer multiplication."
 msgstr ""
 
-#: config/pa/pa.opt:160
+#: config/pa/pa.opt:164
 #, no-c-format
 msgid "Do not disable space regs."
 msgstr ""
@@ -9234,67 +9455,67 @@ msgstr ""
 msgid "Known PTX ISA target architectures (for use with the -misa= option):"
 msgstr ""
 
-#: config/nvptx/nvptx.opt:28
+#: config/nvptx/nvptx.opt:31
 #, no-c-format
 msgid ""
 "Ignored, but preserved for backward compatibility.  Only 64-bit ABI is "
 "supported."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:33
+#: config/nvptx/nvptx.opt:36
 #, no-c-format
 msgid "Link in code for a __main kernel."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:37
+#: config/nvptx/nvptx.opt:40
 #, no-c-format
 msgid "Optimize partition neutering."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:41
+#: config/nvptx/nvptx.opt:44
 #, no-c-format
 msgid "Use custom stacks instead of local memory for automatic storage."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:45
+#: config/nvptx/nvptx.opt:48
 #, no-c-format
 msgid ""
 "Specify size of .local memory used for stack when the exact amount is not "
 "known."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:49
+#: config/nvptx/nvptx.opt:52
 #, no-c-format
 msgid "Generate code that can keep local state uniform across all lanes."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:53
+#: config/nvptx/nvptx.opt:56
 #, no-c-format
 msgid ""
 "Generate code for OpenMP offloading: enables -msoft-stack and -muniform-simt."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:57
+#: config/nvptx/nvptx.opt:60
 #, no-c-format
 msgid "Specify the PTX ISA target architecture to use."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:61
+#: config/nvptx/nvptx.opt:64
 #, no-c-format
 msgid "Alias:"
 msgstr ""
 
-#: config/nvptx/nvptx.opt:122
+#: config/nvptx/nvptx.opt:125
 #, no-c-format
 msgid "Known PTX ISA versions (for use with the -mptx= option):"
 msgstr ""
 
-#: config/nvptx/nvptx.opt:141
+#: config/nvptx/nvptx.opt:156
 #, no-c-format
 msgid "Specify the PTX ISA version to use."
 msgstr ""
 
-#: config/nvptx/nvptx.opt:145
+#: config/nvptx/nvptx.opt:160
 #, no-c-format
 msgid "Initialize ptx registers."
 msgstr ""
@@ -9309,61 +9530,76 @@ msgstr ""
 msgid "Assume the VxWorks vThreads environment."
 msgstr ""
 
-#: config/avr/avr.opt:23
+#: config/avr/avr.opt:27
 #, no-c-format
 msgid "Optimization. Use subroutines for function prologues and epilogues."
 msgstr ""
 
-#: config/avr/avr.opt:27
+#: config/avr/avr.opt:31
+#, no-c-format
+msgid "Use a startup code with a compact vector table."
+msgstr ""
+
+#: config/avr/avr.opt:35
 #, no-c-format
 msgid "-mmcu=<MCU>\tSelect the target MCU."
 msgstr ""
 
-#: config/avr/avr.opt:31
+#: config/avr/avr.opt:39
 #, no-c-format
 msgid ""
 "Optimization. Allow usage of __gcc_isr pseudo instructions in ISR prologues "
 "and epilogues."
 msgstr ""
 
-#: config/avr/avr.opt:35
+#: config/avr/avr.opt:43
 #, no-c-format
 msgid ""
 "This option is used internally. Set the number of 64 KiB flash segments."
 msgstr ""
 
-#: config/avr/avr.opt:39
+#: config/avr/avr.opt:47
+#, no-c-format
+msgid "Call main and exit (default)."
+msgstr ""
+
+#: config/avr/avr.opt:51
 #, no-c-format
 msgid ""
 "This option is used internally. Indicate presence of a processor erratum.  "
 "Do not skip 32-bit instructions."
 msgstr ""
 
-#: config/avr/avr.opt:43
+#: config/avr/avr.opt:55
 #, no-c-format
 msgid ""
 "This option is used internally. Enable Read-Modify-Write (RMW) instructions "
 "support/use."
 msgstr ""
 
-#: config/avr/avr.opt:53
+#: config/avr/avr.opt:66
+#, no-c-format
+msgid "This option is on per default in order to work around PR118012."
+msgstr ""
+
+#: config/avr/avr.opt:70
 #, no-c-format
 msgid ""
 "This option is used internally for multilib generation and selection.  "
 "Assume RJMP / RCALL can target all program memory."
 msgstr ""
 
-#: config/avr/avr.opt:57
+#: config/avr/avr.opt:74
 #, no-c-format
 msgid "Use an 8-bit 'int' type."
 msgstr ""
 
-#: config/avr/avr.opt:61
+#: config/avr/avr.opt:78
 #, no-c-format
 msgid "Change the stack pointer without disabling interrupts."
 msgstr ""
 
-#: config/avr/avr.opt:65
+#: config/avr/avr.opt:82
 #, no-c-format
 msgid ""
 "-mbranch-cost=<cost>\tOptimization. Set the branch costs for conditional "
@@ -9371,29 +9607,29 @@ msgid ""
 "The default branch cost is 0."
 msgstr ""
 
-#: config/avr/avr.opt:69
+#: config/avr/avr.opt:86
 #, no-c-format
 msgid "Optimization. Treat main as if it had attribute OS_task."
 msgstr ""
 
-#: config/avr/avr.opt:79
+#: config/avr/avr.opt:96
 #, no-c-format
 msgid "Change only the low 8 bits of the stack pointer."
 msgstr ""
 
-#: config/avr/avr.opt:83
+#: config/avr/avr.opt:100
 #, no-c-format
 msgid "Optimization. Relax branches."
 msgstr ""
 
-#: config/avr/avr.opt:87
+#: config/avr/avr.opt:104
 #, no-c-format
 msgid ""
 "Make the linker relaxation machine assume that a program counter wrap-around "
 "occurs."
 msgstr ""
 
-#: config/avr/avr.opt:91
+#: config/avr/avr.opt:108
 #, no-c-format
 msgid ""
 "Optimization. Accumulate outgoing function arguments and acquire/release the "
@@ -9404,7 +9640,21 @@ msgid ""
 "like, for example printf."
 msgstr ""
 
-#: config/avr/avr.opt:95
+#: config/avr/avr.opt:112
+#, no-c-format
+msgid ""
+"Optimization. Split shifts of 4-byte values into a byte shift and a residual "
+"bit shift."
+msgstr ""
+
+#: config/avr/avr.opt:116
+#, no-c-format
+msgid ""
+"Optimization. Split most of the load and store instructions into byte load "
+"and stores."
+msgstr ""
+
+#: config/avr/avr.opt:120
 #, no-c-format
 msgid ""
 "Optimization. When accessing RAM, use X as imposed by the hardware, i.e. "
@@ -9414,59 +9664,71 @@ msgid ""
 "to emulate such an addressing mode for X."
 msgstr ""
 
-#: config/avr/avr.opt:99
+#: config/avr/avr.opt:124
 #, no-c-format
 msgid ""
 "This option is used internally. The device has the bitfield NVMCTRL_CTRLB."
 "FLMAP."
 msgstr ""
 
-#: config/avr/avr.opt:103
+#: config/avr/avr.opt:128
 #, no-c-format
 msgid "The device has the .rodata section located in the RAM area."
 msgstr ""
 
-#: config/avr/avr.opt:108
+#: config/avr/avr.opt:133
 #, no-c-format
 msgid ""
 "This option is used internally for multilib generation and selection. The "
 "device has no SPH special function register."
 msgstr ""
 
-#: config/avr/avr.opt:112
+#: config/avr/avr.opt:137
 #, no-c-format
 msgid ""
 "Optimization. Split register additions from load/store instructions. Most "
 "useful on Reduced Tiny."
 msgstr ""
 
-#: config/avr/avr.opt:116
+#: config/avr/avr.opt:141
 #, no-c-format
 msgid ""
 "-mfuse-add=<0,2>\tOptimization. Split register additions from load/store "
 "instructions. Most useful on Reduced Tiny."
 msgstr ""
 
-#: config/avr/avr.opt:120
+#: config/avr/avr.opt:145
 #, no-c-format
 msgid "Warn if the address space of an address is changed."
 msgstr ""
 
-#: config/avr/avr.opt:124
+#: config/avr/avr.opt:149
 #, no-c-format
 msgid ""
 "Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by "
 "default."
 msgstr ""
 
-#: config/avr/avr.opt:128
+#: config/avr/avr.opt:153
 #, no-c-format
 msgid ""
 "Allow to use truncation instead of rounding towards zero for fractional "
 "fixed-point types."
 msgstr ""
 
-#: config/avr/avr.opt:132
+#: config/avr/avr.opt:157
+#, no-c-format
+msgid "Optimization. Run a post-reload pass that tweaks move instructions."
+msgstr ""
+
+#: config/avr/avr.opt:161
+#, no-c-format
+msgid ""
+"-mfuse-move=<0,23>\tOptimization. Run a post-reload pass that tweaks move "
+"instructions."
+msgstr ""
+
+#: config/avr/avr.opt:165
 #, no-c-format
 msgid ""
 "Assume that all data in static storage can be accessed by LDS / STS "
@@ -9474,27 +9736,27 @@ msgid ""
 "ATtiny40."
 msgstr ""
 
-#: config/avr/avr.opt:136
+#: config/avr/avr.opt:169
 #, no-c-format
 msgid "-mdouble=<BITS>\tUse <BITS> bits wide double type."
 msgstr ""
 
-#: config/avr/avr.opt:140
+#: config/avr/avr.opt:173
 #, no-c-format
 msgid "-mlong-double=<BITS>\tUse <BITS> bits wide long double type."
 msgstr ""
 
-#: config/avr/avr.opt:144
+#: config/avr/avr.opt:177
 #, no-c-format
 msgid "Do not link against the device-specific library lib<MCU>.a."
 msgstr ""
 
-#: config/avr/avr.opt:148
+#: config/avr/avr.opt:181
 #, no-c-format
 msgid "Do not use the device-specific specs file device-specs/specs-<MCU>."
 msgstr ""
 
-#: config/avr/avr.opt:152
+#: config/avr/avr.opt:185
 #, no-c-format
 msgid "Available BITS selections:"
 msgstr ""
@@ -9624,32 +9886,32 @@ msgstr ""
 msgid "64 bit ABI."
 msgstr ""
 
-#: config/s390/s390.opt:129
+#: config/s390/s390.opt:132
 #, no-c-format
 msgid "Maintain backchain pointer."
 msgstr ""
 
-#: config/s390/s390.opt:133
+#: config/s390/s390.opt:136
 #, no-c-format
 msgid "Additional debug prints."
 msgstr ""
 
-#: config/s390/s390.opt:137
+#: config/s390/s390.opt:140
 #, no-c-format
 msgid "ESA/390 architecture."
 msgstr ""
 
-#: config/s390/s390.opt:141
+#: config/s390/s390.opt:144
 #, no-c-format
 msgid "Enable decimal floating point hardware support."
 msgstr ""
 
-#: config/s390/s390.opt:145
+#: config/s390/s390.opt:148
 #, no-c-format
 msgid "Enable hardware floating point."
 msgstr ""
 
-#: config/s390/s390.opt:149
+#: config/s390/s390.opt:152
 #, no-c-format
 msgid ""
 "Takes two non-negative integer numbers separated by a comma. Prepend the "
@@ -9660,102 +9922,102 @@ msgid ""
 "size.  Using 0 for both values disables hotpatching."
 msgstr ""
 
-#: config/s390/s390.opt:167
+#: config/s390/s390.opt:170
 #, no-c-format
 msgid "Use hardware transactional execution instructions."
 msgstr ""
 
-#: config/s390/s390.opt:171
+#: config/s390/s390.opt:174
 #, no-c-format
 msgid "Use hardware vector facility instructions and enable the vector ABI."
 msgstr ""
 
-#: config/s390/s390.opt:175
+#: config/s390/s390.opt:178
 #, no-c-format
 msgid "Use packed stack layout."
 msgstr ""
 
-#: config/s390/s390.opt:179
+#: config/s390/s390.opt:182
 #, no-c-format
 msgid "Use bras for executable < 64k."
 msgstr ""
 
-#: config/s390/s390.opt:183
+#: config/s390/s390.opt:186
 #, no-c-format
 msgid "Disable hardware floating point."
 msgstr ""
 
-#: config/s390/s390.opt:187
+#: config/s390/s390.opt:190
 #, no-c-format
 msgid ""
 "Set the max. number of bytes which has to be left to stack size before a "
 "trap instruction is triggered."
 msgstr ""
 
-#: config/s390/s390.opt:191
+#: config/s390/s390.opt:194
 #, no-c-format
 msgid "Switches off the -mstack-guard= option."
 msgstr ""
 
-#: config/s390/s390.opt:195
+#: config/s390/s390.opt:198
 #, no-c-format
 msgid ""
 "Emit extra code in the function prologue in order to trap if the stack size "
 "exceeds the given limit."
 msgstr ""
 
-#: config/s390/s390.opt:199
+#: config/s390/s390.opt:202
 #, no-c-format
 msgid "Switches off the -mstack-size= option."
 msgstr ""
 
-#: config/s390/s390.opt:207
+#: config/s390/s390.opt:210
 #, no-c-format
 msgid "Use the mvcle instruction for block moves."
 msgstr ""
 
-#: config/s390/s390.opt:211
+#: config/s390/s390.opt:214
 #, no-c-format
 msgid ""
 "Enable the z vector language extension providing the context-sensitive "
 "vector macro and enable the Altivec-style builtins in vecintrin.h."
 msgstr ""
 
-#: config/s390/s390.opt:216
+#: config/s390/s390.opt:219
 #, no-c-format
 msgid "Warn if a function uses alloca or creates an array with dynamic size."
 msgstr ""
 
-#: config/s390/s390.opt:220
+#: config/s390/s390.opt:223
 #, no-c-format
 msgid "Warn if a single function's framesize exceeds the given framesize."
 msgstr ""
 
-#: config/s390/s390.opt:224
+#: config/s390/s390.opt:227
 #, no-c-format
 msgid "z/Architecture."
 msgstr ""
 
-#: config/s390/s390.opt:228
+#: config/s390/s390.opt:231
 #, no-c-format
 msgid ""
 "Set the branch costs for conditional branch instructions.  Reasonable values "
 "are small, non-negative integers.  The default branch cost is 1."
 msgstr ""
 
-#: config/s390/s390.opt:238 config/arm/arm.opt:178
+#: config/s390/s390.opt:237 config/arm/arm.opt:178
 #, no-c-format
 msgid "Assume data segments are relative to text segment."
 msgstr ""
 
-#: config/s390/s390.opt:243
+#: config/s390/s390.opt:242
 #, no-c-format
 msgid ""
 "Wrap all indirect branches into execute in order to disable branch "
 "prediction."
 msgstr ""
 
-#: config/s390/s390.opt:248
+#: config/s390/s390.opt:247
 #, no-c-format
 msgid ""
 "Wrap indirect table jumps and computed gotos into execute in order to "
@@ -9765,20 +10027,20 @@ msgid ""
 "required please use thunk-inline instead."
 msgstr ""
 
-#: config/s390/s390.opt:256
+#: config/s390/s390.opt:255
 #, no-c-format
 msgid ""
 "Wrap all indirect calls into execute in order to disable branch prediction."
 msgstr ""
 
-#: config/s390/s390.opt:260
+#: config/s390/s390.opt:259
 #, no-c-format
 msgid ""
 "Wrap all indirect return branches into execute in order to disable branch "
 "prediction."
 msgstr ""
 
-#: config/s390/s390.opt:265
+#: config/s390/s390.opt:264
 #, no-c-format
 msgid ""
 "Wrap indirect return branches into execute in order to disable branch "
@@ -9786,7 +10048,7 @@ msgid ""
 "be restored from memory."
 msgstr ""
 
-#: config/s390/s390.opt:271
+#: config/s390/s390.opt:270
 #, no-c-format
 msgid ""
 "Wrap indirect return branches into execute in order to disable branch "
@@ -9794,7 +10056,7 @@ msgid ""
 "to be restored from memory."
 msgstr ""
 
-#: config/s390/s390.opt:293
+#: config/s390/s390.opt:292
 #, no-c-format
 msgid ""
 "Generate sections .s390_indirect_jump, .s390_indirect_call, ."
@@ -9805,19 +10067,19 @@ msgid ""
 "location."
 msgstr ""
 
-#: config/s390/s390.opt:302
+#: config/s390/s390.opt:301
 #, no-c-format
 msgid ""
 "Emit profiling counter call at function entry before prologue. The compiled "
 "code will require a 64-bit CPU and glibc 2.29 or newer to run."
 msgstr ""
 
-#: config/s390/s390.opt:307
+#: config/s390/s390.opt:306
 #, no-c-format
 msgid "Generate __mcount_loc section with all _mcount and __fentry__ calls."
 msgstr ""
 
-#: config/s390/s390.opt:316
+#: config/s390/s390.opt:315
 #, no-c-format
 msgid ""
 "Emit fused multiply-add instructions for long doubles in vector registers "
@@ -9830,12 +10092,12 @@ msgid ""
 "testing purposes."
 msgstr ""
 
-#: config/s390/s390.opt:331
+#: config/s390/s390.opt:330
 #, no-c-format
 msgid "Store all argument registers on the stack."
 msgstr ""
 
-#: config/s390/s390.opt:335
+#: config/s390/s390.opt:334
 #, no-c-format
 msgid ""
 "Assume external symbols, whose natural alignment would be 1, to be "
@@ -10222,29 +10484,29 @@ msgstr ""
 msgid "Do not use hardware quad fp instructions."
 msgstr ""
 
-#: config/sparc/sparc.opt:62 config/vax/vax.opt:47
+#: config/sparc/sparc.opt:62
 #, no-c-format
-msgid "Enable Local Register Allocation."
+msgid "Compile for V8+ ABI."
 msgstr ""
 
 #: config/sparc/sparc.opt:66
 #, no-c-format
-msgid "Compile for V8+ ABI."
+msgid "Use UltraSPARC Visual Instruction Set version 1.0 extensions."
 msgstr ""
 
 #: config/sparc/sparc.opt:70
 #, no-c-format
-msgid "Use UltraSPARC Visual Instruction Set version 1.0 extensions."
+msgid "Use UltraSPARC Visual Instruction Set version 2.0 extensions."
 msgstr ""
 
 #: config/sparc/sparc.opt:74
 #, no-c-format
-msgid "Use UltraSPARC Visual Instruction Set version 2.0 extensions."
+msgid "Use UltraSPARC Visual Instruction Set version 3.0 extensions."
 msgstr ""
 
 #: config/sparc/sparc.opt:78
 #, no-c-format
-msgid "Use UltraSPARC Visual Instruction Set version 3.0 extensions."
+msgid "Use additional VIS 3 instructions introduced in OSA2011."
 msgstr ""
 
 #: config/sparc/sparc.opt:82
@@ -10254,7 +10516,7 @@ msgstr ""
 
 #: config/sparc/sparc.opt:86
 #, no-c-format
-msgid "Use additional VIS instructions introduced in OSA2017."
+msgid "Use additional VIS instructions introduced in OSA2017."
 msgstr ""
 
 #: config/sparc/sparc.opt:90
@@ -10812,61 +11074,61 @@ msgstr ""
 msgid "Enable default conversions between __float128 & long double."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:590
+#: config/rs6000/rs6000.opt:596
 #, no-c-format
 msgid "Generate (do not generate) prefixed memory instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:594
+#: config/rs6000/rs6000.opt:600
 #, no-c-format
 msgid "Generate (do not generate) pc-relative memory addressing."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:598
+#: config/rs6000/rs6000.opt:604
 #, no-c-format
 msgid ""
 "Generate (do not generate) pc-relative memory optimizations for externals."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:602
+#: config/rs6000/rs6000.opt:608
 #, no-c-format
 msgid "Generate (do not generate) MMA instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:609
+#: config/rs6000/rs6000.opt:615
 #, no-c-format
 msgid ""
 "Enable instructions that guard against return-oriented programming attacks."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:613
+#: config/rs6000/rs6000.opt:619
 #, no-c-format
 msgid "Generate code that will run in privileged state."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:617
+#: config/rs6000/rs6000.opt:623
 #, no-c-format
 msgid "Generate (do not generate) code that uses the XXSPLTIW instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:621
+#: config/rs6000/rs6000.opt:627
 #, no-c-format
 msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:625
+#: config/rs6000/rs6000.opt:631
 #, no-c-format
 msgid "Generate (do not generate) code that uses the LXVKQ instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:631
+#: config/rs6000/rs6000.opt:637
 #, no-c-format
 msgid ""
 "Used to limit unroll factor which indicates how much the autovectorizer may "
 "unroll a loop.  The default value is 4."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:637
+#: config/rs6000/rs6000.opt:643
 #, no-c-format
 msgid ""
 "When costing for loop vectorization, we probably need to penalize the loop "
@@ -10878,7 +11140,7 @@ msgid ""
 "value is 85."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:646
+#: config/rs6000/rs6000.opt:652
 #, no-c-format
 msgid ""
 "Like parameter rs6000-density-pct-threshold, we also check the total sum of "
@@ -10886,7 +11148,7 @@ msgid ""
 "threshold specified by this parameter.  The default value is 70."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:652
+#: config/rs6000/rs6000.opt:658
 #, no-c-format
 msgid ""
 "When both heuristics with rs6000-density-pct-threshold and rs6000-density-"
@@ -10894,7 +11156,7 @@ msgid ""
 "the value which is specified by this parameter.  The default value is 10."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:659
+#: config/rs6000/rs6000.opt:665
 #, no-c-format
 msgid ""
 "When costing for loop vectorization, we probably need to penalize the loop "
@@ -10905,7 +11167,7 @@ msgid ""
 "specified by this parameter.  The default value is 45."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:668
+#: config/rs6000/rs6000.opt:674
 #, no-c-format
 msgid ""
 "Like parameter rs6000-density-load-pct-threshold, we also check if the total "
@@ -10913,7 +11175,7 @@ msgid ""
 "and penalize only if it's satisfied.  The default value is 20."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:674 config/loongarch/loongarch.opt:302
+#: config/rs6000/rs6000.opt:680 config/loongarch/loongarch.opt:306
 #, no-c-format
 msgid ""
 "Indicate how many non memory access vector instructions can be issued per "
@@ -10921,7 +11183,7 @@ msgid ""
 "default value is 4."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:680
+#: config/rs6000/rs6000.opt:686
 #, no-c-format
 msgid ""
 "When reduction factor computed for a loop exceeds the threshold specified by "
@@ -11277,94 +11539,108 @@ msgid ""
 "-mbranch-cost=COST\tSet the cost of branches to roughly COST instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:190 config/mips/mips.opt:83
+#: config/loongarch/loongarch.opt:190
+#, no-c-format
+msgid ""
+"-maddr-reg-reg-cost=COST  Set the cost of ADDRESS_REG_REG to the value "
+"calculated by COST."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:194 config/mips/mips.opt:83
 #, no-c-format
 msgid "Trap on integer divide by zero."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:194
+#: config/loongarch/loongarch.opt:198
 #, no-c-format
 msgid "Conditional moves for integral are enabled."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:198
+#: config/loongarch/loongarch.opt:202
 #, no-c-format
 msgid "Conditional moves for float are enabled."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:202
+#: config/loongarch/loongarch.opt:206
 #, no-c-format
 msgid ""
 "Prevent optimizing block moves, which is also the default behavior of -Os."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:210
+#: config/loongarch/loongarch.opt:214
 #, 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:214 config/mips/mips.opt:150
+#: config/loongarch/loongarch.opt:218 config/mips/mips.opt:150
 #, no-c-format
 msgid "The code model option names for -mexplicit-relocs:"
 msgstr ""
 
-#: config/loongarch/loongarch.opt:227 config/mips/mips.opt:163
+#: config/loongarch/loongarch.opt:231 config/mips/mips.opt:163
 #, no-c-format
 msgid "Use %reloc() assembly operators."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:231 config/mips/mips.opt:167
+#: config/loongarch/loongarch.opt:235 config/mips/mips.opt:167
 #, no-c-format
 msgid "Use %reloc() assembly operators (for backward compatibility)."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:239
+#: config/loongarch/loongarch.opt:243
 #, no-c-format
 msgid ""
 "Generate approximate reciprocal divide and square root for better throughput."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:270
+#: config/loongarch/loongarch.opt:274
 #, no-c-format
 msgid "Avoid using the GOT to access external symbols."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:279
+#: config/loongarch/loongarch.opt:283
 #, no-c-format
 msgid "Pass -mrelax or -mno-relax option to the assembler."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:297
+#: config/loongarch/loongarch.opt:301
 #, 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:315
+#: config/loongarch/loongarch.opt:319
+#, no-c-format
+msgid ""
+"Annotate table jump instruction (jr {reg}) to correlate it with the jump "
+"table."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:323
 #, no-c-format
 msgid "Support frecipe.{s/d} and frsqrte.{s/d} instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:319
+#: config/loongarch/loongarch.opt:327
 #, no-c-format
 msgid ""
 "Support div.w[u] and mod.w[u] instructions with inputs not sign-extended."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:323
+#: config/loongarch/loongarch.opt:331
 #, no-c-format
 msgid "Support am{swap/add}[_db].{b/h} instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:327
+#: config/loongarch/loongarch.opt:335
 #, no-c-format
 msgid "Support amcas[_db].{b/h/w/d} instructions."
 msgstr ""
 
-#: config/loongarch/loongarch.opt:331
+#: config/loongarch/loongarch.opt:339
 #, no-c-format
 msgid "Do not need load-load barriers (dbar 0x700)."
 msgstr ""
@@ -11499,701 +11775,6 @@ msgid ""
 "immediate to a register first."
 msgstr ""
 
-#: config/nios2/elf.opt:26
-#, no-c-format
-msgid "Link with a limited version of the C library."
-msgstr ""
-
-#: config/nios2/elf.opt:30
-#, no-c-format
-msgid "Name of system library to link against."
-msgstr ""
-
-#: config/nios2/elf.opt:34
-#, no-c-format
-msgid "Name of the startfile."
-msgstr ""
-
-#: config/nios2/elf.opt:38
-#, no-c-format
-msgid "Link with HAL BSP."
-msgstr ""
-
-#: config/nios2/nios2.opt:35
-#, no-c-format
-msgid "Enable DIV, DIVU."
-msgstr ""
-
-#: config/nios2/nios2.opt:39
-#, no-c-format
-msgid "Enable MUL instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:43
-#, no-c-format
-msgid "Enable MULX instructions, assume fast shifter."
-msgstr ""
-
-#: config/nios2/nios2.opt:47
-#, no-c-format
-msgid "Use table based fast divide (default at -O3)."
-msgstr ""
-
-#: config/nios2/nios2.opt:51
-#, no-c-format
-msgid "All memory accesses use I/O load/store instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:55
-#, no-c-format
-msgid "Volatile memory accesses use I/O load/store instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:59
-#, no-c-format
-msgid "Volatile memory accesses do not use I/O load/store instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:63
-#, no-c-format
-msgid "Enable/disable GP-relative addressing."
-msgstr ""
-
-#: config/nios2/nios2.opt:67
-#, no-c-format
-msgid "Valid options for GP-relative addressing (for -mgpopt):"
-msgstr ""
-
-#: config/nios2/nios2.opt:86
-#, no-c-format
-msgid "Equivalent to -mgpopt=local."
-msgstr ""
-
-#: config/nios2/nios2.opt:90
-#, no-c-format
-msgid "Equivalent to -mgpopt=none."
-msgstr ""
-
-#: config/nios2/nios2.opt:94 config/c6x/c6x.opt:30 config/mips/mips.opt:134
-#, no-c-format
-msgid "Use big-endian byte order."
-msgstr ""
-
-#: config/nios2/nios2.opt:98 config/c6x/c6x.opt:34 config/mips/mips.opt:138
-#, no-c-format
-msgid "Use little-endian byte order."
-msgstr ""
-
-#: config/nios2/nios2.opt:102
-#, no-c-format
-msgid "Floating point custom instruction configuration name."
-msgstr ""
-
-#: config/nios2/nios2.opt:106
-#, no-c-format
-msgid "Do not use the ftruncds custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:110
-#, no-c-format
-msgid "Integer id (N) of ftruncds custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:114
-#, no-c-format
-msgid "Do not use the fextsd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:118
-#, no-c-format
-msgid "Integer id (N) of fextsd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:122
-#, no-c-format
-msgid "Do not use the fixdu custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:126
-#, no-c-format
-msgid "Integer id (N) of fixdu custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:130
-#, no-c-format
-msgid "Do not use the fixdi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:134
-#, no-c-format
-msgid "Integer id (N) of fixdi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:138
-#, no-c-format
-msgid "Do not use the fixsu custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:142
-#, no-c-format
-msgid "Integer id (N) of fixsu custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:146
-#, no-c-format
-msgid "Do not use the fixsi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:150
-#, no-c-format
-msgid "Integer id (N) of fixsi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:154
-#, no-c-format
-msgid "Do not use the floatud custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:158
-#, no-c-format
-msgid "Integer id (N) of floatud custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:162
-#, no-c-format
-msgid "Do not use the floatid custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:166
-#, no-c-format
-msgid "Integer id (N) of floatid custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:170
-#, no-c-format
-msgid "Do not use the floatus custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:174
-#, no-c-format
-msgid "Integer id (N) of floatus custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:178
-#, no-c-format
-msgid "Do not use the floatis custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:182
-#, no-c-format
-msgid "Integer id (N) of floatis custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:186
-#, no-c-format
-msgid "Do not use the fcmpned custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:190
-#, no-c-format
-msgid "Integer id (N) of fcmpned custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:194
-#, no-c-format
-msgid "Do not use the fcmpeqd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:198
-#, no-c-format
-msgid "Integer id (N) of fcmpeqd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:202
-#, no-c-format
-msgid "Do not use the fcmpged custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:206
-#, no-c-format
-msgid "Integer id (N) of fcmpged custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:210
-#, no-c-format
-msgid "Do not use the fcmpgtd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:214
-#, no-c-format
-msgid "Integer id (N) of fcmpgtd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:218
-#, no-c-format
-msgid "Do not use the fcmpled custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:222
-#, no-c-format
-msgid "Integer id (N) of fcmpled custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:226
-#, no-c-format
-msgid "Do not use the fcmpltd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:230
-#, no-c-format
-msgid "Integer id (N) of fcmpltd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:234
-#, no-c-format
-msgid "Do not use the flogd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:238
-#, no-c-format
-msgid "Integer id (N) of flogd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:242
-#, no-c-format
-msgid "Do not use the fexpd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:246
-#, no-c-format
-msgid "Integer id (N) of fexpd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:250
-#, no-c-format
-msgid "Do not use the fatand custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:254
-#, no-c-format
-msgid "Integer id (N) of fatand custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:258
-#, no-c-format
-msgid "Do not use the ftand custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:262
-#, no-c-format
-msgid "Integer id (N) of ftand custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:266
-#, no-c-format
-msgid "Do not use the fsind custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:270
-#, no-c-format
-msgid "Integer id (N) of fsind custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:274
-#, no-c-format
-msgid "Do not use the fcosd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:278
-#, no-c-format
-msgid "Integer id (N) of fcosd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:282
-#, no-c-format
-msgid "Do not use the fsqrtd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:286
-#, no-c-format
-msgid "Integer id (N) of fsqrtd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:290
-#, no-c-format
-msgid "Do not use the fabsd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:294
-#, no-c-format
-msgid "Integer id (N) of fabsd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:298
-#, no-c-format
-msgid "Do not use the fnegd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:302
-#, no-c-format
-msgid "Integer id (N) of fnegd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:306
-#, no-c-format
-msgid "Do not use the fmaxd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:310
-#, no-c-format
-msgid "Integer id (N) of fmaxd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:314
-#, no-c-format
-msgid "Do not use the fmind custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:318
-#, no-c-format
-msgid "Integer id (N) of fmind custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:322
-#, no-c-format
-msgid "Do not use the fdivd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:326
-#, no-c-format
-msgid "Integer id (N) of fdivd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:330
-#, no-c-format
-msgid "Do not use the fmuld custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:334
-#, no-c-format
-msgid "Integer id (N) of fmuld custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:338
-#, no-c-format
-msgid "Do not use the fsubd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:342
-#, no-c-format
-msgid "Integer id (N) of fsubd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:346
-#, no-c-format
-msgid "Do not use the faddd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:350
-#, no-c-format
-msgid "Integer id (N) of faddd custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:354
-#, no-c-format
-msgid "Do not use the fcmpnes custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:358
-#, no-c-format
-msgid "Integer id (N) of fcmpnes custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:362
-#, no-c-format
-msgid "Do not use the fcmpeqs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:366
-#, no-c-format
-msgid "Integer id (N) of fcmpeqs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:370
-#, no-c-format
-msgid "Do not use the fcmpges custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:374
-#, no-c-format
-msgid "Integer id (N) of fcmpges custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:378
-#, no-c-format
-msgid "Do not use the fcmpgts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:382
-#, no-c-format
-msgid "Integer id (N) of fcmpgts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:386
-#, no-c-format
-msgid "Do not use the fcmples custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:390
-#, no-c-format
-msgid "Integer id (N) of fcmples custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:394
-#, no-c-format
-msgid "Do not use the fcmplts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:398
-#, no-c-format
-msgid "Integer id (N) of fcmplts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:402
-#, no-c-format
-msgid "Do not use the flogs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:406
-#, no-c-format
-msgid "Integer id (N) of flogs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:410
-#, no-c-format
-msgid "Do not use the fexps custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:414
-#, no-c-format
-msgid "Integer id (N) of fexps custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:418
-#, no-c-format
-msgid "Do not use the fatans custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:422
-#, no-c-format
-msgid "Integer id (N) of fatans custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:426
-#, no-c-format
-msgid "Do not use the ftans custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:430
-#, no-c-format
-msgid "Integer id (N) of ftans custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:434
-#, no-c-format
-msgid "Do not use the fsins custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:438
-#, no-c-format
-msgid "Integer id (N) of fsins custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:442
-#, no-c-format
-msgid "Do not use the fcoss custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:446
-#, no-c-format
-msgid "Integer id (N) of fcoss custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:450
-#, no-c-format
-msgid "Do not use the fsqrts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:454
-#, no-c-format
-msgid "Integer id (N) of fsqrts custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:458
-#, no-c-format
-msgid "Do not use the fabss custom instr."
-msgstr ""
-
-#: config/nios2/nios2.opt:462
-#, no-c-format
-msgid "Integer id (N) of fabss custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:466
-#, no-c-format
-msgid "Do not use the fnegs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:470
-#, no-c-format
-msgid "Integer id (N) of fnegs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:474
-#, no-c-format
-msgid "Do not use the fmaxs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:478
-#, no-c-format
-msgid "Integer id (N) of fmaxs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:482
-#, no-c-format
-msgid "Do not use the fmins custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:486
-#, no-c-format
-msgid "Integer id (N) of fmins custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:490
-#, no-c-format
-msgid "Do not use the fdivs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:494
-#, no-c-format
-msgid "Integer id (N) of fdivs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:498
-#, no-c-format
-msgid "Do not use the fmuls custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:502
-#, no-c-format
-msgid "Integer id (N) of fmuls custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:506
-#, no-c-format
-msgid "Do not use the fsubs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:510
-#, no-c-format
-msgid "Integer id (N) of fsubs custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:514
-#, no-c-format
-msgid "Do not use the fadds custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:518
-#, no-c-format
-msgid "Integer id (N) of fadds custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:522
-#, no-c-format
-msgid "Do not use the frdy custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:526
-#, no-c-format
-msgid "Integer id (N) of frdy custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:530
-#, no-c-format
-msgid "Do not use the frdxhi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:534
-#, no-c-format
-msgid "Integer id (N) of frdxhi custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:538
-#, no-c-format
-msgid "Do not use the frdxlo custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:542
-#, no-c-format
-msgid "Integer id (N) of frdxlo custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:546
-#, no-c-format
-msgid "Do not use the fwry custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:550
-#, no-c-format
-msgid "Integer id (N) of fwry custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:554
-#, no-c-format
-msgid "Do not use the fwrx custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:558
-#, no-c-format
-msgid "Integer id (N) of fwrx custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:562
-#, no-c-format
-msgid "Do not use the round custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:566
-#, no-c-format
-msgid "Integer id (N) of round custom instruction."
-msgstr ""
-
-#: config/nios2/nios2.opt:574
-#, no-c-format
-msgid "Valid Nios II ISA levels (for -march):"
-msgstr ""
-
-#: config/nios2/nios2.opt:584
-#, no-c-format
-msgid "Enable generation of R2 BMX instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:588
-#, no-c-format
-msgid "Enable generation of R2 CDX instructions."
-msgstr ""
-
-#: config/nios2/nios2.opt:592
-#, no-c-format
-msgid "Regular expression matching additional GP-addressible section names."
-msgstr ""
-
-#: config/nios2/nios2.opt:596
-#, no-c-format
-msgid "Regular expression matching section names for r0-relative addressing."
-msgstr ""
-
 #: config/rx/elf.opt:32
 #, no-c-format
 msgid ""
@@ -12473,12 +12054,12 @@ msgstr ""
 
 #: config/vax/vax.opt:23 config/vax/vax.opt:27
 #, no-c-format
-msgid "Target DFLOAT double precision code."
+msgid "Generate DFLOAT double-precision code."
 msgstr ""
 
 #: config/vax/vax.opt:31 config/vax/vax.opt:35
 #, no-c-format
-msgid "Generate GFLOAT double precision code."
+msgid "Generate GFLOAT double-precision code."
 msgstr ""
 
 #: config/vax/vax.opt:39
@@ -12491,6 +12072,11 @@ msgstr ""
 msgid "Generate code for UNIX assembler."
 msgstr ""
 
+#: config/vax/vax.opt:47
+#, no-c-format
+msgid "Enable Local Register Allocation."
+msgstr ""
+
 #: config/vax/vax.opt:51
 #, no-c-format
 msgid "Use VAXC structure conventions."
@@ -12997,7 +12583,7 @@ msgstr ""
 msgid "No default crt0.o."
 msgstr ""
 
-#: config/iq2000/iq2000.opt:74 config/mips/mips.opt:446
+#: config/iq2000/iq2000.opt:74 config/mips/mips.opt:442
 #, no-c-format
 msgid "Put uninitialized constants in ROM (needs -membedded-data)."
 msgstr ""
@@ -13152,6 +12738,16 @@ msgstr ""
 msgid "Known C6X ISAs (for use with the -march= option):"
 msgstr ""
 
+#: config/c6x/c6x.opt:30 config/mips/mips.opt:134
+#, no-c-format
+msgid "Use big-endian byte order."
+msgstr ""
+
+#: config/c6x/c6x.opt:34 config/mips/mips.opt:138
+#, no-c-format
+msgid "Use little-endian byte order."
+msgstr ""
+
 #: config/c6x/c6x.opt:42
 #, no-c-format
 msgid "Select method for sdata handling."
@@ -13586,73 +13182,68 @@ 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
+#: config/gcn/gcn-tables.opt:25
 #, no-c-format
 msgid "GCN GPU type to use:"
 msgstr ""
 
-#: config/gcn/gcn.opt:60 config/gcn/gcn.opt:64
+#: config/gcn/gcn.opt:26 config/gcn/gcn.opt:30
 #, no-c-format
 msgid "Specify the name of the target GPU."
 msgstr ""
 
-#: config/gcn/gcn.opt:68
+#: config/gcn/gcn.opt:34
 #, no-c-format
 msgid "Generate code for a 32-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:72
+#: config/gcn/gcn.opt:38
 #, no-c-format
 msgid "Generate code for a 64-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:76
+#: config/gcn/gcn.opt:42
 #, no-c-format
 msgid "Enable OpenMP GPU offloading."
 msgstr ""
 
-#: config/gcn/gcn.opt:87
+#: config/gcn/gcn.opt:53
 #, no-c-format
 msgid "Obsolete; use GCN_STACK_SIZE at runtime."
 msgstr ""
 
-#: config/gcn/gcn.opt:93
+#: config/gcn/gcn.opt:59
 #, no-c-format
 msgid ""
 "Amount of local data-share (LDS) memory to reserve for gang-private "
 "variables."
 msgstr ""
 
-#: config/gcn/gcn.opt:97
+#: config/gcn/gcn.opt:63
 #, no-c-format
 msgid "Warn about invalid OpenACC dimensions."
 msgstr ""
 
-#: config/gcn/gcn.opt:101
+#: config/gcn/gcn.opt:67
 #, no-c-format
 msgid "SRAM-ECC and XNACK modes:"
 msgstr ""
 
-#: config/gcn/gcn.opt:117
+#: config/gcn/gcn.opt:83
 #, no-c-format
 msgid ""
 "Compile for devices requiring XNACK enabled. Default \"any\" if USM is "
 "supported."
 msgstr ""
 
-#: config/gcn/gcn.opt:121
+#: config/gcn/gcn.opt:87
 #, no-c-format
 msgid ""
 "Compile for devices with the SRAM ECC feature enabled, or not. Default "
 "\"any\"."
 msgstr ""
 
-#: config/gcn/gcn.opt:125
+#: config/gcn/gcn.opt:91
 #, no-c-format
 msgid ""
 "--param=gcn-preferred-vectorization-factor=[default,32,64]\tPreferred "
@@ -14118,100 +13709,100 @@ msgstr ""
 msgid "Use synci instruction to invalidate i-cache."
 msgstr ""
 
-#: config/mips/mips.opt:422
+#: config/mips/mips.opt:418
 #, no-c-format
 msgid "Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable."
 msgstr ""
 
-#: config/mips/mips.opt:426
+#: config/mips/mips.opt:422
 #, no-c-format
 msgid "Use 4-operand madd.s/madd.d and related instructions where applicable."
 msgstr ""
 
-#: config/mips/mips.opt:434
+#: config/mips/mips.opt:430
 #, no-c-format
 msgid "Don't generate code with unaligned load store, only valid for MIPS R6."
 msgstr ""
 
-#: config/mips/mips.opt:438
+#: config/mips/mips.opt:434
 #, no-c-format
 msgid ""
 "Generate code with unaligned load store for R6 (alias of -mno-strict-align)."
 msgstr ""
 
-#: config/mips/mips.opt:442
+#: config/mips/mips.opt:438
 #, no-c-format
 msgid ""
 "Don't generate code with unaligned load store for R6 (alias of -mstrict-"
 "align)."
 msgstr ""
 
-#: config/mips/mips.opt:450
+#: config/mips/mips.opt:446
 #, no-c-format
 msgid "Use Virtualization (VZ) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:454
+#: config/mips/mips.opt:450
 #, no-c-format
 msgid "Use eXtended Physical Address (XPA) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:458
+#: config/mips/mips.opt:454
 #, no-c-format
 msgid "Use Cyclic Redundancy Check (CRC) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:462
+#: config/mips/mips.opt:458
 #, no-c-format
 msgid "Use Global INValidate (GINV) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:466
+#: config/mips/mips.opt:462
 #, no-c-format
 msgid "Perform VR4130-specific alignment optimizations."
 msgstr ""
 
-#: config/mips/mips.opt:470
+#: config/mips/mips.opt:466
 #, no-c-format
 msgid "Lift restrictions on GOT size."
 msgstr ""
 
-#: config/mips/mips.opt:474
+#: config/mips/mips.opt:470
 #, no-c-format
 msgid "Enable use of odd-numbered single-precision registers."
 msgstr ""
 
-#: config/mips/mips.opt:478
+#: config/mips/mips.opt:474
 #, no-c-format
 msgid "Optimize frame header."
 msgstr ""
 
-#: config/mips/mips.opt:485
+#: config/mips/mips.opt:481
 #, no-c-format
 msgid "Enable load/store bonding."
 msgstr ""
 
-#: config/mips/mips.opt:489
+#: config/mips/mips.opt:485
 #, no-c-format
 msgid "Specify the compact branch usage policy."
 msgstr ""
 
-#: config/mips/mips.opt:493
+#: config/mips/mips.opt:489
 #, no-c-format
 msgid "Policies available for use with -mcompact-branches=:"
 msgstr ""
 
-#: config/mips/mips.opt:506
+#: config/mips/mips.opt:502
 #, no-c-format
 msgid "Use Loongson MultiMedia extensions Instructions (MMI) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:510
+#: config/mips/mips.opt:506
 #, no-c-format
 msgid "Use Loongson EXTension (EXT) instructions."
 msgstr ""
 
-#: config/mips/mips.opt:514
+#: config/mips/mips.opt:510
 #, no-c-format
 msgid "Use Loongson EXTension R2 (EXT2) instructions."
 msgstr ""
@@ -15087,492 +14678,502 @@ msgstr ""
 
 #: common.opt:817
 #, no-c-format
-msgid "Warn whenever a trampoline is generated."
+msgid "Warn if a comparison always evaluates to true or false."
 msgstr ""
 
 #: common.opt:821
 #, no-c-format
+msgid "Warn whenever a trampoline is generated."
+msgstr ""
+
+#: common.opt:825
+#, no-c-format
 msgid ""
 "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto "
 "variable."
 msgstr ""
 
-#: common.opt:825
+#: common.opt:829
 #, 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:829
+#: common.opt:833
 #, no-c-format
 msgid "Warn about uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:833
+#: common.opt:837
 #, no-c-format
 msgid "Warn about maybe uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:841
+#: common.opt:845
 #, no-c-format
 msgid "Enable all -Wunused- warnings."
 msgstr ""
 
-#: common.opt:845
+#: common.opt:849
 #, no-c-format
 msgid "Warn when a function parameter is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:849
+#: common.opt:853
 #, no-c-format
 msgid "Warn when a variable is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:853
+#: common.opt:857
 #, no-c-format
 msgid "Warn when a function is unused."
 msgstr ""
 
-#: common.opt:857
+#: common.opt:861
 #, no-c-format
 msgid "Warn when a label is unused."
 msgstr ""
 
-#: common.opt:861
+#: common.opt:865
 #, no-c-format
 msgid "Warn when a function parameter is unused."
 msgstr ""
 
-#: common.opt:865
+#: common.opt:869
 #, no-c-format
 msgid "Warn when an expression value is unused."
 msgstr ""
 
-#: common.opt:869
+#: common.opt:873
 #, no-c-format
 msgid "Warn when a variable is unused."
 msgstr ""
 
-#: common.opt:873
+#: common.opt:877
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not match."
 msgstr ""
 
-#: common.opt:877
+#: common.opt:881
 #, no-c-format
 msgid ""
 "Warn in case a function ends earlier than it begins due to an invalid "
 "linenum macros."
 msgstr ""
 
-#: common.opt:881
+#: common.opt:885
 #, no-c-format
 msgid ""
 "Warn when a conditional has too many terms and condition coverage profiling "
 "gives up instrumenting the expression."
 msgstr ""
 
-#: common.opt:886
+#: common.opt:890
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not exist."
 msgstr ""
 
-#: common.opt:890
+#: common.opt:894
 #, no-c-format
 msgid "Warn when a vector operation is compiled outside the SIMD."
 msgstr ""
 
-#: common.opt:894
+#: common.opt:898
 #, no-c-format
 msgid "Warn about unsupported features in ThreadSanitizer."
 msgstr ""
 
-#: common.opt:910
+#: common.opt:914
 #, no-c-format
 msgid "-aux-info <file>\tEmit declaration information into <file>."
 msgstr ""
 
-#: common.opt:923
+#: common.opt:927
 #, no-c-format
 msgid "-d<letters>\tEnable dumps from specific passes of the compiler."
 msgstr ""
 
-#: common.opt:927
+#: common.opt:931
 #, no-c-format
 msgid "-dumpbase <file>\tSet the file basename to be used for dumps."
 msgstr ""
 
-#: common.opt:931
+#: common.opt:935
 #, no-c-format
 msgid ""
 "-dumpbase-ext .<ext>    Drop a trailing .<ext> from the dump basename to "
 "name auxiliary output files."
 msgstr ""
 
-#: common.opt:935
+#: common.opt:939
 #, no-c-format
 msgid "-dumpdir <dir>\tSet the directory name to be used for dumps."
 msgstr ""
 
-#: common.opt:1041
+#: common.opt:1048
 #, no-c-format
 msgid "The version of the C++ ABI in use."
 msgstr ""
 
-#: common.opt:1045
+#: common.opt:1052
 #, no-c-format
 msgid "Aggressively optimize loops using language constraints."
 msgstr ""
 
-#: common.opt:1049
+#: common.opt:1056
 #, no-c-format
 msgid "Align the start of functions."
 msgstr ""
 
-#: common.opt:1056
+#: common.opt:1063
 #, no-c-format
 msgid "Align labels which are only reached by jumping."
 msgstr ""
 
-#: common.opt:1063
+#: common.opt:1070
 #, no-c-format
 msgid "Align all labels."
 msgstr ""
 
-#: common.opt:1070
+#: common.opt:1077
 #, no-c-format
 msgid "Align the start of loops."
 msgstr ""
 
-#: common.opt:1077
+#: common.opt:1084
 #, no-c-format
 msgid "Allow the compiler to introduce new data races on stores."
 msgstr ""
 
-#: common.opt:1081
+#: common.opt:1088
 #, no-c-format
 msgid "Enable static analysis pass."
 msgstr ""
 
-#: common.opt:1101
+#: common.opt:1108
 #, no-c-format
 msgid "Select what to sanitize."
 msgstr ""
 
-#: common.opt:1105
+#: common.opt:1112
 #, no-c-format
 msgid "Select type of coverage sanitization."
 msgstr ""
 
-#: common.opt:1118
+#: common.opt:1125
 #, no-c-format
 msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
 msgstr ""
 
-#: common.opt:1122
+#: common.opt:1129
 #, no-c-format
 msgid ""
 "-fsanitize-sections=<sec1,sec2,...>\tSanitize global variables in user-"
 "defined sections."
 msgstr ""
 
-#: common.opt:1127
+#: common.opt:1134
 #, no-c-format
 msgid "After diagnosing undefined behavior attempt to continue execution."
 msgstr ""
 
-#: common.opt:1131
+#: common.opt:1138
 #, no-c-format
 msgid "This switch is deprecated; use -fsanitize-recover= instead."
 msgstr ""
 
-#: common.opt:1135
+#: common.opt:1142
 #, no-c-format
 msgid "Use traps instead of diagnostics of undefined behavior sanitizers."
 msgstr ""
 
-#: common.opt:1145
+#: common.opt:1152
 #, no-c-format
 msgid "This switch is deprecated; use -fsanitize-trap= instead."
 msgstr ""
 
-#: common.opt:1149
+#: common.opt:1156
 #, no-c-format
 msgid "Generate unwind tables that are exact at each instruction boundary."
 msgstr ""
 
-#: common.opt:1153
+#: common.opt:1160
 #, no-c-format
 msgid "Generate auto-inc/dec instructions."
 msgstr ""
 
-#: common.opt:1157
+#: common.opt:1164
 #, 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:1162
+#: common.opt:1169
 #, no-c-format
 msgid ""
 "Use sample profile information for call graph node weights. The profile file "
 "is specified in the argument."
 msgstr ""
 
-#: common.opt:1171
+#: common.opt:1178
 #, no-c-format
 msgid "Generate code to check bounds before indexing arrays."
 msgstr ""
 
-#: common.opt:1175
+#: common.opt:1182
 #, no-c-format
 msgid "Replace add, compare, branch with branch on count register."
 msgstr ""
 
-#: common.opt:1179
+#: common.opt:1186
 #, no-c-format
 msgid "Use profiling information for branch probabilities."
 msgstr ""
 
-#: common.opt:1195
+#: common.opt:1202
 #, no-c-format
 msgid "Output callgraph information on a per-file basis."
 msgstr ""
 
-#: common.opt:1199
+#: common.opt:1206
 #, no-c-format
 msgid "Output callgraph information on a per-file basis with decorations."
 msgstr ""
 
-#: common.opt:1203
+#: common.opt:1210
 #, no-c-format
 msgid ""
 "-fcall-saved-<register>\tMark <register> as being preserved across functions."
 msgstr ""
 
-#: common.opt:1207
+#: common.opt:1214
 #, no-c-format
 msgid ""
 "-fcall-used-<register>\tMark <register> as being corrupted by function calls."
 msgstr ""
 
-#: common.opt:1214
+#: common.opt:1221
 #, no-c-format
 msgid "Save registers around function calls."
 msgstr ""
 
-#: common.opt:1218
+#: common.opt:1225
 #, no-c-format
 msgid "This switch is deprecated; do not use."
 msgstr ""
 
-#: common.opt:1222
+#: common.opt:1229
 #, no-c-format
 msgid "Check the return value of new in C++."
 msgstr ""
 
-#: common.opt:1226 common.opt:1230
+#: common.opt:1233 common.opt:1237
 #, no-c-format
 msgid "Perform internal consistency checkings."
 msgstr ""
 
-#: common.opt:1234
+#: common.opt:1241
 #, no-c-format
 msgid ""
 "For -f*-prefix-map= options compare canonicalized pathnames rather than just "
 "strings."
 msgstr ""
 
-#: common.opt:1238
+#: common.opt:1245
 #, no-c-format
 msgid "Enable code hoisting."
 msgstr ""
 
-#: common.opt:1242
+#: common.opt:1249
 #, no-c-format
 msgid ""
 "Looks for opportunities to reduce stack adjustments and stack references."
 msgstr ""
 
-#: common.opt:1246
+#: common.opt:1253
 #, no-c-format
 msgid "Put uninitialized globals in the common section."
 msgstr ""
 
-#: common.opt:1254
+#: common.opt:1261
 #, no-c-format
 msgid ""
 "-fcompare-debug[=<opts>]\tCompile with and without e.g. -gtoggle, and "
 "compare the final-insns dump."
 msgstr ""
 
-#: common.opt:1258
+#: common.opt:1265
 #, no-c-format
 msgid "Run only the second compilation of -fcompare-debug."
 msgstr ""
 
-#: common.opt:1262
+#: common.opt:1269
 #, no-c-format
 msgid "Perform comparison elimination after register allocation has finished."
 msgstr ""
 
-#: common.opt:1266
+#: common.opt:1273
 #, no-c-format
 msgid "Do not perform optimizations increasing noticeably stack usage."
 msgstr ""
 
-#: common.opt:1270
+#: common.opt:1277
 #, no-c-format
 msgid "Perform a register copy-propagation optimization pass."
 msgstr ""
 
-#: common.opt:1274
+#: common.opt:1281
 #, no-c-format
 msgid ""
 "Fold instructions calculating memory offsets to the memory access "
 "instruction if possible."
 msgstr ""
 
-#: common.opt:1278
+#: common.opt:1285
 #, no-c-format
 msgid "Perform cross-jumping optimization."
 msgstr ""
 
-#: common.opt:1282
+#: common.opt:1289
 #, no-c-format
 msgid "When running CSE, follow jumps to their targets."
 msgstr ""
 
-#: common.opt:1290
+#: common.opt:1297
 #, no-c-format
 msgid "Omit range reduction step when performing complex division."
 msgstr ""
 
-#: common.opt:1294
+#: common.opt:1301
 #, no-c-format
 msgid "Complex multiplication and division follow Fortran rules."
 msgstr ""
 
-#: common.opt:1298
+#: common.opt:1305
 #, no-c-format
 msgid "Place data items into their own section."
 msgstr ""
 
-#: common.opt:1302
+#: common.opt:1309
 #, no-c-format
 msgid "List all available debugging counters with their limits and counts."
 msgstr ""
 
-#: common.opt:1306
+#: common.opt:1313
 #, no-c-format
 msgid ""
 "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-"
 "<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
 msgstr ""
 
-#: common.opt:1310
+#: common.opt:1317
 #, no-c-format
 msgid ""
 "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug "
 "information."
 msgstr ""
 
-#: common.opt:1314
+#: common.opt:1321
 #, no-c-format
 msgid ""
 "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in "
 "compilation result."
 msgstr ""
 
-#: common.opt:1318
+#: common.opt:1325
 #, no-c-format
 msgid "Output .debug_types section when using DWARF v4 debuginfo."
 msgstr ""
 
-#: common.opt:1324
+#: common.opt:1331
 #, no-c-format
 msgid "Defer popping functions args from stack until later."
 msgstr ""
 
-#: common.opt:1328
+#: common.opt:1335
 #, no-c-format
 msgid "Attempt to fill delay slots of branch instructions."
 msgstr ""
 
-#: common.opt:1332
+#: common.opt:1339
 #, no-c-format
 msgid "Delete dead instructions that may throw exceptions."
 msgstr ""
 
-#: common.opt:1336
+#: common.opt:1343
 #, no-c-format
 msgid "Delete useless null pointer checks."
 msgstr ""
 
-#: common.opt:1340
+#: common.opt:1347
 #, no-c-format
 msgid ""
 "Stream extra data to support more aggressive devirtualization in LTO local "
 "transformation mode."
 msgstr ""
 
-#: common.opt:1344
+#: common.opt:1351
 #, no-c-format
 msgid "Perform speculative devirtualization."
 msgstr ""
 
-#: common.opt:1348
+#: common.opt:1355
 #, no-c-format
 msgid "Try to convert virtual calls to direct ones."
 msgstr ""
 
-#: common.opt:1352
+#: common.opt:1359
 #, 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:1369
+#: common.opt:1376
 #, no-c-format
 msgid "Show the source line with a caret indicating the column."
 msgstr ""
 
-#: common.opt:1373
+#: common.opt:1380
+#, no-c-format
+msgid "Show lines linking related events in diagnostic paths."
+msgstr ""
+
+#: common.opt:1384
 #, no-c-format
 msgid "Show labels annotating ranges of source code when showing source."
 msgstr ""
 
-#: common.opt:1377
+#: common.opt:1388
 #, no-c-format
 msgid "Show line numbers in the left margin when showing source."
 msgstr ""
 
-#: common.opt:1385
+#: common.opt:1396
 #, no-c-format
 msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
 msgstr ""
 
-#: common.opt:1405
+#: common.opt:1416
 #, no-c-format
 msgid "Enable formatting of JSON output."
 msgstr ""
 
-#: common.opt:1409
+#: common.opt:1420
 #, no-c-format
 msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
 msgstr ""
 
-#: common.opt:1429
+#: common.opt:1440
 #, 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:1433
+#: common.opt:1444
 #, no-c-format
 msgid ""
 "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  "
@@ -15580,498 +15181,519 @@ msgid ""
 "based, for example."
 msgstr ""
 
-#: common.opt:1437
+#: common.opt:1448
 #, no-c-format
 msgid ""
 "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-"
 "file]\tSelect output format."
 msgstr ""
 
-#: common.opt:1441
+#: common.opt:1452
+#, no-c-format
+msgid "Add output format."
+msgstr ""
+
+#: common.opt:1456
+#, no-c-format
+msgid "Set output format."
+msgstr ""
+
+#: common.opt:1460
 #, 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:1488
+#: common.opt:1507
 #, no-c-format
 msgid "Print fix-it hints in machine-readable form."
 msgstr ""
 
-#: common.opt:1492
+#: common.opt:1511
 #, no-c-format
 msgid "Print fix-it hints to stderr in unified diff format."
 msgstr ""
 
-#: common.opt:1496
+#: common.opt:1515
 #, no-c-format
 msgid ""
 "Amend appropriate diagnostic messages with the command line option that "
 "controls them."
 msgstr ""
 
-#: common.opt:1500
+#: common.opt:1519
 #, no-c-format
 msgid "Print CWE identifiers for diagnostic messages, where available."
 msgstr ""
 
-#: common.opt:1504
+#: common.opt:1523
 #, no-c-format
 msgid "Print any rules associated with diagnostic messages."
 msgstr ""
 
-#: common.opt:1508
+#: common.opt:1527
+#, no-c-format
+msgid ""
+"Use color within diagnostic messages to highlight pertinent information."
+msgstr ""
+
+#: common.opt:1531
 #, no-c-format
 msgid ""
 "Specify how to print any control-flow path associated with a diagnostic."
 msgstr ""
 
-#: common.opt:1512
+#: common.opt:1535
 #, no-c-format
 msgid ""
 "Turn off any diagnostics features that complicate the output, such as line "
 "numbers, color, and warning URLs."
 msgstr ""
 
-#: common.opt:1516
+#: common.opt:1539
 #, no-c-format
 msgid ""
 "-ftabstop=<number>      Distance between tab stops for column reporting."
 msgstr ""
 
-#: common.opt:1532
+#: common.opt:1555
 #, no-c-format
 msgid "Show stack depths of events in paths."
 msgstr ""
 
-#: common.opt:1536
+#: common.opt:1559
 #, no-c-format
 msgid ""
 "-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]\tDetermine which "
 "characters to use in text arg diagrams."
 msgstr ""
 
-#: common.opt:1555
+#: common.opt:1578
 #, no-c-format
 msgid "Set minimum width of left margin of source code when showing source."
 msgstr ""
 
-#: common.opt:1559
+#: common.opt:1582
 #, no-c-format
 msgid ""
 "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
 msgstr ""
 
-#: common.opt:1563
+#: common.opt:1586
 #, no-c-format
 msgid ""
 "-fenable-[tree|rtl|ipa]-<pass>=range1+range2\tEnable an optimization pass."
 msgstr ""
 
-#: common.opt:1567
+#: common.opt:1590
 #, no-c-format
 msgid "-fdump-<type>\tDump various compiler internals to a file."
 msgstr ""
 
-#: common.opt:1574
+#: common.opt:1597
 #, no-c-format
 msgid ""
 "-fdump-final-insns=filename\tDump to filename the insns at the end of "
 "translation."
 msgstr ""
 
-#: common.opt:1578
+#: common.opt:1601
 #, no-c-format
 msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code."
 msgstr ""
 
-#: common.opt:1582
+#: common.opt:1605
 #, no-c-format
 msgid "Suppress output of addresses in debugging dumps."
 msgstr ""
 
-#: common.opt:1586
+#: common.opt:1609
 #, no-c-format
 msgid ""
 "Collect and dump debug information into temporary file if ICE in C/C++ "
 "compiler occurred."
 msgstr ""
 
-#: common.opt:1591
+#: common.opt:1614
 #, no-c-format
 msgid ""
 "Dump detailed information on GCC's internal representation of source code "
 "locations."
 msgstr ""
 
-#: common.opt:1595
+#: common.opt:1618
 #, no-c-format
 msgid "Dump optimization passes."
 msgstr ""
 
-#: common.opt:1599
+#: common.opt:1622
 #, no-c-format
 msgid ""
 "Suppress output of instruction numbers, line number notes and addresses in "
 "debugging dumps."
 msgstr ""
 
-#: common.opt:1603
+#: common.opt:1626
 #, no-c-format
 msgid "Suppress output of previous and next insn numbers in debugging dumps."
 msgstr ""
 
-#: common.opt:1607
+#: common.opt:1630
 #, no-c-format
 msgid "Enable CFI tables via GAS assembler directives."
 msgstr ""
 
-#: common.opt:1611
+#: common.opt:1634
 #, no-c-format
 msgid "Perform early inlining."
 msgstr ""
 
-#: common.opt:1619
+#: common.opt:1642
 #, no-c-format
 msgid "Perform interprocedural reduction of aggregates."
 msgstr ""
 
-#: common.opt:1623
+#: common.opt:1646
 #, no-c-format
 msgid "Perform unused symbol elimination in debug info."
 msgstr ""
 
-#: common.opt:1627
+#: common.opt:1650
 #, no-c-format
 msgid "Perform unused type elimination in debug info."
 msgstr ""
 
-#: common.opt:1631
+#: common.opt:1654
 #, no-c-format
 msgid "Do not suppress C++ class debug information."
 msgstr ""
 
-#: common.opt:1635
+#: common.opt:1658
 #, no-c-format
 msgid "Enable exception handling."
 msgstr ""
 
-#: common.opt:1639
+#: common.opt:1662
 #, no-c-format
 msgid "Perform a number of minor, expensive optimizations."
 msgstr ""
 
-#: common.opt:1643
+#: common.opt:1666
 #, no-c-format
 msgid ""
 "-fexcess-precision=[fast|standard|16]\tSpecify handling of excess floating-"
 "point precision."
 msgstr ""
 
-#: common.opt:1661
+#: common.opt:1684
 #, no-c-format
 msgid ""
 "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of "
 "FLT_EVAL_METHOD are permitted."
 msgstr ""
 
-#: common.opt:1677
+#: common.opt:1700
 #, no-c-format
 msgid ""
 "Output lto objects containing both the intermediate language and binary "
 "output."
 msgstr ""
 
-#: common.opt:1681
+#: common.opt:1704
 #, no-c-format
 msgid "Assume no NaNs or infinities are generated."
 msgstr ""
 
-#: common.opt:1685
+#: common.opt:1708
 #, no-c-format
 msgid ""
 "Assume that loops with an exit will terminate and not loop indefinitely."
 msgstr ""
 
-#: common.opt:1689
+#: common.opt:1712
 #, no-c-format
 msgid ""
 "-ffixed-<register>\tMark <register> as being unavailable to the compiler."
 msgstr ""
 
-#: common.opt:1693
+#: common.opt:1716
 #, no-c-format
 msgid "Don't allocate floats and doubles in extended-precision registers."
 msgstr ""
 
-#: common.opt:1701
+#: common.opt:1724
 #, no-c-format
 msgid "Perform a forward propagation pass on RTL."
 msgstr ""
 
-#: common.opt:1705
+#: common.opt:1728
 #, no-c-format
 msgid ""
 "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
 msgstr ""
 
-#: common.opt:1721
+#: common.opt:1744
 #, no-c-format
 msgid ""
 "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" "
 "exceptions."
 msgstr ""
 
-#: common.opt:1728
+#: common.opt:1751
 #, no-c-format
 msgid "Allow function addresses to be held in registers."
 msgstr ""
 
-#: common.opt:1732
+#: common.opt:1755
 #, no-c-format
 msgid "Place each function into its own section."
 msgstr ""
 
-#: common.opt:1736
+#: common.opt:1759
 #, no-c-format
 msgid "Perform global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1740
+#: common.opt:1763
 #, no-c-format
 msgid ""
 "Perform enhanced load motion during global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1744
+#: common.opt:1767
 #, no-c-format
 msgid "Perform store motion after global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1748
+#: common.opt:1771
+#, no-c-format
+msgid "Try to avoid store forwarding."
+msgstr ""
+
+#: common.opt:1775
 #, no-c-format
 msgid ""
 "Perform redundant load after store elimination in global common "
 "subexpression elimination."
 msgstr ""
 
-#: common.opt:1753
+#: common.opt:1780
 #, no-c-format
 msgid ""
 "Perform global common subexpression elimination after register allocation "
 "has finished."
 msgstr ""
 
-#: common.opt:1770
+#: common.opt:1797
 #, 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:1775
+#: common.opt:1802
 #, no-c-format
 msgid "Enable in and out of Graphite representation."
 msgstr ""
 
-#: common.opt:1779
+#: common.opt:1806
 #, no-c-format
 msgid "Enable Graphite Identity transformation."
 msgstr ""
 
-#: common.opt:1783
+#: common.opt:1810
 #, no-c-format
 msgid ""
 "Enable hoisting adjacent loads to encourage generating conditional move "
 "instructions."
 msgstr ""
 
-#: common.opt:1792
+#: common.opt:1823
 #, no-c-format
 msgid ""
-"Improve GCC's ability to track column numbers in large source files, at the "
-"expense of slower compilation."
+"Run two instruction combination passes late in the pass pipeline; one before "
+"register allocation and one after."
 msgstr ""
 
-#: common.opt:1797
+#: common.opt:1828
 #, no-c-format
 msgid "Mark all loops as parallel."
 msgstr ""
 
-#: common.opt:1801 common.opt:1809 common.opt:3154
+#: common.opt:1832 common.opt:1840 common.opt:3217
 #, no-c-format
 msgid "Enable loop nest transforms.  Same as -floop-nest-optimize."
 msgstr ""
 
-#: common.opt:1805
+#: common.opt:1836
 #, no-c-format
 msgid "Enable loop interchange on trees."
 msgstr ""
 
-#: common.opt:1813
+#: common.opt:1844
 #, no-c-format
 msgid "Perform unroll-and-jam on loops."
 msgstr ""
 
-#: common.opt:1817
+#: common.opt:1848
 #, no-c-format
 msgid "Enable support for GNU transactional memory."
 msgstr ""
 
-#: common.opt:1821
+#: common.opt:1852
 #, no-c-format
 msgid "Use STB_GNU_UNIQUE if supported by the assembler."
 msgstr ""
 
-#: common.opt:1829
+#: common.opt:1860
 #, no-c-format
 msgid "Enable the loop nest optimizer."
 msgstr ""
 
-#: common.opt:1833
+#: common.opt:1864
 #, no-c-format
 msgid "Force bitfield accesses to match their type width."
 msgstr ""
 
-#: common.opt:1837
+#: common.opt:1868
 #, no-c-format
 msgid "Merge adjacent stores."
 msgstr ""
 
-#: common.opt:1841
+#: common.opt:1872
 #, no-c-format
 msgid "Enable guessing of branch probabilities."
 msgstr ""
 
-#: common.opt:1845
+#: common.opt:1876
 #, no-c-format
 msgid "Enable various security-relevant flags."
 msgstr ""
 
-#: common.opt:1849
+#: common.opt:1880
 #, no-c-format
 msgid "Harden conditionals not used in branches, checking reversed conditions."
 msgstr ""
 
-#: common.opt:1853
+#: common.opt:1884
 #, no-c-format
 msgid "Harden conditional branches by checking reversed conditions."
 msgstr ""
 
-#: common.opt:1857
+#: common.opt:1888
 #, no-c-format
 msgid "Harden control flow by recording and checking execution paths."
 msgstr ""
 
-#: common.opt:1861
+#: common.opt:1892
 #, no-c-format
 msgid "Disable CFR in leaf functions."
 msgstr ""
 
-#: common.opt:1865
+#: common.opt:1896
 #, no-c-format
 msgid ""
 "Check CFR execution paths also before calls followed by returns of their "
 "results."
 msgstr ""
 
-#: common.opt:1869
+#: common.opt:1900
 #, no-c-format
 msgid ""
 "Check CFR execution paths also when exiting a function through an exception."
 msgstr ""
 
-#: common.opt:1873
+#: common.opt:1904
 #, 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:1896
+#: common.opt:1927
 #, no-c-format
 msgid "Process #ident directives."
 msgstr ""
 
-#: common.opt:1900
+#: common.opt:1931
 #, no-c-format
 msgid "Perform conversion of conditional jumps to branchless equivalents."
 msgstr ""
 
-#: common.opt:1904
+#: common.opt:1935
 #, no-c-format
 msgid "Perform conversion of conditional jumps to conditional execution."
 msgstr ""
 
-#: common.opt:1908
+#: common.opt:1939
 #, no-c-format
 msgid ""
 "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local "
 "variables."
 msgstr ""
 
-#: common.opt:1924
+#: common.opt:1955
 #, no-c-format
 msgid "Convert conditional jumps in innermost loops to branchless equivalents."
 msgstr ""
 
-#: common.opt:1936
+#: common.opt:1967
 #, no-c-format
 msgid "Do not generate .size directives."
 msgstr ""
 
-#: common.opt:1940
+#: common.opt:1971
 #, no-c-format
 msgid "Perform indirect inlining."
 msgstr ""
 
-#: common.opt:1946
+#: common.opt:1977
 #, no-c-format
 msgid ""
 "Enable inlining of function declared \"inline\", disabling disables all "
 "inlining."
 msgstr ""
 
-#: common.opt:1950
+#: common.opt:1981
 #, no-c-format
 msgid ""
 "Integrate functions into their callers when code size is known not to grow."
 msgstr ""
 
-#: common.opt:1954
+#: common.opt:1985
 #, no-c-format
 msgid ""
 "Integrate functions not declared \"inline\" into their callers when "
 "profitable."
 msgstr ""
 
-#: common.opt:1958
+#: common.opt:1989
 #, no-c-format
 msgid "Integrate functions only required by their single caller."
 msgstr ""
 
-#: common.opt:1965
+#: common.opt:1996
 #, no-c-format
 msgid ""
 "-finline-limit=<number>\tLimit the size of inlined functions to <number>."
 msgstr ""
 
-#: common.opt:1969
+#: common.opt:2000
 #, no-c-format
 msgid ""
 "Inline __atomic operations when a lock free instruction sequence is "
 "available."
 msgstr ""
 
-#: common.opt:1979
+#: common.opt:2010
 #, no-c-format
 msgid ""
 "-finline-stringops[=memcmp|memcpy|memmove|memset] Expand supported mem/str "
 "operations inline, even if against optimization."
 msgstr ""
 
-#: common.opt:2010
+#: common.opt:2041
 #, no-c-format
 msgid ""
 "-fcf-protection=[full|branch|return|none|check]\tInstrument functions with "
@@ -16079,609 +15701,641 @@ msgid ""
 "valid targets."
 msgstr ""
 
-#: common.opt:2033
+#: common.opt:2064
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls."
 msgstr ""
 
-#: common.opt:2037
+#: common.opt:2068
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls invoked once."
 msgstr ""
 
-#: common.opt:2041
+#: common.opt:2072
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-function-list=name,...\tDo not instrument "
 "listed functions."
 msgstr ""
 
-#: common.opt:2045
+#: common.opt:2076
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-file-list=filename,...\tDo not instrument "
 "functions listed in files."
 msgstr ""
 
-#: common.opt:2049
+#: common.opt:2080
 #, no-c-format
 msgid "Perform interprocedural constant propagation."
 msgstr ""
 
-#: common.opt:2053
+#: common.opt:2084
 #, no-c-format
 msgid "Perform cloning to make Interprocedural constant propagation stronger."
 msgstr ""
 
-#: common.opt:2061
+#: common.opt:2092
 #, no-c-format
 msgid "Perform interprocedural bitwise constant propagation."
 msgstr ""
 
-#: common.opt:2065
+#: common.opt:2096
 #, no-c-format
 msgid "Perform interprocedural modref analysis."
 msgstr ""
 
-#: common.opt:2069
+#: common.opt:2100
 #, no-c-format
 msgid "Perform interprocedural profile propagation."
 msgstr ""
 
-#: common.opt:2073
+#: common.opt:2104
 #, no-c-format
 msgid "Perform interprocedural points-to analysis."
 msgstr ""
 
-#: common.opt:2077
+#: common.opt:2108
 #, no-c-format
 msgid "Discover pure and const functions."
 msgstr ""
 
-#: common.opt:2081
+#: common.opt:2112
 #, no-c-format
 msgid "Perform Identical Code Folding for functions and read-only variables."
 msgstr ""
 
-#: common.opt:2085
+#: common.opt:2116
 #, no-c-format
 msgid "Perform Identical Code Folding for functions."
 msgstr ""
 
-#: common.opt:2089
+#: common.opt:2120
 #, no-c-format
 msgid "Perform Identical Code Folding for variables."
 msgstr ""
 
-#: common.opt:2093
+#: common.opt:2124
 #, no-c-format
 msgid "Discover read-only and non addressable static variables."
 msgstr ""
 
-#: common.opt:2097
+#: common.opt:2128
 #, no-c-format
 msgid "Discover read-only, write-only and non-addressable static variables."
 msgstr ""
 
-#: common.opt:2101
+#: common.opt:2132
 #, no-c-format
 msgid "Reduce stack alignment on call sites if possible."
 msgstr ""
 
-#: common.opt:2113
+#: common.opt:2144
 #, no-c-format
 msgid "Perform IPA Value Range Propagation."
 msgstr ""
 
-#: common.opt:2117
+#: common.opt:2148
 #, no-c-format
 msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
 msgstr ""
 
-#: common.opt:2121
+#: common.opt:2152
 #, no-c-format
 msgid ""
 "Assume strict aliasing rules apply across (uninlined) function boundaries."
 msgstr ""
 
-#: common.opt:2134
+#: common.opt:2165
 #, no-c-format
 msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
 msgstr ""
 
-#: common.opt:2150
+#: common.opt:2181
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
 msgstr ""
 
-#: common.opt:2155
+#: common.opt:2186
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL loop optimizations."
 msgstr ""
 
-#: common.opt:2160
+#: common.opt:2191
 #, no-c-format
 msgid "Share slots for saving different hard registers."
 msgstr ""
 
-#: common.opt:2164
+#: common.opt:2195
 #, no-c-format
 msgid "Share stack slots for spilled pseudo-registers."
 msgstr ""
 
-#: common.opt:2168
+#: common.opt:2199
 #, no-c-format
 msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
 msgstr ""
 
-#: common.opt:2172
+#: common.opt:2203
 #, no-c-format
 msgid "Optimize induction variables on trees."
 msgstr ""
 
-#: common.opt:2176
+#: common.opt:2207
 #, no-c-format
 msgid "Use jump tables for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2180
+#: common.opt:2211
 #, no-c-format
 msgid "Use bit tests for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2184
+#: common.opt:2215
 #, no-c-format
 msgid "Generate code for functions even if they are fully inlined."
 msgstr ""
 
-#: common.opt:2188
+#: common.opt:2219
 #, no-c-format
 msgid "Generate code for static functions even if they are never called."
 msgstr ""
 
-#: common.opt:2192
+#: common.opt:2223
 #, no-c-format
 msgid "Emit static const variables even if they are not used."
 msgstr ""
 
-#: common.opt:2196
+#: common.opt:2227
 #, no-c-format
 msgid "Give external symbols a leading underscore."
 msgstr ""
 
-#: common.opt:2204
+#: common.opt:2235
 #, no-c-format
 msgid "Do CFG-sensitive rematerialization in LRA."
 msgstr ""
 
-#: common.opt:2208
+#: common.opt:2239
 #, no-c-format
 msgid "Enable link-time optimization."
 msgstr ""
 
-#: common.opt:2212
+#: common.opt:2243
 #, no-c-format
 msgid "Link-time optimization with number of parallel jobs or jobserver."
 msgstr ""
 
-#: common.opt:2234
+#: common.opt:2247
+#, no-c-format
+msgid "Enable incremental LTO, with its cache in given directory."
+msgstr ""
+
+#: common.opt:2251
+#, no-c-format
+msgid ""
+"Number of cache entries in incremental LTO after which to prune old entries."
+msgstr ""
+
+#: common.opt:2276
 #, no-c-format
 msgid "Specify the algorithm to partition symbols and vars at linktime."
 msgstr ""
 
-#: common.opt:2239
+#: common.opt:2281
 #, no-c-format
 msgid "Use zlib/zstd compression level <number> for IL."
 msgstr ""
 
-#: common.opt:2247
+#: common.opt:2289
 #, no-c-format
 msgid "Report various link-time optimization statistics."
 msgstr ""
 
-#: common.opt:2251
+#: common.opt:2293
 #, no-c-format
 msgid "Report various link-time optimization statistics for WPA only."
 msgstr ""
 
-#: common.opt:2255
+#: common.opt:2297
 #, no-c-format
 msgid "Set errno after built-in math functions."
 msgstr ""
 
-#: common.opt:2259
+#: common.opt:2301
 #, no-c-format
 msgid "-fmax-errors=<number>\tMaximum number of errors to report."
 msgstr ""
 
-#: common.opt:2263
+#: common.opt:2305
+#, no-c-format
+msgid "Allow removal of malloc and free pairs when allocated block is unused."
+msgstr ""
+
+#: common.opt:2312
 #, no-c-format
 msgid "Report on permanent memory allocation."
 msgstr ""
 
-#: common.opt:2267
+#: common.opt:2316
 #, no-c-format
 msgid "Report on permanent memory allocation in WPA only."
 msgstr ""
 
-#: common.opt:2274
+#: common.opt:2323
 #, no-c-format
 msgid "Attempt to merge identical constants and constant variables."
 msgstr ""
 
-#: common.opt:2278
+#: common.opt:2327
 #, no-c-format
 msgid "Attempt to merge identical constants across compilation units."
 msgstr ""
 
-#: common.opt:2282
+#: common.opt:2331
 #, no-c-format
 msgid "Attempt to merge identical debug strings across compilation units."
 msgstr ""
 
-#: common.opt:2286
+#: common.opt:2335
 #, no-c-format
 msgid ""
 "-fmessage-length=<number>\tLimit diagnostics to <number> characters per "
 "line.  0 suppresses line-wrapping."
 msgstr ""
 
-#: common.opt:2290
+#: common.opt:2339
 #, no-c-format
 msgid "Align the start of every function."
 msgstr ""
 
-#: common.opt:2294
+#: common.opt:2343
 #, no-c-format
 msgid "Perform SMS based modulo scheduling before the first scheduling pass."
 msgstr ""
 
-#: common.opt:2298
+#: common.opt:2347
 #, no-c-format
 msgid "Perform SMS based modulo scheduling with register moves allowed."
 msgstr ""
 
-#: common.opt:2302
+#: common.opt:2351
 #, no-c-format
 msgid "Move loop invariant computations out of loops."
 msgstr ""
 
-#: common.opt:2306
+#: common.opt:2355
 #, no-c-format
 msgid "Move stores out of loops."
 msgstr ""
 
-#: common.opt:2310
+#: common.opt:2359
 #, no-c-format
 msgid "Building block for specs-based multilib-aware TFLAGS."
 msgstr ""
 
-#: common.opt:2314
+#: common.opt:2363
 #, no-c-format
 msgid "Use the RTL dead code elimination pass."
 msgstr ""
 
-#: common.opt:2318
+#: common.opt:2367
 #, no-c-format
 msgid "Use the RTL dead store elimination pass."
 msgstr ""
 
-#: common.opt:2322
+#: common.opt:2371
 #, no-c-format
 msgid ""
 "Enable/Disable the traditional scheduling in loops that already passed "
 "modulo scheduling."
 msgstr ""
 
-#: common.opt:2326
+#: common.opt:2375
 #, no-c-format
 msgid "Support synchronous non-call exceptions."
 msgstr ""
 
-#: common.opt:2333
+#: common.opt:2382
 #, no-c-format
 msgid ""
 "-foffload-options=<targets>=<options>\tSpecify options for the offloading "
 "targets."
 msgstr ""
 
-#: common.opt:2337
+#: common.opt:2386
 #, no-c-format
 msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
 msgstr ""
 
-#: common.opt:2350
+#: common.opt:2399
+#, no-c-format
+msgid "-foffload-abi-host-opts=<options>\tSpecify host ABI options."
+msgstr ""
+
+#: common.opt:2403
 #, no-c-format
 msgid "When possible do not generate stack frames."
 msgstr ""
 
-#: common.opt:2357
+#: common.opt:2410
 #, no-c-format
 msgid ""
 "Generate SIMD clones for functions with the OpenMP declare target directive."
 msgstr ""
 
-#: common.opt:2376
+#: common.opt:2429
 #, no-c-format
 msgid "Enable all optimization info dumps on stderr."
 msgstr ""
 
-#: common.opt:2380
+#: common.opt:2433
 #, no-c-format
 msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
 msgstr ""
 
-#: common.opt:2384
+#: common.opt:2437
 #, no-c-format
 msgid ""
 "Write a SRCFILE.opt-record.json file detailing what optimizations were "
 "performed."
 msgstr ""
 
-#: common.opt:2392
+#: common.opt:2441
+#, no-c-format
+msgid ""
+"Detect loops calculating CRC and replace with faster implementation. If the "
+"target supports CRC instruction and the CRC loop uses the same polynomial as "
+"the one used in the CRC instruction, directly replace with the corresponding "
+"CRC instruction. Otherwise, if the target supports carry-less-multiplication "
+"instruction, generate CRC using it. If neither case applies, generate table-"
+"based CRC."
+msgstr ""
+
+#: common.opt:2455
 #, no-c-format
 msgid "Optimize sibling and tail recursive calls."
 msgstr ""
 
-#: common.opt:2396
+#: common.opt:2459
 #, no-c-format
 msgid "Perform partial inlining."
 msgstr ""
 
-#: common.opt:2400 common.opt:2404
+#: common.opt:2463 common.opt:2467
 #, no-c-format
 msgid "Report on memory allocation before interprocedural optimization."
 msgstr ""
 
-#: common.opt:2408
+#: common.opt:2471
 #, no-c-format
 msgid "Pack structure members together without holes."
 msgstr ""
 
-#: common.opt:2412
+#: common.opt:2475
 #, no-c-format
 msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
 msgstr ""
 
-#: common.opt:2416
+#: common.opt:2479
 #, no-c-format
 msgid "Return small aggregates in memory, not registers."
 msgstr ""
 
-#: common.opt:2420
+#: common.opt:2483
 #, no-c-format
 msgid "Perform loop peeling."
 msgstr ""
 
-#: common.opt:2424
+#: common.opt:2487
 #, no-c-format
 msgid "Enable machine specific peephole optimizations."
 msgstr ""
 
-#: common.opt:2428
+#: common.opt:2491
 #, no-c-format
 msgid "Enable an RTL peephole pass before sched2."
 msgstr ""
 
-#: common.opt:2432
+#: common.opt:2495
 #, no-c-format
 msgid "Generate position-independent code if possible (large mode)."
 msgstr ""
 
-#: common.opt:2436
+#: common.opt:2499
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (large mode)."
 msgstr ""
 
-#: common.opt:2440
+#: common.opt:2503
 #, no-c-format
 msgid "Generate position-independent code if possible (small mode)."
 msgstr ""
 
-#: common.opt:2444
+#: common.opt:2507
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (small mode)."
 msgstr ""
 
-#: common.opt:2448
+#: common.opt:2511
 #, no-c-format
 msgid ""
 "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
 msgstr ""
 
-#: common.opt:2452
+#: common.opt:2515
 #, no-c-format
 msgid "Specify a plugin to load."
 msgstr ""
 
-#: common.opt:2456
+#: common.opt:2519
 #, no-c-format
 msgid ""
 "-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for "
 "plugin <name>."
 msgstr ""
 
-#: common.opt:2460
+#: common.opt:2523
 #, no-c-format
 msgid "Run predictive commoning optimization."
 msgstr ""
 
-#: common.opt:2464
+#: common.opt:2527
 #, no-c-format
 msgid "Generate prefetch instructions, if available, for arrays in loops."
 msgstr ""
 
-#: common.opt:2468
+#: common.opt:2531
 #, no-c-format
 msgid "Enable basic program profiling code."
 msgstr ""
 
-#: common.opt:2472
+#: common.opt:2535
 #, no-c-format
 msgid "Generate absolute source path names for gcov."
 msgstr ""
 
-#: common.opt:2476
+#: common.opt:2539
 #, no-c-format
 msgid "Insert arc-based program profiling code."
 msgstr ""
 
-#: common.opt:2480
+#: common.opt:2543
 #, no-c-format
 msgid "Insert condition coverage profiling code."
 msgstr ""
 
-#: common.opt:2484
+#: common.opt:2547
 #, no-c-format
 msgid ""
 "Set the top-level directory for storing the profile data. The default is "
 "'pwd'."
 msgstr ""
 
-#: common.opt:2489
+#: common.opt:2552
 #, no-c-format
 msgid "Select the name for storing the profile note file."
 msgstr ""
 
-#: common.opt:2493
+#: common.opt:2556
 #, no-c-format
 msgid "Enable correction of flow inconsistent profile data input."
 msgstr ""
 
-#: common.opt:2497
+#: common.opt:2560
 #, no-c-format
 msgid ""
 "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update "
 "method."
 msgstr ""
 
-#: common.opt:2501
+#: common.opt:2564
 #, no-c-format
 msgid ""
 "Instrument only functions from files whose name matches any of the regular "
 "expressions (separated by semi-colons)."
 msgstr ""
 
-#: common.opt:2505
+#: common.opt:2568
 #, 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:2521
+#: common.opt:2584
 #, no-c-format
 msgid ""
 "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level "
 "of reproducibility of profile gathered by -fprofile-generate."
 msgstr ""
 
-#: common.opt:2537
+#: common.opt:2600
 #, no-c-format
 msgid ""
 "Remove prefix from absolute path before mangling name for -fprofile-"
 "generate= and -fprofile-use=."
 msgstr ""
 
-#: common.opt:2541
+#: common.opt:2604
 #, no-c-format
 msgid ""
 "-fprofile-prefix-map=<old>=<new>\tMap one directory name to another in GCOV "
 "coverage result."
 msgstr ""
 
-#: common.opt:2545
+#: common.opt:2608
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations."
 msgstr ""
 
-#: common.opt:2549
+#: common.opt:2612
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2553
+#: common.opt:2616
 #, no-c-format
 msgid ""
 "Register the profile information in the .gcov_info section instead of using "
 "a constructor/destructor."
 msgstr ""
 
-#: common.opt:2557
+#: common.opt:2620
 #, no-c-format
 msgid ""
 "Register the profile information in the specified section instead of using a "
 "constructor/destructor."
 msgstr ""
 
-#: common.opt:2561
+#: common.opt:2624
 #, no-c-format
 msgid ""
 "Do not assume that functions never executed during the train run are cold."
 msgstr ""
 
-#: common.opt:2565
+#: common.opt:2628
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed optimizations."
 msgstr ""
 
-#: common.opt:2569
+#: common.opt:2632
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed "
 "optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2573
+#: common.opt:2636
 #, no-c-format
 msgid "Insert code to profile values of expressions."
 msgstr ""
 
-#: common.opt:2577
+#: common.opt:2640
 #, no-c-format
 msgid "Report on consistency of profile."
 msgstr ""
 
-#: common.opt:2581
+#: common.opt:2644
 #, no-c-format
 msgid "Enable function reordering that improves code placement."
 msgstr ""
 
-#: common.opt:2585
+#: common.opt:2648
 #, no-c-format
 msgid "Insert NOP instructions at each function entry."
 msgstr ""
 
-#: common.opt:2592
+#: common.opt:2655
 #, no-c-format
 msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
 msgstr ""
 
-#: common.opt:2602
+#: common.opt:2665
 #, no-c-format
 msgid "Record gcc command line switches in the object file."
 msgstr ""
 
-#: common.opt:2606
+#: common.opt:2669
 #, no-c-format
 msgid "Return small aggregates in registers."
 msgstr ""
 
-#: common.opt:2614
+#: common.opt:2677
 #, 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:2628
+#: common.opt:2691
 #, no-c-format
 msgid ""
 "-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations "
@@ -16689,520 +16343,520 @@ msgid ""
 "multiple-level control on the enabled IPA optimizations."
 msgstr ""
 
-#: common.opt:2643
+#: common.opt:2706
 #, no-c-format
 msgid "Tell DCE to remove unused C++ allocations."
 msgstr ""
 
-#: common.opt:2647
+#: common.opt:2710
 #, no-c-format
 msgid "Relief of register pressure through live range shrinkage."
 msgstr ""
 
-#: common.opt:2651
+#: common.opt:2714
 #, no-c-format
 msgid "Perform a register renaming optimization pass."
 msgstr ""
 
-#: common.opt:2655
+#: common.opt:2718
 #, no-c-format
 msgid "Perform a target dependent instruction fusion optimization pass."
 msgstr ""
 
-#: common.opt:2659
+#: common.opt:2722
 #, no-c-format
 msgid "Reorder basic blocks to improve code placement."
 msgstr ""
 
-#: common.opt:2663
+#: common.opt:2726
 #, no-c-format
 msgid ""
 "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering "
 "algorithm."
 msgstr ""
 
-#: common.opt:2676
+#: common.opt:2739
 #, no-c-format
 msgid "Reorder basic blocks and partition into hot and cold sections."
 msgstr ""
 
-#: common.opt:2680
+#: common.opt:2743
 #, no-c-format
 msgid "Reorder functions to improve code placement."
 msgstr ""
 
-#: common.opt:2684
+#: common.opt:2747
 #, no-c-format
 msgid "Add a common subexpression elimination pass after loop optimizations."
 msgstr ""
 
-#: common.opt:2692
+#: common.opt:2755
 #, no-c-format
 msgid "Disable optimizations that assume default FP rounding behavior."
 msgstr ""
 
-#: common.opt:2696
+#: common.opt:2759
 #, no-c-format
 msgid "Enable scheduling across basic blocks."
 msgstr ""
 
-#: common.opt:2700
+#: common.opt:2763
 #, no-c-format
 msgid "Enable register pressure sensitive insn scheduling."
 msgstr ""
 
-#: common.opt:2704
+#: common.opt:2767
 #, no-c-format
 msgid "Allow speculative motion of non-loads."
 msgstr ""
 
-#: common.opt:2708
+#: common.opt:2771
 #, no-c-format
 msgid "Allow speculative motion of some loads."
 msgstr ""
 
-#: common.opt:2712
+#: common.opt:2775
 #, no-c-format
 msgid "Allow speculative motion of more loads."
 msgstr ""
 
-#: common.opt:2716
+#: common.opt:2779
 #, no-c-format
 msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
 msgstr ""
 
-#: common.opt:2720
+#: common.opt:2783
 #, no-c-format
 msgid "If scheduling post reload, do superblock scheduling."
 msgstr ""
 
-#: common.opt:2728
+#: common.opt:2791
 #, no-c-format
 msgid "Reschedule instructions before register allocation."
 msgstr ""
 
-#: common.opt:2732
+#: common.opt:2795
 #, no-c-format
 msgid "Reschedule instructions after register allocation."
 msgstr ""
 
-#: common.opt:2739
+#: common.opt:2802
 #, no-c-format
 msgid "Schedule instructions using selective scheduling algorithm."
 msgstr ""
 
-#: common.opt:2743
+#: common.opt:2806
 #, no-c-format
 msgid "Run selective scheduling after reload."
 msgstr ""
 
-#: common.opt:2747
+#: common.opt:2810
 #, no-c-format
 msgid "Run self-tests, using the given path to locate test files."
 msgstr ""
 
-#: common.opt:2751
+#: common.opt:2814
 #, no-c-format
 msgid "Perform software pipelining of inner loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2755
+#: common.opt:2818
 #, no-c-format
 msgid "Perform software pipelining of outer loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2759
+#: common.opt:2822
 #, no-c-format
 msgid "Reschedule pipelined regions without pipelining."
 msgstr ""
 
-#: common.opt:2763
+#: common.opt:2826
 #, no-c-format
 msgid ""
 "Allow interposing function (or variables) by ones with different semantics "
 "(or initializer) respectively by dynamic linker."
 msgstr ""
 
-#: common.opt:2769
+#: common.opt:2832
 #, no-c-format
 msgid "Allow premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2773
+#: common.opt:2836
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns=<number>\tSet number of queued insns that can be "
 "prematurely scheduled."
 msgstr ""
 
-#: common.opt:2781
+#: common.opt:2844
 #, no-c-format
 msgid ""
 "Set dependence distance checking in premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2785
+#: common.opt:2848
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in "
 "premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2789
+#: common.opt:2852
 #, no-c-format
 msgid "Enable the group heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2793
+#: common.opt:2856
 #, no-c-format
 msgid "Enable the critical path heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2797
+#: common.opt:2860
 #, no-c-format
 msgid "Enable the speculative instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2801
+#: common.opt:2864
 #, no-c-format
 msgid "Enable the rank heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2805
+#: common.opt:2868
 #, no-c-format
 msgid "Enable the last instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2809
+#: common.opt:2872
 #, no-c-format
 msgid "Enable the dependent count heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2813
+#: common.opt:2876
 #, no-c-format
 msgid "Access data in the same section from shared anchor points."
 msgstr ""
 
-#: common.opt:2825
+#: common.opt:2888
 #, no-c-format
 msgid "Turn on Redundant Extensions Elimination pass."
 msgstr ""
 
-#: common.opt:2829
+#: common.opt:2892
 #, no-c-format
 msgid "Show column numbers in diagnostics, when available.  Default on."
 msgstr ""
 
-#: common.opt:2833
+#: common.opt:2896
 #, 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:2838
+#: common.opt:2901
 #, no-c-format
 msgid "Shrink-wrap parts of the prologue and epilogue separately."
 msgstr ""
 
-#: common.opt:2842
+#: common.opt:2905
 #, no-c-format
 msgid "Disable optimizations observable by IEEE signaling NaNs."
 msgstr ""
 
-#: common.opt:2846
+#: common.opt:2909
 #, no-c-format
 msgid ""
 "Disable floating point optimizations that ignore the IEEE signedness of zero."
 msgstr ""
 
-#: common.opt:2850
+#: common.opt:2913
 #, no-c-format
 msgid "Convert floating point constants to single precision constants."
 msgstr ""
 
-#: common.opt:2854
+#: common.opt:2917
 #, no-c-format
 msgid "Split lifetimes of induction variables when loops are unrolled."
 msgstr ""
 
-#: common.opt:2858
+#: common.opt:2921
 #, no-c-format
 msgid "Generate discontiguous stack frames."
 msgstr ""
 
-#: common.opt:2862
+#: common.opt:2925
 #, no-c-format
 msgid "Split wide types into independent registers."
 msgstr ""
 
-#: common.opt:2866
+#: common.opt:2929
 #, no-c-format
 msgid "Split wide types into independent registers earlier."
 msgstr ""
 
-#: common.opt:2870
+#: common.opt:2933
 #, no-c-format
 msgid "Enable backward propagation of use properties at the SSA level."
 msgstr ""
 
-#: common.opt:2874
+#: common.opt:2937
 #, no-c-format
 msgid "Optimize conditional patterns using SSA PHI nodes."
 msgstr ""
 
-#: common.opt:2878
+#: common.opt:2941
 #, no-c-format
 msgid ""
 "Optimize amount of stdarg registers saved to stack at start of function."
 msgstr ""
 
-#: common.opt:2882
+#: common.opt:2945
 #, no-c-format
 msgid "Apply variable expansion when loops are unrolled."
 msgstr ""
 
-#: common.opt:2886
+#: common.opt:2949
 #, no-c-format
 msgid ""
 "-fstack-check=[no|generic|specific]\tInsert stack checking code into the "
 "program."
 msgstr ""
 
-#: common.opt:2890
+#: common.opt:2953
 #, no-c-format
 msgid ""
 "Insert stack checking code into the program.  Same as -fstack-check=specific."
 msgstr ""
 
-#: common.opt:2894
+#: common.opt:2957
 #, 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:2902
+#: common.opt:2965
 #, no-c-format
 msgid ""
 "-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
 msgstr ""
 
-#: common.opt:2906
+#: common.opt:2969
 #, no-c-format
 msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
 msgstr ""
 
-#: common.opt:2910
+#: common.opt:2973
 #, no-c-format
 msgid "Use propolice as a stack protection method."
 msgstr ""
 
-#: common.opt:2914
+#: common.opt:2977
 #, no-c-format
 msgid "Use a stack protection method for every function."
 msgstr ""
 
-#: common.opt:2918
+#: common.opt:2981
 #, no-c-format
 msgid "Use a smart stack protection method for certain functions."
 msgstr ""
 
-#: common.opt:2922
+#: common.opt:2985
 #, no-c-format
 msgid ""
 "Use stack protection method only for functions with the stack_protect "
 "attribute."
 msgstr ""
 
-#: common.opt:2926
+#: common.opt:2989
 #, no-c-format
 msgid "Output stack usage information on a per-function basis."
 msgstr ""
 
-#: common.opt:2938
+#: common.opt:3001
 #, no-c-format
 msgid "Assume strict aliasing rules apply."
 msgstr ""
 
-#: common.opt:2942
+#: common.opt:3005
 #, no-c-format
 msgid ""
 "Treat signed overflow as undefined.  Negated as -fwrapv -fwrapv-pointer."
 msgstr ""
 
-#: common.opt:2946
+#: common.opt:3009
 #, no-c-format
 msgid "Disable stack scrub entirely, disregarding strub attributes."
 msgstr ""
 
-#: common.opt:2950
+#: common.opt:3013
 #, no-c-format
 msgid "Enable stack scrub as per attributes, with strict call checking."
 msgstr ""
 
-#: common.opt:2959
+#: common.opt:3022
 #, no-c-format
 msgid "Restore default strub mode: as per attributes, with relaxed checking."
 msgstr ""
 
-#: common.opt:2963
+#: common.opt:3026
 #, no-c-format
 msgid "Enable stack scrubbing for all viable functions."
 msgstr ""
 
-#: common.opt:2967
+#: common.opt:3030
 #, no-c-format
 msgid "Enable at-calls stack scrubbing for all viable functions."
 msgstr ""
 
-#: common.opt:2971
+#: common.opt:3034
 #, no-c-format
 msgid "Enable internal stack scrubbing for all viable functions."
 msgstr ""
 
-#: common.opt:2975
+#: common.opt:3038
 #, no-c-format
 msgid "Implement __atomic operations via libcalls to legacy __sync functions."
 msgstr ""
 
-#: common.opt:2979
+#: common.opt:3042
 #, no-c-format
 msgid "Check for syntax errors, then stop."
 msgstr ""
 
-#: common.opt:2983
+#: common.opt:3046
 #, no-c-format
 msgid "Create data files needed by \"gcov\"."
 msgstr ""
 
-#: common.opt:2987
+#: common.opt:3050
 #, no-c-format
 msgid "Perform jump threading optimizations."
 msgstr ""
 
-#: common.opt:2991
+#: common.opt:3054
 #, no-c-format
 msgid "Report the time taken by each compiler pass."
 msgstr ""
 
-#: common.opt:2995
+#: common.opt:3058
 #, no-c-format
 msgid "Record times taken by sub-phases separately."
 msgstr ""
 
-#: common.opt:2999
+#: common.opt:3062
 #, 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:3018
+#: common.opt:3081
 #, no-c-format
 msgid "Reorder top level functions, variables, and asms."
 msgstr ""
 
-#: common.opt:3022
+#: common.opt:3085
 #, no-c-format
 msgid "Perform superblock formation via tail duplication."
 msgstr ""
 
-#: common.opt:3026
+#: common.opt:3089
 #, no-c-format
 msgid ""
 "For targets that normally need trampolines for nested functions, always "
 "generate them instead of using descriptors."
 msgstr ""
 
-#: common.opt:3031
+#: common.opt:3094
 #, no-c-format
 msgid ""
 "Whether trampolines are generated in executable memory rather than "
 "executable stack."
 msgstr ""
 
-#: common.opt:3049
+#: common.opt:3112
 #, no-c-format
 msgid "Assume floating-point operations can trap."
 msgstr ""
 
-#: common.opt:3053
+#: common.opt:3116
 #, no-c-format
 msgid "Trap for signed overflow in addition, subtraction and multiplication."
 msgstr ""
 
-#: common.opt:3057
+#: common.opt:3120
 #, no-c-format
 msgid "Enable SSA-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:3061
+#: common.opt:3124
 #, no-c-format
 msgid "Enable SSA-BIT-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:3069
+#: common.opt:3132
 #, no-c-format
 msgid "Enable loop header copying on trees."
 msgstr ""
 
-#: common.opt:3077
+#: common.opt:3140
 #, no-c-format
 msgid "Enable SSA coalescing of user variables."
 msgstr ""
 
-#: common.opt:3085
+#: common.opt:3148
 #, no-c-format
 msgid "Enable copy propagation on trees."
 msgstr ""
 
-#: common.opt:3093
+#: common.opt:3156
 #, no-c-format
 msgid "Transform condition stores into unconditional ones."
 msgstr ""
 
-#: common.opt:3097
+#: common.opt:3160
 #, no-c-format
 msgid "Perform conversions of switch initializations."
 msgstr ""
 
-#: common.opt:3101
+#: common.opt:3164
 #, no-c-format
 msgid "Enable SSA dead code elimination optimization on trees."
 msgstr ""
 
-#: common.opt:3105
+#: common.opt:3168
 #, no-c-format
 msgid "Enable dominator optimizations."
 msgstr ""
 
-#: common.opt:3109
+#: common.opt:3172
 #, no-c-format
 msgid "Enable tail merging on trees."
 msgstr ""
 
-#: common.opt:3113
+#: common.opt:3176
 #, no-c-format
 msgid "Enable dead store elimination."
 msgstr ""
 
-#: common.opt:3117
+#: common.opt:3180
 #, no-c-format
 msgid "Enable forward propagation on trees."
 msgstr ""
 
-#: common.opt:3121
+#: common.opt:3184
 #, no-c-format
 msgid "Enable Full Redundancy Elimination (FRE) on trees."
 msgstr ""
 
-#: common.opt:3125
+#: common.opt:3188
 #, no-c-format
 msgid "Enable string length optimizations on trees."
 msgstr ""
 
-#: common.opt:3129
+#: common.opt:3192
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to "
@@ -17210,7 +16864,7 @@ msgid ""
 "flow and turn the statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:3135
+#: common.opt:3198
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to a null "
@@ -17219,525 +16873,544 @@ msgid ""
 "statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:3142
+#: common.opt:3205
 #, no-c-format
 msgid "Enable loop distribution on trees."
 msgstr ""
 
-#: common.opt:3146
+#: common.opt:3209
 #, no-c-format
 msgid "Enable loop distribution for patterns transformed into a library call."
 msgstr ""
 
-#: common.opt:3150
+#: common.opt:3213
 #, no-c-format
 msgid "Enable loop invariant motion on trees."
 msgstr ""
 
-#: common.opt:3158
+#: common.opt:3221
 #, no-c-format
 msgid "Create canonical induction variables in loops."
 msgstr ""
 
-#: common.opt:3162
+#: common.opt:3225
 #, no-c-format
 msgid "Enable loop optimizations on tree level."
 msgstr ""
 
-#: common.opt:3166
+#: common.opt:3229
 #, no-c-format
 msgid ""
 "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
 msgstr ""
 
-#: common.opt:3170
+#: common.opt:3233
 #, no-c-format
 msgid "Enable hoisting loads from conditional pointers."
 msgstr ""
 
-#: common.opt:3174
+#: common.opt:3237
 #, no-c-format
 msgid "Enable SSA-PRE optimization on trees."
 msgstr ""
 
-#: common.opt:3178
+#: common.opt:3241
 #, no-c-format
 msgid ""
 "In SSA-PRE optimization on trees, enable partial-partial redundancy "
 "elimination."
 msgstr ""
 
-#: common.opt:3182
+#: common.opt:3245
 #, no-c-format
 msgid "Perform function-local points-to analysis on trees."
 msgstr ""
 
-#: common.opt:3186
+#: common.opt:3249
 #, no-c-format
 msgid "Enable reassociation on tree level."
 msgstr ""
 
-#: common.opt:3194
+#: common.opt:3257
 #, no-c-format
 msgid "Enable SSA code sinking on trees."
 msgstr ""
 
-#: common.opt:3198
+#: common.opt:3261
 #, no-c-format
 msgid "Perform straight-line strength reduction."
 msgstr ""
 
-#: common.opt:3202
+#: common.opt:3265
 #, no-c-format
 msgid "Perform scalar replacement of aggregates."
 msgstr ""
 
-#: common.opt:3206
+#: common.opt:3269
 #, no-c-format
 msgid "Replace temporary expressions in the SSA->normal pass."
 msgstr ""
 
-#: common.opt:3210
+#: common.opt:3273
 #, no-c-format
 msgid "Perform live range splitting during the SSA->normal pass."
 msgstr ""
 
-#: common.opt:3214
+#: common.opt:3277
 #, no-c-format
 msgid "Perform Value Range Propagation on trees."
 msgstr ""
 
-#: common.opt:3218
+#: common.opt:3281
 #, no-c-format
 msgid "Split paths leading to loop backedges."
 msgstr ""
 
-#: common.opt:3222
+#: common.opt:3285
 #, no-c-format
 msgid ""
 "Assume common declarations may be overridden with ones with a larger "
 "trailing array."
 msgstr ""
 
-#: common.opt:3227
+#: common.opt:3290
 #, no-c-format
 msgid "Compile whole compilation unit at a time."
 msgstr ""
 
-#: common.opt:3231
+#: common.opt:3294
 #, no-c-format
 msgid "Trap on __builtin_unreachable instead of using it for optimization."
 msgstr ""
 
-#: common.opt:3235
+#: common.opt:3298
 #, no-c-format
 msgid "Perform loop unrolling when iteration count is known."
 msgstr ""
 
-#: common.opt:3239
+#: common.opt:3302
 #, no-c-format
 msgid "Perform loop unrolling for all loops."
 msgstr ""
 
-#: common.opt:3254
+#: common.opt:3317
 #, no-c-format
 msgid ""
 "Allow optimization for floating-point arithmetic which may change the result "
 "of the operation due to rounding."
 msgstr ""
 
-#: common.opt:3259
+#: common.opt:3322
 #, no-c-format
 msgid "Same as -fassociative-math for expressions which include division."
 msgstr ""
 
-#: common.opt:3267
+#: common.opt:3330
 #, no-c-format
 msgid "Allow math optimizations that may violate IEEE or ISO standards."
 msgstr ""
 
-#: common.opt:3271
+#: common.opt:3334
 #, no-c-format
 msgid "Perform loop unswitching."
 msgstr ""
 
-#: common.opt:3275
+#: common.opt:3338
 #, no-c-format
 msgid "Perform loop splitting."
 msgstr ""
 
-#: common.opt:3279
+#: common.opt:3342
 #, no-c-format
 msgid "Version loops based on whether indices have a stride of one."
 msgstr ""
 
-#: common.opt:3283
+#: common.opt:3346
 #, no-c-format
 msgid "Just generate unwind tables for exception handling."
 msgstr ""
 
-#: common.opt:3287
+#: common.opt:3350
 #, no-c-format
 msgid "Use the bfd linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3291
+#: common.opt:3354
 #, no-c-format
 msgid "Use the gold linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3295
+#: common.opt:3358
 #, no-c-format
 msgid "Use the lld LLVM linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3299
+#: common.opt:3362
 #, no-c-format
 msgid "Use the Modern linker (MOLD) linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3309
+#: common.opt:3372
 #, no-c-format
 msgid "Perform variable tracking."
 msgstr ""
 
-#: common.opt:3316
+#: common.opt:3379
 #, no-c-format
 msgid "Perform variable tracking by annotating assignments."
 msgstr ""
 
-#: common.opt:3322
+#: common.opt:3385
 #, no-c-format
 msgid "Toggle -fvar-tracking-assignments."
 msgstr ""
 
-#: common.opt:3329
+#: common.opt:3392
 #, no-c-format
 msgid ""
 "Perform variable tracking and also tag variables that are uninitialized."
 msgstr ""
 
-#: common.opt:3334
+#: common.opt:3397
 #, no-c-format
 msgid "Enable vectorization on trees."
 msgstr ""
 
-#: common.opt:3342
+#: common.opt:3405
 #, no-c-format
 msgid "Enable loop vectorization on trees."
 msgstr ""
 
-#: common.opt:3346
+#: common.opt:3409
 #, no-c-format
 msgid "Enable basic block vectorization (SLP) on trees."
 msgstr ""
 
-#: common.opt:3350
+#: common.opt:3413
 #, no-c-format
 msgid ""
 "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost "
 "model for vectorization."
 msgstr ""
 
-#: common.opt:3354
+#: common.opt:3417
 #, 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:3373
+#: common.opt:3436
 #, no-c-format
 msgid ""
 "Enables the dynamic vectorizer cost model.  Preserved for backward "
 "compatibility."
 msgstr ""
 
-#: common.opt:3381
+#: common.opt:3444
 #, no-c-format
 msgid "Enable copy propagation of scalar-evolution information."
 msgstr ""
 
-#: common.opt:3385
+#: common.opt:3448
 #, no-c-format
 msgid ""
 "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to "
 "automatic variables."
 msgstr ""
 
-#: common.opt:3407
+#: common.opt:3470
 #, no-c-format
 msgid "Add extra commentary to assembler output."
 msgstr ""
 
-#: common.opt:3411
+#: common.opt:3474
 #, no-c-format
 msgid ""
 "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: common.opt:3430
+#: common.opt:3493
 #, no-c-format
 msgid "Validate vtable pointers before using them."
 msgstr ""
 
-#: common.opt:3446
+#: common.opt:3509
 #, no-c-format
 msgid "Output vtable verification counters."
 msgstr ""
 
-#: common.opt:3450
+#: common.opt:3513
 #, no-c-format
 msgid "Output vtable verification pointer sets information."
 msgstr ""
 
-#: common.opt:3454
+#: common.opt:3517
 #, no-c-format
 msgid "Use expression value profiles in optimizations."
 msgstr ""
 
-#: common.opt:3458
+#: common.opt:3521
 #, no-c-format
 msgid "Construct webs and split unrelated uses of single variable."
 msgstr ""
 
-#: common.opt:3462
+#: common.opt:3525
 #, no-c-format
 msgid "Enable conditional dead code elimination for builtin calls."
 msgstr ""
 
-#: common.opt:3466
+#: common.opt:3529
 #, no-c-format
 msgid "Perform whole program optimizations."
 msgstr ""
 
-#: common.opt:3470
+#: common.opt:3533
 #, no-c-format
 msgid "Assume pointer overflow wraps around."
 msgstr ""
 
-#: common.opt:3474
+#: common.opt:3537
 #, no-c-format
 msgid "Assume signed arithmetic overflow wraps around."
 msgstr ""
 
-#: common.opt:3478
+#: common.opt:3541
 #, no-c-format
 msgid "Put zero initialized data in the bss section."
 msgstr ""
 
-#: common.opt:3482
+#: common.opt:3545
 #, no-c-format
 msgid "Clear call-used registers upon function return."
 msgstr ""
 
-#: common.opt:3486
+#: common.opt:3549
+#, no-c-format
+msgid ""
+"-fzero-init-padding-bits=[standard|unions|all]\tZero padding bits in "
+"initializers."
+msgstr ""
+
+#: common.opt:3565
 #, no-c-format
 msgid "Generate debug information in default format."
 msgstr ""
 
-#: common.opt:3490
+#: common.opt:3569
 #, no-c-format
 msgid "Assume assembler support for (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3494
+#: common.opt:3573
 #, no-c-format
 msgid "Assume assembler support for view in (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3498
+#: common.opt:3577
 #, no-c-format
 msgid "Generate debug information in CodeView format."
 msgstr ""
 
-#: common.opt:3518
+#: common.opt:3597
 #, no-c-format
 msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
 msgstr ""
 
-#: common.opt:3524
+#: common.opt:3603
 #, no-c-format
 msgid "Generate CTF debug information at default level."
 msgstr ""
 
-#: common.opt:3528
+#: common.opt:3607
 #, no-c-format
 msgid "Generate BTF debug information at default level."
 msgstr ""
 
-#: common.opt:3532
+#: common.opt:3611
+#, no-c-format
+msgid "Generate pruned BTF when emitting BTF info."
+msgstr ""
+
+#: common.opt:3615
 #, no-c-format
 msgid "Generate debug information in default version of DWARF format."
 msgstr ""
 
-#: common.opt:3536
+#: common.opt:3619
 #, no-c-format
 msgid "Generate debug information in DWARF v2 (or later) format."
 msgstr ""
 
-#: common.opt:3540
+#: common.opt:3623
 #, no-c-format
 msgid "Use 32-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3544
+#: common.opt:3627
 #, no-c-format
 msgid "Use 64-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3548
+#: common.opt:3631
 #, no-c-format
 msgid "Generate debug information in default extended format."
 msgstr ""
 
-#: common.opt:3552
+#: common.opt:3635
 #, no-c-format
 msgid "Generate extended entry point information for inlined functions."
 msgstr ""
 
-#: common.opt:3556
+#: common.opt:3639
 #, no-c-format
 msgid "Compute locview reset points based on insn length estimates."
 msgstr ""
 
-#: common.opt:3564
+#: common.opt:3647
 #, no-c-format
 msgid "Don't generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3568
+#: common.opt:3651
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3572
+#: common.opt:3655
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
 msgstr ""
 
-#: common.opt:3576
+#: common.opt:3659
 #, no-c-format
 msgid "Record gcc command line switches in DWARF DW_AT_producer."
 msgstr ""
 
-#: common.opt:3580
+#: common.opt:3663
 #, no-c-format
 msgid "Generate debug information in separate .dwo files."
 msgstr ""
 
-#: common.opt:3592
+#: common.opt:3675
 #, no-c-format
 msgid "Emit progressive recommended breakpoint locations."
 msgstr ""
 
-#: common.opt:3596
+#: common.opt:3679
 #, no-c-format
 msgid "Don't emit DWARF additions beyond selected version."
 msgstr ""
 
-#: common.opt:3600
+#: common.opt:3683
 #, no-c-format
 msgid ""
 "Add description attributes to some DWARF DIEs that have no name attribute."
 msgstr ""
 
-#: common.opt:3604
+#: common.opt:3687
 #, no-c-format
 msgid "Toggle debug information generation."
 msgstr ""
 
-#: common.opt:3608
+#: common.opt:3691
 #, no-c-format
 msgid "Augment variable location lists with progressive views."
 msgstr ""
 
-#: common.opt:3615
+#: common.opt:3698
 #, no-c-format
 msgid "Generate debug information in VMS format."
 msgstr ""
 
-#: common.opt:3644
+#: common.opt:3727
 #, no-c-format
 msgid "Generate compressed debug sections."
 msgstr ""
 
-#: common.opt:3648
+#: common.opt:3731
 #, no-c-format
 msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
 msgstr ""
 
-#: common.opt:3655
+#: common.opt:3738
 #, no-c-format
 msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
 msgstr ""
 
-#: common.opt:3659
+#: common.opt:3742
 #, no-c-format
 msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
 msgstr ""
 
-#: common.opt:3687
+#: common.opt:3770
 #, no-c-format
 msgid "-o <file>\tPlace output into <file>."
 msgstr ""
 
-#: common.opt:3691
+#: common.opt:3774
 #, no-c-format
 msgid "Enable function profiling."
 msgstr ""
 
-#: common.opt:3701
+#: common.opt:3784
 #, no-c-format
 msgid "Like -pedantic but issue them as errors."
 msgstr ""
 
-#: common.opt:3741
+#: common.opt:3824
 #, no-c-format
 msgid "Do not display functions compiled or elapsed time."
 msgstr ""
 
-#: common.opt:3773
+#: common.opt:3856
 #, no-c-format
 msgid "Enable verbose output."
 msgstr ""
 
-#: common.opt:3777
+#: common.opt:3860
 #, no-c-format
 msgid "Display the compiler's version."
 msgstr ""
 
-#: common.opt:3781
+#: common.opt:3864
 #, no-c-format
 msgid "Suppress warnings."
 msgstr ""
 
-#: common.opt:3791
+#: common.opt:3874
 #, no-c-format
 msgid "Create a shared library."
 msgstr ""
 
-#: common.opt:3851
+#: common.opt:3934
 #, no-c-format
 msgid "Don't create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3855
+#: common.opt:3938
 #, no-c-format
 msgid "Create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3859
+#: common.opt:3942
 #, no-c-format
 msgid "Create a static position independent executable."
 msgstr ""
 
-#: common.opt:3866
+#: common.opt:3949
 #, no-c-format
 msgid "Use caller save register across calls if possible."
 msgstr ""
 
+#: common.opt:3953
+#, no-c-format
+msgid ""
+"Perform dead code elimination on zero and sign extensions with special "
+"dataflow analysis."
+msgstr ""
+
 #: params.opt:27
 #, no-c-format
 msgid ""
@@ -17804,59 +17477,67 @@ msgstr ""
 #: params.opt:71
 #, no-c-format
 msgid ""
-"Enable hwasan instrumentation of statically sized stack-allocated variables."
+"Whether the scheduling description is mostly a cycle-accurate model of the "
+"target processor and is likely to be spill aggressively to fill any pipeline "
+"bubbles."
 msgstr ""
 
 #: params.opt:75
 #, no-c-format
-msgid "Use random base tag for each frame, as opposed to base always zero."
+msgid ""
+"Enable hwasan instrumentation of statically sized stack-allocated variables."
 msgstr ""
 
 #: params.opt:79
 #, no-c-format
-msgid "Enable hwasan instrumentation of allocas/VLAs."
+msgid "Use random base tag for each frame, as opposed to base always zero."
 msgstr ""
 
 #: params.opt:83
 #, no-c-format
-msgid "Enable hwasan instrumentation of load operations."
+msgid "Enable hwasan instrumentation of allocas/VLAs."
 msgstr ""
 
 #: params.opt:87
 #, no-c-format
-msgid "Enable hwasan instrumentation of store operations."
+msgid "Enable hwasan instrumentation of load operations."
 msgstr ""
 
 #: params.opt:91
 #, no-c-format
-msgid "Enable hwasan instrumentation of builtin functions."
+msgid "Enable hwasan instrumentation of store operations."
 msgstr ""
 
 #: params.opt:95
 #, no-c-format
-msgid "Average number of iterations of a loop."
+msgid "Enable hwasan instrumentation of builtin functions."
 msgstr ""
 
 #: params.opt:99
 #, no-c-format
-msgid "Maximum number of bits for which we avoid creating FMAs."
+msgid "Average number of iterations of a loop."
 msgstr ""
 
 #: params.opt:103
 #, no-c-format
+msgid "Maximum number of bits for which we avoid creating FMAs."
+msgstr ""
+
+#: params.opt:107
+#, no-c-format
 msgid ""
 "Set the estimated probability in percentage for builtin expect. The default "
 "value is 90% probability."
 msgstr ""
 
-#: params.opt:107
+#: params.opt:111
 #, no-c-format
 msgid ""
 "The maximum length of a constant string for a builtin string cmp call "
 "eligible for inlining. The default value is 3."
 msgstr ""
 
-#: params.opt:111
+#: params.opt:115
 #, no-c-format
 msgid ""
 "The smallest number of different values for which it is best to use a jump-"
@@ -17864,47 +17545,59 @@ msgid ""
 "the machine."
 msgstr ""
 
-#: params.opt:115
+#: params.opt:119
 #, no-c-format
 msgid ""
 "Probability that COMDAT function will be shared with different compilation "
 "unit."
 msgstr ""
 
-#: params.opt:119
+#: params.opt:123
 #, no-c-format
 msgid ""
 "Maximum number of namespaces to search for alternatives when name lookup "
 "fails."
 msgstr ""
 
-#: params.opt:123
+#: params.opt:127
 #, no-c-format
 msgid "Maximum number of queries into the alias oracle per store."
 msgstr ""
 
-#: params.opt:127
+#: params.opt:131
 #, no-c-format
 msgid ""
 "Maximum size (in bytes) of objects tracked bytewise by dead store "
 "elimination."
 msgstr ""
 
-#: params.opt:131
+#: params.opt:135
 #, no-c-format
 msgid ""
 "Maximal estimated growth of function body caused by early inlining of single "
 "call."
 msgstr ""
 
-#: params.opt:135
+#: params.opt:139
+#, no-c-format
+msgid "Max number of files in the file cache."
+msgstr ""
+
+#: params.opt:143
+#, no-c-format
+msgid ""
+"Max number of lines to index into file cache. When 0 this is automatically "
+"sized."
+msgstr ""
+
+#: params.opt:147
 #, no-c-format
 msgid ""
 "Scale factor to apply to the number of statements in a threading path "
 "crossing a loop backedge when comparing to max-jump-thread-duplication-stmts."
 msgstr ""
 
-#: params.opt:139
+#: params.opt:151
 #, no-c-format
 msgid ""
 "Whether the target fully pipelines FMA instructions.  If non-zero, "
@@ -17913,86 +17606,86 @@ msgid ""
 "also do FADD."
 msgstr ""
 
-#: params.opt:146
+#: params.opt:158
 #, no-c-format
 msgid ""
 "The threshold ratio of critical edges execution count that permit performing "
 "redundancy elimination after reload."
 msgstr ""
 
-#: params.opt:150
+#: params.opt:162
 #, no-c-format
 msgid ""
 "The threshold ratio for performing partial redundancy elimination after "
 "reload."
 msgstr ""
 
-#: params.opt:154
+#: params.opt:166
 #, no-c-format
 msgid ""
 "Scaling factor in calculation of maximum distance an expression can be moved "
 "by GCSE optimizations."
 msgstr ""
 
-#: params.opt:158
+#: params.opt:170
 #, no-c-format
 msgid ""
 "Cost at which GCSE optimizations will not constraint the distance an "
 "expression can travel."
 msgstr ""
 
-#: params.opt:162
+#: params.opt:174
 #, no-c-format
 msgid ""
 "Minimum heap expansion to trigger garbage collection, as a percentage of the "
 "total size of the heap."
 msgstr ""
 
-#: params.opt:166
+#: params.opt:178
 #, no-c-format
 msgid "Minimum heap size before we start collecting garbage, in kilobytes."
 msgstr ""
 
-#: params.opt:170
+#: params.opt:182
 #, 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:174
+#: params.opt:186
 #, no-c-format
 msgid "Whether codegen errors should be ICEs when -fchecking."
 msgstr ""
 
-#: params.opt:178
+#: params.opt:190
 #, no-c-format
 msgid "Maximum number of arrays per SCoP."
 msgstr ""
 
-#: params.opt:182
+#: params.opt:194
 #, no-c-format
 msgid "Maximum number of parameters in a SCoP."
 msgstr ""
 
-#: params.opt:186
+#: params.opt:198
 #, no-c-format
 msgid "Maximum number of blocks for -fharden-control-flow-redundancy."
 msgstr ""
 
-#: params.opt:190
+#: params.opt:202
 #, no-c-format
 msgid "Maximum number of blocks for in-line -fharden-control-flow-redundancy."
 msgstr ""
 
-#: params.opt:194
+#: params.opt:206
 #, no-c-format
 msgid ""
 "The number of elements for which hash table verification is done for each "
 "searched element."
 msgstr ""
 
-#: params.opt:198
+#: params.opt:210
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the maximal execution count of a basic "
@@ -18000,7 +17693,7 @@ msgid ""
 "order to be considered hot (used in non-LTO mode)."
 msgstr ""
 
-#: params.opt:202
+#: params.opt:214
 #, no-c-format
 msgid ""
 "The number of most executed permilles of the profiled execution of the "
@@ -18008,7 +17701,7 @@ msgid ""
 "in order to be considered hot (used in LTO mode)."
 msgstr ""
 
-#: params.opt:206
+#: params.opt:218
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the execution frequency of the entry "
@@ -18016,168 +17709,168 @@ msgid ""
 "have in order to be considered hot."
 msgstr ""
 
-#: params.opt:210
+#: params.opt:222
 #, 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:214
+#: params.opt:226
 #, no-c-format
 msgid ""
 "The minimal estimated speedup allowing inliner to ignore inline-insns-single "
 "and inline-insns-auto."
 msgstr ""
 
-#: params.opt:218
+#: params.opt:230
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the inlining (in "
 "percent)."
 msgstr ""
 
-#: params.opt:222
+#: params.opt:234
 #, no-c-format
 msgid "The upper bound for sharing integer constants."
 msgstr ""
 
-#: params.opt:226
+#: params.opt:238
 #, no-c-format
 msgid ""
 "Threshold ipa-cp opportunity evaluation that is still considered beneficial "
 "to clone."
 msgstr ""
 
-#: params.opt:230
+#: params.opt:242
 #, no-c-format
 msgid ""
 "Compile-time bonus IPA-CP assigns to candidates which make loop bounds or "
 "strides known."
 msgstr ""
 
-#: params.opt:234
+#: params.opt:246
 #, no-c-format
 msgid "Maximum depth of recursive cloning for self-recursive function."
 msgstr ""
 
-#: params.opt:238
+#: params.opt:250
 #, no-c-format
 msgid ""
 "Recursive cloning only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:242
+#: params.opt:254
 #, 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:246
+#: params.opt:258
 #, no-c-format
 msgid ""
 "Percentage penalty the recursive functions will receive when they are "
 "evaluated for cloning."
 msgstr ""
 
-#: params.opt:250
+#: params.opt:262
 #, 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:254
+#: params.opt:266
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the interprocedural "
 "constant propagation (in percent)."
 msgstr ""
 
-#: params.opt:258
+#: params.opt:270
 #, no-c-format
 msgid "The size of translation unit that IPA-CP pass considers large."
 msgstr ""
 
-#: params.opt:262
+#: params.opt:274
 #, no-c-format
 msgid ""
 "Maximum size of a list of values associated with each parameter for "
 "interprocedural constant propagation."
 msgstr ""
 
-#: params.opt:266
+#: params.opt:278
 #, no-c-format
 msgid ""
 "When using profile feedback, use the edge at this percentage position in "
 "frequency histogram as the bases for IPA-CP heuristics."
 msgstr ""
 
-#: params.opt:270
+#: params.opt:282
 #, no-c-format
 msgid ""
 "Maximum number of statements visited during jump function offset discovery."
 msgstr ""
 
-#: params.opt:274
+#: params.opt:286
 #, 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:278
+#: params.opt:290
 #, no-c-format
 msgid ""
 "Maximum number of aggregate content items for a parameter in jump functions "
 "and lattices."
 msgstr ""
 
-#: params.opt:282
+#: params.opt:294
 #, no-c-format
 msgid ""
 "Maximum number of operations in a parameter expression that can be handled "
 "by IPA analysis."
 msgstr ""
 
-#: params.opt:286
+#: params.opt:298
 #, no-c-format
 msgid ""
 "Maximum number of different predicates used to track properties of loops in "
 "IPA analysis."
 msgstr ""
 
-#: params.opt:290
+#: params.opt:302
 #, no-c-format
 msgid ""
 "Maximal number of boundary endpoints of case ranges of switch statement used "
 "during IPA function summary generation."
 msgstr ""
 
-#: params.opt:294
+#: params.opt:306
 #, 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:298
+#: params.opt:310
 #, 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:302
+#: params.opt:314
 #, 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:306
+#: params.opt:318
 #, no-c-format
 msgid ""
 "Additional maximum allowed growth of total size of new parameters that ipa-"
@@ -18186,29 +17879,29 @@ msgid ""
 "functions."
 msgstr ""
 
-#: params.opt:310
+#: params.opt:322
 #, no-c-format
 msgid ""
 "The number of registers in each class kept unused by loop invariant motion."
 msgstr ""
 
-#: params.opt:314
+#: params.opt:326
 #, no-c-format
 msgid "Max size of conflict table in MB."
 msgstr ""
 
-#: params.opt:318
+#: params.opt:330
 #, no-c-format
 msgid ""
 "Approximate function insn number in 1K units triggering simple local RA."
 msgstr ""
 
-#: params.opt:322
+#: params.opt:334
 #, no-c-format
 msgid "Max loops number for regional RA."
 msgstr ""
 
-#: params.opt:326
+#: params.opt:338
 #, no-c-format
 msgid ""
 "Control ira to consider matching constraint (duplicated operand number) "
@@ -18220,45 +17913,45 @@ msgid ""
 "class and respect the found qualified matching constraint."
 msgstr ""
 
-#: params.opt:330
+#: params.opt:342
 #, 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:334
+#: params.opt:346
 #, no-c-format
 msgid ""
 "Bound on number of candidates below that all candidates are considered in iv "
 "optimizations."
 msgstr ""
 
-#: params.opt:338
+#: params.opt:350
 #, no-c-format
 msgid "Bound on number of iv uses in loop optimized in iv optimizations."
 msgstr ""
 
-#: params.opt:342
+#: params.opt:354
 #, 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:346
+#: params.opt:358
 #, 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:350
+#: params.opt:362
 #, no-c-format
 msgid "The size of L1 cache line."
 msgstr ""
 
-#: params.opt:354
+#: params.opt:366
 #, no-c-format
 msgid ""
 "The minimum recommended offset between two concurrently-accessed objects to "
@@ -18269,7 +17962,7 @@ msgid ""
 "discouraged from doing so in public ABIs."
 msgstr ""
 
-#: params.opt:363
+#: params.opt:375
 #, no-c-format
 msgid ""
 "The maximum recommended size of contiguous memory occupied by two objects "
@@ -18278,737 +17971,750 @@ msgid ""
 "processors with different cache line sizes."
 msgstr ""
 
-#: params.opt:370
+#: params.opt:382
 #, no-c-format
 msgid "The size of L1 cache."
 msgstr ""
 
-#: params.opt:374
+#: params.opt:386
 #, no-c-format
 msgid "The size of L2 cache."
 msgstr ""
 
-#: params.opt:378
+#: params.opt:390
 #, no-c-format
 msgid "Maximal growth due to inlining of large function (in percent)."
 msgstr ""
 
-#: params.opt:382
+#: params.opt:394
 #, no-c-format
 msgid "The size of function body to be considered large."
 msgstr ""
 
-#: params.opt:386
+#: params.opt:398
 #, no-c-format
 msgid "The size of stack frame to be considered large."
 msgstr ""
 
-#: params.opt:390
+#: params.opt:402
 #, no-c-format
 msgid "Maximal stack frame growth due to inlining (in percent)."
 msgstr ""
 
-#: params.opt:394
+#: params.opt:406
 #, no-c-format
 msgid "The size of translation unit to be considered large."
 msgstr ""
 
-#: params.opt:398
+#: params.opt:410
 #, no-c-format
 msgid "Maximum number of concurrently open C++ module files when lazy loading."
 msgstr ""
 
-#: params.opt:402
+#: params.opt:414
 #, no-c-format
 msgid ""
 "The minimum cost of an expensive expression in the loop invariant motion."
 msgstr ""
 
-#: params.opt:406
+#: params.opt:418
 #, no-c-format
 msgid "True if a non-short-circuit operation is optimal."
 msgstr ""
 
-#: params.opt:410
+#: params.opt:422
 #, no-c-format
 msgid "Size of tiles for loop blocking."
 msgstr ""
 
-#: params.opt:414
+#: params.opt:426
 #, no-c-format
 msgid "The maximum number of stmts in loop nest for loop interchange."
 msgstr ""
 
-#: params.opt:418
+#: params.opt:430
 #, no-c-format
 msgid "The minimum stride ratio for loop interchange to be profitable."
 msgstr ""
 
-#: params.opt:422
+#: params.opt:434
 #, no-c-format
 msgid "Max basic blocks number in loop for loop invariant motion."
 msgstr ""
 
-#: params.opt:426
+#: params.opt:438
 #, no-c-format
 msgid "Maximum number of datarefs in loop for building loop data dependencies."
 msgstr ""
 
-#: params.opt:430
+#: params.opt:442
 #, no-c-format
 msgid ""
 "The maximum number of instructions in an inner loop that is being considered "
 "for versioning."
 msgstr ""
 
-#: params.opt:434
+#: params.opt:446
 #, 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:438
+#: params.opt:450
 #, no-c-format
 msgid ""
 "Minimal fall-through edge probability in percentage used to add BB to "
 "inheritance EBB in LRA."
 msgstr ""
 
-#: params.opt:442
+#: params.opt:454
 #, no-c-format
 msgid ""
 "The max number of reload pseudos which are considered during spilling a non-"
 "reload pseudo."
 msgstr ""
 
-#: params.opt:446
+#: params.opt:458
 #, no-c-format
 msgid "Maximal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:450
+#: params.opt:462
 #, no-c-format
 msgid "maximal number of LTO partitions streamed in parallel."
 msgstr ""
 
-#: params.opt:454
+#: params.opt:466
 #, no-c-format
 msgid "Minimal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:458
+#: params.opt:470
 #, no-c-format
 msgid "Number of partitions the program should be split to."
 msgstr ""
 
-#: params.opt:462
+#: params.opt:474
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to unroll in a loop on "
 "average."
 msgstr ""
 
-#: params.opt:466
+#: params.opt:478
 #, no-c-format
 msgid "The maximum number of insns combine tries to combine."
 msgstr ""
 
-#: params.opt:470
+#: params.opt:482
 #, no-c-format
 msgid "The maximum depth of a loop nest we completely peel."
 msgstr ""
 
-#: params.opt:474
+#: params.opt:486
 #, no-c-format
 msgid ""
 "The maximum number of peelings of a single loop that is peeled completely."
 msgstr ""
 
-#: params.opt:478
+#: params.opt:490
 #, no-c-format
 msgid "The maximum number of insns of a completely peeled loop."
 msgstr ""
 
-#: params.opt:482
+#: params.opt:494
 #, no-c-format
 msgid "The maximum number of incoming edges to consider for crossjumping."
 msgstr ""
 
-#: params.opt:486
+#: params.opt:498
 #, no-c-format
 msgid "The maximum instructions CSE process before flushing."
 msgstr ""
 
-#: params.opt:490
+#: params.opt:502
 #, no-c-format
 msgid "The maximum length of path considered in cse."
 msgstr ""
 
-#: params.opt:494
+#: params.opt:506
 #, no-c-format
 msgid "The maximum memory locations recorded by cselib."
 msgstr ""
 
-#: params.opt:498
+#: params.opt:510
 #, no-c-format
 msgid "Max. count of debug markers to expand or inline."
 msgstr ""
 
-#: params.opt:502
+#: params.opt:514
 #, no-c-format
 msgid "The maximum number of instructions to consider to fill a delay slot."
 msgstr ""
 
-#: params.opt:506
+#: params.opt:518
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to find accurate live "
 "register information."
 msgstr ""
 
-#: params.opt:510
+#: params.opt:522
 #, no-c-format
 msgid "Maximum number of active local stores in RTL dead store elimination."
 msgstr ""
 
-#: params.opt:514
+#: params.opt:526
 #, no-c-format
 msgid ""
 "The maximum number of nested indirect inlining performed by early inliner."
 msgstr ""
 
-#: params.opt:518
+#: params.opt:530
 #, no-c-format
 msgid ""
 "Maximum number of fields in a structure before pointer analysis treats the "
 "structure as a single variable."
 msgstr ""
 
-#: params.opt:522
+#: params.opt:534
 #, no-c-format
 msgid ""
 "Maximum number of instructions to copy when duplicating blocks on a finite "
 "state automaton jump thread path."
 msgstr ""
 
-#: params.opt:526
+#: params.opt:538
 #, no-c-format
 msgid "The maximum ratio of insertions to deletions of expressions in GCSE."
 msgstr ""
 
-#: params.opt:530
+#: params.opt:542
 #, no-c-format
 msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes."
 msgstr ""
 
-#: params.opt:534
+#: params.opt:546
 #, no-c-format
 msgid ""
 "The maximum number of insns to duplicate when unfactoring computed gotos."
 msgstr ""
 
-#: params.opt:538
+#: params.opt:550
 #, no-c-format
 msgid "The maximum expansion factor when copying basic blocks."
 msgstr ""
 
-#: params.opt:542
+#: params.opt:554
 #, no-c-format
 msgid "Maximum depth of search in the dominator tree for expressions to hoist."
 msgstr ""
 
-#: params.opt:546
+#: params.opt:558
 #, no-c-format
 msgid ""
 "Maximum loop depth of a call which is considered for inlining functions "
 "called once."
 msgstr ""
 
-#: params.opt:550
+#: params.opt:562
 #, no-c-format
 msgid ""
 "Maximum combined size of caller and callee which is inlined if callee is "
 "called once."
 msgstr ""
 
-#: params.opt:554
+#: params.opt:566
 #, no-c-format
 msgid "The maximum number of instructions when automatically inlining."
 msgstr ""
 
-#: params.opt:558
+#: params.opt:570
 #, no-c-format
 msgid ""
 "The maximum number of instructions inline function can grow to via recursive "
 "inlining."
 msgstr ""
 
-#: params.opt:562
+#: params.opt:574
 #, no-c-format
 msgid ""
 "The maximum number of instructions non-inline function can grow to via "
 "recursive inlining."
 msgstr ""
 
-#: params.opt:566
+#: params.opt:578
 #, no-c-format
 msgid ""
 "The maximum number of instructions in a single function eligible for "
 "inlining."
 msgstr ""
 
-#: params.opt:570
+#: params.opt:582
 #, no-c-format
 msgid "The maximum number of instructions when inlining for size."
 msgstr ""
 
-#: params.opt:574
+#: params.opt:586
 #, no-c-format
 msgid ""
 "The maximum number of instructions when automatically inlining small "
 "functions."
 msgstr ""
 
-#: params.opt:578
+#: params.opt:590
 #, no-c-format
 msgid "The maximum depth of recursive inlining for inline functions."
 msgstr ""
 
-#: params.opt:582
+#: params.opt:594
 #, no-c-format
 msgid "The maximum depth of recursive inlining for non-inline functions."
 msgstr ""
 
-#: params.opt:586
+#: params.opt:598
 #, no-c-format
 msgid "Maximum number of isl operations, 0 means unlimited."
 msgstr ""
 
-#: params.opt:590
+#: params.opt:602
 #, no-c-format
 msgid "Bound on the cost of an expression to compute the number of iterations."
 msgstr ""
 
-#: params.opt:594
+#: params.opt:606
 #, no-c-format
 msgid ""
 "Bound on the number of iterations the brute force # of iterations analysis "
 "algorithm evaluates."
 msgstr ""
 
-#: params.opt:598
+#: params.opt:610
 #, no-c-format
 msgid ""
 "Maximum number of statements allowed in a block that needs to be duplicated "
 "when threading jumps."
 msgstr ""
 
-#: params.opt:602
+#: params.opt:614
 #, no-c-format
 msgid "Search space limit for the backwards jump threader."
 msgstr ""
 
-#: params.opt:606
+#: params.opt:618
 #, no-c-format
 msgid ""
 "The maximum number of RTL nodes that can be recorded as combiner's last "
 "value."
 msgstr ""
 
-#: params.opt:610
+#: params.opt:622
 #, no-c-format
 msgid ""
 "The maximum number of insns in loop header duplicated by the copy loop "
 "headers pass."
 msgstr ""
 
-#: params.opt:614
+#: params.opt:626
 #, no-c-format
 msgid ""
 "The maximum number of backtrack attempts the scheduler should make when "
 "modulo scheduling a loop."
 msgstr ""
 
-#: params.opt:618
+#: params.opt:630
 #, no-c-format
 msgid "Minimum page size for warning purposes."
 msgstr ""
 
-#: params.opt:622
+#: params.opt:634
 #, no-c-format
 msgid ""
 "Maximum length of partial antic set when performing tree pre optimization."
 msgstr ""
 
-#: params.opt:626
+#: params.opt:638
 #, no-c-format
 msgid "The maximum number of branches on the path through the peeled sequence."
 msgstr ""
 
-#: params.opt:630
+#: params.opt:642
 #, no-c-format
 msgid "The maximum number of peelings of a single loop."
 msgstr ""
 
-#: params.opt:634
+#: params.opt:646
 #, no-c-format
 msgid "The maximum number of insns of a peeled loop."
 msgstr ""
 
-#: params.opt:638
+#: params.opt:650
 #, no-c-format
 msgid "The maximum length of scheduling's pending operations list."
 msgstr ""
 
-#: params.opt:642 params.opt:686
+#: params.opt:654 params.opt:698
 #, no-c-format
 msgid ""
 "The maximum number of blocks in a region to be considered for interblock "
 "scheduling."
 msgstr ""
 
-#: params.opt:646 params.opt:690
+#: params.opt:658 params.opt:702
 #, no-c-format
 msgid ""
 "The maximum number of insns in a region to be considered for interblock "
 "scheduling."
 msgstr ""
 
-#: params.opt:650
+#: params.opt:662
 #, no-c-format
 msgid ""
 "Maximum depth of sqrt chains to use when synthesizing exponentiation by a "
 "real constant."
 msgstr ""
 
-#: params.opt:654
+#: params.opt:666
 #, no-c-format
 msgid "The maximum number of loop iterations we predict statically."
 msgstr ""
 
-#: params.opt:658
+#: params.opt:670
 #, no-c-format
 msgid ""
 "The maximum number of instructions to search backward when looking for "
 "equivalent reload."
 msgstr ""
 
-#: params.opt:662
+#: params.opt:674
 #, no-c-format
 msgid ""
 "Maximum number of insns in a basic block to consider for RTL if-conversion."
 msgstr ""
 
-#: params.opt:666
+#: params.opt:678
 #, 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:670
+#: params.opt:682
 #, 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:674
+#: params.opt:686
 #, no-c-format
 msgid "The maximum number of iterations through CFG to extend regions."
 msgstr ""
 
-#: params.opt:678
+#: params.opt:690
 #, no-c-format
 msgid ""
 "The maximum conflict delay for an insn to be considered for speculative "
 "motion."
 msgstr ""
 
-#: params.opt:682
+#: params.opt:694
 #, 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:694
+#: params.opt:706
 #, no-c-format
 msgid "Maximum length of candidate scans for straight-line strength reduction."
 msgstr ""
 
-#: params.opt:698
+#: params.opt:710
 #, no-c-format
 msgid "Maximum number of may-defs visited when devirtualizing speculatively."
 msgstr ""
 
-#: params.opt:702
+#: params.opt:714
 #, no-c-format
 msgid ""
 "Maximum recursion depth allowed when querying a property of an SSA name."
 msgstr ""
 
-#: params.opt:706
+#: params.opt:718
 #, no-c-format
 msgid "Maximum number of constant stores to merge in the store merging pass."
 msgstr ""
 
-#: params.opt:710
+#: params.opt:722
 #, no-c-format
 msgid "Maximum number of conditional store pairs that can be sunk."
 msgstr ""
 
-#: params.opt:714 params.opt:718
+#: params.opt:726 params.opt:730
 #, no-c-format
 msgid ""
 "Maximum number of store chains to track at the same time in the store "
 "merging pass."
 msgstr ""
 
-#: params.opt:722
+#: params.opt:734
 #, no-c-format
 msgid "Maximum amount of similar bbs to compare a bb with."
 msgstr ""
 
-#: params.opt:726
+#: params.opt:738
 #, no-c-format
 msgid "Maximum amount of iterations of the pass over a function."
 msgstr ""
 
-#: params.opt:730
+#: params.opt:742
 #, no-c-format
 msgid ""
 "Maximum number of strings for which strlen optimization pass will track "
 "string lengths."
 msgstr ""
 
-#: params.opt:734
+#: params.opt:746
 #, 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:738
+#: params.opt:750
 #, no-c-format
 msgid "The maximum number of unrollings of a single loop."
 msgstr ""
 
-#: params.opt:742
+#: params.opt:754
 #, no-c-format
 msgid "The maximum number of instructions to consider to unroll in a loop."
 msgstr ""
 
-#: params.opt:746
+#: params.opt:758
 #, no-c-format
 msgid "The maximum number of insns of an unswitched loop."
 msgstr ""
 
-#: params.opt:750
+#: params.opt:762
 #, no-c-format
 msgid "The maximum depth of a loop nest to be unswitched."
 msgstr ""
 
-#: params.opt:754
+#: params.opt:766
 #, 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:758
+#: params.opt:770
 #, no-c-format
 msgid "Max. recursion depth for expanding var tracking expressions."
 msgstr ""
 
-#: params.opt:762
+#: params.opt:774
 #, no-c-format
 msgid "Max. size of loc list for which reverse ops should be added."
 msgstr ""
 
-#: params.opt:766
+#: params.opt:778
 #, no-c-format
 msgid "Max. size of var tracking hash tables."
 msgstr ""
 
-#: params.opt:770
+#: params.opt:782
 #, no-c-format
 msgid "Maximum number of VALUEs handled during a single find_base_term call."
 msgstr ""
 
-#: params.opt:774
+#: params.opt:786
 #, no-c-format
 msgid ""
 "The minimum number of matching instructions to consider for crossjumping."
 msgstr ""
 
-#: params.opt:778
+#: params.opt:790
 #, no-c-format
 msgid ""
 "Inline recursively only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:782
+#: params.opt:794
 #, no-c-format
 msgid ""
 "Min. ratio of insns to prefetches to enable prefetching for a loop with an "
 "unknown trip count."
 msgstr ""
 
-#: params.opt:786
+#: params.opt:798
 #, no-c-format
 msgid ""
 "The minimum threshold for probability of semi-invariant condition statement "
 "to trigger loop split."
 msgstr ""
 
-#: params.opt:790
+#: params.opt:802
 #, no-c-format
 msgid "The minimum UID to be used for a nondebug insn."
 msgstr ""
 
-#: params.opt:794
+#: params.opt:806
 #, no-c-format
 msgid ""
 "The minimum size of variables taking part in stack slot sharing when not "
 "optimizing."
 msgstr ""
 
-#: params.opt:798
+#: params.opt:810
 #, no-c-format
 msgid ""
 "The minimum probability of reaching a source block for interblock "
 "speculative scheduling."
 msgstr ""
 
-#: params.opt:802
+#: params.opt:814
 #, no-c-format
 msgid ""
 "If -ftree-vectorize is used, the minimal loop bound of a loop to be "
 "considered for vectorization."
 msgstr ""
 
-#: params.opt:806
+#: params.opt:818
 #, no-c-format
 msgid ""
 "--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC "
 "'kernels' constructs handling."
 msgstr ""
 
-#: params.opt:819
+#: params.opt:831
 #, no-c-format
 msgid ""
 "--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC "
 "privatization diagnostics."
 msgstr ""
 
-#: params.opt:832
+#: params.opt:844
 #, no-c-format
 msgid "Chunk size of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:836
+#: params.opt:848
 #, no-c-format
 msgid ""
 "Minimum number of iterations per thread of an innermost parallelized loop."
 msgstr ""
 
-#: params.opt:840
+#: params.opt:852
 #, no-c-format
 msgid ""
 "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchedule "
 "type of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:862
+#: params.opt:874
 #, no-c-format
 msgid ""
 "Maximum probability of the entry BB of split region (in percent relative to "
 "entry BB of the function) to make partial inlining happen."
 msgstr ""
 
-#: params.opt:866
+#: params.opt:878
+#, no-c-format
+msgid ""
+"Maximum number of statements allowed inbetween the statement and the end to "
+"considered not extending the liferange."
+msgstr ""
+
+#: params.opt:882
 #, no-c-format
 msgid "Maximal estimated outcome of branch considered predictable."
 msgstr ""
 
-#: params.opt:870
+#: params.opt:886
 #, no-c-format
 msgid ""
 "Whether software prefetch hints should be issued for non-constant strides."
 msgstr ""
 
-#: params.opt:874
+#: params.opt:890
 #, no-c-format
 msgid "The number of insns executed before prefetch is completed."
 msgstr ""
 
-#: params.opt:878
+#: params.opt:894
 #, no-c-format
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
 msgstr ""
 
-#: params.opt:882
+#: params.opt:898
 #, no-c-format
 msgid ""
 "The minimum constant stride beyond which we should use prefetch hints for."
 msgstr ""
 
-#: params.opt:886
+#: params.opt:902
 #, no-c-format
 msgid "Use internal function id in profile lookup."
 msgstr ""
 
-#: params.opt:890
+#: params.opt:906
 #, no-c-format
 msgid ""
 "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the "
 "output mode for debugging ranger."
 msgstr ""
 
-#: params.opt:915
+#: params.opt:931
 #, no-c-format
 msgid ""
 "Maximum depth of logical expression evaluation ranger will look through when "
 "evaluating outgoing edge ranges."
 msgstr ""
 
-#: params.opt:920
+#: params.opt:936
 #, no-c-format
 msgid ""
 "Maximum depth of instruction chains to consider for recomputation in the "
 "outgoing range calculator."
 msgstr ""
 
-#: params.opt:925
+#: params.opt:941
 #, no-c-format
 msgid "Maximum number of relations the oracle will register in a basic block."
 msgstr ""
 
-#: params.opt:929
+#: params.opt:945
+#, no-c-format
+msgid ""
+"Work bound when discovering transitive relations from existing relations."
+msgstr ""
+
+#: params.opt:949
 #, no-c-format
 msgid "Maximum depth of a loop nest to fully value-number optimistically."
 msgstr ""
 
-#: params.opt:933
+#: params.opt:953
 #, no-c-format
 msgid "Maximum number of disambiguations to perform per memory access."
 msgstr ""
 
-#: params.opt:937
+#: params.opt:957
 #, no-c-format
 msgid ""
 "Bound on the complexity of the expressions in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:941
+#: params.opt:961
 #, no-c-format
 msgid "Bound on size of expressions used in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:945
+#: params.opt:965
 #, no-c-format
 msgid ""
 "Hardware autoprefetcher scheduler model control flag.  Number of lookahead "
@@ -19016,297 +18722,310 @@ msgid ""
 "heuristic.  Disabled by default."
 msgstr ""
 
-#: params.opt:949
+#: params.opt:969
 #, no-c-format
 msgid "Minimal distance between possibly conflicting store and load."
 msgstr ""
 
-#: params.opt:953
+#: params.opt:973
 #, no-c-format
 msgid "Which -fsched-pressure algorithm to apply."
 msgstr ""
 
-#: params.opt:957
+#: params.opt:977
 #, no-c-format
 msgid ""
 "The minimal probability of speculation success (in percents), so that "
 "speculative insn will be scheduled."
 msgstr ""
 
-#: params.opt:961
+#: params.opt:981
 #, no-c-format
 msgid ""
 "The minimum probability an edge must have for the scheduler to save its "
 "state across it."
 msgstr ""
 
-#: params.opt:965
+#: params.opt:985
 #, no-c-format
 msgid ""
 "Maximum number of instructions in the ready list that are considered "
 "eligible for renaming."
 msgstr ""
 
-#: params.opt:969
+#: params.opt:989
 #, no-c-format
 msgid "The maximum size of the lookahead window of selective scheduling."
 msgstr ""
 
-#: params.opt:973
+#: params.opt:993
 #, no-c-format
 msgid "Maximum number of times that an insn could be scheduled."
 msgstr ""
 
-#: params.opt:977
+#: params.opt:997
 #, no-c-format
 msgid "The number of prefetches that can run at the same time."
 msgstr ""
 
-#: params.opt:981
+#: params.opt:1001
 #, no-c-format
 msgid ""
 "Target block's relative execution frequency (as a percentage) required to "
 "sink a statement."
 msgstr ""
 
-#: params.opt:985
+#: params.opt:1005
 #, no-c-format
 msgid ""
 "The number of cycles the swing modulo scheduler considers when checking "
 "conflicts using DFA."
 msgstr ""
 
-#: params.opt:989
+#: params.opt:1009
 #, no-c-format
 msgid ""
 "A threshold on the average loop count considered by the swing modulo "
 "scheduler."
 msgstr ""
 
-#: params.opt:993
+#: params.opt:1013
 #, no-c-format
 msgid ""
 "A factor for tuning the upper bound that swing modulo scheduler uses for "
 "scheduling a loop."
 msgstr ""
 
-#: params.opt:997
+#: params.opt:1017
 #, no-c-format
 msgid ""
 "The minimum value of stage count that swing modulo scheduler will generate."
 msgstr ""
 
-#: params.opt:1001
+#: params.opt:1021
 #, 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:1005
+#: params.opt:1025
 #, 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:1009
+#: params.opt:1029
 #, 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:1013
+#: params.opt:1033
 #, no-c-format
 msgid ""
 "The maximum number of SSA_NAME assignments to follow in determining a value."
 msgstr ""
 
-#: params.opt:1017
+#: params.opt:1037
 #, no-c-format
 msgid ""
 "The lower bound for a buffer to be considered for stack smashing protection."
 msgstr ""
 
-#: params.opt:1021
+#: params.opt:1041
 #, no-c-format
 msgid "Size of the stack guard expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1025
+#: params.opt:1045
 #, no-c-format
 msgid ""
 "Interval in which to probe the stack expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1029
+#: params.opt:1049
 #, no-c-format
 msgid ""
 "Allow the store merging pass to introduce unaligned stores if it is legal to "
 "do so."
 msgstr ""
 
-#: params.opt:1033
+#: params.opt:1053
 #, no-c-format
 msgid "Maximum size of a single store merging region in bytes."
 msgstr ""
 
-#: params.opt:1037
+#: params.opt:1057
+#, no-c-format
+msgid ""
+"Maximum number of instruction distance that a small store forwarded to a "
+"larger load may stall. Value '0' disables the cost checks for the avoid-"
+"store-forwarding pass."
+msgstr ""
+
+#: params.opt:1061
 #, no-c-format
 msgid ""
 "The maximum ratio between array size and switch branches for a switch "
 "conversion to take place."
 msgstr ""
 
-#: params.opt:1041
+#: params.opt:1065
+#, no-c-format
+msgid "Maximum number of cases for slow switch lowering algorithms to be used."
+msgstr ""
+
+#: params.opt:1069
 #, no-c-format
 msgid "Maximum number of bases stored in each modref tree."
 msgstr ""
 
-#: params.opt:1045
+#: params.opt:1073
 #, no-c-format
 msgid "Maximum number of references stored in each modref base."
 msgstr ""
 
-#: params.opt:1049
+#: params.opt:1077
 #, no-c-format
 msgid "Maximum number of accesses stored in each modref reference."
 msgstr ""
 
-#: params.opt:1053
+#: params.opt:1081
 #, no-c-format
 msgid "Maximum number of tests performed by modref query."
 msgstr ""
 
-#: params.opt:1057
+#: params.opt:1085
 #, no-c-format
 msgid "Maximum depth of DFS walk used by modref escape analysis."
 msgstr ""
 
-#: params.opt:1061
+#: params.opt:1089
 #, no-c-format
 msgid "Maximum number of escape points tracked by modref per SSA-name."
 msgstr ""
 
-#: params.opt:1065
+#: params.opt:1093
 #, no-c-format
 msgid "Maximum number of times a given range is adjusted during the dataflow."
 msgstr ""
 
-#: params.opt:1069
+#: params.opt:1097
 #, no-c-format
 msgid ""
 "--param=threader-debug=[none|all] Enables verbose dumping of the threader "
 "solver."
 msgstr ""
 
-#: params.opt:1082
+#: params.opt:1110
 #, 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:1086
+#: params.opt:1114
 #, 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:1090
+#: params.opt:1118
 #, 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:1094
+#: params.opt:1122
 #, no-c-format
 msgid "Maximal code growth caused by tail duplication (in percent)."
 msgstr ""
 
-#: params.opt:1098
+#: params.opt:1126
 #, 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:1102
+#: params.opt:1130
 #, 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:1106
+#: params.opt:1134
 #, no-c-format
 msgid ""
 "Stop reverse growth if the reverse probability of best edge is less than "
 "this threshold (in percent)."
 msgstr ""
 
-#: params.opt:1110
+#: params.opt:1138
 #, 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:1114
+#: params.opt:1142
 #, no-c-format
 msgid "Emit special instrumentation for accesses to volatiles."
 msgstr ""
 
-#: params.opt:1118
+#: params.opt:1146
 #, no-c-format
 msgid ""
 "Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
 msgstr ""
 
-#: params.opt:1122
+#: params.opt:1150
 #, no-c-format
 msgid ""
 "Maximum number of nested calls to search for control dependencies during "
 "uninitialized variable analysis."
 msgstr ""
 
-#: params.opt:1126
+#: params.opt:1154
 #, no-c-format
 msgid ""
 "Maximum number of predicates anded for each predicate ored in the normalized "
 "predicate chain."
 msgstr ""
 
-#: params.opt:1131
+#: params.opt:1159
 #, no-c-format
 msgid "Maximum number of predicates ored in the normalized predicate chain."
 msgstr ""
 
-#: params.opt:1135
+#: params.opt:1163
 #, no-c-format
 msgid ""
 "Instruction accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1139
+#: params.opt:1167
 #, no-c-format
 msgid "Time accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1143
+#: params.opt:1171
 #, no-c-format
 msgid "Instruction accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1147
+#: params.opt:1175
 #, no-c-format
 msgid "Time accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1151
+#: params.opt:1179
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the number of profiled runs of the "
@@ -19314,64 +19033,64 @@ msgid ""
 "order for the basic block to be considered unlikely."
 msgstr ""
 
-#: params.opt:1155
+#: params.opt:1183
 #, no-c-format
 msgid "Maximum unroll factor for the unroll-and-jam transformation."
 msgstr ""
 
-#: params.opt:1159
+#: params.opt:1187
 #, no-c-format
 msgid ""
 "Minimum percentage of memrefs that must go away for unroll-and-jam to be "
 "considered profitable."
 msgstr ""
 
-#: params.opt:1163
+#: params.opt:1191
 #, no-c-format
 msgid ""
 "Use direct poisoning/unpoisoning instructions for variables smaller or equal "
 "to this number."
 msgstr ""
 
-#: params.opt:1167
+#: params.opt:1195
 #, no-c-format
 msgid "Whether to use canonical types."
 msgstr ""
 
-#: params.opt:1171
+#: params.opt:1199
 #, no-c-format
 msgid "Enable loop epilogue vectorization using smaller vector size."
 msgstr ""
 
-#: params.opt:1175
+#: params.opt:1203
 #, no-c-format
 msgid ""
 "Maximum number of possible vector layouts (such as permutations) to consider "
 "when optimizing to-be-vectorized code."
 msgstr ""
 
-#: params.opt:1179
+#: params.opt:1207
 #, no-c-format
 msgid ""
 "Maximum number of loop peels to enhance alignment of data references in a "
 "loop."
 msgstr ""
 
-#: params.opt:1183
+#: params.opt:1211
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alias check."
 msgstr ""
 
-#: params.opt:1187
+#: params.opt:1215
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alignment check."
 msgstr ""
 
-#: params.opt:1191
+#: params.opt:1219
 #, no-c-format
 msgid ""
 "Controls how loop vectorizer uses partial vectors.  0 means never, 1 means "
@@ -19379,43 +19098,130 @@ msgid ""
 "The default value is 2."
 msgstr ""
 
-#: params.opt:1195
+#: params.opt:1223
 #, 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:1199
+#: params.opt:1227
 #, no-c-format
 msgid "Enable loop vectorization of floating point inductions."
 msgstr ""
 
-#: params.opt:1203
+#: params.opt:1231
+#, no-c-format
+msgid "Force the use of SLP when vectorizing, fail if not possible."
+msgstr ""
+
+#: params.opt:1235
+#, no-c-format
+msgid ""
+"Maximum number of basic blocks before VRP switches to a fast model with less "
+"memory requirements."
+msgstr ""
+
+#: params.opt:1239
 #, no-c-format
 msgid "Maximum number of basic blocks before VRP uses a sparse bitmap cache."
 msgstr ""
 
-#: params.opt:1207
+#: params.opt:1243
 #, no-c-format
 msgid ""
 "Maximum number of outgoing edges in a switch before VRP will not process it."
 msgstr ""
 
-#: params.opt:1211
+#: params.opt:1247
 #, no-c-format
 msgid "Maximum number of basic blocks for VRP to use a basic cache vector."
 msgstr ""
 
-#: cfgrtl.cc:2837
+#: calls.cc:1451
+msgid "a callee-copied argument is stored in the current function's frame"
+msgstr ""
+
+#: calls.cc:1520
+msgid "argument must be passed by copying"
+msgstr ""
+
+#: calls.cc:2539
+msgid ""
+"machine description does not have a sibcall_epilogue instruction pattern"
+msgstr ""
+
+#: calls.cc:2550
+msgid "callee returns a structure"
+msgstr ""
+
+#: calls.cc:2559
+msgid "target is not able to optimize the call into a sibling call"
+msgstr ""
+
+#: calls.cc:2568
+msgid "callee returns twice"
+msgstr ""
+
+#: calls.cc:2573
+msgid "callee does not return"
+msgstr ""
+
+#: calls.cc:2579
+msgid "volatile function type"
+msgstr ""
+
+#: calls.cc:2598
+msgid "nested function"
+msgstr ""
+
+#: calls.cc:2610
+msgid "callee required more stack slots than the caller"
+msgstr ""
+
+#: calls.cc:2625
+msgid "inconsistent number of popped arguments"
+msgstr ""
+
+#: calls.cc:2632
+msgid "frontend does not support sibling call"
+msgstr ""
+
+#: calls.cc:2688
+msgid "other reasons"
+msgstr ""
+
+#: calls.cc:3062
+msgid "inside another call"
+msgstr ""
+
+#: calls.cc:3071
+msgid "variable size arguments"
+msgstr ""
+
+#: calls.cc:3096
+msgid "hidden string length argument passed on stack"
+msgstr ""
+
+#: calls.cc:3144
+msgid "caller and callee disagree in promotion of function return value"
+msgstr ""
+
+#. Ideally we'd emit a message for all of the ways that it could
+#. have failed.
+#: calls.cc:4056
+msgid "tail call production failed"
+msgstr ""
+
+#: cfgrtl.cc:2836
 msgid "flow control insn inside a basic block"
 msgstr ""
 
-#: cfgrtl.cc:3129
+#: cfgrtl.cc:3128
 msgid "insn outside basic block"
 msgstr ""
 
-#: cfgrtl.cc:3137
+#: cfgrtl.cc:3136
 msgid "return not followed by barrier"
 msgstr ""
 
@@ -19473,7 +19279,7 @@ msgstr ""
 msgid "const/copy propagation disabled"
 msgstr ""
 
-#: diagnostic-format-json.cc:343 diagnostic-format-sarif.cc:1780
+#: diagnostic-format-json.cc:487
 #, c-format
 msgid "error: unable to open '%s' for writing: %s\n"
 msgstr ""
@@ -19483,142 +19289,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:1699
+#: diagnostic-format-sarif.cc:1752
 #, c-format
 msgid "Internal compiler error:\n"
 msgstr ""
 
-#: diagnostic.cc:729
+#: diagnostic-format-text.cc:141
 #, c-format
-msgid "compilation terminated due to -fmax-errors=%u.\n"
-msgstr ""
-
-#: diagnostic.cc:756
-#, c-format
-msgid "compilation terminated due to -Wfatal-errors.\n"
-msgstr ""
-
-#: diagnostic.cc:788
-#, c-format
-msgid "Please submit a full bug report, with preprocessed source.\n"
-msgstr ""
-
-#: diagnostic.cc:791
-#, c-format
-msgid ""
-"Please submit a full bug report, with preprocessed source (by using -freport-"
-"bug).\n"
-msgstr ""
-
-#: diagnostic.cc:795
-#, c-format
-msgid "Please include the complete backtrace with any bug report.\n"
-msgstr ""
-
-#: diagnostic.cc:797
-#, c-format
-msgid "See %s for instructions.\n"
+msgid "%s: all warnings being treated as errors"
 msgstr ""
 
-#: diagnostic.cc:805
+#: diagnostic-format-text.cc:146
 #, c-format
-msgid "compilation terminated.\n"
+msgid "%s: some warnings being treated as errors"
 msgstr ""
 
-#: diagnostic.cc:881
+#: diagnostic-format-text.cc:682
 msgid "                 from"
 msgstr ""
 
-#: diagnostic.cc:882
+#: diagnostic-format-text.cc:683
 msgid "In file included from"
 msgstr ""
 
 #. 2
-#: diagnostic.cc:883
+#: diagnostic-format-text.cc:684
 msgid "        included from"
 msgstr ""
 
-#: diagnostic.cc:884
+#: diagnostic-format-text.cc:685
 msgid "In module"
 msgstr ""
 
 #. 4
-#: diagnostic.cc:885
+#: diagnostic-format-text.cc:686
 msgid "of module"
 msgstr ""
 
-#: diagnostic.cc:886
+#: diagnostic-format-text.cc:687
 msgid "In module imported at"
 msgstr ""
 
 #. 6
-#: diagnostic.cc:887
+#: diagnostic-format-text.cc:688
 msgid "imported at"
 msgstr ""
 
-#: diagnostic.cc:1592
+#: diagnostic.cc:884
 #, c-format
-msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgid "compilation terminated due to -fmax-errors=%u.\n"
 msgstr ""
 
-#: diagnostic.cc:2303
+#: diagnostic.cc:911
 #, c-format
-msgid "internal compiler error: error reporting routines re-entered.\n"
+msgid "compilation terminated due to -Wfatal-errors.\n"
 msgstr ""
 
-#: diagnostic.cc:2334 diagnostic.cc:2353
-#, gcc-internal-format, gfc-internal-format
-msgid "in %s, at %s:%d"
+#: diagnostic.cc:942
+#, c-format
+msgid "Please submit a full bug report, with preprocessed source.\n"
 msgstr ""
 
-#: diagnostic.cc:2404
+#: diagnostic.cc:945
 #, c-format
-msgid "%s: all warnings being treated as errors"
+msgid ""
+"Please submit a full bug report, with preprocessed source (by using -freport-"
+"bug).\n"
 msgstr ""
 
-#: diagnostic.cc:2409
+#: diagnostic.cc:949
 #, c-format
-msgid "%s: some warnings being treated as errors"
+msgid "Please include the complete backtrace with any bug report.\n"
 msgstr ""
 
-#: final.cc:1097
+#: diagnostic.cc:951
+#, c-format
+msgid "See %s for instructions.\n"
+msgstr ""
+
+#: diagnostic.cc:959
+#, c-format
+msgid "compilation terminated.\n"
+msgstr ""
+
+#: diagnostic.cc:1427
+#, c-format
+msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgstr ""
+
+#: diagnostic.cc:1672
+#, c-format
+msgid "internal compiler error: error reporting routines re-entered.\n"
+msgstr ""
+
+#: diagnostic.cc:1703 diagnostic.cc:1722
+#, gcc-internal-format, gfc-internal-format
+msgid "in %s, at %s:%d"
+msgstr ""
+
+#: final.cc:1101
 msgid "negative insn length"
 msgstr ""
 
-#: final.cc:2807
+#: final.cc:2813
 msgid "could not split insn"
 msgstr ""
 
-#: final.cc:3182
+#: final.cc:3189
 msgid "invalid 'asm': "
 msgstr ""
 
-#: final.cc:3315
+#: final.cc:3322
 #, c-format
 msgid "nested assembly dialect alternatives"
 msgstr ""
 
-#: final.cc:3343 final.cc:3355
+#: final.cc:3350 final.cc:3362
 #, c-format
 msgid "unterminated assembly dialect alternative"
 msgstr ""
 
-#: final.cc:3497
+#: final.cc:3507
 #, c-format
 msgid "operand number missing after %%-letter"
 msgstr ""
 
-#: final.cc:3500 final.cc:3541
+#: final.cc:3510 final.cc:3551
 #, c-format
 msgid "operand number out of range"
 msgstr ""
 
-#: final.cc:3558
+#: final.cc:3568
 #, c-format
 msgid "invalid %%-code"
 msgstr ""
 
-#: final.cc:3592
+#: final.cc:3602
 #, c-format
 msgid "'%%l' operand isn't a label"
 msgstr ""
@@ -19627,298 +19433,298 @@ msgstr ""
 #. PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. TARGET_PRINT_OPERAND must handle them.
-#: final.cc:3728 config/arc/arc.cc:6311 config/i386/i386.cc:12926
+#: final.cc:3738 config/arc/arc.cc:6311 config/i386/i386.cc:12793
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.cc:3786 config/arc/arc.cc:6408 config/i386/i386.cc:13017
+#: final.cc:3796 config/arc/arc.cc:6408 config/i386/i386.cc:12884
 #: config/pdp11/pdp11.cc:1872
 #, c-format
 msgid "invalid expression as operand"
 msgstr ""
 
-#: gcc.cc:126
+#: gcc.cc:129
 #, c-format
 msgid "%s\n"
 msgstr ""
 
-#: gcc.cc:1860
+#: gcc.cc:1864
 #, c-format
 msgid "Using built-in specs.\n"
 msgstr ""
 
-#: gcc.cc:2105
+#: gcc.cc:2109
 #, c-format
 msgid ""
 "Setting spec %s to '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:2314
+#: gcc.cc:2318
 #, c-format
 msgid "Reading specs from %s\n"
 msgstr ""
 
-#: gcc.cc:2444
+#: gcc.cc:2448
 #, c-format
 msgid "could not find specs file %s\n"
 msgstr ""
 
-#: gcc.cc:2515
+#: gcc.cc:2519
 #, c-format
 msgid "rename spec %s to %s\n"
 msgstr ""
 
-#: gcc.cc:2517
+#: gcc.cc:2521
 #, c-format
 msgid ""
 "spec is '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:3378
+#: gcc.cc:3382
 #, c-format
 msgid ""
 "\n"
 "Go ahead? (y or n) "
 msgstr ""
 
-#: gcc.cc:3550
+#: gcc.cc:3554
 #, c-format
 msgid "# %s %.2f %.2f\n"
 msgstr ""
 
-#: gcc.cc:3730
+#: gcc.cc:3734
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr ""
 
-#: gcc.cc:3731
+#: gcc.cc:3735
 msgid "Options:\n"
 msgstr ""
 
-#: gcc.cc:3733
+#: gcc.cc:3737
 msgid "  -pass-exit-codes         Exit with highest error code from a phase.\n"
 msgstr ""
 
-#: gcc.cc:3734
+#: gcc.cc:3738
 msgid "  --help                   Display this information.\n"
 msgstr ""
 
-#: gcc.cc:3735
+#: gcc.cc:3739
 msgid ""
 "  --target-help            Display target specific command line options "
 "(including assembler and linker options).\n"
 msgstr ""
 
-#: gcc.cc:3737
+#: gcc.cc:3741
 msgid ""
 "  --help={common|optimizers|params|target|warnings|[^]{joined|separate|"
 "undocumented}}[,...].\n"
 msgstr ""
 
-#: gcc.cc:3738
+#: gcc.cc:3742
 msgid ""
 "                           Display specific types of command line options.\n"
 msgstr ""
 
-#: gcc.cc:3740
+#: gcc.cc:3744
 msgid "  (Use '-v --help' to display command line options of sub-processes).\n"
 msgstr ""
 
-#: gcc.cc:3741
+#: gcc.cc:3745
 msgid "  --version                Display compiler version information.\n"
 msgstr ""
 
-#: gcc.cc:3742
+#: gcc.cc:3746
 msgid "  -dumpspecs               Display all of the built in spec strings.\n"
 msgstr ""
 
-#: gcc.cc:3743
+#: gcc.cc:3747
 msgid "  -dumpversion             Display the version of the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3744
+#: gcc.cc:3748
 msgid "  -dumpmachine             Display the compiler's target processor.\n"
 msgstr ""
 
-#: gcc.cc:3745
+#: gcc.cc:3749
 msgid "  -foffload=<targets>      Specify offloading targets.\n"
 msgstr ""
 
-#: gcc.cc:3746
+#: gcc.cc:3750
 msgid ""
 "  -print-search-dirs       Display the directories in the compiler's search "
 "path.\n"
 msgstr ""
 
-#: gcc.cc:3747
+#: gcc.cc:3751
 msgid ""
 "  -print-libgcc-file-name  Display the name of the compiler's companion "
 "library.\n"
 msgstr ""
 
-#: gcc.cc:3748
+#: gcc.cc:3752
 msgid "  -print-file-name=<lib>   Display the full path to library <lib>.\n"
 msgstr ""
 
-#: gcc.cc:3749
+#: gcc.cc:3753
 msgid ""
 "  -print-prog-name=<prog>  Display the full path to compiler component "
 "<prog>.\n"
 msgstr ""
 
-#: gcc.cc:3750
+#: gcc.cc:3754
 msgid ""
 "  -print-multiarch         Display the target's normalized GNU triplet, used "
 "as\n"
 "                           a component in the library path.\n"
 msgstr ""
 
-#: gcc.cc:3753
+#: gcc.cc:3757
 msgid ""
 "  -print-multi-directory   Display the root directory for versions of "
 "libgcc.\n"
 msgstr ""
 
-#: gcc.cc:3754
+#: gcc.cc:3758
 msgid ""
 "  -print-multi-lib         Display the mapping between command line options "
 "and\n"
 "                           multiple library search directories.\n"
 msgstr ""
 
-#: gcc.cc:3757
+#: gcc.cc:3761
 msgid ""
 "  -print-multi-os-directory Display the relative path to OS libraries.\n"
 msgstr ""
 
-#: gcc.cc:3758
+#: gcc.cc:3762
 msgid "  -print-sysroot           Display the target libraries directory.\n"
 msgstr ""
 
-#: gcc.cc:3759
+#: gcc.cc:3763
 msgid ""
 "  -print-sysroot-headers-suffix Display the sysroot suffix used to find "
 "headers.\n"
 msgstr ""
 
-#: gcc.cc:3760
+#: gcc.cc:3764
 msgid ""
 "  -Wa,<options>            Pass comma-separated <options> on to the "
 "assembler.\n"
 msgstr ""
 
-#: gcc.cc:3761
+#: gcc.cc:3765
 msgid ""
 "  -Wp,<options>            Pass comma-separated <options> on to the "
 "preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3762
+#: gcc.cc:3766
 msgid ""
 "  -Wl,<options>            Pass comma-separated <options> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3763
+#: gcc.cc:3767
 msgid "  -Xassembler <arg>        Pass <arg> on to the assembler.\n"
 msgstr ""
 
-#: gcc.cc:3764
+#: gcc.cc:3768
 msgid "  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3765
+#: gcc.cc:3769
 msgid "  -Xlinker <arg>           Pass <arg> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3766
+#: gcc.cc:3770
 msgid "  -save-temps              Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3767
+#: gcc.cc:3771
 msgid "  -save-temps=<arg>        Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3768
+#: gcc.cc:3772
 msgid ""
 "  -no-canonical-prefixes   Do not canonicalize paths when building relative\n"
 "                           prefixes to other gcc components.\n"
 msgstr ""
 
-#: gcc.cc:3771
+#: gcc.cc:3775
 msgid "  -pipe                    Use pipes rather than intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3772
+#: gcc.cc:3776
 msgid "  -time                    Time the execution of each subprocess.\n"
 msgstr ""
 
-#: gcc.cc:3773
+#: gcc.cc:3777
 msgid ""
 "  -specs=<file>            Override built-in specs with the contents of "
 "<file>.\n"
 msgstr ""
 
-#: gcc.cc:3774
+#: gcc.cc:3778
 msgid ""
 "  -std=<standard>          Assume that the input sources are for "
 "<standard>.\n"
 msgstr ""
 
-#: gcc.cc:3775
+#: gcc.cc:3779
 msgid ""
 "  --sysroot=<directory>    Use <directory> as the root directory for "
 "headers\n"
 "                           and libraries.\n"
 msgstr ""
 
-#: gcc.cc:3778
+#: gcc.cc:3782
 msgid ""
 "  -B <directory>           Add <directory> to the compiler's search paths.\n"
 msgstr ""
 
-#: gcc.cc:3779
+#: gcc.cc:3783
 msgid ""
 "  -v                       Display the programs invoked by the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3780
+#: gcc.cc:3784
 msgid ""
 "  -###                     Like -v but options quoted and commands not "
 "executed.\n"
 msgstr ""
 
-#: gcc.cc:3781
+#: gcc.cc:3785
 msgid ""
 "  -E                       Preprocess only; do not compile, assemble or "
 "link.\n"
 msgstr ""
 
-#: gcc.cc:3782
+#: gcc.cc:3786
 msgid "  -S                       Compile only; do not assemble or link.\n"
 msgstr ""
 
-#: gcc.cc:3783
+#: gcc.cc:3787
 msgid "  -c                       Compile and assemble, but do not link.\n"
 msgstr ""
 
-#: gcc.cc:3784
+#: gcc.cc:3788
 msgid "  -o <file>                Place the output into <file>.\n"
 msgstr ""
 
-#: gcc.cc:3785
+#: gcc.cc:3789
 msgid ""
 "  -pie                     Create a dynamically linked position independent\n"
 "                           executable.\n"
 msgstr ""
 
-#: gcc.cc:3787
+#: gcc.cc:3791
 msgid "  -shared                  Create a shared library.\n"
 msgstr ""
 
-#: gcc.cc:3788
+#: gcc.cc:3792
 msgid ""
 "  -x <language>            Specify the language of the following input "
 "files.\n"
@@ -19929,7 +19735,7 @@ msgid ""
 "extension.\n"
 msgstr ""
 
-#: gcc.cc:3795
+#: gcc.cc:3799
 #, c-format
 msgid ""
 "\n"
@@ -19938,96 +19744,98 @@ msgid ""
 " other options on to these processes the -W<letter> options must be used.\n"
 msgstr ""
 
-#: gcc.cc:6919
+#: gcc.cc:6944
 #, c-format
 msgid "Processing spec (%s), which is '%s'\n"
 msgstr ""
 
-#: gcc.cc:7680
+#: gcc.cc:7705
 #, c-format
 msgid "Target: %s\n"
 msgstr ""
 
-#: gcc.cc:7681
+#: gcc.cc:7706
 #, c-format
 msgid "Configured with: %s\n"
 msgstr ""
 
-#: gcc.cc:7695
+#: gcc.cc:7720
 #, c-format
 msgid "Thread model: %s\n"
 msgstr ""
 
-#: gcc.cc:7696
+#: gcc.cc:7721
 #, c-format
 msgid "Supported LTO compression algorithms: zlib"
 msgstr ""
 
-#: gcc.cc:7698
+#: gcc.cc:7723
 #, c-format
 msgid " zstd"
 msgstr ""
 
-#: gcc.cc:7700 gcov.cc:1610 gcov.cc:1668 gcov.cc:1680 gcov.cc:3098
+#: gcc.cc:7725 gcov.cc:1693 gcov.cc:1751 gcov.cc:1763 gcov.cc:3214
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: gcc.cc:7711
+#: gcc.cc:7736
 #, c-format
 msgid "gcc version %s %s\n"
 msgstr ""
 
-#: gcc.cc:7714
+#: gcc.cc:7739
 #, c-format
 msgid "gcc driver version %s %sexecuting gcc version %s\n"
 msgstr ""
 
-#: gcc.cc:7787 gcc.cc:7997
+#: gcc.cc:7812 gcc.cc:8022
 #, c-format
 msgid ""
 "The bug is not reproducible, so it is likely a hardware or OS problem.\n"
 msgstr ""
 
-#: gcc.cc:7921
+#: gcc.cc:7946
 #, c-format
 msgid ""
 "Preprocessed source stored into %s file, please attach this to your "
 "bugreport.\n"
 msgstr ""
 
-#: gcc.cc:8773
+#: gcc.cc:8786
 #, c-format
 msgid "install: %s%s\n"
 msgstr ""
 
-#: gcc.cc:8776
+#: gcc.cc:8789
 #, c-format
 msgid "programs: %s\n"
 msgstr ""
 
-#: gcc.cc:8778
+#: gcc.cc:8791
 #, c-format
 msgid "libraries: %s\n"
 msgstr ""
 
-#: gcc.cc:8895
+#: gcc.cc:8908
 #, c-format
 msgid ""
 "\n"
 "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: gcc.cc:8911 gcov-tool.cc:594
+#: gcc.cc:8924 gcov-tool.cc:594 sarif-replay.cc:56
 #, c-format
 msgid "%s %s%s\n"
 msgstr ""
 
-#: gcc.cc:8914 gcov-tool.cc:596 gcov.cc:1015 fortran/gfortranspec.cc:282
+#: gcc.cc:8927 gcov-tool.cc:596 gcov.cc:1075 sarif-replay.cc:59
+#: fortran/gfortranspec.cc:282
 msgid "(C)"
 msgstr ""
 
-#: gcc.cc:8915 gcov-tool.cc:598 gcov.cc:1017 fortran/gfortranspec.cc:283
+#: gcc.cc:8928 gcov-tool.cc:598 gcov.cc:1077 sarif-replay.cc:60
+#: fortran/gfortranspec.cc:283
 #, c-format
 msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
@@ -20035,7 +19843,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9258
+#: gcc.cc:9271
 #, c-format
 msgid ""
 "\n"
@@ -20044,14 +19852,14 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9259
+#: gcc.cc:9272
 #, c-format
 msgid ""
 "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:10665
+#: gcc.cc:10678
 #, c-format
 msgid ""
 "Assembler options\n"
@@ -20059,7 +19867,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:10666
+#: gcc.cc:10679
 #, c-format
 msgid ""
 "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
@@ -20209,7 +20017,7 @@ msgid ""
 "  -v, --version                         Print version number, then exit\n"
 msgstr ""
 
-#: gcov-tool.cc:584 gcov.cc:1002
+#: gcov-tool.cc:584 gcov.cc:1062
 #, c-format
 msgid ""
 "\n"
@@ -20219,425 +20027,445 @@ msgstr ""
 
 #: gcov-tool.cc:595
 #, c-format
-msgid "Copyright %s 2024 Free Software Foundation, Inc.\n"
+msgid "Copyright %s 2025 Free Software Foundation, Inc.\n"
 msgstr ""
 
-#: gcov.cc:969
+#: gcov.cc:1025
 #, c-format
 msgid ""
 "Usage: gcov [OPTION...] SOURCE|OBJ...\n"
 "\n"
 msgstr ""
 
-#: gcov.cc:970
+#: gcov.cc:1026
 #, c-format
 msgid ""
 "Print code coverage information.\n"
 "\n"
 msgstr ""
 
-#: gcov.cc:971
+#: gcov.cc:1027
 #, c-format
 msgid ""
 "  -a, --all-blocks                Show information for every basic block\n"
 msgstr ""
 
-#: gcov.cc:972
+#: gcov.cc:1028
 #, c-format
 msgid ""
 "  -b, --branch-probabilities      Include branch probabilities in output\n"
 msgstr ""
 
-#: gcov.cc:973
+#: gcov.cc:1029
 #, c-format
 msgid ""
 "  -c, --branch-counts             Output counts of branches taken\n"
 "                                    rather than percentages\n"
 msgstr ""
 
-#: gcov.cc:975
+#: gcov.cc:1031
 #, c-format
 msgid ""
 "  -g, --conditions                Include modified condition/decision\n"
-"                                    coverage in output\n"
+"                                    coverage (masking MC/DC) in output\n"
 msgstr ""
 
-#: gcov.cc:977
+#: gcov.cc:1033
 #, c-format
 msgid "  -d, --display-progress          Display progress information\n"
 msgstr ""
 
-#: gcov.cc:978
+#: gcov.cc:1034
 #, c-format
 msgid "  -D, --debug\t\t\t    Display debugging dumps\n"
 msgstr ""
 
-#: gcov.cc:979
+#: gcov.cc:1035
 #, c-format
 msgid "  -f, --function-summaries        Output summaries for each function\n"
 msgstr ""
 
-#: gcov.cc:980
+#: gcov.cc:1036
+#, c-format
+msgid ""
+"      --include                   Include functions matching this regex\n"
+msgstr ""
+
+#: gcov.cc:1037
+#, c-format
+msgid ""
+"      --exclude                   Exclude functions matching this regex\n"
+msgstr ""
+
+#: gcov.cc:1038
 #, c-format
 msgid "  -h, --help                      Print this help, then exit\n"
 msgstr ""
 
-#: gcov.cc:981
+#: gcov.cc:1039
 #, c-format
 msgid ""
 "  -j, --json-format               Output JSON intermediate format\n"
 "                                    into .gcov.json.gz file\n"
 msgstr ""
 
-#: gcov.cc:983
+#: gcov.cc:1041
 #, c-format
 msgid "  -H, --human-readable            Output human readable numbers\n"
 msgstr ""
 
-#: gcov.cc:984
+#: gcov.cc:1042
 #, c-format
 msgid "  -k, --use-colors                Emit colored output\n"
 msgstr ""
 
-#: gcov.cc:985
+#: gcov.cc:1043
 #, c-format
 msgid ""
 "  -l, --long-file-names           Use long output file names for included\n"
 "                                    source files\n"
 msgstr ""
 
-#: gcov.cc:987
+#: gcov.cc:1045
 #, c-format
 msgid "  -m, --demangled-names           Output demangled function names\n"
 msgstr ""
 
-#: gcov.cc:988
+#: gcov.cc:1046
+#, c-format
+msgid ""
+"  -M, --filter-on-demangled       Make --include/--exclude match on "
+"demangled\n"
+"                                    names. This does not imply -m\n"
+msgstr ""
+
+#: gcov.cc:1048
 #, c-format
 msgid "  -n, --no-output                 Do not create an output file\n"
 msgstr ""
 
-#: gcov.cc:989
+#: gcov.cc:1049
 #, c-format
 msgid ""
 "  -o, --object-directory DIR|FILE Search for object files in DIR or called "
 "FILE\n"
 msgstr ""
 
-#: gcov.cc:990
+#: gcov.cc:1050
 #, c-format
 msgid "  -p, --preserve-paths            Preserve all pathname components\n"
 msgstr ""
 
-#: gcov.cc:991
+#: gcov.cc:1051
 #, c-format
 msgid ""
 "  -q, --use-hotness-colors        Emit perf-like colored output for hot "
 "lines\n"
 msgstr ""
 
-#: gcov.cc:992
+#: gcov.cc:1052
 #, c-format
 msgid "  -r, --relative-only             Only show data for relative sources\n"
 msgstr ""
 
-#: gcov.cc:993
+#: gcov.cc:1053
 #, c-format
 msgid "  -s, --source-prefix DIR         Source prefix to elide\n"
 msgstr ""
 
-#: gcov.cc:994
+#: gcov.cc:1054
 #, c-format
 msgid "  -t, --stdout                    Output to stdout instead of a file\n"
 msgstr ""
 
-#: gcov.cc:995
+#: gcov.cc:1055
 #, c-format
 msgid ""
 "  -u, --unconditional-branches    Show unconditional branch counts too\n"
 msgstr ""
 
-#: gcov.cc:996
+#: gcov.cc:1056
 #, c-format
 msgid "  -v, --version                   Print version number, then exit\n"
 msgstr ""
 
-#: gcov.cc:997
+#: gcov.cc:1057
 #, c-format
 msgid "  -w, --verbose                   Print verbose informations\n"
 msgstr ""
 
-#: gcov.cc:998
+#: gcov.cc:1058
 #, c-format
 msgid "  -x, --hash-filenames            Hash long pathnames\n"
 msgstr ""
 
-#: gcov.cc:999
+#: gcov.cc:1059
 #, c-format
 msgid ""
 "\n"
 "Obsolete options:\n"
 msgstr ""
 
-#: gcov.cc:1000
+#: gcov.cc:1060
 #, c-format
 msgid "  -i, --json-format               Replaced with -j, --json-format\n"
 msgstr ""
 
-#: gcov.cc:1001
+#: gcov.cc:1061
 #, c-format
 msgid "  -j, --human-readable            Replaced with -H, --human-readable\n"
 msgstr ""
 
-#: gcov.cc:1012
+#: gcov.cc:1072
 #, c-format
 msgid "gcov %s%s\n"
 msgstr ""
 
-#: gcov.cc:1013
+#: gcov.cc:1073
 #, c-format
 msgid "JSON format version: %s\n"
 msgstr ""
 
-#: gcov.cc:1454
+#: gcov.cc:1531
 #, c-format
 msgid "'%s' file is already processed\n"
 msgstr ""
 
-#: gcov.cc:1570 gcov.cc:1699
+#: gcov.cc:1653 gcov.cc:1782
 #, c-format
 msgid "Creating '%s'\n"
 msgstr ""
 
-#: gcov.cc:1574
+#: gcov.cc:1657
 #, c-format
 msgid "Error writing output file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1582
+#: gcov.cc:1665
 #, c-format
 msgid "Could not open output file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1589
+#: gcov.cc:1672
 #, c-format
 msgid "Removing '%s'\n"
 msgstr ""
 
-#: gcov.cc:1704
+#: gcov.cc:1787
 #, c-format
 msgid "Cannot open JSON output file %s\n"
 msgstr ""
 
-#: gcov.cc:1713
+#: gcov.cc:1796
 #, c-format
 msgid "Error writing JSON output file %s\n"
 msgstr ""
 
-#: gcov.cc:1878
+#: gcov.cc:1974
 #, c-format
 msgid "%s:source file is newer than notes file '%s'\n"
 msgstr ""
 
-#: gcov.cc:1883
+#: gcov.cc:1979
 #, c-format
 msgid "(the message is displayed only once per source file)\n"
 msgstr ""
 
-#: gcov.cc:1903
+#: gcov.cc:1999
 #, c-format
 msgid "%s:cannot open notes file\n"
 msgstr ""
 
-#: gcov.cc:1910
+#: gcov.cc:2006
 #, c-format
 msgid "%s:not a gcov notes file\n"
 msgstr ""
 
-#: gcov.cc:1924
+#: gcov.cc:2020
 #, c-format
 msgid "%s:version '%.4s', prefer '%.4s'\n"
 msgstr ""
 
-#: gcov.cc:1977
+#: gcov.cc:2091
 #, c-format
 msgid "%s:already seen blocks for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2064
+#: gcov.cc:2180
 #, c-format
 msgid "%s:already seen conditions for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2115 gcov.cc:2244
+#: gcov.cc:2231 gcov.cc:2360
 #, c-format
 msgid "%s:corrupted\n"
 msgstr ""
 
-#: gcov.cc:2123
+#: gcov.cc:2239
 #, c-format
 msgid "%s:no functions found\n"
 msgstr ""
 
-#: gcov.cc:2141
+#: gcov.cc:2257
 #, c-format
 msgid "%s:cannot open data file, assuming not executed\n"
 msgstr ""
 
-#: gcov.cc:2148
+#: gcov.cc:2264
 #, c-format
 msgid "%s:not a gcov data file\n"
 msgstr ""
 
-#: gcov.cc:2162
+#: gcov.cc:2278
 #, c-format
 msgid "%s:version '%.4s', prefer version '%.4s'\n"
 msgstr ""
 
-#: gcov.cc:2169
+#: gcov.cc:2285
 #, c-format
 msgid "%s:stamp mismatch with notes file\n"
 msgstr ""
 
-#: gcov.cc:2206
+#: gcov.cc:2322
 #, c-format
 msgid "%s:profile mismatch for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2243
+#: gcov.cc:2359
 #, c-format
 msgid "%s:overflowed\n"
 msgstr ""
 
-#: gcov.cc:2291
+#: gcov.cc:2407
 #, c-format
 msgid "%s:'%s' lacks entry and/or exit blocks\n"
 msgstr ""
 
-#: gcov.cc:2296
+#: gcov.cc:2412
 #, c-format
 msgid "%s:'%s' has arcs to entry block\n"
 msgstr ""
 
-#: gcov.cc:2304
+#: gcov.cc:2420
 #, c-format
 msgid "%s:'%s' has arcs from exit block\n"
 msgstr ""
 
-#: gcov.cc:2513
+#: gcov.cc:2629
 #, c-format
 msgid "%s:graph is unsolvable for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2638
+#: gcov.cc:2754
 #, c-format
 msgid "Lines executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2641
+#: gcov.cc:2757
 #, c-format
 msgid "No executable lines\n"
 msgstr ""
 
-#: gcov.cc:2649 gcov.cc:2658
+#: gcov.cc:2765 gcov.cc:2774
 #, c-format
 msgid "%s '%s'\n"
 msgstr ""
 
-#: gcov.cc:2665
+#: gcov.cc:2781
 #, c-format
 msgid "Branches executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2669
+#: gcov.cc:2785
 #, c-format
 msgid "Taken at least once:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2675
+#: gcov.cc:2791
 #, c-format
 msgid "No branches\n"
 msgstr ""
 
-#: gcov.cc:2677
+#: gcov.cc:2793
 #, c-format
 msgid "Calls executed:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2681
+#: gcov.cc:2797
 #, c-format
 msgid "No calls\n"
 msgstr ""
 
-#: gcov.cc:2688
+#: gcov.cc:2804
 #, c-format
 msgid "Condition outcomes covered:%s of %d\n"
 msgstr ""
 
-#: gcov.cc:2693
+#: gcov.cc:2809
 #, c-format
 msgid "No conditions\n"
 msgstr ""
 
-#: gcov.cc:2913
+#: gcov.cc:3029
 #, c-format
 msgid "%s:no lines for '%s'\n"
 msgstr ""
 
-#: gcov.cc:3049
+#: gcov.cc:3165
 #, c-format
 msgid "condition outcomes covered %d/%d\n"
 msgstr ""
 
-#: gcov.cc:3062
+#: gcov.cc:3178
 #, c-format
 msgid "condition %2u not covered (%s%s)\n"
 msgstr ""
 
-#: gcov.cc:3076
+#: gcov.cc:3192
 #, c-format
 msgid "call   %2d returned %s\n"
 msgstr ""
 
-#: gcov.cc:3081
+#: gcov.cc:3197
 #, c-format
 msgid "call   %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:3086
+#: gcov.cc:3202
 #, c-format
 msgid "branch %2d taken %s%s"
 msgstr ""
 
-#: gcov.cc:3091
+#: gcov.cc:3207
 #, c-format
 msgid "branch %2d never executed%s"
 msgstr ""
 
-#: gcov.cc:3096
+#: gcov.cc:3212
 #, c-format
 msgid " (BB %d)"
 msgstr ""
 
-#: gcov.cc:3103
+#: gcov.cc:3219
 #, c-format
 msgid "unconditional %2d taken %s\n"
 msgstr ""
 
-#: gcov.cc:3106
+#: gcov.cc:3222
 #, c-format
 msgid "unconditional %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:3369
+#: gcov.cc:3285
 #, c-format
 msgid "Cannot open source file %s\n"
 msgstr ""
 
-#: gcse.cc:2592
+#: gcse.cc:2791
 msgid "PRE disabled"
 msgstr ""
 
-#: gcse.cc:3520
+#: gcse.cc:3719
 msgid "GCSE disabled"
 msgstr ""
 
@@ -20656,21 +20484,31 @@ msgstr ""
 msgid "ignoring nonexistent directory \"%s\"\n"
 msgstr ""
 
-#: incpath.cc:391
+#: incpath.cc:396
 #, c-format
 msgid "#include \"...\" search starts here:\n"
 msgstr ""
 
-#: incpath.cc:395
+#: incpath.cc:400
 #, c-format
 msgid "#include <...> search starts here:\n"
 msgstr ""
 
-#: incpath.cc:400
+#: incpath.cc:405
 #, c-format
 msgid "End of search list.\n"
 msgstr ""
 
+#: incpath.cc:408
+#, c-format
+msgid "#embed <...> search starts here:\n"
+msgstr ""
+
+#: incpath.cc:411
+#, c-format
+msgid "End of #embed search list.\n"
+msgstr ""
+
 #: input.cc:35
 msgid "<built-in>"
 msgstr ""
@@ -20685,183 +20523,203 @@ msgstr ""
 msgid "'"
 msgstr ""
 
-#: langhooks.cc:384
+#: langhooks.cc:388
 msgid "At top level:"
 msgstr ""
 
-#: langhooks.cc:400
+#: langhooks.cc:404
 #, c-format
 msgid "In member function %qs"
 msgstr ""
 
-#: langhooks.cc:404
+#: langhooks.cc:408 libgdiagnostics.cc:1035
 #, c-format
 msgid "In function %qs"
 msgstr ""
 
-#: langhooks.cc:449
+#: langhooks.cc:453
 msgid "    inlined from %qs at %r%s:%d:%d%R"
 msgstr ""
 
-#: langhooks.cc:454
+#: langhooks.cc:458
 msgid "    inlined from %qs at %r%s:%d%R"
 msgstr ""
 
-#: langhooks.cc:460
+#: langhooks.cc:464
 #, c-format
 msgid "    inlined from %qs"
 msgstr ""
 
-#: lra-assigns.cc:1868 reload1.cc:2073
+#: libsarifreplay.cc:569
+msgid "JSON object"
+msgstr ""
+
+#: libsarifreplay.cc:572
+msgid "JSON array"
+msgstr ""
+
+#: libsarifreplay.cc:576
+msgid "JSON number"
+msgstr ""
+
+#: libsarifreplay.cc:579
+msgid "JSON string"
+msgstr ""
+
+#: libsarifreplay.cc:584
+msgid "JSON literal"
+msgstr ""
+
+#: lra-assigns.cc:1860 reload1.cc:2079
 msgid "this is the insn:"
 msgstr ""
 
-#: lra-constraints.cc:3266
+#: lra-constraints.cc:3345
 msgid "unable to generate reloads for impossible constraints:"
 msgstr ""
 
-#: lra-constraints.cc:4234 reload.cc:3839
+#: lra-constraints.cc:4352 reload.cc:3852
 msgid "unable to generate reloads for:"
 msgstr ""
 
 #. What to print when a switch has no documentation.
-#: opts.cc:329
+#: opts.cc:339
 msgid "This option lacks documentation."
 msgstr ""
 
-#: opts.cc:330
+#: opts.cc:340
 msgid "Uses of this option are diagnosed."
 msgstr ""
 
-#: opts.cc:1688
+#: opts.cc:1700
 #, c-format
 msgid "Same as %s%s (or, in negated form, %s%s)."
 msgstr ""
 
-#: opts.cc:1693
+#: opts.cc:1705
 #, c-format
 msgid "Same as %s%s."
 msgstr ""
 
-#: opts.cc:1698
+#: opts.cc:1710
 #, c-format
 msgid "Same as %s."
 msgstr ""
 
-#: opts.cc:1706
+#: opts.cc:1718
 #, c-format
 msgid "%s  Same as %s."
 msgstr ""
 
-#: opts.cc:1769
+#: opts.cc:1781
 msgid "[available in "
 msgstr ""
 
-#: opts.cc:1801
+#: opts.cc:1813
 msgid "[default]"
 msgstr ""
 
-#: opts.cc:1810
+#: opts.cc:1822
 #, c-format
 msgid "%llu bytes"
 msgstr ""
 
-#: opts.cc:1847
+#: opts.cc:1859
 msgid "[enabled]"
 msgstr ""
 
-#: opts.cc:1849
+#: opts.cc:1861
 msgid "[disabled]"
 msgstr ""
 
-#: opts.cc:1885
+#: opts.cc:1897
 #, c-format
 msgid " No options with the desired characteristics were found\n"
 msgstr ""
 
-#: opts.cc:1894
+#: opts.cc:1906
 #, c-format
 msgid ""
 " None found.  Use --help=%s to show *all* the options supported by the %s "
 "front-end.\n"
 msgstr ""
 
-#: opts.cc:1900
+#: opts.cc:1912
 #, c-format
 msgid ""
 " All options with the desired characteristics have already been displayed\n"
 msgstr ""
 
-#: opts.cc:1945
+#: opts.cc:1957
 #, c-format
 msgid ""
 "  Known valid arguments for %s option:\n"
 "   "
 msgstr ""
 
-#: opts.cc:1995
+#: opts.cc:2007
 msgid "The following options are target specific"
 msgstr ""
 
-#: opts.cc:1998
+#: opts.cc:2010
 msgid "The following options control compiler warning messages"
 msgstr ""
 
-#: opts.cc:2001
+#: opts.cc:2013
 msgid "The following options control optimizations"
 msgstr ""
 
-#: opts.cc:2004 opts.cc:2044
+#: opts.cc:2016 opts.cc:2056
 msgid "The following options are language-independent"
 msgstr ""
 
-#: opts.cc:2007
+#: opts.cc:2019
 msgid "The following options control parameters"
 msgstr ""
 
-#: opts.cc:2013
+#: opts.cc:2025
 msgid "The following options are specific to just the language "
 msgstr ""
 
-#: opts.cc:2015
+#: opts.cc:2027
 msgid "The following options are supported by the language "
 msgstr ""
 
-#: opts.cc:2026
+#: opts.cc:2038
 msgid "The following options are not documented"
 msgstr ""
 
-#: opts.cc:2028
+#: opts.cc:2040
 msgid "The following options take separate arguments"
 msgstr ""
 
-#: opts.cc:2030
+#: opts.cc:2042
 msgid "The following options take joined arguments"
 msgstr ""
 
-#: opts.cc:2042
+#: opts.cc:2054
 msgid "The following options are language-related"
 msgstr ""
 
-#: passes.cc:1833
+#: passes.cc:1845
 #, c-format
 msgid "during %s pass: %s\n"
 msgstr ""
 
-#: passes.cc:1838
+#: passes.cc:1850
 #, c-format
 msgid "dump file: %s\n"
 msgstr ""
 
-#: plugin.cc:965
+#: plugin.cc:966
 msgid "Event"
 msgstr ""
 
-#: plugin.cc:965
+#: plugin.cc:966
 msgid "Plugins"
 msgstr ""
 
-#: plugin.cc:997
+#: plugin.cc:998
 #, c-format
 msgid ""
 "*** WARNING *** there are active plugins, do not report this as a bug unless "
@@ -20873,16 +20731,16 @@ msgid "using simple load CSE after register allocation"
 msgstr ""
 
 #. It's the compiler's fault.
-#: reload1.cc:5994
+#: reload1.cc:6000
 msgid "could not find a spill register"
 msgstr ""
 
 #. It's the compiler's fault.
-#: reload1.cc:7876
+#: reload1.cc:7882
 msgid "VOIDmode on an output"
 msgstr ""
 
-#: reload1.cc:8632
+#: reload1.cc:8638
 msgid "failure trying to reload:"
 msgstr ""
 
@@ -20894,492 +20752,576 @@ msgstr ""
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.cc:2374
+#: targhooks.cc:2443
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.cc:2389
+#: targhooks.cc:2458
 msgid "created and used with different settings of %<-fpic%>"
 msgstr ""
 
-#: targhooks.cc:2391
+#: targhooks.cc:2460
 msgid "created and used with different settings of %<-fpie%>"
 msgstr ""
 
-#: toplev.cc:315
+#: toplev.cc:318
 #, c-format
 msgid "unrecoverable error"
 msgstr ""
 
-#: toplev.cc:608
+#: toplev.cc:611
 #, c-format
 msgid ""
 "%s%s%s %sversion %s (%s)\n"
 "%s\tcompiled by GNU C version %s, "
 msgstr ""
 
-#: toplev.cc:610
+#: toplev.cc:613
 #, c-format
 msgid "%s%s%s %sversion %s (%s) compiled by CC, "
 msgstr ""
 
-#: toplev.cc:614
+#: toplev.cc:617
 #, c-format
 msgid "GMP version %s, MPFR version %s, MPC version %s, isl version %s\n"
 msgstr ""
 
-#: toplev.cc:616
+#: toplev.cc:619
 #, c-format
 msgid "%s%swarning: %s header version %s differs from library version %s.\n"
 msgstr ""
 
-#: toplev.cc:618
+#: toplev.cc:621
 #, c-format
 msgid ""
 "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 msgstr ""
 
-#: tree-diagnostic-path.cc:342 tree-diagnostic.cc:294 c/c-decl.cc:6534
-#: c/c-typeck.cc:8236 cp/error.cc:1189 c-family/c-pretty-print.cc:446
+#: tree-diagnostic.cc:100 tree-logical-location.cc:92 c/c-decl.cc:6603
+#: c/c-typeck.cc:8992 cp/error.cc:1300 c-family/c-pretty-print.cc:447
 #, gcc-internal-format
 msgid "<anonymous>"
 msgstr ""
 
-#: c-family/c-format.cc:432
+#: tree-tailcall.cc:153
+msgid "caller uses stdargs"
+msgstr ""
+
+#: tree-tailcall.cc:174
+msgid "caller uses alloca"
+msgstr ""
+
+#: tree-tailcall.cc:184
+msgid "caller uses sjlj exceptions"
+msgstr ""
+
+#: tree-tailcall.cc:193 tree-tailcall.cc:596
+msgid "caller uses setjmp"
+msgstr ""
+
+#: tree-tailcall.cc:201
+msgid "caller uses __builtin_eh_return"
+msgstr ""
+
+#: tree-tailcall.cc:212
+msgid "address of caller arguments taken"
+msgstr ""
+
+#: tree-tailcall.cc:526
+msgid "memory reference or volatile after call"
+msgstr ""
+
+#: tree-tailcall.cc:590
+msgid "return value in memory"
+msgstr ""
+
+#: tree-tailcall.cc:607
+msgid "call may throw exception that does not propagate"
+msgstr ""
+
+#: tree-tailcall.cc:610
+msgid "code between call and return"
+msgstr ""
+
+#: tree-tailcall.cc:642
+msgid "return value used after call"
+msgstr ""
+
+#: tree-tailcall.cc:726 tree-tailcall.cc:736
+msgid "call invocation refers to locals"
+msgstr ""
+
+#: tree-tailcall.cc:783
+msgid "unhandled code after call"
+msgstr ""
+
+#: tree-tailcall.cc:792
+msgid "return value changed after call"
+msgstr ""
+
+#: tree-tailcall.cc:867
+msgid "call and return value are different"
+msgstr ""
+
+#: tree-tailcall.cc:877
+msgid "operations after non tail recursive call"
+msgstr ""
+
+#: tree-tailcall.cc:885
+msgid "tail recursion with pointers can only use additions"
+msgstr ""
+
+#: c-family/c-format.cc:434
 msgid "format"
 msgstr ""
 
-#: c-family/c-format.cc:433
+#: c-family/c-format.cc:435
 msgid "field width specifier"
 msgstr ""
 
-#: c-family/c-format.cc:434
+#: c-family/c-format.cc:436
 msgid "field precision specifier"
 msgstr ""
 
-#: c-family/c-format.cc:571 c-family/c-format.cc:595
-#: config/i386/msformat-c.cc:45
+#: c-family/c-format.cc:573 c-family/c-format.cc:597
+#: config/mingw/msformat-c.cc:45
 msgid "' ' flag"
 msgstr ""
 
-#: c-family/c-format.cc:571 c-family/c-format.cc:595
-#: config/i386/msformat-c.cc:45
+#: c-family/c-format.cc:573 c-family/c-format.cc:597
+#: config/mingw/msformat-c.cc:45
 msgid "the ' ' printf flag"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:574 c-family/c-format.cc:598 c-family/c-format.cc:629
+#: c-family/c-format.cc:695 config/mingw/msformat-c.cc:46
 msgid "'+' flag"
 msgstr ""
 
-#: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:627
-#: config/i386/msformat-c.cc:46
+#: c-family/c-format.cc:574 c-family/c-format.cc:598 c-family/c-format.cc:629
+#: config/mingw/msformat-c.cc:46
 msgid "the '+' printf flag"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:575 c-family/c-format.cc:599 c-family/c-format.cc:630
+#: c-family/c-format.cc:670 config/mingw/msformat-c.cc:47
+#: config/mingw/msformat-c.cc:82
 msgid "'#' flag"
 msgstr ""
 
-#: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:628
-#: config/i386/msformat-c.cc:47
+#: c-family/c-format.cc:575 c-family/c-format.cc:599 c-family/c-format.cc:630
+#: config/mingw/msformat-c.cc:47
 msgid "the '#' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:574 c-family/c-format.cc:598 c-family/c-format.cc:666
-#: config/i386/msformat-c.cc:48
+#: c-family/c-format.cc:576 c-family/c-format.cc:600 c-family/c-format.cc:668
+#: config/mingw/msformat-c.cc:48
 msgid "'0' flag"
 msgstr ""
 
-#: c-family/c-format.cc:574 c-family/c-format.cc:598
-#: config/i386/msformat-c.cc:48
+#: c-family/c-format.cc:576 c-family/c-format.cc:600
+#: config/mingw/msformat-c.cc:48
 msgid "the '0' printf flag"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:577 c-family/c-format.cc:601 c-family/c-format.cc:667
+#: c-family/c-format.cc:698 config/mingw/msformat-c.cc:49
 msgid "'-' flag"
 msgstr ""
 
-#: c-family/c-format.cc:575 c-family/c-format.cc:599
-#: config/i386/msformat-c.cc:49
+#: c-family/c-format.cc:577 c-family/c-format.cc:601
+#: config/mingw/msformat-c.cc:49
 msgid "the '-' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:576 c-family/c-format.cc:648
-#: config/i386/msformat-c.cc:50 config/i386/msformat-c.cc:70
+#: c-family/c-format.cc:578 c-family/c-format.cc:650
+#: config/mingw/msformat-c.cc:50 config/mingw/msformat-c.cc:70
 msgid "''' flag"
 msgstr ""
 
-#: c-family/c-format.cc:576 config/i386/msformat-c.cc:50
+#: c-family/c-format.cc:578 config/mingw/msformat-c.cc:50
 msgid "the ''' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:577 c-family/c-format.cc:649
+#: c-family/c-format.cc:579 c-family/c-format.cc:651
 msgid "'I' flag"
 msgstr ""
 
-#: c-family/c-format.cc:577
+#: c-family/c-format.cc:579
 msgid "the 'I' printf flag"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:580 c-family/c-format.cc:602 c-family/c-format.cc:648
+#: c-family/c-format.cc:671 c-family/c-format.cc:699 config/sol2-c.cc:43
+#: config/mingw/msformat-c.cc:51 config/mingw/msformat-c.cc:68
 msgid "field width"
 msgstr ""
 
-#: c-family/c-format.cc:578 c-family/c-format.cc:600 config/sol2-c.cc:43
-#: config/i386/msformat-c.cc:51
+#: c-family/c-format.cc:580 c-family/c-format.cc:602 config/sol2-c.cc:43
+#: config/mingw/msformat-c.cc:51
 msgid "field width in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:579 c-family/c-format.cc:601 c-family/c-format.cc:630
-#: config/i386/msformat-c.cc:52
+#: c-family/c-format.cc:581 c-family/c-format.cc:603 c-family/c-format.cc:632
+#: config/mingw/msformat-c.cc:52
 msgid "precision"
 msgstr ""
 
-#: c-family/c-format.cc:579 c-family/c-format.cc:601 c-family/c-format.cc:630
-#: config/i386/msformat-c.cc:52
+#: c-family/c-format.cc:581 c-family/c-format.cc:603 c-family/c-format.cc:632
+#: config/mingw/msformat-c.cc:52
 msgid "precision in printf format"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:582 c-family/c-format.cc:604 c-family/c-format.cc:633
+#: c-family/c-format.cc:649 c-family/c-format.cc:702 config/sol2-c.cc:44
+#: config/mingw/msformat-c.cc:53 config/mingw/msformat-c.cc:69
 msgid "length modifier"
 msgstr ""
 
-#: 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
+#: c-family/c-format.cc:582 c-family/c-format.cc:604 c-family/c-format.cc:633
+#: config/sol2-c.cc:44 config/mingw/msformat-c.cc:53
 msgid "length modifier in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:629
+#: c-family/c-format.cc:631
 msgid "'q' flag"
 msgstr ""
 
-#: c-family/c-format.cc:629
+#: c-family/c-format.cc:631
 msgid "the 'q' diagnostic flag"
 msgstr ""
 
-#: c-family/c-format.cc:643 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:645 config/mingw/msformat-c.cc:66
 msgid "assignment suppression"
 msgstr ""
 
-#: c-family/c-format.cc:643 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:645 config/mingw/msformat-c.cc:66
 msgid "the assignment suppression scanf feature"
 msgstr ""
 
-#: c-family/c-format.cc:644 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:646 config/mingw/msformat-c.cc:67
 msgid "'a' flag"
 msgstr ""
 
-#: c-family/c-format.cc:644 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:646 config/mingw/msformat-c.cc:67
 msgid "the 'a' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:645
+#: c-family/c-format.cc:647
 msgid "'m' flag"
 msgstr ""
 
-#: c-family/c-format.cc:645
+#: c-family/c-format.cc:647
 msgid "the 'm' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:646 config/i386/msformat-c.cc:68
+#: c-family/c-format.cc:648 config/mingw/msformat-c.cc:68
 msgid "field width in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:647 config/i386/msformat-c.cc:69
+#: c-family/c-format.cc:649 config/mingw/msformat-c.cc:69
 msgid "length modifier in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:648 config/i386/msformat-c.cc:70
+#: c-family/c-format.cc:650 config/mingw/msformat-c.cc:70
 msgid "the ''' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:649
+#: c-family/c-format.cc:651
 msgid "the 'I' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:664
+#: c-family/c-format.cc:666
 msgid "'_' flag"
 msgstr ""
 
-#: c-family/c-format.cc:664
+#: c-family/c-format.cc:666
 msgid "the '_' strftime 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
+#: c-family/c-format.cc:668
 msgid "the '0' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:667 c-family/c-format.cc:692
+#: c-family/c-format.cc:669 c-family/c-format.cc:694
 msgid "'^' flag"
 msgstr ""
 
-#: c-family/c-format.cc:667
+#: c-family/c-format.cc:669
 msgid "the '^' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:668 config/i386/msformat-c.cc:82
+#: c-family/c-format.cc:670 config/mingw/msformat-c.cc:82
 msgid "the '#' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:669
+#: c-family/c-format.cc:671
 msgid "field width in strftime format"
 msgstr ""
 
-#: c-family/c-format.cc:670
+#: c-family/c-format.cc:672
 msgid "'E' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:670
+#: c-family/c-format.cc:672
 msgid "the 'E' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:671
+#: c-family/c-format.cc:673
 msgid "'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:671
+#: c-family/c-format.cc:673
 msgid "the 'O' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:672 c-family/c-format.cc:673
+#: c-family/c-format.cc:674 c-family/c-format.cc:675
 msgid "the 'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:691
+#: c-family/c-format.cc:693
 msgid "fill character"
 msgstr ""
 
-#: c-family/c-format.cc:691
+#: c-family/c-format.cc:693
 msgid "fill character in strfmon format"
 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 "the '+' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:694
+#: c-family/c-format.cc:696
 msgid "'(' 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 "'!' flag"
 msgstr ""
 
-#: c-family/c-format.cc:695
+#: c-family/c-format.cc:697
 msgid "the '!' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:696
+#: c-family/c-format.cc:698
 msgid "the '-' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:697
+#: c-family/c-format.cc:699
 msgid "field width in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:698
+#: c-family/c-format.cc:700
 msgid "left precision"
 msgstr ""
 
-#: c-family/c-format.cc:698
+#: c-family/c-format.cc:700
 msgid "left precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:699
+#: c-family/c-format.cc:701
 msgid "right precision"
 msgstr ""
 
-#: c-family/c-format.cc:699
+#: c-family/c-format.cc:701
 msgid "right precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:700
+#: c-family/c-format.cc:702
 msgid "length modifier in strfmon format"
 msgstr ""
 
 #. Handle deferred options from command-line.
-#: c-family/c-opts.cc:1588 fortran/cpp.cc:621
+#: c-family/c-opts.cc:1656 fortran/cpp.cc:630
 msgid "<command-line>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11982 config/loongarch/loongarch.cc:6148
+#: config/aarch64/aarch64.cc:12301 config/loongarch/loongarch.cc:6240
 #, c-format
 msgid "unsupported operand for code '%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11991 config/aarch64/aarch64.cc:12004
-#: config/aarch64/aarch64.cc:12016 config/aarch64/aarch64.cc:12027
-#: config/aarch64/aarch64.cc:12043 config/aarch64/aarch64.cc:12057
-#: config/aarch64/aarch64.cc:12077 config/aarch64/aarch64.cc:12159
-#: config/aarch64/aarch64.cc:12170 config/aarch64/aarch64.cc:12184
-#: config/aarch64/aarch64.cc:12410 config/aarch64/aarch64.cc:12423
-#: config/aarch64/aarch64.cc:12440 config/pru/pru.cc:1794
-#: config/pru/pru.cc:1805 config/pru/pru.cc:1877
+#: config/aarch64/aarch64.cc:12310 config/aarch64/aarch64.cc:12323
+#: config/aarch64/aarch64.cc:12335 config/aarch64/aarch64.cc:12346
+#: config/aarch64/aarch64.cc:12362 config/aarch64/aarch64.cc:12376
+#: config/aarch64/aarch64.cc:12396 config/aarch64/aarch64.cc:12478
+#: config/aarch64/aarch64.cc:12489 config/aarch64/aarch64.cc:12503
+#: config/aarch64/aarch64.cc:12729 config/aarch64/aarch64.cc:12742
+#: config/aarch64/aarch64.cc:12759 config/pru/pru.cc:1824
+#: config/pru/pru.cc:1835 config/pru/pru.cc:1917 config/riscv/riscv.cc:7027
+#: config/riscv/riscv.cc:7043 config/riscv/riscv.cc:7059
+#: config/riscv/riscv.cc:7075 config/riscv/riscv.cc:7108
+#: config/riscv/riscv.cc:7117 config/riscv/riscv.cc:7126
+#: config/riscv/riscv.cc:7136
 #, c-format
 msgid "invalid operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12095 config/aarch64/aarch64.cc:12106
-#: config/aarch64/aarch64.cc:12270 config/aarch64/aarch64.cc:12281
-#: config/riscv/riscv.cc:6158 config/riscv/riscv.cc:6166
-#: config/riscv/riscv.cc:6173 config/riscv/riscv.cc:6177
-#: config/riscv/riscv.cc:6219 config/riscv/riscv.cc:6237
+#: config/aarch64/aarch64.cc:12414 config/aarch64/aarch64.cc:12425
+#: config/aarch64/aarch64.cc:12589 config/aarch64/aarch64.cc:12600
+#: config/riscv/riscv.cc:6923 config/riscv/riscv.cc:6931
+#: config/riscv/riscv.cc:6938 config/riscv/riscv.cc:6942
+#: config/riscv/riscv.cc:6984 config/riscv/riscv.cc:7002
 #, c-format
 msgid "invalid vector constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12120
+#: config/aarch64/aarch64.cc:12439
 #, c-format
 msgid "incompatible floating point / vector register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12132
+#: config/aarch64/aarch64.cc:12451
 #, c-format
 msgid "incompatible operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12152
+#: config/aarch64/aarch64.cc:12471
 #, c-format
 msgid "incompatible register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12217 config/arm/arm.cc:24867
+#: config/aarch64/aarch64.cc:12536 config/arm/arm.cc:24915
 #, c-format
 msgid "missing operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12307
+#: config/aarch64/aarch64.cc:12626
 #, c-format
 msgid "invalid constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12310
+#: config/aarch64/aarch64.cc:12629
 #, c-format
 msgid "invalid operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12448 config/aarch64/aarch64.cc:12453
+#: config/aarch64/aarch64.cc:12767 config/aarch64/aarch64.cc:12772
 #, c-format
 msgid "invalid operand prefix '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12473
+#: config/aarch64/aarch64.cc:12792
 #, c-format
 msgid "invalid address mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28901
+#: config/aarch64/aarch64.cc:22633
+msgid "invalid conversion from type %<mfloat8_t%>"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:22635
+msgid "invalid conversion to type %<mfloat8_t%>"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:29612 config/aarch64/aarch64.cc:29635
+msgid "operation not permitted on type %<mfloat8_t%>"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:29630
 msgid "cannot combine GNU and SVE vectors in a binary operation"
 msgstr ""
 
-#: config/alpha/alpha.cc:5082 config/i386/i386.cc:14193
-#: config/rs6000/rs6000.cc:14616 config/sparc/sparc.cc:9384
+#: config/alpha/alpha.cc:5164 config/i386/i386.cc:14069
+#: config/rs6000/rs6000.cc:14674 config/sparc/sparc.cc:9400
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/alpha/alpha.cc:5140 config/bfin/bfin.cc:1428
+#: config/alpha/alpha.cc:5222 config/bfin/bfin.cc:1428
 #, c-format
 msgid "invalid %%J value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5170 config/ia64/ia64.cc:5588 config/or1k/or1k.cc:1252
+#: config/alpha/alpha.cc:5252 config/ia64/ia64.cc:5592 config/or1k/or1k.cc:1252
 #, c-format
 msgid "invalid %%r value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5180 config/ia64/ia64.cc:5542
-#: config/rs6000/rs6000.cc:14311 config/xtensa/xtensa.cc:3066
+#: config/alpha/alpha.cc:5262 config/ia64/ia64.cc:5546
+#: config/rs6000/rs6000.cc:14369 config/xtensa/xtensa.cc:3144
 #, c-format
 msgid "invalid %%R value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5186 config/rs6000/rs6000.cc:14231
-#: config/xtensa/xtensa.cc:3039
+#: config/alpha/alpha.cc:5268 config/rs6000/rs6000.cc:14289
+#: config/xtensa/xtensa.cc:3117
 #, c-format
 msgid "invalid %%N value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5194 config/rs6000/rs6000.cc:14259
+#: config/alpha/alpha.cc:5276 config/rs6000/rs6000.cc:14317
 #, c-format
 msgid "invalid %%P value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5202
+#: config/alpha/alpha.cc:5284
 #, c-format
 msgid "invalid %%h value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5210 config/xtensa/xtensa.cc:3059
+#: config/alpha/alpha.cc:5292 config/xtensa/xtensa.cc:3137
 #, c-format
 msgid "invalid %%L value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5229
+#: config/alpha/alpha.cc:5311
 #, c-format
 msgid "invalid %%m value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5235
+#: config/alpha/alpha.cc:5317
 #, c-format
 msgid "invalid %%M value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5272
+#: config/alpha/alpha.cc:5354
 #, c-format
 msgid "invalid %%U value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5280 config/rs6000/rs6000.cc:14319
+#: config/alpha/alpha.cc:5362 config/rs6000/rs6000.cc:14377
 #, c-format
 msgid "invalid %%s value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5291
+#: config/alpha/alpha.cc:5373
 #, c-format
 msgid "invalid %%C value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5328 config/rs6000/rs6000.cc:14095
+#: config/alpha/alpha.cc:5410 config/rs6000/rs6000.cc:14153
 #, c-format
 msgid "invalid %%E value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5353 config/alpha/alpha.cc:5403
+#: config/alpha/alpha.cc:5435 config/alpha/alpha.cc:5485
 #, c-format
 msgid "unknown relocation unspec"
 msgstr ""
 
-#: config/alpha/alpha.cc:5362 config/gcn/gcn.cc:7419 config/gcn/gcn.cc:7428
-#: config/gcn/gcn.cc:7488 config/gcn/gcn.cc:7496 config/gcn/gcn.cc:7512
-#: config/gcn/gcn.cc:7530 config/gcn/gcn.cc:7581 config/gcn/gcn.cc:7700
-#: config/gcn/gcn.cc:7817 config/rs6000/rs6000.cc:14621
+#: config/alpha/alpha.cc:5444 config/gcn/gcn.cc:7327 config/gcn/gcn.cc:7336
+#: config/gcn/gcn.cc:7394 config/gcn/gcn.cc:7402 config/gcn/gcn.cc:7418
+#: config/gcn/gcn.cc:7436 config/gcn/gcn.cc:7487 config/gcn/gcn.cc:7606
+#: config/gcn/gcn.cc:7719 config/rs6000/rs6000.cc:14679
 #, c-format
 msgid "invalid %%xn code"
 msgstr ""
 
-#: config/alpha/alpha.cc:5468
+#: config/alpha/alpha.cc:5550
 #, c-format
 msgid "invalid operand address"
 msgstr ""
@@ -21404,7 +21346,7 @@ msgstr ""
 msgid "invalid operand to %%M code"
 msgstr ""
 
-#: config/arc/arc.cc:4933 config/m32r/m32r.cc:2088
+#: config/arc/arc.cc:4933 config/m32r/m32r.cc:2091
 #, c-format
 msgid "invalid operand to %%p code"
 msgstr ""
@@ -21424,22 +21366,22 @@ msgstr ""
 msgid "invalid operand for %%N or %%S code"
 msgstr ""
 
-#: config/arc/arc.cc:4994 config/m32r/m32r.cc:2081
+#: config/arc/arc.cc:4994 config/m32r/m32r.cc:2084
 #, c-format
 msgid "invalid operand to %%s code"
 msgstr ""
 
-#: config/arc/arc.cc:5114 config/m32r/m32r.cc:2114
+#: config/arc/arc.cc:5114 config/m32r/m32r.cc:2117
 #, c-format
 msgid "invalid operand to %%R code"
 msgstr ""
 
-#: config/arc/arc.cc:5190 config/m32r/m32r.cc:2137
+#: config/arc/arc.cc:5190 config/m32r/m32r.cc:2140
 #, c-format
 msgid "invalid operand to %%H/%%L code"
 msgstr ""
 
-#: config/arc/arc.cc:5258 config/m32r/m32r.cc:2208
+#: config/arc/arc.cc:5258 config/m32r/m32r.cc:2211
 #, c-format
 msgid "invalid operand to %%U code"
 msgstr ""
@@ -21457,8 +21399,8 @@ msgstr ""
 #. Unknown flag.
 #. Undocumented flag.
 #: config/arc/arc.cc:5343 config/epiphany/epiphany.cc:1309
-#: config/m32r/m32r.cc:2235 config/nds32/nds32.cc:3519
-#: config/sparc/sparc.cc:9663
+#: config/m32r/m32r.cc:2238 config/nds32/nds32.cc:3519
+#: config/sparc/sparc.cc:9679
 #, c-format
 msgid "invalid operand output code"
 msgstr ""
@@ -21472,35 +21414,34 @@ msgstr ""
 msgid "unrecognized supposed constant"
 msgstr ""
 
-#: config/arm/arm.cc:21110 config/arm/arm.cc:21135 config/arm/arm.cc:21145
-#: config/arm/arm.cc:21154 config/arm/arm.cc:21163
+#: config/arm/arm.cc:21144 config/arm/arm.cc:21169 config/arm/arm.cc:21179
+#: config/arm/arm.cc:21188 config/arm/arm.cc:21197
 #, c-format
 msgid "invalid shift operand"
 msgstr ""
 
-#: config/arm/arm.cc:24117 config/arm/arm.cc:24135
+#: config/arm/arm.cc:24169 config/arm/arm.cc:24187
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr ""
 
-#: config/arm/arm.cc:24123
+#: config/arm/arm.cc:24175
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.cc:24244 config/arm/arm.cc:24257 config/arm/arm.cc:24282
-#: config/nios2/nios2.cc:3085
+#: config/arm/arm.cc:24286 config/arm/arm.cc:24299 config/arm/arm.cc:24324
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:24359 config/arm/arm.cc:24381 config/arm/arm.cc:24391
-#: config/arm/arm.cc:24401 config/arm/arm.cc:24411 config/arm/arm.cc:24450
-#: config/arm/arm.cc:24468 config/arm/arm.cc:24486 config/arm/arm.cc:24513
-#: config/arm/arm.cc:24528 config/arm/arm.cc:24555 config/arm/arm.cc:24562
-#: config/arm/arm.cc:24580 config/arm/arm.cc:24587 config/arm/arm.cc:24595
-#: config/arm/arm.cc:24616 config/arm/arm.cc:24623 config/arm/arm.cc:24814
-#: config/arm/arm.cc:24821 config/arm/arm.cc:24848 config/arm/arm.cc:24855
+#: config/arm/arm.cc:24401 config/arm/arm.cc:24423 config/arm/arm.cc:24433
+#: config/arm/arm.cc:24443 config/arm/arm.cc:24453 config/arm/arm.cc:24492
+#: config/arm/arm.cc:24510 config/arm/arm.cc:24528 config/arm/arm.cc:24561
+#: config/arm/arm.cc:24576 config/arm/arm.cc:24603 config/arm/arm.cc:24610
+#: config/arm/arm.cc:24628 config/arm/arm.cc:24635 config/arm/arm.cc:24643
+#: config/arm/arm.cc:24664 config/arm/arm.cc:24671 config/arm/arm.cc:24862
+#: config/arm/arm.cc:24869 config/arm/arm.cc:24896 config/arm/arm.cc:24903
 #: 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:3545
@@ -21508,113 +21449,135 @@ msgstr ""
 msgid "invalid operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:24463
+#: config/arm/arm.cc:24505
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
+#. Former FPA support, effectively unused after GCC-4.7, but not
+#. removed until gcc-15.
+#: config/arm/arm.cc:24543
+#, c-format
+msgid "obsolete FPA format code '%c'"
+msgstr ""
+
 #. Former Maverick support, removed after GCC-4.7.
-#: config/arm/arm.cc:24504
+#: config/arm/arm.cc:24552
 #, c-format
 msgid "obsolete Maverick format code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:34475
+#: config/arm/arm.cc:34590
 msgid "invalid conversion from type %<bfloat16_t%>"
 msgstr ""
 
-#: config/arm/arm.cc:34477
+#: config/arm/arm.cc:34592
 msgid "invalid conversion to type %<bfloat16_t%>"
 msgstr ""
 
-#: config/arm/arm.cc:34492 config/arm/arm.cc:34508
+#: config/arm/arm.cc:34607 config/arm/arm.cc:34623
 msgid "operation not permitted on type %<bfloat16_t%>"
 msgstr ""
 
-#: config/avr/avr.cc:3610
+#. Also runs recog().
+#: config/avr/avr-passes.cc:62
+msgid "emit unrecognizable insn"
+msgstr ""
+
+#: config/avr/avr-passes.cc:1190
+msgid "incomplete application of insn"
+msgstr ""
+
+#: config/avr/avr.cc:2524
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.cc:3793
+#: config/avr/avr.cc:2707
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.cc:3843 config/avr/avr.cc:3910
-msgid "bad address, not an I/O address:"
+#: config/avr/avr.cc:2754
+#, c-format
+msgid "bad I/O address 0x"
+msgstr ""
+
+#: config/avr/avr.cc:2779
+#, c-format
+msgid "%s operand cannot be used as %%i I/O address operand"
 msgstr ""
 
-#: config/avr/avr.cc:3852
+#: config/avr/avr.cc:2802
 msgid "bad address, not a constant:"
 msgstr ""
 
-#: config/avr/avr.cc:3870 config/avr/avr.cc:3877
+#: config/avr/avr.cc:2821 config/avr/avr.cc:2828
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.cc:3884
+#: config/avr/avr.cc:2835
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.cc:3896
+#: config/avr/avr.cc:2847
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.cc:3929
+#: config/avr/avr.cc:2876
 #, c-format
 msgid "Unsupported code '%c' for fixed-point:"
 msgstr ""
 
-#: config/avr/avr.cc:3948
+#: config/avr/avr.cc:2895
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.cc:4815 config/avr/avr.cc:5758 config/avr/avr.cc:6205
+#: config/avr/avr.cc:4249 config/avr/avr.cc:5235 config/avr/avr.cc:5682
 msgid "invalid insn:"
 msgstr ""
 
-#: config/avr/avr.cc:4869 config/avr/avr.cc:4980 config/avr/avr.cc:5038
-#: config/avr/avr.cc:5090 config/avr/avr.cc:5109 config/avr/avr.cc:5301
-#: config/avr/avr.cc:5609 config/avr/avr.cc:5894 config/avr/avr.cc:6098
-#: config/avr/avr.cc:6262 config/avr/avr.cc:6355 config/avr/avr.cc:6553
+#: config/avr/avr.cc:4332 config/avr/avr.cc:4457 config/avr/avr.cc:4515
+#: config/avr/avr.cc:4567 config/avr/avr.cc:4586 config/avr/avr.cc:4778
+#: config/avr/avr.cc:5086 config/avr/avr.cc:5371 config/avr/avr.cc:5575
+#: config/avr/avr.cc:5739 config/avr/avr.cc:5832 config/avr/avr.cc:6030
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.cc:5125 config/avr/avr.cc:5400 config/avr/avr.cc:5680
-#: config/avr/avr.cc:5966 config/avr/avr.cc:6144 config/avr/avr.cc:6411
-#: config/avr/avr.cc:6611
+#: config/avr/avr.cc:4602 config/avr/avr.cc:4877 config/avr/avr.cc:5157
+#: config/avr/avr.cc:5443 config/avr/avr.cc:5621 config/avr/avr.cc:5888
+#: config/avr/avr.cc:6088
 msgid "unknown move insn:"
 msgstr ""
 
-#: config/avr/avr.cc:7378
+#: config/avr/avr.cc:6972
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.cc:7486 config/avr/avr.cc:7969 config/avr/avr.cc:8386
+#: config/avr/avr.cc:7063 config/avr/avr.cc:7600 config/avr/avr.cc:8074
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
-#: config/avr/avr.cc:10210
+#: config/avr/avr.cc:10347
 msgid "unsupported fixed-point conversion"
 msgstr ""
 
-#: config/avr/avr.cc:11585
+#: config/avr/avr.cc:11619
 msgid "variable"
 msgstr ""
 
-#: config/avr/avr.cc:11590
+#: config/avr/avr.cc:11624
 msgid "function parameter"
 msgstr ""
 
-#: config/avr/avr.cc:11595
+#: config/avr/avr.cc:11629
 msgid "structure field"
 msgstr ""
 
-#: config/avr/avr.cc:11601
+#: config/avr/avr.cc:11635
 msgid "return type of function"
 msgstr ""
 
-#: config/avr/avr.cc:11606
+#: config/avr/avr.cc:11640
 msgid "pointer"
 msgstr ""
 
@@ -21635,24 +21598,24 @@ msgstr ""
 msgid "invalid const_double operand"
 msgstr ""
 
-#: config/bpf/bpf.cc:929
+#: config/bpf/bpf.cc:940
 msgid "invalid address in operand"
 msgstr ""
 
 #. Fallthrough.
-#: config/bpf/bpf.cc:936
+#: config/bpf/bpf.cc:947
 msgid "unsupported operand"
 msgstr ""
 
 #. Format punctuators via %s to avoid -Wformat-diag.
-#: 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:6270 gcc.cc:6284
-#: rtl-error.cc:101 toplev.cc:319 cp/logic.cc:312 cp/logic.cc:314
-#: cp/typeck.cc:7752 d/d-convert.cc:237 go/go-gcc-diagnostics.cc:28
+#: config/cris/cris.cc:783 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
+#: final.cc:3194 final.cc:3196 fold-const.cc:347 gcc.cc:6295 gcc.cc:6309
+#: rtl-error.cc:101 toplev.cc:322 cp/logic.cc:311 cp/logic.cc:313
+#: cp/typeck.cc:7836 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
+#: lto/lto-object.cc:334 lto/lto-object.cc:358 m2/gm2-gcc/m2linemap.cc:183
+#: m2/gm2-gcc/m2linemap.cc:254 m2/gm2-gcc/m2linemap.cc:363
 #: 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
@@ -21662,79 +21625,79 @@ msgstr ""
 msgid "%s"
 msgstr ""
 
-#: config/cris/cris.cc:830
+#: config/cris/cris.cc:834
 msgid "unexpected index-type in cris_print_index"
 msgstr ""
 
-#: config/cris/cris.cc:844
+#: config/cris/cris.cc:848
 msgid "unexpected base-type in cris_print_base"
 msgstr ""
 
-#: config/cris/cris.cc:899
+#: config/cris/cris.cc:903
 msgid "invalid operand for 'b' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:916
+#: config/cris/cris.cc:920
 msgid "invalid operand for 'o' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:935
+#: config/cris/cris.cc:939
 msgid "invalid operand for 'O' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:968
+#: config/cris/cris.cc:972
 msgid "invalid operand for 'p' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1007
+#: config/cris/cris.cc:1011
 msgid "invalid operand for 'z' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1054 config/cris/cris.cc:1088
+#: config/cris/cris.cc:1058 config/cris/cris.cc:1092
 msgid "invalid operand for 'H' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1064
+#: config/cris/cris.cc:1068
 msgid "bad register"
 msgstr ""
 
-#: config/cris/cris.cc:1108
+#: config/cris/cris.cc:1112
 msgid "invalid operand for 'e' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1125
+#: config/cris/cris.cc:1129
 msgid "invalid operand for 'm' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1150
+#: config/cris/cris.cc:1154
 msgid "invalid operand for 'A' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1205
+#: config/cris/cris.cc:1209
 msgid "invalid operand for 'D' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1222 config/cris/cris.cc:1227
+#: config/cris/cris.cc:1226 config/cris/cris.cc:1231
 msgid "invalid operand for 'T' modifier"
 msgstr ""
 
-#: config/cris/cris.cc:1238 config/ft32/ft32.cc:236 config/moxie/moxie.cc:178
+#: config/cris/cris.cc:1242 config/ft32/ft32.cc:236 config/moxie/moxie.cc:178
 msgid "invalid operand modifier letter"
 msgstr ""
 
-#: config/cris/cris.cc:1290
+#: config/cris/cris.cc:1294
 msgid "unexpected multiplicative operand"
 msgstr ""
 
-#: config/cris/cris.cc:1310 config/ft32/ft32.cc:259 config/moxie/moxie.cc:203
+#: config/cris/cris.cc:1314 config/ft32/ft32.cc:259 config/moxie/moxie.cc:203
 msgid "unexpected operand"
 msgstr ""
 
-#: config/cris/cris.cc:1349 config/cris/cris.cc:1359
+#: config/cris/cris.cc:1353 config/cris/cris.cc:1363
 msgid "unrecognized address"
 msgstr ""
 
-#: config/cris/cris.cc:2591 config/cris/cris.cc:2644
+#: config/cris/cris.cc:2627 config/cris/cris.cc:2680
 msgid "unexpected side-effects in address"
 msgstr ""
 
@@ -21862,25 +21825,25 @@ msgstr ""
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/gcn/gcn.cc:7101 config/gcn/gcn.cc:7121 config/gcn/gcn.cc:7125
-#: config/gcn/gcn.cc:7461 config/gcn/gcn.cc:7472 config/gcn/gcn.cc:7475
+#: config/gcn/gcn.cc:7010 config/gcn/gcn.cc:7030 config/gcn/gcn.cc:7034
+#: config/gcn/gcn.cc:7367 config/gcn/gcn.cc:7378 config/gcn/gcn.cc:7381
 #, c-format
 msgid "bad ADDR_SPACE_GLOBAL address"
 msgstr ""
 
-#: config/gcn/gcn.cc:7241 config/gcn/gcn.cc:7264 config/gcn/gcn.cc:7296
-#: config/gcn/gcn.cc:7312 config/gcn/gcn.cc:7327 config/gcn/gcn.cc:7346
-#: config/gcn/gcn.cc:7410 config/gcn/gcn.cc:7606 config/gcn/gcn.cc:7721
+#: config/gcn/gcn.cc:7149 config/gcn/gcn.cc:7172 config/gcn/gcn.cc:7204
+#: config/gcn/gcn.cc:7220 config/gcn/gcn.cc:7235 config/gcn/gcn.cc:7254
+#: config/gcn/gcn.cc:7318 config/gcn/gcn.cc:7512 config/gcn/gcn.cc:7627
 #, c-format
 msgid "invalid operand %%xn code"
 msgstr ""
 
-#: config/gcn/gcn.cc:7709
+#: config/gcn/gcn.cc:7615
 #, c-format
 msgid "operand %%xn code invalid for QImode"
 msgstr ""
 
-#: config/gcn/gcn.cc:7797
+#: config/gcn/gcn.cc:7703
 #, c-format
 msgid "invalid fp constant"
 msgstr ""
@@ -21892,144 +21855,144 @@ msgstr ""
 msgid "Expected register or constant integer."
 msgstr ""
 
-#: config/i386/i386.cc:13011
+#: config/i386/i386.cc:12878
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.cc:13550
+#: config/i386/i386.cc:13417
 #, c-format
 msgid "invalid use of register '%s'"
 msgstr ""
 
-#: config/i386/i386.cc:13555
+#: config/i386/i386.cc:13422
 #, c-format
 msgid "invalid use of asm flag output"
 msgstr ""
 
-#: config/i386/i386.cc:13788
+#: config/i386/i386.cc:13656
 #, c-format
 msgid "invalid operand size for operand code 'O'"
 msgstr ""
 
-#: config/i386/i386.cc:13823
+#: config/i386/i386.cc:13691
 #, c-format
 msgid "invalid operand size for operand code 'z'"
 msgstr ""
 
-#: config/i386/i386.cc:13898
+#: config/i386/i386.cc:13766
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13903
+#: config/i386/i386.cc:13771
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13981
+#: config/i386/i386.cc:13849
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.cc:14060
+#: config/i386/i386.cc:13928
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.cc:14078
+#: config/i386/i386.cc:13946
 #, c-format
 msgid "operand is not a condition code, invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:14091
+#: config/i386/i386.cc:13967
 #, c-format
 msgid ""
 "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.cc:14106
+#: config/i386/i386.cc:13982
 #, c-format
 msgid "operand is not an integer, invalid operand code 'K'"
 msgstr ""
 
-#: config/i386/i386.cc:14134
+#: config/i386/i386.cc:14010
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'r'"
 msgstr ""
 
-#: config/i386/i386.cc:14152
+#: config/i386/i386.cc:14028
 #, c-format
 msgid "operand is not an integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:14175
+#: config/i386/i386.cc:14051
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:14279
+#: config/i386/i386.cc:14144
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:14341 config/i386/i386.cc:14730
+#: config/i386/i386.cc:14206 config/i386/i386.cc:14595
 #, c-format
 msgid "invalid constraints for operand"
 msgstr ""
 
-#: config/i386/i386.cc:14442
+#: config/i386/i386.cc:14307
 #, c-format
 msgid "invalid vector immediate"
 msgstr ""
 
-#: config/i386/i386.cc:17562
+#: config/i386/i386.cc:17477
 msgid "unknown insn mode"
 msgstr ""
 
-#: config/i386/i386.cc:23599
+#: config/i386/i386.cc:23989
 msgid "invalid conversion from type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:23602
+#: config/i386/i386.cc:23992
 msgid "invalid conversion from type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:23605
+#: config/i386/i386.cc:23995
 msgid "invalid conversion to type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:23608
+#: config/i386/i386.cc:23998
 msgid "invalid conversion to type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:23646 config/i386/i386.cc:23671
+#: config/i386/i386.cc:24036 config/i386/i386.cc:24061
 msgid "operation not permitted on type %<__bf16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/i386/i386.cc:23649 config/i386/i386.cc:23675
+#: config/i386/i386.cc:24039 config/i386/i386.cc:24065
 msgid "operation not permitted on type %<_Float16%> without option %<-msse2%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:5470
+#: config/ia64/ia64.cc:5474
 #, c-format
 msgid "invalid %%G mode"
 msgstr ""
 
-#: config/ia64/ia64.cc:5641
+#: config/ia64/ia64.cc:5645
 #, c-format
 msgid "ia64_print_operand: unknown code"
 msgstr ""
 
-#: config/ia64/ia64.cc:11265
+#: config/ia64/ia64.cc:11270
 msgid "invalid conversion from %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11268
+#: config/ia64/ia64.cc:11273
 msgid "invalid conversion to %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11281 config/ia64/ia64.cc:11292
+#: config/ia64/ia64.cc:11286 config/ia64/ia64.cc:11297
 msgid "invalid operation on %<__fpreg%>"
 msgstr ""
 
@@ -22038,7 +22001,7 @@ msgstr ""
 msgid "invalid %%P operand"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3131 config/rs6000/rs6000.cc:14249
+#: config/iq2000/iq2000.cc:3131 config/rs6000/rs6000.cc:14307
 #, c-format
 msgid "invalid %%p value"
 msgstr ""
@@ -22048,82 +22011,83 @@ msgstr ""
 msgid "invalid use of %%d, %%x, or %%X"
 msgstr ""
 
-#: config/lm32/lm32.cc:524
+#: config/lm32/lm32.cc:540
 #, c-format
 msgid "only 0.0 can be loaded as an immediate"
 msgstr ""
 
-#: config/lm32/lm32.cc:594
+#: config/lm32/lm32.cc:610
 msgid "bad operand"
 msgstr ""
 
-#: config/lm32/lm32.cc:606
+#: config/lm32/lm32.cc:622
 msgid "can't use non gp relative absolute address"
 msgstr ""
 
-#: config/lm32/lm32.cc:610
+#: config/lm32/lm32.cc:626
 msgid "invalid addressing mode"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:5880 config/loongarch/loongarch.cc:5902
-#: config/loongarch/loongarch.cc:6303 config/mips/mips.cc:9239
-#: config/mips/mips.cc:9266 config/mips/mips.cc:9449
+#: config/loongarch/loongarch.cc:5978 config/loongarch/loongarch.cc:6000
+#: config/loongarch/loongarch.cc:6405 config/mips/mips.cc:9378
+#: config/mips/mips.cc:9405 config/mips/mips.cc:9588
 #, c-format
 msgid "'%%%c' is not a valid operand prefix"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:6140 config/loongarch/loongarch.cc:6160
-#: config/loongarch/loongarch.cc:6206 config/loongarch/loongarch.cc:6213
-#: config/loongarch/loongarch.cc:6260 config/loongarch/loongarch.cc:6263
-#: config/loongarch/loongarch.cc:6275 config/loongarch/loongarch.cc:6282
-#: config/loongarch/loongarch.cc:6292 config/loongarch/loongarch.cc:6295
-#: config/loongarch/loongarch.cc:6316 config/loongarch/loongarch.cc:6323
-#: config/loongarch/loongarch.cc:6350 config/loongarch/loongarch.cc:6361
-#: config/loongarch/loongarch.cc:6376 config/loongarch/loongarch.cc:6385
-#: config/mips/mips.cc:9338 config/mips/mips.cc:9345 config/mips/mips.cc:9352
-#: config/mips/mips.cc:9359 config/mips/mips.cc:9372 config/mips/mips.cc:9379
-#: config/mips/mips.cc:9389 config/mips/mips.cc:9392 config/mips/mips.cc:9404
-#: config/mips/mips.cc:9407 config/mips/mips.cc:9467 config/mips/mips.cc:9474
-#: config/mips/mips.cc:9495 config/mips/mips.cc:9510 config/mips/mips.cc:9529
-#: config/mips/mips.cc:9538 config/riscv/riscv.cc:5962
-#: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6343
-#: config/riscv/riscv.cc:6359 config/riscv/riscv.cc:6370
+#: config/loongarch/loongarch.cc:6232 config/loongarch/loongarch.cc:6252
+#: config/loongarch/loongarch.cc:6298 config/loongarch/loongarch.cc:6305
+#: config/loongarch/loongarch.cc:6315 config/loongarch/loongarch.cc:6362
+#: config/loongarch/loongarch.cc:6365 config/loongarch/loongarch.cc:6377
+#: config/loongarch/loongarch.cc:6384 config/loongarch/loongarch.cc:6394
+#: config/loongarch/loongarch.cc:6397 config/loongarch/loongarch.cc:6418
+#: config/loongarch/loongarch.cc:6425 config/loongarch/loongarch.cc:6452
+#: config/loongarch/loongarch.cc:6463 config/loongarch/loongarch.cc:6478
+#: config/loongarch/loongarch.cc:6487 config/mips/mips.cc:9477
+#: config/mips/mips.cc:9484 config/mips/mips.cc:9491 config/mips/mips.cc:9498
+#: config/mips/mips.cc:9511 config/mips/mips.cc:9518 config/mips/mips.cc:9528
+#: config/mips/mips.cc:9531 config/mips/mips.cc:9543 config/mips/mips.cc:9546
+#: config/mips/mips.cc:9606 config/mips/mips.cc:9613 config/mips/mips.cc:9634
+#: config/mips/mips.cc:9649 config/mips/mips.cc:9668 config/mips/mips.cc:9677
+#: config/riscv/riscv.cc:6725 config/riscv/riscv.cc:7172
+#: config/riscv/riscv.cc:7178 config/riscv/riscv.cc:7194
+#: config/riscv/riscv.cc:7205
 #, c-format
 msgid "invalid use of '%%%c'"
 msgstr ""
 
-#: config/m32r/m32r.cc:2146
+#: config/m32r/m32r.cc:2149
 msgid "bad insn for 'A'"
 msgstr ""
 
-#: config/m32r/m32r.cc:2193
+#: config/m32r/m32r.cc:2196
 #, c-format
 msgid "invalid operand to %%T/%%B code"
 msgstr ""
 
-#: config/m32r/m32r.cc:2216
+#: config/m32r/m32r.cc:2219
 #, c-format
 msgid "invalid operand to %%N code"
 msgstr ""
 
-#: config/m32r/m32r.cc:2249
+#: config/m32r/m32r.cc:2252
 msgid "pre-increment address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2256
+#: config/m32r/m32r.cc:2259
 msgid "pre-decrement address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2263
+#: config/m32r/m32r.cc:2266
 msgid "post-increment address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2338 config/m32r/m32r.cc:2353
-#: config/rs6000/rs6000.cc:20974
+#: config/m32r/m32r.cc:2341 config/m32r/m32r.cc:2356
+#: config/rs6000/rs6000.cc:20967
 msgid "bad address"
 msgstr ""
 
-#: config/m32r/m32r.cc:2358
+#: config/m32r/m32r.cc:2361
 msgid "lo_sum not of register"
 msgstr ""
 
@@ -22152,7 +22116,7 @@ msgid "insn contains an invalid address !"
 msgstr ""
 
 #: config/microblaze/microblaze.cc:2408 config/microblaze/microblaze.cc:2638
-#: config/xtensa/xtensa.cc:3163
+#: config/xtensa/xtensa.cc:3240
 msgid "invalid address"
 msgstr ""
 
@@ -22161,44 +22125,44 @@ msgstr ""
 msgid "letter %c was found & insn was not CONST_INT"
 msgstr ""
 
-#: config/mmix/mmix.cc:1635 config/mmix/mmix.cc:1756
+#: config/mmix/mmix.cc:1672 config/mmix/mmix.cc:1793
 msgid "MMIX Internal: Expected a CONST_INT, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1714
+#: config/mmix/mmix.cc:1751
 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
 msgstr ""
 
-#: config/mmix/mmix.cc:1724
+#: config/mmix/mmix.cc:1761
 msgid "MMIX Internal: Expected a register, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1734
+#: config/mmix/mmix.cc:1771
 msgid "MMIX Internal: Expected a constant, not this"
 msgstr ""
 
 #. We need the original here.
-#: config/mmix/mmix.cc:1818
+#: config/mmix/mmix.cc:1855
 msgid "MMIX Internal: Cannot decode this operand"
 msgstr ""
 
-#: config/mmix/mmix.cc:1877
+#: config/mmix/mmix.cc:1914
 msgid "MMIX Internal: This is not a recognized address"
 msgstr ""
 
-#: config/mmix/mmix.cc:2769
+#: config/mmix/mmix.cc:2806
 msgid "MMIX Internal: Trying to output invalidly reversed condition:"
 msgstr ""
 
-#: config/mmix/mmix.cc:2776
+#: config/mmix/mmix.cc:2813
 msgid "MMIX Internal: What's the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2780
+#: config/mmix/mmix.cc:2817
 msgid "MMIX Internal: What is the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2822
+#: config/mmix/mmix.cc:2859
 msgid "MMIX Internal: This is not a constant:"
 msgstr ""
 
@@ -22229,7 +22193,7 @@ msgstr ""
 msgid "invalid %%H value"
 msgstr ""
 
-#: config/or1k/or1k.cc:1272 config/xtensa/xtensa.cc:3080
+#: config/or1k/or1k.cc:1272 config/xtensa/xtensa.cc:3158
 #, c-format
 msgid "invalid %%d value"
 msgstr ""
@@ -22239,52 +22203,62 @@ msgstr ""
 msgid "unknown operand letter: '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1745 config/pru/pru.cc:1756
+#: config/pru/pru.cc:1775 config/pru/pru.cc:1786
 #, c-format
 msgid "I/O register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1762
+#: config/pru/pru.cc:1792
 #, c-format
 msgid "non 32 bit register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1847
+#: config/pru/pru.cc:1887
 #, c-format
 msgid "unsupported code '%c' for fixed-point:"
 msgstr ""
 
-#: config/pru/pru.cc:1861
+#: config/pru/pru.cc:1901
 #, c-format
 msgid "double constants not supported"
 msgstr ""
 
-#: config/pru/pru.cc:1944
+#: config/pru/pru.cc:1984
 #, c-format
 msgid "unsupported operand %s for code '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1954
+#: config/pru/pru.cc:1994
 #, c-format
 msgid "unexpected text address:"
 msgstr ""
 
-#: config/pru/pru.cc:1973
+#: config/pru/pru.cc:2013
 #, c-format
 msgid "unsupported constant address:"
 msgstr ""
 
-#: config/pru/pru.cc:2034
+#: config/pru/pru.cc:2074
 #, c-format
 msgid "unsupported memory expression:"
 msgstr ""
 
-#: config/riscv/riscv.cc:6139
+#: config/riscv/riscv.cc:6904
 #, c-format
 msgid "invalid vector operand"
 msgstr ""
 
-#: config/rl78/rl78.cc:1998 config/rl78/rl78.cc:2084
+#: config/riscv/riscv.cc:7149
+#, c-format
+msgid "modifier 'N' require register operand"
+msgstr ""
+
+#: config/riscv/riscv.cc:7162
+#, c-format
+msgid "invalid register number for 'N' modifier"
+msgstr ""
+
+#: config/rl78/rl78.cc:1999 config/rl78/rl78.cc:2085
 #, c-format
 msgid "q/Q modifiers invalid for symbol references"
 msgstr ""
@@ -22299,333 +22273,335 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3823
-msgid "%<-mvsx%> requires hardware floating point"
+#: config/rs6000/rs6000.cc:3840
+msgid "%<-mvsx%> requires hardware floating-point"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3831
+#: config/rs6000/rs6000.cc:3851
 msgid "%<-mvsx%> needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3836
-msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible"
-msgstr ""
-
-#: config/rs6000/rs6000.cc:3838
+#: config/rs6000/rs6000.cc:3861
 msgid "%<-mno-altivec%> disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3958
+#: config/rs6000/rs6000.cc:3981
 msgid "%<-mquad-memory%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3961
+#: config/rs6000/rs6000.cc:3984
 msgid "%<-mquad-memory-atomic%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3973
+#: config/rs6000/rs6000.cc:3996
 msgid "%<-mquad-memory%> is not available in little endian mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:11339
+#: config/rs6000/rs6000.cc:11379
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13879
+#: config/rs6000/rs6000.cc:13937
 msgid "Bad 128-bit move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14059
+#: config/rs6000/rs6000.cc:14117
 #, c-format
 msgid "invalid %%A value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14068 config/xtensa/xtensa.cc:3015
+#: config/rs6000/rs6000.cc:14126 config/xtensa/xtensa.cc:3083
 #, c-format
 msgid "invalid %%D value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14083
+#: config/rs6000/rs6000.cc:14141
 #, c-format
 msgid "invalid %%e value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14104
+#: config/rs6000/rs6000.cc:14162
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14113
+#: config/rs6000/rs6000.cc:14171
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14122
+#: config/rs6000/rs6000.cc:14180
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14157
+#: config/rs6000/rs6000.cc:14215
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14167
+#: config/rs6000/rs6000.cc:14225
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14177
+#: config/rs6000/rs6000.cc:14235
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14192 config/xtensa/xtensa.cc:3052
+#: config/rs6000/rs6000.cc:14250 config/xtensa/xtensa.cc:3130
 #, c-format
 msgid "invalid %%K value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14239
+#: config/rs6000/rs6000.cc:14297
 #, c-format
 msgid "invalid %%O value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14286
+#: config/rs6000/rs6000.cc:14344
 #, c-format
 msgid "invalid %%q value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14328
+#: config/rs6000/rs6000.cc:14386
 #, c-format
 msgid "invalid %%t value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14345
+#: config/rs6000/rs6000.cc:14403
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14357
+#: config/rs6000/rs6000.cc:14415
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14371 config/xtensa/xtensa.cc:3027
+#: config/rs6000/rs6000.cc:14429 config/xtensa/xtensa.cc:3105
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14421
+#: config/rs6000/rs6000.cc:14479
 #, c-format
 msgid "invalid %%V value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14437 config/xtensa/xtensa.cc:3073
+#: config/rs6000/rs6000.cc:14495 config/xtensa/xtensa.cc:3151
 #, c-format
 msgid "invalid %%x value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14494
+#: config/rs6000/rs6000.cc:14552
 #, c-format
 msgid "invalid %%z value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14563
+#: config/rs6000/rs6000.cc:14621
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:15505
+#: config/rs6000/rs6000.cc:14729
+#, c-format
+msgid "%%a requires an address of memory"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:15568
 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24375
+#: config/rs6000/rs6000.cc:24381
 msgid "AltiVec argument passed to unprototyped function"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27990
+#: config/rs6000/rs6000.cc:28001
 msgid "Could not generate addis value for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28059
+#: config/rs6000/rs6000.cc:28070
 msgid "Unable to generate load/store offset for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28135
+#: config/rs6000/rs6000.cc:28146
 msgid "Bad GPR fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28737
+#: config/rs6000/rs6000.cc:28748
 msgid "invalid conversion from type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28739
+#: config/rs6000/rs6000.cc:28750
 msgid "invalid conversion to type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28741
+#: config/rs6000/rs6000.cc:28752
 msgid "invalid conversion from type %<__vector_pair%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28743
+#: config/rs6000/rs6000.cc:28754
 msgid "invalid conversion to type %<__vector_pair%>"
 msgstr ""
 
-#: config/s390/s390.cc:8415
+#: config/s390/s390.cc:8557
 #, c-format
 msgid "symbolic memory references are only supported on z10 or later"
 msgstr ""
 
-#: config/s390/s390.cc:8426
+#: config/s390/s390.cc:8568
 #, c-format
 msgid "cannot decompose address"
 msgstr ""
 
-#: config/s390/s390.cc:8508
+#: config/s390/s390.cc:8651
 #, c-format
 msgid "invalid comparison operator for 'E' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8531
+#: config/s390/s390.cc:8674
 #, c-format
 msgid "invalid reference for 'J' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8549
+#: config/s390/s390.cc:8692
 #, c-format
 msgid "invalid address for 'O' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8571
+#: config/s390/s390.cc:8709 config/s390/s390.cc:8739 config/s390/s390.cc:8768
+#: config/s390/s390.cc:8946 config/s390/s390.cc:8967
+#, c-format
+msgid "invalid constant for output modifier '%c'"
+msgstr ""
+
+#: config/s390/s390.cc:8787
 #, c-format
 msgid "invalid address for 'R' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8589
+#: config/s390/s390.cc:8805
 #, c-format
 msgid "memory reference expected for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8599
+#: config/s390/s390.cc:8815
 #, c-format
 msgid "invalid address for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8620
+#: config/s390/s390.cc:8836
 #, c-format
 msgid "register or memory expression expected for 'N' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8631
+#: config/s390/s390.cc:8847
 #, c-format
 msgid "register or memory expression expected for 'M' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8740 config/s390/s390.cc:8761
-#, c-format
-msgid "invalid constant for output modifier '%c'"
-msgstr ""
-
-#: config/s390/s390.cc:8758
+#: config/s390/s390.cc:8964
 #, c-format
 msgid "invalid constant - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8795
+#: config/s390/s390.cc:8981
 #, c-format
 msgid "invalid constant vector for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:8802
+#: config/s390/s390.cc:8988
 #, c-format
 msgid "invalid expression - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8805
+#: config/s390/s390.cc:8991
 #, c-format
 msgid "invalid expression for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:12664
+#: config/s390/s390.cc:12844
 msgid "vector argument passed to unprototyped function"
 msgstr ""
 
-#: config/s390/s390.cc:17110
+#: config/s390/s390.cc:17292
 msgid "types differ in signedness"
 msgstr ""
 
-#: config/s390/s390.cc:17120
+#: config/s390/s390.cc:17302
 msgid "binary operator does not support two vector bool operands"
 msgstr ""
 
-#: config/s390/s390.cc:17123
+#: config/s390/s390.cc:17305
 msgid "binary operator does not support vector bool operand"
 msgstr ""
 
-#: config/s390/s390.cc:17131
+#: config/s390/s390.cc:17313
 msgid ""
 "binary operator does not support mixing vector bool with floating point "
 "vector operands"
 msgstr ""
 
-#: config/sh/sh.cc:1222
+#: config/sh/sh.cc:1229
 #, c-format
 msgid "invalid operand to %%R"
 msgstr ""
 
-#: config/sh/sh.cc:1249
+#: config/sh/sh.cc:1256
 #, c-format
 msgid "invalid operand to %%S"
 msgstr ""
 
-#: config/sh/sh.cc:8667
+#: config/sh/sh.cc:8680
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.cc:8669
+#: config/sh/sh.cc:8682
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.cc:8671
+#: config/sh/sh.cc:8684
 msgid "created and used with different endianness"
 msgstr ""
 
-#: config/sparc/sparc.cc:9393 config/sparc/sparc.cc:9399
+#: config/sparc/sparc.cc:9409 config/sparc/sparc.cc:9415
 #, c-format
 msgid "invalid %%Y operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9486
+#: config/sparc/sparc.cc:9502
 #, c-format
 msgid "invalid %%A operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9506
+#: config/sparc/sparc.cc:9522
 #, c-format
 msgid "invalid %%B operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9586
+#: config/sparc/sparc.cc:9602
 #, c-format
 msgid "invalid %%C operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9618
+#: config/sparc/sparc.cc:9634
 #, c-format
 msgid "invalid %%D operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9637
+#: config/sparc/sparc.cc:9653
 #, c-format
 msgid "invalid %%f operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9649
+#: config/sparc/sparc.cc:9665
 #, c-format
 msgid "invalid %%s operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9694
+#: config/sparc/sparc.cc:9710
 #, c-format
 msgid "floating-point constant not a valid immediate operand"
 msgstr ""
@@ -22682,23 +22658,23 @@ msgstr ""
 msgid "illegal operand detected"
 msgstr ""
 
-#: config/visium/visium.cc:3367
+#: config/visium/visium.cc:3370
 msgid "illegal operand "
 msgstr ""
 
-#: config/visium/visium.cc:3418
+#: config/visium/visium.cc:3421
 msgid "illegal operand address (1)"
 msgstr ""
 
-#: config/visium/visium.cc:3425
+#: config/visium/visium.cc:3428
 msgid "illegal operand address (2)"
 msgstr ""
 
-#: config/visium/visium.cc:3440
+#: config/visium/visium.cc:3443
 msgid "illegal operand address (3)"
 msgstr ""
 
-#: config/visium/visium.cc:3448
+#: config/visium/visium.cc:3451
 msgid "illegal operand address (4)"
 msgstr ""
 
@@ -22706,36 +22682,36 @@ msgstr ""
 msgid "Unable to load DLL."
 msgstr ""
 
-#: config/xtensa/xtensa.cc:833 config/xtensa/xtensa.cc:871
+#: config/xtensa/xtensa.cc:839 config/xtensa/xtensa.cc:873
 msgid "bad test"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3047
+#: config/xtensa/xtensa.cc:3125
 msgid "invalid mask"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3099 config/xtensa/xtensa.cc:3109
+#: config/xtensa/xtensa.cc:3177 config/xtensa/xtensa.cc:3187
 #, c-format
 msgid "invalid %%t/%%b value"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3188
+#: config/xtensa/xtensa.cc:3265
 msgid "no register in address"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3196
+#: config/xtensa/xtensa.cc:3273
 msgid "address offset not a constant"
 msgstr ""
 
-#: c/c-objc-common.cc:227
+#: c/c-objc-common.cc:232
 msgid "{erroneous}"
 msgstr ""
 
-#: c/c-objc-common.cc:268
+#: c/c-objc-common.cc:277
 msgid "aka"
 msgstr ""
 
-#: c/c-objc-common.cc:360
+#: c/c-objc-common.cc:385 c/c-typeck.cc:7693
 msgid "({anonymous})"
 msgstr ""
 
@@ -22748,438 +22724,446 @@ msgstr ""
 #. ;
 #. <~~~~~~~~~ declaration ~~~~~~~~~~>
 #. Use c_parser_require to get an error with a fix-it hint.
-#: c/c-parser.cc:2934 c/c-parser.cc:3059 c/c-parser.cc:3073 c/c-parser.cc:7006
-#: c/c-parser.cc:7761 c/c-parser.cc:8217 c/c-parser.cc:8404 c/c-parser.cc:8437
-#: c/c-parser.cc:8708 c/c-parser.cc:13166 c/c-parser.cc:13201
-#: c/c-parser.cc:13232 c/c-parser.cc:13279 c/c-parser.cc:13460
-#: c/c-parser.cc:14293 c/c-parser.cc:14368 c/c-parser.cc:14411
-#: c/c-parser.cc:21325 c/c-parser.cc:21405 c/c-parser.cc:21734
-#: c/c-parser.cc:21760 c/c-parser.cc:21783 c/c-parser.cc:22319
-#: c/c-parser.cc:22363 c/gimple-parser.cc:411 c/gimple-parser.cc:452
-#: c/gimple-parser.cc:461 c/gimple-parser.cc:670 c/gimple-parser.cc:2386
-#: c/gimple-parser.cc:2423 c/gimple-parser.cc:2502 c/gimple-parser.cc:2529
-#: c/c-parser.cc:3888 c/c-parser.cc:4079 c/c-parser.cc:4114 c/c-parser.cc:13453
-#: c/gimple-parser.cc:2193 c/gimple-parser.cc:2250 cp/parser.cc:15902
-#: cp/parser.cc:33934 cp/parser.cc:34573
+#: c/c-parser.cc:3062 c/c-parser.cc:3252 c/c-parser.cc:3266 c/c-parser.cc:7471
+#: c/c-parser.cc:8310 c/c-parser.cc:8888 c/c-parser.cc:9080 c/c-parser.cc:9113
+#: c/c-parser.cc:9411 c/c-parser.cc:14258 c/c-parser.cc:14293
+#: c/c-parser.cc:14324 c/c-parser.cc:14371 c/c-parser.cc:14552
+#: c/c-parser.cc:15385 c/c-parser.cc:15460 c/c-parser.cc:15503
+#: c/c-parser.cc:23015 c/c-parser.cc:23095 c/c-parser.cc:23424
+#: c/c-parser.cc:23450 c/c-parser.cc:23473 c/c-parser.cc:24159
+#: c/c-parser.cc:24202 c/c-parser.cc:25469 c/gimple-parser.cc:454
+#: c/gimple-parser.cc:495 c/gimple-parser.cc:504 c/gimple-parser.cc:723
+#: c/gimple-parser.cc:2437 c/gimple-parser.cc:2474 c/gimple-parser.cc:2553
+#: c/gimple-parser.cc:2580 c/c-parser.cc:4114 c/c-parser.cc:4305
+#: c/c-parser.cc:4340 c/c-parser.cc:14545 c/gimple-parser.cc:2244
+#: c/gimple-parser.cc:2256 cp/parser.cc:16454 cp/parser.cc:34607
+#: cp/parser.cc:35246
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr ""
 
-#: 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:10145
-#: c/c-parser.cc:10213 c/c-parser.cc:10735 c/c-parser.cc:10761
-#: c/c-parser.cc:10795 c/c-parser.cc:10907 c/c-parser.cc:11726
-#: c/c-parser.cc:13567 c/c-parser.cc:16181 c/c-parser.cc:16916
-#: c/c-parser.cc:16975 c/c-parser.cc:17030 c/c-parser.cc:18889
-#: c/c-parser.cc:19009 c/c-parser.cc:20418 c/c-parser.cc:21825
-#: c/c-parser.cc:22327 c/c-parser.cc:25651 c/c-parser.cc:25733
-#: 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:1124 c/gimple-parser.cc:1150
-#: c/gimple-parser.cc:1153 c/gimple-parser.cc:1284 c/gimple-parser.cc:1411
-#: c/gimple-parser.cc:1541 c/gimple-parser.cc:1557 c/gimple-parser.cc:1613
-#: c/gimple-parser.cc:1640 c/gimple-parser.cc:1670 c/gimple-parser.cc:1696
-#: c/gimple-parser.cc:1903 c/gimple-parser.cc:2115 c/gimple-parser.cc:2135
-#: c/gimple-parser.cc:2296 c/gimple-parser.cc:2459 c/c-parser.cc:8660
-#: cp/parser.cc:34621
+#: c/c-parser.cc:3224 c/c-parser.cc:9371
+#, gcc-internal-format
+msgid "expected %<:%> or %<)%>"
+msgstr ""
+
+#: c/c-parser.cc:3763 c/c-parser.cc:4916 c/c-parser.cc:5108 c/c-parser.cc:5166
+#: c/c-parser.cc:5224 c/c-parser.cc:5608 c/c-parser.cc:5631 c/c-parser.cc:5640
+#: c/c-parser.cc:5691 c/c-parser.cc:5700 c/c-parser.cc:10846
+#: c/c-parser.cc:10932 c/c-parser.cc:11506 c/c-parser.cc:11532
+#: c/c-parser.cc:11566 c/c-parser.cc:11779 c/c-parser.cc:12651
+#: c/c-parser.cc:14659 c/c-parser.cc:17303 c/c-parser.cc:18038
+#: c/c-parser.cc:18097 c/c-parser.cc:18152 c/c-parser.cc:20011
+#: c/c-parser.cc:20131 c/c-parser.cc:22106 c/c-parser.cc:23515
+#: c/c-parser.cc:24167 c/c-parser.cc:27988 c/c-parser.cc:28070
+#: c/gimple-parser.cc:238 c/gimple-parser.cc:241 c/gimple-parser.cc:589
+#: c/gimple-parser.cc:623 c/gimple-parser.cc:628 c/gimple-parser.cc:807
+#: c/gimple-parser.cc:904 c/gimple-parser.cc:1175 c/gimple-parser.cc:1201
+#: c/gimple-parser.cc:1204 c/gimple-parser.cc:1335 c/gimple-parser.cc:1462
+#: c/gimple-parser.cc:1592 c/gimple-parser.cc:1608 c/gimple-parser.cc:1664
+#: c/gimple-parser.cc:1691 c/gimple-parser.cc:1721 c/gimple-parser.cc:1747
+#: c/gimple-parser.cc:1954 c/gimple-parser.cc:2166 c/gimple-parser.cc:2186
+#: c/gimple-parser.cc:2347 c/gimple-parser.cc:2510 c/c-parser.cc:3215
+#: c/c-parser.cc:9363 c/c-parser.cc:20701 cp/parser.cc:35294 cp/parser.cc:43004
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:4768 c/c-parser.cc:5516 c/c-parser.cc:5876 c/c-parser.cc:5894
-#: c/c-parser.cc:5895 c/c-parser.cc:6341 c/c-parser.cc:6385 c/c-parser.cc:8759
-#: c/c-parser.cc:10898 c/c-parser.cc:12179 c/c-parser.cc:12550
-#: c/c-parser.cc:15496 c/gimple-parser.cc:1879 cp/parser.cc:34585
+#: c/c-parser.cc:5002 c/c-parser.cc:5751 c/c-parser.cc:6111 c/c-parser.cc:6129
+#: c/c-parser.cc:6130 c/c-parser.cc:6633 c/c-parser.cc:6677 c/c-parser.cc:9462
+#: c/c-parser.cc:11770 c/c-parser.cc:13224 c/c-parser.cc:13596
+#: c/c-parser.cc:16619 c/gimple-parser.cc:1930 cp/parser.cc:35258
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr ""
 
-#: c/c-parser.cc:4970
+#: c/c-parser.cc:5204
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
 #. Look for the two `(' tokens.
-#: c/c-parser.cc:5425 c/c-parser.cc:5430 c/c-parser.cc:16164
-#: c/c-parser.cc:17005 c/c-parser.cc:24795 c/c-parser.cc:25459
-#: c/c-parser.cc:25676 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:1118 c/gimple-parser.cc:1144 c/gimple-parser.cc:1271
-#: c/gimple-parser.cc:1406 c/gimple-parser.cc:1531 c/gimple-parser.cc:1636
-#: c/gimple-parser.cc:1654 c/gimple-parser.cc:1689 c/gimple-parser.cc:2084
-#: c/gimple-parser.cc:2095 c/gimple-parser.cc:2101 c/gimple-parser.cc:2284
-#: c/gimple-parser.cc:2456 c/c-parser.cc:15945 cp/parser.cc:34576
+#: c/c-parser.cc:5660 c/c-parser.cc:5665 c/c-parser.cc:17286
+#: c/c-parser.cc:18127 c/c-parser.cc:20509 c/c-parser.cc:20608
+#: c/c-parser.cc:26810 c/c-parser.cc:27112 c/c-parser.cc:27796
+#: c/c-parser.cc:28013 c/gimple-parser.cc:223 c/gimple-parser.cc:536
+#: c/gimple-parser.cc:575 c/gimple-parser.cc:607 c/gimple-parser.cc:874
+#: c/gimple-parser.cc:1169 c/gimple-parser.cc:1195 c/gimple-parser.cc:1322
+#: c/gimple-parser.cc:1457 c/gimple-parser.cc:1582 c/gimple-parser.cc:1687
+#: c/gimple-parser.cc:1705 c/gimple-parser.cc:1740 c/gimple-parser.cc:2135
+#: c/gimple-parser.cc:2146 c/gimple-parser.cc:2152 c/gimple-parser.cc:2335
+#: c/gimple-parser.cc:2507 c/c-parser.cc:17067 cp/parser.cc:35249
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:5872 c/c-parser.cc:5874 c/c-parser.cc:15401 cp/parser.cc:34588
-#: cp/parser.cc:38457 go/gofrontend/embed.cc:440
+#: c/c-parser.cc:6107 c/c-parser.cc:6109 c/c-parser.cc:16524 cp/parser.cc:35261
+#: cp/parser.cc:39151 go/gofrontend/embed.cc:440
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr ""
 
-#: c/c-parser.cc:6522 c/c-parser.cc:13796 c/c-parser.cc:21300
-#: c/c-parser.cc:21386 c/c-parser.cc:22147 c/c-parser.cc:23107
-#: c/c-parser.cc:26919 c/gimple-parser.cc:404 c/gimple-parser.cc:2462
-#: c/c-parser.cc:3875 c/c-parser.cc:4103 c/c-parser.cc:13348 cp/parser.cc:21689
-#: cp/parser.cc:34582 go/gofrontend/embed.cc:371
+#: c/c-parser.cc:6937 c/c-parser.cc:14888 c/c-parser.cc:20585
+#: c/c-parser.cc:22990 c/c-parser.cc:23076 c/c-parser.cc:23837
+#: c/c-parser.cc:24977 c/c-parser.cc:29798 c/gimple-parser.cc:447
+#: c/gimple-parser.cc:2513 c/c-parser.cc:4101 c/c-parser.cc:4329
+#: c/c-parser.cc:14440 cp/parser.cc:22183 cp/parser.cc:35255
+#: go/gofrontend/embed.cc:371
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr ""
 
-#: c/c-parser.cc:7368 c/c-parser.cc:7377 c/c-parser.cc:9208 c/c-parser.cc:10350
-#: c/c-parser.cc:13560 c/c-parser.cc:13957 c/c-parser.cc:14021
-#: c/c-parser.cc:15478 c/c-parser.cc:16596 c/c-parser.cc:16833
-#: c/c-parser.cc:17386 c/c-parser.cc:17489 c/c-parser.cc:18030
-#: c/c-parser.cc:18466 c/c-parser.cc:18542 c/c-parser.cc:18659
-#: c/c-parser.cc:18731 c/c-parser.cc:24662 c/c-parser.cc:25516
-#: c/c-parser.cc:25575 c/gimple-parser.cc:587 c/gimple-parser.cc:892
-#: c/gimple-parser.cc:2510 c/gimple-parser.cc:2537 c/c-parser.cc:8667
-#: c/c-parser.cc:16089 c/c-parser.cc:17494 cp/parser.cc:34615
-#: cp/parser.cc:36318 cp/parser.cc:39388 cp/parser.cc:40281
-#: go/gofrontend/embed.cc:404
+#: c/c-parser.cc:7883 c/c-parser.cc:7892 c/c-parser.cc:9911 c/c-parser.cc:11090
+#: c/c-parser.cc:14652 c/c-parser.cc:15049 c/c-parser.cc:15113
+#: c/c-parser.cc:16601 c/c-parser.cc:17718 c/c-parser.cc:17955
+#: c/c-parser.cc:18508 c/c-parser.cc:18611 c/c-parser.cc:19152
+#: c/c-parser.cc:19588 c/c-parser.cc:19664 c/c-parser.cc:19781
+#: c/c-parser.cc:19853 c/c-parser.cc:20849 c/c-parser.cc:26680
+#: c/c-parser.cc:27853 c/c-parser.cc:27912 c/c-parser.cc:29114
+#: c/gimple-parser.cc:630 c/gimple-parser.cc:943 c/gimple-parser.cc:2561
+#: c/gimple-parser.cc:2588 c/c-parser.cc:9370 c/c-parser.cc:17211
+#: c/c-parser.cc:18616 cp/parser.cc:35288 cp/parser.cc:36995 cp/parser.cc:40091
+#: cp/parser.cc:40984 go/gofrontend/embed.cc:404
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:8199 cp/parser.cc:34502
+#: c/c-parser.cc:8864 cp/parser.cc:35175
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
 
-#: c/c-parser.cc:10108 c/c-parser.cc:10301 c/c-parser.cc:10785
-#: c/c-parser.cc:10828 c/c-parser.cc:10969 c/c-parser.cc:11716
-#: c/c-parser.cc:17010 c/c-parser.cc:18611 c/gimple-parser.cc:1121
-#: c/gimple-parser.cc:1147 c/gimple-parser.cc:1275 c/gimple-parser.cc:1278
-#: c/gimple-parser.cc:1658 c/gimple-parser.cc:1664 cp/parser.cc:33932
-#: cp/parser.cc:34591
+#: c/c-parser.cc:10809 c/c-parser.cc:11039 c/c-parser.cc:11556
+#: c/c-parser.cc:11601 c/c-parser.cc:11694 c/c-parser.cc:11841
+#: c/c-parser.cc:12641 c/c-parser.cc:18132 c/c-parser.cc:19733
+#: c/gimple-parser.cc:1172 c/gimple-parser.cc:1198 c/gimple-parser.cc:1326
+#: c/gimple-parser.cc:1329 c/gimple-parser.cc:1709 c/gimple-parser.cc:1715
+#: cp/parser.cc:34605 cp/parser.cc:35264
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:10679
+#: c/c-parser.cc:11450
 msgid "expected %<.%>"
 msgstr ""
 
-#: c/c-parser.cc:13019 c/c-parser.cc:13051 c/c-parser.cc:13291
-#: cp/parser.cc:36892 cp/parser.cc:36913
+#: c/c-parser.cc:14111 c/c-parser.cc:14143 c/c-parser.cc:14383
+#: cp/parser.cc:37569 cp/parser.cc:37590
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr ""
 
-#: c/c-parser.cc:13709 c/gimple-parser.cc:1446 cp/parser.cc:34600
+#: c/c-parser.cc:14801 c/gimple-parser.cc:1497 cp/parser.cc:35273
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr ""
 
-#: c/c-parser.cc:17584 c/c-parser.cc:19027 cp/parser.cc:34624
+#: c/c-parser.cc:18706 c/c-parser.cc:20149 c/c-parser.cc:20572
+#: cp/parser.cc:35297 cp/parser.cc:42855
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #. All following cases are statements with LHS.
-#: c/c-parser.cc:18458 c/c-parser.cc:21193 c/c-parser.cc:21240
-#: c/c-parser.cc:21397 c/c-parser.cc:21744 c/c-parser.cc:22306
-#: c/c-parser.cc:24843 c/c-parser.cc:25717 c/gimple-parser.cc:745
-#: c/c-parser.cc:6408 c/c-parser.cc:21317 c/c-parser.cc:21540
-#: cp/parser.cc:34603 cp/parser.cc:43271 cp/parser.cc:43444
+#: c/c-parser.cc:19580 c/c-parser.cc:22883 c/c-parser.cc:22930
+#: c/c-parser.cc:23087 c/c-parser.cc:23434 c/c-parser.cc:24146
+#: c/c-parser.cc:25352 c/c-parser.cc:26858 c/c-parser.cc:28054
+#: c/gimple-parser.cc:798 c/c-parser.cc:6700 c/c-parser.cc:23007
+#: c/c-parser.cc:23230 cp/parser.cc:35276 cp/parser.cc:44570 cp/parser.cc:44743
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:21328 c/c-parser.cc:21408 c/c-parser.cc:21761
-#: c/c-parser.cc:22216 c/gimple-parser.cc:1712 c/gimple-parser.cc:1744
-#: c/gimple-parser.cc:1754 c/gimple-parser.cc:2547 cp/parser.cc:34579
-#: cp/parser.cc:37102
+#: c/c-parser.cc:20722 c/c-parser.cc:27121 c/c-parser.cc:27138
+#: c/c-parser.cc:16659 c/c-parser.cc:16671 c/c-parser.cc:20702
+#: cp/parser.cc:43005 cp/parser.cc:43032 cp/parser.cc:50588 cp/parser.cc:50599
+#, gcc-internal-format
+msgid "expected %<)%> or %<,%>"
+msgstr ""
+
+#: c/c-parser.cc:23018 c/c-parser.cc:23098 c/c-parser.cc:23451
+#: c/c-parser.cc:23906 c/gimple-parser.cc:1763 c/gimple-parser.cc:1795
+#: c/gimple-parser.cc:1805 c/gimple-parser.cc:2598 cp/parser.cc:35252
+#: cp/parser.cc:37779
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:21421 cp/parser.cc:43369
+#: c/c-parser.cc:23111 cp/parser.cc:44668
 #, gcc-internal-format
 msgid "expected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:23154 c/c-parser.cc:23143 cp/parser.cc:46068
+#: c/c-parser.cc:25024 c/c-parser.cc:25013 cp/parser.cc:47598
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:26283 cp/parser.cc:50045
+#: c/c-parser.cc:28732 cp/parser.cc:52542
 msgid "<message unknown at compile time>"
 msgstr ""
 
-#: c/c-typeck.cc:9041
+#: c/c-typeck.cc:9830
 msgid "(anonymous)"
 msgstr ""
 
-#: c/gimple-parser.cc:1435 cp/parser.cc:19032 cp/parser.cc:34597
+#: c/gimple-parser.cc:1486 cp/parser.cc:19517 cp/parser.cc:35270
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2506 c/gimple-parser.cc:2533 c/gimple-parser.cc:2372
-#: c/gimple-parser.cc:2409
+#: c/gimple-parser.cc:2557 c/gimple-parser.cc:2584 c/gimple-parser.cc:2423
+#: c/gimple-parser.cc:2460
 #, gcc-internal-format
 msgid "expected label"
 msgstr ""
 
-#: cp/call.cc:4136
-msgid "candidate:"
+#: cp/call.cc:4225
+#, c-format
+msgid "candidate %i:"
 msgstr ""
 
-#: cp/call.cc:8332
+#: cp/call.cc:8499
 msgid "  after user-defined conversion:"
 msgstr ""
 
-#: cp/call.cc:8498 cp/pt.cc:2043 cp/pt.cc:26371
+#: cp/call.cc:8703 cp/pt.cc:2064 cp/pt.cc:26902
 msgid "candidate is:"
 msgid_plural "candidates are:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:13022 cp/call.cc:13448
+#: cp/call.cc:13328 cp/call.cc:13780
 msgid "candidate 1:"
 msgstr ""
 
-#: cp/call.cc:13024 cp/call.cc:13449
+#: cp/call.cc:13330 cp/call.cc:13781
 msgid "candidate 2:"
 msgstr ""
 
-#: cp/error.cc:464
+#: cp/error.cc:566
 msgid "<missing>"
 msgstr ""
 
-#: cp/error.cc:566
+#: cp/error.cc:668
 msgid "<brace-enclosed initializer list>"
 msgstr ""
 
-#: cp/error.cc:568
+#: cp/error.cc:670
 msgid "<unresolved overloaded function type>"
 msgstr ""
 
-#: cp/error.cc:735
+#: cp/error.cc:844
 msgid "<type error>"
 msgstr ""
 
 #. A lambda's "type" is essentially its signature.
-#: cp/error.cc:842
+#: cp/error.cc:951
 msgid "<lambda"
 msgstr ""
 
-#: cp/error.cc:856 objc/objc-act.cc:6365 cp/cxx-pretty-print.cc:154
-#: cp/cxx-pretty-print.cc:2862
+#: cp/error.cc:965 objc/objc-act.cc:6365 cp/cxx-pretty-print.cc:155
+#: cp/cxx-pretty-print.cc:2864
 #, gcc-internal-format
 msgid "<unnamed>"
 msgstr ""
 
-#: cp/error.cc:858
+#: cp/error.cc:967
 #, c-format
 msgid "<unnamed %s>"
 msgstr ""
 
-#: cp/error.cc:996
+#: cp/error.cc:1106
 msgid "<typeprefixerror>"
 msgstr ""
 
-#: cp/error.cc:1137
+#: cp/error.cc:1248
 #, c-format
 msgid "(static initializers for %s)"
 msgstr ""
 
-#: cp/error.cc:1139
+#: cp/error.cc:1250
 #, c-format
 msgid "(static destructors for %s)"
 msgstr ""
 
-#: cp/error.cc:1185
+#: cp/error.cc:1296
 msgid "<structured bindings>"
 msgstr ""
 
-#: cp/error.cc:1311
+#: cp/error.cc:1422
 msgid "vtable for "
 msgstr ""
 
-#: cp/error.cc:1335
+#: cp/error.cc:1446
 msgid "<return value> "
 msgstr ""
 
-#: cp/error.cc:1350
+#: cp/error.cc:1461
 msgid "{anonymous}"
 msgstr ""
 
-#: cp/error.cc:1352
+#: cp/error.cc:1463
 msgid "(anonymous namespace)"
 msgstr ""
 
-#: cp/error.cc:1452
+#: cp/error.cc:1557
 msgid "<template arguments error>"
 msgstr ""
 
-#: cp/error.cc:1477
+#: cp/error.cc:1582
 msgid "<enumerator>"
 msgstr ""
 
-#: cp/error.cc:1537
+#: cp/error.cc:1642
 msgid "<declaration error>"
 msgstr ""
 
-#: cp/error.cc:2109 cp/error.cc:2129
+#: cp/error.cc:2213 cp/error.cc:2233
 msgid "<template parameter error>"
 msgstr ""
 
-#: cp/error.cc:2259
+#: cp/error.cc:2351
 msgid "<statement>"
 msgstr ""
 
-#: cp/error.cc:2289 cp/error.cc:3391 c-family/c-pretty-print.cc:2708
+#: cp/error.cc:2380 cp/error.cc:3502 c-family/c-pretty-print.cc:2694
 #, gcc-internal-format
 msgid "<unknown>"
 msgstr ""
 
 #. While waiting for caret diagnostics, avoid printing
 #. __cxa_allocate_exception, __cxa_throw, and the like.
-#: cp/error.cc:2307
+#: cp/error.cc:2398
 msgid "<throw-expression>"
 msgstr ""
 
-#: cp/error.cc:2408
+#: cp/error.cc:2482
 msgid "<ubsan routine call>"
 msgstr ""
 
-#: cp/error.cc:2910
+#: cp/error.cc:2999
 msgid "<unparsed>"
 msgstr ""
 
-#: cp/error.cc:3063
+#: cp/error.cc:3159
 msgid "<lambda>"
 msgstr ""
 
-#: cp/error.cc:3102
+#: cp/error.cc:3197
 msgid "*this"
 msgstr ""
 
-#: cp/error.cc:3116
+#: cp/error.cc:3226
 msgid "<expression error>"
 msgstr ""
 
-#: cp/error.cc:3131
+#: cp/error.cc:3241
 msgid "<unknown operator>"
 msgstr ""
 
-#: cp/error.cc:3606
+#: cp/error.cc:3731
 msgid "At global scope:"
 msgstr ""
 
-#: cp/error.cc:3665
+#: cp/error.cc:3790
 msgid "    inlined from %qD at %r%s:%d:%d%R"
 msgstr ""
 
-#: cp/error.cc:3670
+#: cp/error.cc:3795
 msgid "    inlined from %qD at %r%s:%d%R"
 msgstr ""
 
-#: cp/error.cc:3676
+#: cp/error.cc:3801
 msgid "    inlined from %qD"
 msgstr ""
 
-#: cp/error.cc:3703
+#: cp/error.cc:3827
 msgid "In static member function %qD"
 msgstr ""
 
-#: cp/error.cc:3705
+#: cp/error.cc:3829
 msgid "In copy constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3707
+#: cp/error.cc:3831
 msgid "In constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3709
+#: cp/error.cc:3833
 msgid "In destructor %qD"
 msgstr ""
 
-#: cp/error.cc:3711
+#: cp/error.cc:3835
 msgid "In lambda function"
 msgstr ""
 
-#: cp/error.cc:3713
+#: cp/error.cc:3837
 msgid "In explicit object member function %qD"
 msgstr ""
 
-#: cp/error.cc:3715
+#: cp/error.cc:3839
 msgid "In member function %qD"
 msgstr ""
 
-#: cp/error.cc:3718
+#: cp/error.cc:3842
 msgid "In function %qD"
 msgstr ""
 
-#: cp/error.cc:3741
+#: cp/error.cc:3869
 #, c-format
-msgid "%sIn substitution of %qS:\n"
+msgid "%s%s%sIn substitution of %qS:\n"
 msgstr ""
 
-#: cp/error.cc:3742
-msgid "%sIn instantiation of %q#D:\n"
+#: cp/error.cc:3870
+msgid "%s%s%sIn instantiation of %q#D:\n"
 msgstr ""
 
-#: cp/error.cc:3767 cp/error.cc:3925
+#: cp/error.cc:3890
 msgid "%r%s:%d:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3770 cp/error.cc:3928
+#: cp/error.cc:3893
 msgid "%r%s:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3778
+#: cp/error.cc:3986
 #, c-format
 msgid "recursively required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3779
+#: cp/error.cc:3987
 #, c-format
 msgid "required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3784
+#: cp/error.cc:3992
 msgid "recursively required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3785
+#: cp/error.cc:3993
 msgid "required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3792
+#: cp/error.cc:4000
 msgid "recursively required from here\n"
 msgstr ""
 
-#: cp/error.cc:3793
+#: cp/error.cc:4001
 msgid "required from here\n"
 msgstr ""
 
-#: cp/error.cc:3849
-msgid ""
-"%r%s:%d:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-"
-"backtrace-limit=0 to disable ]\n"
-msgstr ""
-
-#: cp/error.cc:3855
+#: cp/error.cc:4051
+#, c-format
 msgid ""
-"%r%s:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-backtrace-"
-"limit=0 to disable ]\n"
-msgstr ""
-
-#: cp/error.cc:3909
-msgid "%r%s:%d:%d:%R   in %<constexpr%> expansion of %qs"
+"[ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to "
+"disable ]\n"
 msgstr ""
 
-#: cp/error.cc:3913
-msgid "%r%s:%d:%R   in %<constexpr%> expansion of %qs"
+#: cp/error.cc:4103
+msgid "in %<constexpr%> expansion of %qs"
 msgstr ""
 
-#: cp/pt.cc:2041 cp/semantics.cc:6306
+#: cp/pt.cc:2062 cp/semantics.cc:6706
 msgid "candidates are:"
 msgstr ""
 
@@ -23219,56 +23203,56 @@ msgstr ""
 msgid "conversion casts away constness"
 msgstr ""
 
-#: cp/rtti.cc:818
+#: cp/rtti.cc:820
 msgid "source type is not polymorphic"
 msgstr ""
 
-#: cp/typeck.cc:7443 c/c-typeck.cc:4685
+#: cp/typeck.cc:7524 c/c-typeck.cc:5282
 #, gcc-internal-format
 msgid "wrong type argument to unary minus"
 msgstr ""
 
-#: cp/typeck.cc:7444 c/c-typeck.cc:4671
+#: cp/typeck.cc:7525 c/c-typeck.cc:5268
 #, gcc-internal-format
 msgid "wrong type argument to unary plus"
 msgstr ""
 
-#: cp/typeck.cc:7471 c/c-typeck.cc:4730
+#: cp/typeck.cc:7552 c/c-typeck.cc:5327
 #, gcc-internal-format
 msgid "wrong type argument to bit-complement"
 msgstr ""
 
-#: cp/typeck.cc:7488 c/c-typeck.cc:4738
+#: cp/typeck.cc:7572 c/c-typeck.cc:5335
 #, gcc-internal-format
 msgid "wrong type argument to abs"
 msgstr ""
 
-#: cp/typeck.cc:7500 c/c-typeck.cc:4760
+#: cp/typeck.cc:7584 c/c-typeck.cc:5357
 #, gcc-internal-format
 msgid "wrong type argument to conjugation"
 msgstr ""
 
-#: cp/typeck.cc:7524
+#: cp/typeck.cc:7608
 msgid "in argument to unary !"
 msgstr ""
 
-#: cp/typeck.cc:7573
+#: cp/typeck.cc:7657
 msgid "no pre-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7575
+#: cp/typeck.cc:7659
 msgid "no post-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7577
+#: cp/typeck.cc:7661
 msgid "no pre-decrement operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7579
+#: cp/typeck.cc:7663
 msgid "no post-decrement operator for type"
 msgstr ""
 
-#: fortran/arith.cc:1544
+#: fortran/arith.cc:1664
 msgid "elemental binary operation"
 msgstr ""
 
@@ -23276,22 +23260,66 @@ msgstr ""
 msgid " [see %<-fno-allow-invalid-boz%>]"
 msgstr ""
 
-#: fortran/check.cc:3732
+#: fortran/check.cc:482
+msgid "BOZ constant truncated at %L"
+msgstr ""
+
+#: fortran/check.cc:4087
 #, c-format
 msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/check.cc:3941 fortran/check.cc:4023 fortran/check.cc:4088
+#: fortran/check.cc:4325 fortran/check.cc:4410 fortran/check.cc:4475
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:4432 fortran/intrinsic.cc:4837
+#: fortran/check.cc:4919 fortran/intrinsic.cc:4918
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3731
+#: fortran/check.cc:5718
+msgid "NULL() is not interoperable"
+msgstr ""
+
+#: fortran/check.cc:5724
+msgid "BOZ literal constant"
+msgstr ""
+
+#: fortran/check.cc:5730
+msgid "Expression is polymorphic"
+msgstr ""
+
+#: fortran/check.cc:5737
+msgid "Expression is a noninteroperable derived type"
+msgstr ""
+
+#: fortran/check.cc:5743
+msgid "Procedure unexpected as argument"
+msgstr ""
+
+#: fortran/check.cc:5753
+msgid "Extension to use a non-C_Bool-kind LOGICAL"
+msgstr ""
+
+#: fortran/check.cc:5760
+msgid "Extension to use a non-C_CHAR-kind CHARACTER"
+msgstr ""
+
+#: fortran/check.cc:5781
+msgid "Type shall have a character length of 1"
+msgstr ""
+
+#: fortran/check.cc:5792
+msgid "Coarrays are not interoperable"
+msgstr ""
+
+#: fortran/check.cc:5803
+msgid "Assumed-size arrays are not interoperable"
+msgstr ""
+
+#: fortran/dump-parse-tree.cc:4127
 #, c-format
 msgid ""
 "/* Prototypes for external procedures generated from %s\n"
@@ -23302,123 +23330,131 @@ msgid ""
 "\n"
 msgstr ""
 
-#: fortran/error.cc:1043
+#: fortran/error.cc:324
 msgid "Prohibited in Fortran 2023:"
 msgstr ""
 
-#: fortran/error.cc:1045
+#: fortran/error.cc:326
 msgid "Fortran 2023:"
 msgstr ""
 
-#: fortran/error.cc:1047
+#: fortran/error.cc:328
 msgid "Fortran 2018 deleted feature:"
 msgstr ""
 
-#: fortran/error.cc:1049
+#: fortran/error.cc:330
 msgid "Fortran 2018 obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:1051
+#: fortran/error.cc:332
 msgid "Fortran 2018:"
 msgstr ""
 
-#: fortran/error.cc:1053
+#: fortran/error.cc:334
 msgid "Fortran 2008 obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:1059
+#: fortran/error.cc:340
 msgid "GNU Extension:"
 msgstr ""
 
-#: fortran/error.cc:1061
+#: fortran/error.cc:342
 msgid "Legacy Extension:"
 msgstr ""
 
-#: fortran/error.cc:1063
+#: fortran/error.cc:344
 msgid "Obsolescent feature:"
 msgstr ""
 
-#: fortran/error.cc:1065
+#: fortran/error.cc:346
 msgid "Deleted feature:"
 msgstr ""
 
-#: fortran/expr.cc:3818
+#: fortran/error.cc:348
+msgid "Unsigned:"
+msgstr ""
+
+#: fortran/expr.cc:3854
 msgid "array assignment"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2387
+#: fortran/frontend-passes.cc:2348
 msgid ""
 "Index variable %qs redefined at %L in procedure %qs called from within DO "
 "loop at %L"
 msgstr ""
 
 #. Macros for unified error messages.
-#: fortran/frontend-passes.cc:4082
+#: fortran/frontend-passes.cc:4043
 #, c-format
 msgid ""
 "Incorrect extent in argument B in MATMUL intrinsic in dimension 1: is %ld, "
 "should be %ld"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4085
+#: fortran/frontend-passes.cc:4046
 #, c-format
 msgid "Array bound mismatch for dimension 1 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4088
+#: fortran/frontend-passes.cc:4049
 #, c-format
 msgid "Array bound mismatch for dimension 2 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/gfortranspec.cc:427 m2/gm2spec.cc:916
+#: fortran/gfortranspec.cc:427 m2/gm2spec.cc:922
 #, c-format
 msgid "Driving:"
 msgstr ""
 
-#: fortran/interface.cc:3758 fortran/intrinsic.cc:4515
+#: fortran/interface.cc:3884 fortran/intrinsic.cc:4596
 msgid "actual argument to INTENT = OUT/INOUT"
 msgstr ""
 
-#: fortran/intrinsic.cc:4874
+#: fortran/intrinsic.cc:4955
 msgid "available since Fortran 77"
 msgstr ""
 
-#: fortran/intrinsic.cc:4878
+#: fortran/intrinsic.cc:4959
 msgid "obsolescent in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4882
+#: fortran/intrinsic.cc:4963
 msgid "deleted in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4886
+#: fortran/intrinsic.cc:4967
 msgid "new in Fortran 95"
 msgstr ""
 
-#: fortran/intrinsic.cc:4890
+#: fortran/intrinsic.cc:4971
 msgid "new in Fortran 2003"
 msgstr ""
 
-#: fortran/intrinsic.cc:4894
+#: fortran/intrinsic.cc:4975
 msgid "new in Fortran 2008"
 msgstr ""
 
-#: fortran/intrinsic.cc:4898
+#: fortran/intrinsic.cc:4979
 msgid "new in Fortran 2018"
 msgstr ""
 
-#: fortran/intrinsic.cc:4902
+#: fortran/intrinsic.cc:4983
 msgid "new in Fortran 2023"
 msgstr ""
 
-#: fortran/intrinsic.cc:4906
+#: fortran/intrinsic.cc:4987
 msgid "a GNU Fortran extension"
 msgstr ""
 
-#: fortran/intrinsic.cc:4910
+#: fortran/intrinsic.cc:4991
 msgid "for backward compatibility"
 msgstr ""
 
+#: fortran/intrinsic.cc:4995
+msgid "unsigned"
+msgstr ""
+
 #: fortran/io.cc:1873
 #, c-format
 msgid "%s tag"
@@ -23440,441 +23476,365 @@ msgstr ""
 msgid "Syntax error in expression at %C"
 msgstr ""
 
-#: fortran/module.cc:1259
+#: fortran/module.cc:1261
 msgid "Unexpected EOF"
 msgstr ""
 
-#: fortran/module.cc:1384
+#: fortran/module.cc:1386
 msgid "Name too long"
 msgstr ""
 
-#: fortran/module.cc:1438 fortran/module.cc:1496 fortran/module.cc:1551
-#: fortran/module.cc:1609
+#: fortran/module.cc:1440 fortran/module.cc:1498 fortran/module.cc:1553
+#: fortran/module.cc:1611
 msgid "Bad name"
 msgstr ""
 
-#: fortran/module.cc:1633
+#: fortran/module.cc:1635
 msgid "Expected name"
 msgstr ""
 
-#: fortran/module.cc:1636
+#: fortran/module.cc:1638
 msgid "Expected left parenthesis"
 msgstr ""
 
-#: fortran/module.cc:1639
+#: fortran/module.cc:1641
 msgid "Expected right parenthesis"
 msgstr ""
 
-#: fortran/module.cc:1642
+#: fortran/module.cc:1644
 msgid "Expected integer"
 msgstr ""
 
-#: fortran/module.cc:1645 fortran/module.cc:2869
+#: fortran/module.cc:1647 fortran/module.cc:2881
 msgid "Expected string"
 msgstr ""
 
-#: fortran/module.cc:1670
+#: fortran/module.cc:1672
 msgid "find_enum(): Enum not found"
 msgstr ""
 
-#: fortran/module.cc:2243
+#: fortran/module.cc:2246
 msgid "Unsupported: multiple OpenACC 'routine' levels of parallelism"
 msgstr ""
 
-#: fortran/module.cc:2489
+#: fortran/module.cc:2494
 msgid "Expected attribute bit name"
 msgstr ""
 
-#: fortran/module.cc:3498
+#: fortran/module.cc:3510
 msgid "Expected integer string"
 msgstr ""
 
-#: fortran/module.cc:3502
+#: fortran/module.cc:3514
 msgid "Error converting integer"
 msgstr ""
 
-#: fortran/module.cc:3524
+#: fortran/module.cc:3536
 msgid "Expected real string"
 msgstr ""
 
-#: fortran/module.cc:3749
+#: fortran/module.cc:3761
 msgid "Expected expression type"
 msgstr ""
 
-#: fortran/module.cc:3829
+#: fortran/module.cc:3841
 msgid "Bad operator"
 msgstr ""
 
-#: fortran/module.cc:3946
+#: fortran/module.cc:3959
 msgid "Bad type in constant expression"
 msgstr ""
 
-#: fortran/module.cc:7404
+#: fortran/module.cc:7456
 msgid "Unexpected end of module"
 msgstr ""
 
-#: fortran/parse.cc:2139
+#: fortran/parse.cc:2230
 msgid "arithmetic IF"
 msgstr ""
 
-#: fortran/parse.cc:2148
+#: fortran/parse.cc:2239
 msgid "attribute declaration"
 msgstr ""
 
-#: fortran/parse.cc:2184
+#: fortran/parse.cc:2275
 msgid "data declaration"
 msgstr ""
 
-#: fortran/parse.cc:2202
+#: fortran/parse.cc:2293
 msgid "derived type declaration"
 msgstr ""
 
-#: fortran/parse.cc:2329
+#: fortran/parse.cc:2420
 msgid "block IF"
 msgstr ""
 
-#: fortran/parse.cc:2338
+#: fortran/parse.cc:2429
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.cc:2432 fortran/resolve.cc:12765
+#: fortran/parse.cc:2523 fortran/resolve.cc:14082
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.cc:2435 fortran/resolve.cc:12831 fortran/resolve.cc:12834
+#: fortran/parse.cc:2526 fortran/resolve.cc:14148 fortran/resolve.cc:14151
 msgid "pointer assignment"
 msgstr ""
 
-#: fortran/parse.cc:2459
+#: fortran/parse.cc:2550
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.cc:2442 fortran/resolve.cc:2637
+#: fortran/resolve.cc:2464 fortran/resolve.cc:2659
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.cc:2540
+#: fortran/resolve.cc:2562
 msgid "allocatable argument"
 msgstr ""
 
-#: fortran/resolve.cc:2545
+#: fortran/resolve.cc:2567
 msgid "asynchronous argument"
 msgstr ""
 
-#: fortran/resolve.cc:2550
+#: fortran/resolve.cc:2572
 msgid "optional argument"
 msgstr ""
 
-#: fortran/resolve.cc:2555
+#: fortran/resolve.cc:2577
 msgid "pointer argument"
 msgstr ""
 
-#: fortran/resolve.cc:2560
+#: fortran/resolve.cc:2582
 msgid "target argument"
 msgstr ""
 
-#: fortran/resolve.cc:2565
+#: fortran/resolve.cc:2587
 msgid "value argument"
 msgstr ""
 
-#: fortran/resolve.cc:2570
+#: fortran/resolve.cc:2592
 msgid "volatile argument"
 msgstr ""
 
-#: fortran/resolve.cc:2575
+#: fortran/resolve.cc:2597
 msgid "assumed-shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:2580
+#: fortran/resolve.cc:2602
 msgid "assumed-rank argument"
 msgstr ""
 
-#: fortran/resolve.cc:2585
+#: fortran/resolve.cc:2607
 msgid "coarray argument"
 msgstr ""
 
-#: fortran/resolve.cc:2590
+#: fortran/resolve.cc:2612
 msgid "parametrized derived type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2595
+#: fortran/resolve.cc:2617
 msgid "polymorphic argument"
 msgstr ""
 
-#: fortran/resolve.cc:2600
+#: fortran/resolve.cc:2622
 msgid "NO_ARG_CHECK attribute"
 msgstr ""
 
 #. As assumed-type is unlimited polymorphic (cf. above).
 #. See also TS 29113, Note 6.1.
-#: fortran/resolve.cc:2607
+#: fortran/resolve.cc:2629
 msgid "assumed-type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2618
+#: fortran/resolve.cc:2640
 msgid "array result"
 msgstr ""
 
-#: fortran/resolve.cc:2623
+#: fortran/resolve.cc:2645
 msgid "pointer or allocatable result"
 msgstr ""
 
-#: fortran/resolve.cc:2630
+#: fortran/resolve.cc:2652
 msgid "result with non-constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:2642
+#: fortran/resolve.cc:2664
 msgid "bind(c) procedure"
 msgstr ""
 
-#: fortran/resolve.cc:4214
-#, c-format
-msgid "Invalid context for NULL() pointer at %%L"
-msgstr ""
-
-#: fortran/resolve.cc:4231
-#, c-format
-msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s"
-msgstr ""
-
-#: fortran/resolve.cc:4249 fortran/resolve.cc:4432 fortran/resolve.cc:4587
-#, c-format
-msgid "Inconsistent ranks for operator at %%L and %%L"
-msgstr ""
-
-#: fortran/resolve.cc:4259
-#, c-format
-msgid ""
-"Unexpected derived-type entities in binary intrinsic numeric operator "
-"%%<%s%%> at %%L"
-msgstr ""
-
-#: fortran/resolve.cc:4264
-#, c-format
-msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
-msgstr ""
-
-#: fortran/resolve.cc:4279
-#, c-format
-msgid "Operands of string concatenation operator at %%L are %s/%s"
-msgstr ""
-
-#: fortran/resolve.cc:4322
-#, c-format
-msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s"
-msgstr ""
-
-#: fortran/resolve.cc:4345
-#, c-format
-msgid "Operand of .not. operator at %%L is %s"
-msgstr ""
-
-#: fortran/resolve.cc:4359
-msgid "COMPLEX quantities cannot be compared at %L"
-msgstr ""
-
-#: fortran/resolve.cc:4468
-#, c-format
-msgid "Logicals at %%L must be compared with %s instead of %s"
-msgstr ""
-
-#: fortran/resolve.cc:4474
-#, c-format
-msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s"
-msgstr ""
-
-#: fortran/resolve.cc:4488
-#, c-format
-msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?"
-msgstr ""
-
-#: fortran/resolve.cc:4491
-#, c-format
-msgid "Unknown operator %%<%s%%> at %%L"
-msgstr ""
-
-#: fortran/resolve.cc:4496
-#, c-format
-msgid "Operand of user operator %%<%s%%> at %%L is %s"
-msgstr ""
-
-#: fortran/resolve.cc:4501
-#, c-format
-msgid "Operands of user operator %%<%s%%> at %%L are %s/%s"
-msgstr ""
-
-#: fortran/resolve.cc:7659
+#: fortran/resolve.cc:8500
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.cc:7663
+#: fortran/resolve.cc:8504
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.cc:7667
+#: fortran/resolve.cc:8508
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7671
+#: fortran/resolve.cc:8512
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7675
+#: fortran/resolve.cc:8516
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7962 fortran/resolve.cc:7965
+#: fortran/resolve.cc:9141 fortran/resolve.cc:9144
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8353 fortran/resolve.cc:8356
+#: fortran/resolve.cc:9544 fortran/resolve.cc:9547
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8593 fortran/resolve.cc:10670 fortran/resolve.cc:10791
+#: fortran/resolve.cc:9784 fortran/resolve.cc:11931 fortran/resolve.cc:12052
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.cc:8644 fortran/resolve.cc:10682 fortran/resolve.cc:10803
+#: fortran/resolve.cc:9835 fortran/resolve.cc:11943 fortran/resolve.cc:12064
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.cc:10472
+#: fortran/resolve.cc:11739
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.cc:10694
+#: fortran/resolve.cc:11955
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
-#: fortran/trans-array.cc:1936
+#: fortran/trans-array.cc:2059
 #, c-format
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.cc:6401
+#: fortran/trans-array.cc:6621
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
-#: fortran/trans-array.cc:10501
+#: fortran/trans-array.cc:10918
 #, 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:6378
+#: fortran/trans-decl.cc:6564
 #, c-format
 msgid ""
 "Actual string length does not match the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-decl.cc:6386
+#: fortran/trans-decl.cc:6572
 #, c-format
 msgid ""
 "Actual string length is shorter than the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:10754
+#: fortran/trans-expr.cc:11347
 #, c-format
 msgid "Target of rank remapping is too small (%ld < %ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:12351
+#: fortran/trans-expr.cc:13039
 msgid "Assignment of scalar to unallocated array"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:983
+#: fortran/trans-intrinsic.cc:985
 #, c-format
 msgid "Unequal character lengths (%ld/%ld) in %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6518
+#: fortran/trans-intrinsic.cc:6961
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic BTEST"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6613
+#: fortran/trans-intrinsic.cc:7248
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6661
+#: fortran/trans-intrinsic.cc:7296
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6671
+#: fortran/trans-intrinsic.cc:7306
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%ld in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6678
+#: fortran/trans-intrinsic.cc:7313
 #, c-format
 msgid "POS(%ld)+LEN(%ld)>BIT_SIZE(%ld) in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6760
+#: fortran/trans-intrinsic.cc:7405
 #, c-format
 msgid "SHIFT argument (%ld) out of range 0:%ld in intrinsic %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6828
+#: fortran/trans-intrinsic.cc:7473
 #, c-format
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFT"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6908
+#: fortran/trans-intrinsic.cc:7553
 #, c-format
 msgid "SIZE argument (%ld) out of range 1:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6916 fortran/trans-intrinsic.cc:6961
+#: fortran/trans-intrinsic.cc:7561 fortran/trans-intrinsic.cc:7606
 #, c-format
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9333
+#: fortran/trans-intrinsic.cc:10021
 #, c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9365
+#: fortran/trans-intrinsic.cc:10053
 msgid "Argument NCOPIES of REPEAT intrinsic is too large"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12534
+#: fortran/trans-intrinsic.cc:13513
 #, c-format
 msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12546
+#: fortran/trans-intrinsic.cc:13525
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12558
+#: fortran/trans-intrinsic.cc:13537
 #, c-format
 msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12570
+#: fortran/trans-intrinsic.cc:13549
 #, c-format
 msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12578
+#: fortran/trans-intrinsic.cc:13557
 #, c-format
 msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-io.cc:587
+#: fortran/trans-io.cc:597
 msgid "Unit number in I/O statement too small"
 msgstr ""
 
-#: fortran/trans-io.cc:596
+#: fortran/trans-io.cc:606
 msgid "Unit number in I/O statement too large"
 msgstr ""
 
@@ -23882,47 +23842,54 @@ msgstr ""
 msgid "Assigned label is not a target label"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1291
+#: fortran/trans-stmt.cc:1294
 #, c-format
 msgid "Invalid image number %d in SYNC IMAGES"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2517
+#: fortran/trans-stmt.cc:2607
 msgid "Loop iterates infinitely"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2537 fortran/trans-stmt.cc:2793
+#: fortran/trans-stmt.cc:2627 fortran/trans-stmt.cc:2883
 msgid "Loop variable has been modified"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2646
+#: fortran/trans-stmt.cc:2736
 msgid "DO step value is zero"
 msgstr ""
 
-#: fortran/trans.cc:47
+#. Naming convention for backend interface code:
+#.
+#. gfc_trans_* translate gfc_code into STMT trees.
+#.
+#. gfc_conv_*  expression conversion
+#.
+#. gfc_get_*   get a backend tree representation of a decl or type
+#: fortran/trans.cc:45
 msgid "Array reference out of bounds"
 msgstr ""
 
-#: fortran/trans.cc:770 fortran/trans.cc:854
+#: fortran/trans.cc:775 fortran/trans.cc:859
 #, c-format
 msgid "Error allocating %lu bytes"
 msgstr ""
 
-#: fortran/trans.cc:1067
+#: fortran/trans.cc:1072
 #, c-format
 msgid "Attempting to allocate already allocated variable '%s'"
 msgstr ""
 
-#: fortran/trans.cc:1073
+#: fortran/trans.cc:1078
 msgid "Attempting to allocate already allocated variable"
 msgstr ""
 
-#: fortran/trans.cc:1866 fortran/trans.cc:2044
+#: fortran/trans.cc:1878 fortran/trans.cc:2056
 #, c-format
 msgid "Attempt to DEALLOCATE unallocated '%s'"
 msgstr ""
 
-#: fortran/trans.cc:2212
+#: fortran/trans.cc:2224
 #, c-format
 msgid "Error reallocating to %lu bytes"
 msgstr ""
@@ -23943,7 +23910,7 @@ msgstr ""
 msgid "short read while reading export data"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:684 cp/cvt.cc:1419
+#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:685 cp/cvt.cc:1431
 #: d/toir.cc:225 rust/backend/rust-tree.cc:512
 #, gcc-internal-format
 msgid "value computed is not used"
@@ -23970,8 +23937,8 @@ msgstr ""
 msgid "expected boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5610 c/c-parser.cc:18370 c/c-parser.cc:18377
-#: cp/parser.cc:41041 cp/parser.cc:41048
+#: go/gofrontend/expressions.cc:5610 c/c-parser.cc:19492 c/c-parser.cc:19499
+#: cp/parser.cc:41836 cp/parser.cc:41843
 #, gcc-internal-format
 msgid "expected integer"
 msgstr ""
@@ -23981,6 +23948,8 @@ msgid "invalid comparison of nil with nil"
 msgstr ""
 
 #: go/gofrontend/expressions.cc:7609 go/gofrontend/expressions.cc:7627
+#: go/gofrontend/expressions.cc:7457 go/gofrontend/expressions.cc:8423
+#, gcc-internal-format
 msgid "incompatible types in binary expression"
 msgstr ""
 
@@ -24018,178 +23987,178 @@ msgstr ""
 msgid "len larger than cap"
 msgstr ""
 
-#: 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
+#: go/gofrontend/expressions.cc:11160 go/gofrontend/expressions.cc:11208
+#: go/gofrontend/expressions.cc:11378 go/gofrontend/expressions.cc:11433
+#: go/gofrontend/expressions.cc:11504 go/gofrontend/expressions.cc:11663
+#: go/gofrontend/expressions.cc:11709 go/gofrontend/expressions.cc:11744
+#: go/gofrontend/expressions.cc:11842 go/gofrontend/expressions.cc:13985
+#: go/gofrontend/expressions.cc:14144 go/gofrontend/expressions.cc:14161
+#: go/gofrontend/expressions.cc:14177
 msgid "not enough arguments"
 msgstr ""
 
-#: 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:9370
+#: go/gofrontend/expressions.cc:11165 go/gofrontend/expressions.cc:11213
+#: go/gofrontend/expressions.cc:11383 go/gofrontend/expressions.cc:11506
+#: go/gofrontend/expressions.cc:11633 go/gofrontend/expressions.cc:11668
+#: go/gofrontend/expressions.cc:11749 go/gofrontend/expressions.cc:11844
+#: go/gofrontend/expressions.cc:14020 go/gofrontend/expressions.cc:14149
+#: go/gofrontend/expressions.cc:14163 go/gofrontend/expressions.cc:14184
+#: cp/pt.cc:9465
 #, gcc-internal-format
 msgid "too many arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11449
+#: go/gofrontend/expressions.cc:11455
 msgid "invalid type for make function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11459
+#: go/gofrontend/expressions.cc:11465
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11488
+#: go/gofrontend/expressions.cc:11494
 msgid "too many arguments to make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11502
+#: go/gofrontend/expressions.cc:11508
 msgid "argument 1 must be a map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11543
+#: go/gofrontend/expressions.cc:11549
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11553
+#: go/gofrontend/expressions.cc:11559
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11594
+#: go/gofrontend/expressions.cc:11600
 msgid "unsupported argument type to builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11606
+#: go/gofrontend/expressions.cc:11612
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11608
+#: go/gofrontend/expressions.cc:11614
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11619
+#: go/gofrontend/expressions.cc:11625
 msgid "argument to builtin has void type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11645
+#: go/gofrontend/expressions.cc:11651
 msgid "invalid use of method value as argument of Offsetof"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11648
+#: go/gofrontend/expressions.cc:11654
 msgid "argument must be a field reference"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11678
+#: go/gofrontend/expressions.cc:11684
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11686
+#: go/gofrontend/expressions.cc:11692
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11691
+#: go/gofrontend/expressions.cc:11697
 msgid "first argument must be []byte"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11694
+#: go/gofrontend/expressions.cc:11700
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11806
+#: go/gofrontend/expressions.cc:11812
 msgid "argument must have complex type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11822
+#: go/gofrontend/expressions.cc:11828
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11824
+#: go/gofrontend/expressions.cc:11830
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13781 go/gofrontend/expressions.cc:14520
+#: go/gofrontend/expressions.cc:13787 go/gofrontend/expressions.cc:14526
 msgid "expected function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14097
+#: go/gofrontend/expressions.cc:14103
 msgid "function result count mismatch"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14123
+#: go/gofrontend/expressions.cc:14129
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14529 go/gofrontend/expressions.cc:14543
+#: go/gofrontend/expressions.cc:14535 go/gofrontend/expressions.cc:14549
 msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14671
+#: go/gofrontend/expressions.cc:14677
 msgid "invalid 3-index slice of object that is not a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14674
+#: go/gofrontend/expressions.cc:14680
 msgid "attempt to slice object that is not array, slice, or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14677
+#: go/gofrontend/expressions.cc:14683
 msgid "attempt to index object that is not array, slice, string, or map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14730
+#: go/gofrontend/expressions.cc:14736
 msgid "attempt to index type expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14757
+#: go/gofrontend/expressions.cc:14763
 msgid "invalid 3-index slice of string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14770
+#: go/gofrontend/expressions.cc:14776
 msgid "invalid slice of map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14779 go/gofrontend/expressions.cc:15970
+#: go/gofrontend/expressions.cc:14785 go/gofrontend/expressions.cc:15976
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:16481
+#: go/gofrontend/expressions.cc:16487
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:18212
+#: go/gofrontend/expressions.cc:18218
 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
+#: go/gofrontend/expressions.cc:18312 go/gofrontend/expressions.cc:18624
 msgid "map composite literal must have keys"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:18651
+#: go/gofrontend/expressions.cc:18657
 msgid "expected struct, slice, array, or map type for composite literal"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:19266 go/gofrontend/statements.cc:2121
+#: go/gofrontend/expressions.cc:19272 go/gofrontend/statements.cc:2121
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:19278
+#: go/gofrontend/expressions.cc:19284
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:19480 go/gofrontend/expressions.cc:19500
+#: go/gofrontend/expressions.cc:19486 go/gofrontend/expressions.cc:19506
 #: go/gofrontend/statements.cc:1936
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:19505 go/gofrontend/statements.cc:1941
+#: go/gofrontend/expressions.cc:19511 go/gofrontend/statements.cc:1941
 #: go/gofrontend/statements.cc:6847
 msgid "invalid receive on send-only channel"
 msgstr ""
@@ -24395,12 +24364,17 @@ msgstr ""
 msgid "You have broken GCC Rust. This is a feature.\n"
 msgstr ""
 
-#: lto-streamer.h:1033
+#: data-streamer.h:233
+#, gcc-internal-format
+msgid "degree of %<poly_int%> exceeds %<NUM_POLY_INT_COEFFS%> (%d)"
+msgstr ""
+
+#: lto-streamer.h:1039
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:1043
+#: lto-streamer.h:1049
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -24410,7 +24384,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:711
+#: config/darwin.h:715
 #, gcc-internal-format
 msgid "alias definitions not supported in Mach-O; ignored"
 msgstr ""
@@ -24421,18 +24395,18 @@ msgstr ""
 msgid "profiler support for VxWorks"
 msgstr ""
 
-#: config/arm/freebsd.h:121
+#: config/arm/freebsd.h:122
 #, gcc-internal-format
 msgid "target OS does not support unaligned accesses"
 msgstr ""
 
-#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:181
+#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:191
 #, gcc-internal-format
 msgid "profiling is not yet implemented for this architecture"
 msgstr ""
 
 #. Definitions for GCC.  Part of the machine description for CRIS.
-#. Copyright (C) 1998-2024 Free Software Foundation, Inc.
+#. Copyright (C) 1998-2025 Free Software Foundation, Inc.
 #. Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 #.
 #. This file is part of GCC.
@@ -24509,7 +24483,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-2024 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2025 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -24532,7 +24506,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-2024 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2025 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -24555,7 +24529,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-2024 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2025 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -24593,7 +24567,7 @@ msgid ""
 msgstr ""
 
 #: config/rs6000/aix71.h:48 config/rs6000/aix72.h:48 config/rs6000/aix73.h:48
-#: config/rs6000/rtems.h:128 config/rs6000/rs6000.cc:3479
+#: config/rs6000/rtems.h:128 config/rs6000/rs6000.cc:3492
 #, gcc-internal-format
 msgid "%<-mcmodel%> incompatible with other toc options"
 msgstr ""
@@ -24603,7 +24577,7 @@ msgstr ""
 msgid "%<soft-float%> and long-double-128 are incompatible"
 msgstr ""
 
-#: config/rs6000/rtems.h:121 config/rs6000/rs6000.cc:3471
+#: config/rs6000/rtems.h:121 config/rs6000/rs6000.cc:3484
 #, gcc-internal-format
 msgid "%<-m64%> requires a PowerPC64 cpu"
 msgstr ""
@@ -24662,7 +24636,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC"
 msgstr ""
 
 #. A general purpose syntax error.
-#: fortran/gfortran.h:3413 fortran/io.cc:3727 fortran/io.cc:4413
+#: fortran/gfortran.h:3533 fortran/io.cc:3727 fortran/io.cc:4413
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in %s statement at %C"
 msgstr ""
@@ -24692,17 +24666,22 @@ msgstr ""
 msgid "%s:%d:the value %s is not a BOOLEAN as the value is %d"
 msgstr ""
 
-#: fortran/lang.opt:432
+#: fortran/lang.opt:436
 #, gcc-internal-format
 msgid "Unrecognized option to endianness value: %qs"
 msgstr ""
 
-#: fortran/lang.opt:654
+#: fortran/lang.opt:658
 #, gcc-internal-format
 msgid "Unrecognized option to floating-point init value: %qs"
 msgstr ""
 
-#: fortran/lang.opt:792
+#: fortran/lang.opt:690
+#, gcc-internal-format
+msgid "%qs is not an inline-controlable intrinsic"
+msgstr ""
+
+#: fortran/lang.opt:827
 #, gcc-internal-format
 msgid "Unrecognized option: %qs"
 msgstr ""
@@ -24727,101 +24706,112 @@ msgstr ""
 msgid "unknown rust compile-until %qs"
 msgstr ""
 
-#: c-family/c.opt:43 c-family/c.opt:46 c-family/c.opt:181
+#: c-family/c.opt:43 c-family/c.opt:46 c-family/c.opt:191
 #, gcc-internal-format
 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:276
+#: c-family/c.opt:55 c-family/c.opt:58 c-family/c.opt:173 c-family/c.opt:176
+#: c-family/c.opt:203 c-family/c.opt:286
 #, 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:2373 c-family/c.opt:2381
-#: config/darwin.opt:30 common.opt:329 common.opt:332 common.opt:429
-#: common.opt:3686
+#: c-family/c.opt:70 c-family/c.opt:80 c-family/c.opt:83 c-family/c.opt:86
+#: c-family/c.opt:89 c-family/c.opt:185 c-family/c.opt:188 c-family/c.opt:230
+#: c-family/c.opt:234 c-family/c.opt:246 c-family/c.opt:2481
+#: c-family/c.opt:2489 config/darwin.opt:30 common.opt:329 common.opt:332
+#: common.opt:429 common.opt:3769
 #, 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:268 c-family/c.opt:2369
-#: c-family/c.opt:2389 c-family/c.opt:2393 c-family/c.opt:2397
+#: c-family/c.opt:74 c-family/c.opt:77 c-family/c.opt:95 c-family/c.opt:98
+#: c-family/c.opt:101 c-family/c.opt:104 c-family/c.opt:210 c-family/c.opt:222
+#: c-family/c.opt:278 c-family/c.opt:2477 c-family/c.opt:2497
+#: c-family/c.opt:2501 c-family/c.opt:2505
 #, gcc-internal-format
 msgid "missing path after %qs"
 msgstr ""
 
-#: c-family/c.opt:252 c-family/c.opt:256
+#: c-family/c.opt:262 c-family/c.opt:266
 #, gcc-internal-format
 msgid "missing makefile target after %qs"
 msgstr ""
 
-#: c-family/c.opt:260
+#: c-family/c.opt:270
 #, gcc-internal-format
 msgid "missing format after %qs"
 msgstr ""
 
-#: c-family/c.opt:264
+#: c-family/c.opt:274
 #, gcc-internal-format
 msgid "missing output path after %qs"
 msgstr ""
 
-#: c-family/c.opt:311
+#: c-family/c.opt:321
 #, gcc-internal-format
 msgid "argument %qs to %<-Waligned-new%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:406
+#: c-family/c.opt:416
 #, gcc-internal-format
 msgid "argument %qs to %<-Wbidi-chars%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1072
+#: c-family/c.opt:944
+#, gcc-internal-format
+msgid "argument %qs to %<-Wleading-whitespace=%> not recognized"
+msgstr ""
+
+#: c-family/c.opt:1133
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1736
+#: c-family/c.opt:1505
+#, gcc-internal-format
+msgid "argument %qs to %<-Wtrailing-whitespace=%> not recognized"
+msgstr ""
+
+#: c-family/c.opt:1833
 #, gcc-internal-format
 msgid "no class name specified with %qs"
 msgstr ""
 
-#: c-family/c.opt:1764
+#: c-family/c.opt:1861
 #, gcc-internal-format
 msgid "argument %qs must be either %<on%> or %<off%>"
 msgstr ""
 
-#: c-family/c.opt:1908
+#: c-family/c.opt:2005
 #, gcc-internal-format
 msgid ""
 "%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by "
 "default)"
 msgstr ""
 
-#: c-family/c.opt:1983
+#: c-family/c.opt:2080
 #, gcc-internal-format
 msgid "missing mapper"
 msgstr ""
 
-#: c-family/c.opt:2011
+#: c-family/c.opt:2108
 #, gcc-internal-format
 msgid "missing header name"
 msgstr ""
 
-#: c-family/c.opt:2019
+#: c-family/c.opt:2116
 #, gcc-internal-format
 msgid "missing module name"
 msgstr ""
 
-#: c-family/c.opt:2066
+#: c-family/c.opt:2163
 #, gcc-internal-format
 msgid "unrecognized ivar visibility value %qs"
 msgstr ""
 
-#: c-family/c.opt:2233
+#: c-family/c.opt:2341
 #, gcc-internal-format
 msgid "unrecognized scalar storage order value %qs"
 msgstr ""
@@ -24846,7 +24836,12 @@ msgstr ""
 msgid "unknown pointer size model %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:379
+#: config/aarch64/aarch64.opt:363
+#, gcc-internal-format
+msgid "unknown autovec preference %qs"
+msgstr ""
+
+#: config/aarch64/aarch64.opt:408
 #, gcc-internal-format
 msgid "unknown LDP/STP policy %qs"
 msgstr ""
@@ -24863,42 +24858,17 @@ msgid ""
 "masm=intel%> and %<-masm=att%> instead"
 msgstr ""
 
-#: config/i386/i386.opt:729
+#: config/i386/i386.opt:732
 #, gcc-internal-format
 msgid "%<-msse5%> was removed"
 msgstr ""
 
-#: config/i386/i386.opt:745
-#, gcc-internal-format
-msgid "AVX512PF support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386.opt:749
-#, gcc-internal-format
-msgid "AVX512ER support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386.opt:777
-#, gcc-internal-format
-msgid "AVX5124FMAPS support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386.opt:781
-#, gcc-internal-format
-msgid "AVX5124VNNIW support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386.opt:976
-#, gcc-internal-format
-msgid "PREFETCHWT1 support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386.opt:1290
+#: config/i386/i386.opt:1273
 #, gcc-internal-format
 msgid "unknown lam type %qs"
 msgstr ""
 
-#: config/avr/avr.opt:26
+#: config/avr/avr.opt:34
 #, gcc-internal-format
 msgid "missing device or architecture after %qs"
 msgstr ""
@@ -24956,209 +24926,220 @@ msgstr ""
 msgid "unknown linker output %qs"
 msgstr ""
 
-#: common.opt:1646
+#: common.opt:1669
 #, gcc-internal-format
 msgid "unknown excess precision style %qs"
 msgstr ""
 
-#: common.opt:1664
+#: common.opt:1687
 #, gcc-internal-format
 msgid ""
 "unknown specification for the set of FLT_EVAL_METHOD values to permit %qs"
 msgstr ""
 
-#: common.opt:1708
+#: common.opt:1731
 #, gcc-internal-format
 msgid "unknown floating point contraction style %qs"
 msgstr ""
 
-#: common.opt:1876
+#: common.opt:1907
 #, gcc-internal-format
 msgid "unknown hardcfr noreturn checking level %qs"
 msgstr ""
 
-#: common.opt:1911
+#: common.opt:1942
 #, gcc-internal-format
 msgid "unknown Stack Reuse Level %qs"
 msgstr ""
 
-#: common.opt:1983
+#: common.opt:2014
 #, gcc-internal-format
 msgid "unavailable stringop for inlining %qs"
 msgstr ""
 
-#: common.opt:2014
+#: common.opt:2045
 #, gcc-internal-format
 msgid "unknown Control-Flow Protection Level %qs"
 msgstr ""
 
-#: common.opt:2124
+#: common.opt:2155
 #, gcc-internal-format
 msgid "unknown IRA algorithm %qs"
 msgstr ""
 
-#: common.opt:2137
+#: common.opt:2168
 #, gcc-internal-format
 msgid "unknown IRA region %qs"
 msgstr ""
 
-#: common.opt:2215
+#: common.opt:2254
 #, gcc-internal-format
 msgid "unknown LTO partitioning model %qs"
 msgstr ""
 
-#: common.opt:2329
+#: common.opt:2378
 #, gcc-internal-format
 msgid "targets missing after %qs"
 msgstr ""
 
-#: common.opt:2332
+#: common.opt:2381
 #, gcc-internal-format
 msgid "options or targets=options missing after %qs"
 msgstr ""
 
-#: common.opt:2340
+#: common.opt:2389
 #, gcc-internal-format
 msgid "unknown offload ABI %qs"
 msgstr ""
 
-#: common.opt:2508
+#: common.opt:2398
+#, gcc-internal-format
+msgid "option missing after %qs"
+msgstr ""
+
+#: common.opt:2571
 #, gcc-internal-format
 msgid "unknown profile reproducibility method %qs"
 msgstr ""
 
-#: common.opt:2524
+#: common.opt:2587
 #, gcc-internal-format
 msgid "unknown profile update method %qs"
 msgstr ""
 
-#: common.opt:2633
+#: common.opt:2696
 #, gcc-internal-format
 msgid "unknown Live-Patching Level %qs"
 msgstr ""
 
-#: common.opt:2666
+#: common.opt:2729
 #, gcc-internal-format
 msgid "unknown basic block reordering algorithm %qs"
 msgstr ""
 
-#: common.opt:3002
+#: common.opt:3065
 #, gcc-internal-format
 msgid "unknown TLS model %qs"
 msgstr ""
 
-#: common.opt:3035
+#: common.opt:3098
 #, gcc-internal-format
 msgid "unknown trampoline implementation %qs"
 msgstr ""
 
-#: common.opt:3357
+#: common.opt:3420
 #, gcc-internal-format
 msgid "unknown vectorizer cost model %qs"
 msgstr ""
 
-#: common.opt:3388
+#: common.opt:3451
 #, gcc-internal-format
 msgid "unrecognized automatic variable initialization type %qs"
 msgstr ""
 
-#: common.opt:3414
+#: common.opt:3477
 #, gcc-internal-format
 msgid "unrecognized visibility value %qs"
 msgstr ""
 
-#: common.opt:3433
+#: common.opt:3496
 #, gcc-internal-format
 msgid "unknown vtable verify initialization priority %qs"
 msgstr ""
 
-#: params.opt:893
+#: common.opt:3552
+#, gcc-internal-format
+msgid "unrecognized zero init padding bits kind %qs"
+msgstr ""
+
+#: params.opt:909
 #, gcc-internal-format
 msgid "unknown ranger debug mode %qs"
 msgstr ""
 
-#: params.opt:1072
+#: params.opt:1100
 #, gcc-internal-format
 msgid "unknown threader debug mode %qs"
 msgstr ""
 
-#: attribs.cc:242 attribs.cc:265 attribs.cc:278
+#: attribs.cc:244 attribs.cc:267 attribs.cc:280
 #, gcc-internal-format
 msgid "wrong argument to ignored attributes"
 msgstr ""
 
-#: attribs.cc:243
+#: attribs.cc:245
 #, gcc-internal-format
 msgid "valid format is %<ns::attr%> or %<ns::%>"
 msgstr ""
 
-#: attribs.cc:524
+#: attribs.cc:526
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %qE in declaration of a built-in function %qD because it "
 "conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:530 c-family/c-attribs.cc:1271 c-family/c-attribs.cc:1315
+#: attribs.cc:532 c-family/c-attribs.cc:1341 c-family/c-attribs.cc:1385
 #, gcc-internal-format
 msgid "ignoring attribute %qE because it conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:536 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:16446 cp/decl.cc:16496
-#: cp/friend.cc:318 cp/tree.cc:5259
+#: attribs.cc:538 c-family/c-attribs.cc:1051 c-family/c-attribs.cc:2760
+#: c-family/c-attribs.cc:3316 c-family/c-attribs.cc:5279
+#: c-family/c-attribs.cc:5372 cp/decl.cc:17036 cp/decl.cc:17087
+#: cp/friend.cc:319 cp/tree.cc:5397
 #, gcc-internal-format
 msgid "previous declaration here"
 msgstr ""
 
 #. Warn about and ignore all others for now, but store them.
-#: attribs.cc:734 c-family/c-attribs.cc:4203 objc/objc-act.cc:5134
+#: attribs.cc:738 c-family/c-attribs.cc:4389 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:744
+#: attribs.cc:748
 #, gcc-internal-format
 msgid "%<%E::%E%> scoped attribute directive ignored"
 msgstr ""
 
-#: attribs.cc:757 c/c-parser.cc:2084 cp/cp-gimplify.cc:3667
+#: attribs.cc:761 c/c-parser.cc:2143 cp/cp-gimplify.cc:3691
 #, gcc-internal-format
 msgid "wrong number of arguments specified for %qE attribute"
 msgstr ""
 
-#: attribs.cc:760
+#: attribs.cc:764
 #, gcc-internal-format, gfc-internal-format
 msgid "expected %i or more, found %i"
 msgstr ""
 
-#: attribs.cc:763 c/c-parser.cc:2087 cp/cp-gimplify.cc:3669
+#: attribs.cc:767 c/c-parser.cc:2146 cp/cp-gimplify.cc:3693
 #, gcc-internal-format, gfc-internal-format
 msgid "expected %i, found %i"
 msgstr ""
 
-#: attribs.cc:766
+#: attribs.cc:770
 #, gcc-internal-format, gfc-internal-format
 msgid "expected between %i and %i, found %i"
 msgstr ""
 
-#: attribs.cc:786 c-family/c-attribs.cc:4916
+#: attribs.cc:790 c-family/c-attribs.cc:5141
 #, gcc-internal-format
 msgid "%qE attribute does not apply to types"
 msgstr ""
 
-#: attribs.cc:834
+#: attribs.cc:838
 #, gcc-internal-format
 msgid "%qE attribute only applies to function types"
 msgstr ""
 
-#: attribs.cc:844
+#: attribs.cc:848
 #, gcc-internal-format
 msgid "type attributes ignored after type is already defined"
 msgstr ""
 
+#. Currently only a statement attribute, handled directly in parser.
 #. The specifications of standard attributes in C mean
 #. this is a constraint violation.
 #. The specifications of standard attributes mean this is a
@@ -25167,149 +25148,147 @@ 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:938 attribs.cc:1926 attribs.cc:1936 attribs.cc:1946
-#: 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:6138
-#: c-family/c-common.cc:6141 config/darwin.cc:2208 config/arm/arm.cc:7519
-#: config/arm/arm.cc:7546 config/arm/arm.cc:7563 config/avr/avr.cc:11226
-#: config/csky/csky.cc:6498 config/csky/csky.cc:6519 config/h8300/h8300.cc:4972
-#: config/h8300/h8300.cc:4996 config/i386/i386-options.cc:3756
-#: config/i386/i386-options.cc:3914 config/i386/i386-options.cc:4146
-#: config/i386/i386-options.cc:4176 config/ia64/ia64.cc:795
-#: config/loongarch/loongarch.cc:7999 config/rs6000/rs6000.cc:20738
-#: 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:5835 cp/tree.cc:5013 cp/tree.cc:5424
-#: 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
+#: attribs.cc:942 attribs.cc:1933 attribs.cc:1943 attribs.cc:1953
+#: c-family/c-attribs.cc:1079 c-family/c-attribs.cc:1232
+#: c-family/c-attribs.cc:1251 c-family/c-attribs.cc:1269
+#: c-family/c-attribs.cc:1284 c-family/c-attribs.cc:1312
+#: c-family/c-attribs.cc:1356 c-family/c-attribs.cc:1400
+#: c-family/c-attribs.cc:1441 c-family/c-attribs.cc:1472
+#: c-family/c-attribs.cc:1488 c-family/c-attribs.cc:1505
+#: c-family/c-attribs.cc:1521 c-family/c-attribs.cc:1538
+#: c-family/c-attribs.cc:1563 c-family/c-attribs.cc:1579
+#: c-family/c-attribs.cc:1594 c-family/c-attribs.cc:1691
+#: c-family/c-attribs.cc:1708 c-family/c-attribs.cc:1726
+#: c-family/c-attribs.cc:1751 c-family/c-attribs.cc:1776
+#: c-family/c-attribs.cc:1799 c-family/c-attribs.cc:1816
+#: c-family/c-attribs.cc:1845 c-family/c-attribs.cc:1866
+#: c-family/c-attribs.cc:1887 c-family/c-attribs.cc:1914
+#: c-family/c-attribs.cc:1945 c-family/c-attribs.cc:1974
+#: c-family/c-attribs.cc:2028 c-family/c-attribs.cc:2081
+#: c-family/c-attribs.cc:2147 c-family/c-attribs.cc:2205
+#: c-family/c-attribs.cc:2294 c-family/c-attribs.cc:2324
+#: c-family/c-attribs.cc:2375 c-family/c-attribs.cc:2972
+#: c-family/c-attribs.cc:3171 c-family/c-attribs.cc:3232
+#: c-family/c-attribs.cc:3469 c-family/c-attribs.cc:3549
+#: c-family/c-attribs.cc:3701 c-family/c-attribs.cc:4156
+#: c-family/c-attribs.cc:4222 c-family/c-attribs.cc:4258
+#: c-family/c-attribs.cc:4313 c-family/c-attribs.cc:4542
+#: c-family/c-attribs.cc:4563 c-family/c-attribs.cc:4652
+#: c-family/c-attribs.cc:4684 c-family/c-attribs.cc:4749
+#: c-family/c-attribs.cc:4955 c-family/c-attribs.cc:5143
+#: c-family/c-attribs.cc:5907 c-family/c-attribs.cc:5926
+#: c-family/c-attribs.cc:5949 c-family/c-attribs.cc:5988
+#: c-family/c-attribs.cc:6070 c-family/c-attribs.cc:6102
+#: c-family/c-attribs.cc:6144 c-family/c-attribs.cc:6160
+#: c-family/c-attribs.cc:6332 c-family/c-attribs.cc:6344
+#: c-family/c-common.cc:6235 c-family/c-common.cc:6238 config/darwin.cc:2208
+#: config/arm/arm.cc:7515 config/arm/arm.cc:7542 config/arm/arm.cc:7559
+#: config/avr/avr.cc:11256 config/csky/csky.cc:6498 config/csky/csky.cc:6519
+#: config/h8300/h8300.cc:4972 config/h8300/h8300.cc:4996
+#: config/i386/i386-options.cc:3764 config/i386/i386-options.cc:3922
+#: config/i386/i386-options.cc:4154 config/i386/i386-options.cc:4184
+#: config/ia64/ia64.cc:799 config/loongarch/loongarch.cc:8153
+#: config/rs6000/rs6000.cc:20731 ada/gcc-interface/utils.cc:6885
+#: ada/gcc-interface/utils.cc:6901 ada/gcc-interface/utils.cc:6998
+#: ada/gcc-interface/utils.cc:7015 ada/gcc-interface/utils.cc:7032
+#: ada/gcc-interface/utils.cc:7047 ada/gcc-interface/utils.cc:7063
+#: ada/gcc-interface/utils.cc:7089 ada/gcc-interface/utils.cc:7158
+#: ada/gcc-interface/utils.cc:7185 ada/gcc-interface/utils.cc:7230
+#: ada/gcc-interface/utils.cc:7251 ada/gcc-interface/utils.cc:7299
+#: ada/gcc-interface/utils.cc:7315 ada/gcc-interface/utils.cc:7349
+#: c/c-decl.cc:4948 c/c-decl.cc:4951 c/c-decl.cc:4978 c/c-parser.cc:6070
+#: cp/tree.cc:5065 cp/tree.cc:5564 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:285 jit/dummy-frontend.cc:319
+#: jit/dummy-frontend.cc:614 jit/dummy-frontend.cc:699
+#: jit/dummy-frontend.cc:720 jit/dummy-frontend.cc:739
+#: jit/dummy-frontend.cc:770 jit/dummy-frontend.cc:784
+#: jit/dummy-frontend.cc:827 jit/dummy-frontend.cc:847
+#: jit/dummy-frontend.cc:908 lto/lto-lang.cc:306 rust/rust-attribs.cc:171
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr ""
 
-#: attribs.cc:1214
+#: attribs.cc:1221
 #, gcc-internal-format
 msgid "missing %<target%> attribute for multi-versioned %qD"
 msgstr ""
 
-#: attribs.cc:1217 cp/decl.cc:1347 cp/decl.cc:2356 cp/decl.cc:2404
-#: cp/decl.cc:2420 cp/decl.cc:3104 cp/decl.cc:3542
+#: attribs.cc:1224 cp/decl.cc:1359 cp/decl.cc:2371 cp/decl.cc:2419
+#: cp/decl.cc:2435 cp/decl.cc:3132 cp/decl.cc:3584
 #, gcc-internal-format
 msgid "previous declaration of %qD"
 msgstr ""
 
-#: attribs.cc:1325
+#: attribs.cc:1332
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: attribs.cc:1857
+#: attribs.cc:1864
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1869
+#: attribs.cc:1876
 #, gcc-internal-format
 msgid ""
 "%q+D redeclared without dllimport attribute after being referenced with dll "
 "linkage"
 msgstr ""
 
-#: attribs.cc:1883
+#: attribs.cc:1890
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1964
+#: attribs.cc:1971
 #, gcc-internal-format
 msgid "inline function %q+D declared as dllimport: attribute ignored"
 msgstr ""
 
-#: attribs.cc:1972
+#: attribs.cc:1979
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:1980
+#: attribs.cc:1987
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:2011
+#: attribs.cc:2018
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: attribs.cc:2025
+#: attribs.cc:2032
 #, gcc-internal-format
 msgid ""
 "%qE implies default visibility, but %qD has already been declared with a "
 "different visibility"
 msgstr ""
 
-#: attribs.cc:2327
-#, gcc-internal-format
-msgid "%qD specifies more restrictive attribute than its target %qD: %s"
+#: attribs.cc:2330
+msgid "%qD specifies more restrictive attribute than its target %qD: %e"
 msgid_plural ""
-"%qD specifies more restrictive attributes than its target %qD: %s"
+"%qD specifies more restrictive attributes than its target %qD: %e"
 msgstr[0] ""
 msgstr[1] ""
 
-#: attribs.cc:2333 attribs.cc:2353
+#: attribs.cc:2336 attribs.cc:2358
 #, gcc-internal-format
 msgid "%qD target declared here"
 msgstr ""
 
-#: attribs.cc:2347
-#, gcc-internal-format
-msgid "%qD specifies less restrictive attribute than its target %qD: %s"
+#: attribs.cc:2352
+msgid "%qD specifies less restrictive attribute than its target %qD: %e"
 msgid_plural ""
-"%qD specifies less restrictive attributes than its target %qD: %s"
+"%qD specifies less restrictive attributes than its target %qD: %e"
 msgstr[0] ""
 msgstr[1] ""
 
@@ -25353,186 +25332,186 @@ msgstr ""
 msgid "offset %qwi outside bounds of constant string"
 msgstr ""
 
-#: builtins.cc:707 cp/name-lookup.cc:6826
+#: builtins.cc:707 cp/name-lookup.cc:6937
 #, gcc-internal-format
 msgid "%qE declared here"
 msgstr ""
 
-#: builtins.cc:1298
+#: builtins.cc:1312
 #, gcc-internal-format
 msgid "second argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1305
+#: builtins.cc:1320
 #, gcc-internal-format
 msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:1313
+#: builtins.cc:1330
 #, gcc-internal-format
 msgid "third argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1320
+#: builtins.cc:1338
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:4048 gimple-fold.cc:2525 gimple-ssa-warn-access.cc:2567
-#: tree-ssa-strlen.cc:3179
+#: builtins.cc:4081 gimple-fold.cc:2678 gimple-ssa-warn-access.cc:2583
+#: tree-ssa-strlen.cc:3177
 #, gcc-internal-format
 msgid "%qD specified bound %E equals destination size"
 msgstr ""
 
-#: builtins.cc:5297 gimplify.cc:3922
+#: builtins.cc:5330 gimplify.cc:4154
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:5397
+#: builtins.cc:5430
 #, gcc-internal-format
 msgid "invalid argument to %qD"
 msgstr ""
 
-#: builtins.cc:5410
+#: builtins.cc:5443
 #, 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:5418
+#: builtins.cc:5451
 #, gcc-internal-format
 msgid "calling %qD with a nonzero argument is unsafe"
 msgstr ""
 
-#: builtins.cc:6048
+#: builtins.cc:6081
 #, gcc-internal-format
 msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
 msgstr ""
 
-#: builtins.cc:6138
+#: builtins.cc:6171
 #, gcc-internal-format
 msgid "trampoline generated for nested function %qD"
 msgstr ""
 
-#: builtins.cc:6512 builtins.cc:6525
+#: builtins.cc:6545 builtins.cc:6558
 #, gcc-internal-format
 msgid "%qD changed semantics in GCC 4.4"
 msgstr ""
 
-#: builtins.cc:7295
+#: builtins.cc:7328
 #, gcc-internal-format
 msgid "non-constant argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:7337
+#: builtins.cc:7370
 #, gcc-internal-format
 msgid "non-integer argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:7401
+#: builtins.cc:7434
 #, gcc-internal-format
 msgid "%<__builtin_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:7421
+#: builtins.cc:7454
 #, gcc-internal-format
 msgid "%<__builtin_set_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:7480
+#: builtins.cc:7513
 #, gcc-internal-format
 msgid "%qs only supported in OpenACC code"
 msgstr ""
 
-#: builtins.cc:7487
+#: builtins.cc:7520
 #, gcc-internal-format
 msgid "non-constant argument 0 to %qs"
 msgstr ""
 
-#: builtins.cc:7499
+#: builtins.cc:7532
 #, gcc-internal-format
 msgid "illegal argument 0 to %qs"
 msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.cc:8018 expr.cc:12318
+#: builtins.cc:8081 expr.cc:12447
 #, 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:8024
+#: builtins.cc:8087
 #, gcc-internal-format
 msgid "invalid use of %<__builtin_va_arg_pack_len ()%>"
 msgstr ""
 
-#: builtins.cc:8313
+#: builtins.cc:8376
 #, gcc-internal-format
 msgid "%<__builtin_longjmp%> second argument must be 1"
 msgstr ""
 
-#: builtins.cc:9216
+#: builtins.cc:9340
 #, gcc-internal-format
 msgid "target format does not support infinity"
 msgstr ""
 
-#: builtins.cc:11227
+#: builtins.cc:11400
 #, gcc-internal-format
 msgid "%<va_start%> used in function with fixed arguments"
 msgstr ""
 
-#: builtins.cc:11235
+#: builtins.cc:11408
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:11250
+#: builtins.cc:11423
 #, gcc-internal-format
 msgid "%<__builtin_next_arg%> called without an argument"
 msgstr ""
 
-#: builtins.cc:11255
+#: builtins.cc:11428
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<__builtin_next_arg%>"
 msgstr ""
 
-#: builtins.cc:11288
+#: builtins.cc:11461
 #, gcc-internal-format
 msgid "second parameter of %<va_start%> not last named argument"
 msgstr ""
 
-#: builtins.cc:11301
+#: builtins.cc:11474 c/c-parser.cc:11623
 #, gcc-internal-format
 msgid ""
 "undefined behavior when second parameter of %<va_start%> is declared with "
 "%<register%> storage"
 msgstr ""
 
-#: builtins.cc:11330
+#: builtins.cc:11503
 #, gcc-internal-format
 msgid "first argument of %qD must be a pointer, second integer constant"
 msgstr ""
 
-#: builtins.cc:11343
+#: builtins.cc:11516
 #, gcc-internal-format
 msgid "last argument of %qD is not integer constant between 0 and 3"
 msgstr ""
 
-#: calls.cc:1251
+#: calls.cc:1279 tree-tailcall.cc:443
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot tail-call: %s"
 msgstr ""
 
-#: calls.cc:2779
+#: calls.cc:2814
 #, gcc-internal-format
 msgid "function call has aggregate value"
 msgstr ""
 
-#: calls.cc:3509
+#: calls.cc:3557
 #, gcc-internal-format
 msgid "passing too large argument on stack"
 msgstr ""
@@ -25542,122 +25521,122 @@ msgstr ""
 msgid "%<verify_marked_backedges%> failed"
 msgstr ""
 
-#: cfgexpand.cc:1870
+#: cfgexpand.cc:2128
 #, gcc-internal-format
 msgid "total size of local objects is too large"
 msgstr ""
 
-#: cfgexpand.cc:1873 function.cc:1016 varasm.cc:2360
+#: cfgexpand.cc:2131 function.cc:1016 varasm.cc:2539
 #, gcc-internal-format
 msgid "size of variable %q+D is too large"
 msgstr ""
 
-#: cfgexpand.cc:1885
+#: cfgexpand.cc:2143
 #, gcc-internal-format
 msgid "cannot allocate stack for variable %q+D, naked function"
 msgstr ""
 
-#: cfgexpand.cc:2982
+#: cfgexpand.cc:3241
 #, gcc-internal-format
 msgid "too many alternatives in %<asm%>"
 msgstr ""
 
-#: cfgexpand.cc:2989
+#: cfgexpand.cc:3248
 #, gcc-internal-format
 msgid "operand constraints for %<asm%> differ in number of alternatives"
 msgstr ""
 
-#: cfgexpand.cc:3011
+#: cfgexpand.cc:3270
 #, gcc-internal-format
 msgid "%<asm%> specifier for variable %qE conflicts with %<asm%> clobber list"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:3042
+#: cfgexpand.cc:3301
 #, gcc-internal-format
 msgid "PIC register clobbered by %qs in %<asm%>"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:3049
+#: cfgexpand.cc:3308
 #, gcc-internal-format
 msgid "the register %qs cannot be clobbered in %<asm%> for the current target"
 msgstr ""
 
-#: cfgexpand.cc:3062
+#: cfgexpand.cc:3321
 #, gcc-internal-format
 msgid "listing the stack pointer register %qs in a clobber list is deprecated"
 msgstr ""
 
-#: cfgexpand.cc:3064
+#: cfgexpand.cc:3323
 #, 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:3134
+#: cfgexpand.cc:3393 varasm.cc:1718
 #, gcc-internal-format
 msgid "more than %d operands in %<asm%>"
 msgstr ""
 
 #. ??? Diagnose during gimplification?
-#: cfgexpand.cc:3187
+#: cfgexpand.cc:3446
 #, gcc-internal-format
 msgid "unknown register name %qs in %<asm%>"
 msgstr ""
 
-#: cfgexpand.cc:3253
+#: cfgexpand.cc:3518
 #, gcc-internal-format
 msgid "invalid hard register usage between output operands"
 msgstr ""
 
-#: cfgexpand.cc:3280
+#: cfgexpand.cc:3545
 #, gcc-internal-format
 msgid ""
 "invalid hard register usage between output operand and matching constraint "
 "operand"
 msgstr ""
 
-#: cfgexpand.cc:3288
+#: cfgexpand.cc:3553
 #, gcc-internal-format
 msgid ""
 "invalid hard register usage between earlyclobber operand and input operand"
 msgstr ""
 
-#: cfgexpand.cc:3373
+#: cfgexpand.cc:3638 varasm.cc:1757
 #, gcc-internal-format, gfc-internal-format
 msgid "output number %d not directly addressable"
 msgstr ""
 
-#: cfgexpand.cc:3469
+#: cfgexpand.cc:3734 varasm.cc:1810
 #, gcc-internal-format
 msgid "%<asm%> operand %d probably does not match constraints"
 msgstr ""
 
-#: cfgexpand.cc:3662
+#: cfgexpand.cc:3927
 #, gcc-internal-format
 msgid "%<asm%> clobber conflict with output operand"
 msgstr ""
 
-#: cfgexpand.cc:3667
+#: cfgexpand.cc:3932
 #, gcc-internal-format
 msgid "%<asm%> clobber conflict with input operand"
 msgstr ""
 
-#: cfgexpand.cc:6742
+#: cfgexpand.cc:7029
 #, gcc-internal-format
 msgid "stack protector not protecting local variables: variable length buffer"
 msgstr ""
 
-#: cfgexpand.cc:6746
+#: cfgexpand.cc:7033
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "stack protector not protecting function: all local arrays are less than %d "
 "bytes long"
 msgstr ""
 
-#: cfgexpand.cc:7035
+#: cfgexpand.cc:7322
 #, gcc-internal-format
 msgid "patchable function entry %wu exceeds size %wu"
 msgstr ""
@@ -25998,670 +25977,670 @@ msgstr ""
 msgid "%d exits recorded for loop %d (having %d exits)"
 msgstr ""
 
-#: cfgrtl.cc:2441
+#: cfgrtl.cc:2440
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "non-cold basic block %d reachable only by paths crossing the cold partition"
 msgstr ""
 
-#: cfgrtl.cc:2561
+#: cfgrtl.cc:2560
 #, gcc-internal-format, gfc-internal-format
 msgid "multiple hot/cold transitions found (bb %i)"
 msgstr ""
 
-#: cfgrtl.cc:2569
+#: cfgrtl.cc:2568
 #, gcc-internal-format
 msgid "partition found but function partition flag not set"
 msgstr ""
 
-#: cfgrtl.cc:2608
+#: cfgrtl.cc:2607
 #, gcc-internal-format
 msgid "verify_flow_info: REG_BR_PROB is set but cfg probability is not"
 msgstr ""
 
-#: cfgrtl.cc:2617
+#: cfgrtl.cc:2616
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
 msgstr ""
 
-#: cfgrtl.cc:2639
+#: cfgrtl.cc:2638
 #, gcc-internal-format
 msgid "EDGE_CROSSING incorrectly set across same section"
 msgstr ""
 
-#: cfgrtl.cc:2644
+#: cfgrtl.cc:2643
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge crosses section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2650
+#: cfgrtl.cc:2649
 #, gcc-internal-format, gfc-internal-format
 msgid "EH edge crosses section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2656
+#: cfgrtl.cc:2655
 #, gcc-internal-format, gfc-internal-format
 msgid "No region crossing jump at section boundary in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2663
+#: cfgrtl.cc:2662
 #, gcc-internal-format
 msgid "EDGE_CROSSING missing across section boundary"
 msgstr ""
 
-#: cfgrtl.cc:2693
+#: cfgrtl.cc:2692
 #, gcc-internal-format, gfc-internal-format
 msgid "Region crossing jump across same section in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2700
+#: cfgrtl.cc:2699
 #, gcc-internal-format, gfc-internal-format
 msgid "missing REG_EH_REGION note at the end of bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2705
+#: cfgrtl.cc:2704
 #, gcc-internal-format, gfc-internal-format
 msgid "too many exception handling edges in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2713
+#: cfgrtl.cc:2712
 #, gcc-internal-format, gfc-internal-format
 msgid "too many outgoing branch edges from bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2718
+#: cfgrtl.cc:2717
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge after unconditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2723
+#: cfgrtl.cc:2722
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of branch edges after unconditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2730
+#: cfgrtl.cc:2729
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong amount of branch edges after conditional jump in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2736
+#: cfgrtl.cc:2735
 #, gcc-internal-format, gfc-internal-format
 msgid "abnormal call edges for non-call insn in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2741
+#: cfgrtl.cc:2740
 #, gcc-internal-format, gfc-internal-format
 msgid "sibcall edges for non-call insn in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2751
+#: cfgrtl.cc:2750
 #, gcc-internal-format, gfc-internal-format
 msgid "abnormal edges for no purpose in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2762
+#: cfgrtl.cc:2761
 #, gcc-internal-format, gfc-internal-format
 msgid "EH incoming edge mixed with non-EH incoming edges in bb %i"
 msgstr ""
 
-#: cfgrtl.cc:2803 cfgrtl.cc:2813
+#: cfgrtl.cc:2802 cfgrtl.cc:2812
 #, gcc-internal-format, gfc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
 msgstr ""
 
-#: cfgrtl.cc:2826
+#: cfgrtl.cc:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
 msgstr ""
 
-#: cfgrtl.cc:2836
+#: cfgrtl.cc:2835
 #, gcc-internal-format, gfc-internal-format
 msgid "in basic block %d:"
 msgstr ""
 
-#: cfgrtl.cc:2862
+#: cfgrtl.cc:2861
 #, gcc-internal-format, gfc-internal-format
 msgid "BB_RTL flag not set for block %d"
 msgstr ""
 
-#: cfgrtl.cc:2869
+#: cfgrtl.cc:2868
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d basic block pointer is %d, should be %d"
 msgstr ""
 
-#: cfgrtl.cc:2880
+#: cfgrtl.cc:2879
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d in header of bb %d has non-NULL basic block"
 msgstr ""
 
-#: cfgrtl.cc:2888
+#: cfgrtl.cc:2887
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d in footer of bb %d has non-NULL basic block"
 msgstr ""
 
-#: cfgrtl.cc:2964 cfgrtl.cc:3012
+#: cfgrtl.cc:2963 cfgrtl.cc:3011
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d outside of basic blocks has non-NULL bb field"
 msgstr ""
 
-#: cfgrtl.cc:2972
+#: cfgrtl.cc:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "end insn %d for block %d not found in the insn stream"
 msgstr ""
 
-#: cfgrtl.cc:2985
+#: cfgrtl.cc:2984
 #, gcc-internal-format, gfc-internal-format
 msgid "insn %d is in multiple basic blocks (%d and %d)"
 msgstr ""
 
-#: cfgrtl.cc:2997
+#: cfgrtl.cc:2996
 #, gcc-internal-format, gfc-internal-format
 msgid "head insn %d for block %d not found in the insn stream"
 msgstr ""
 
-#: cfgrtl.cc:3045
+#: cfgrtl.cc:3044
 #, gcc-internal-format, gfc-internal-format
 msgid "missing barrier after block %i"
 msgstr ""
 
-#: cfgrtl.cc:3061
+#: cfgrtl.cc:3060
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
 msgstr ""
 
-#: cfgrtl.cc:3070
+#: cfgrtl.cc:3069
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Incorrect fallthru %i->%i"
 msgstr ""
 
-#: cfgrtl.cc:3072
+#: cfgrtl.cc:3071
 #, gcc-internal-format
 msgid "wrong insn in the fallthru edge"
 msgstr ""
 
-#: cfgrtl.cc:3106
+#: cfgrtl.cc:3105
 #, gcc-internal-format
 msgid "basic blocks not laid down consecutively"
 msgstr ""
 
-#: cfgrtl.cc:3145
+#: cfgrtl.cc:3144
 #, gcc-internal-format, gfc-internal-format
 msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
 msgstr ""
 
-#: cgraph.cc:3262
+#: cgraph.cc:3263
 #, gcc-internal-format
 msgid "caller edge count invalid"
 msgstr ""
 
-#: cgraph.cc:3359
+#: cgraph.cc:3360
 #, gcc-internal-format
 msgid "missing indirect call in speculative call sequence"
 msgstr ""
 
-#: cgraph.cc:3364
+#: cgraph.cc:3365
 #, gcc-internal-format
 msgid "indirect call in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3394
+#: cgraph.cc:3395
 #, gcc-internal-format
 msgid "speculative edges are not adjacent"
 msgstr ""
 
-#: cgraph.cc:3400
+#: cgraph.cc:3401
 #, gcc-internal-format, gfc-internal-format
 msgid "direct call to %s in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3406 cgraph.cc:3436
+#: cgraph.cc:3407 cgraph.cc:3437
 #, 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:3413
+#: cgraph.cc:3414
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate direct call to %s in speculative call sequence with speculative_id "
 "%i"
 msgstr ""
 
-#: cgraph.cc:3424
+#: cgraph.cc:3425
 #, gcc-internal-format
 msgid ""
 "call stmt hash does not point to first direct edge of speculative call "
 "sequence"
 msgstr ""
 
-#: cgraph.cc:3443
+#: cgraph.cc:3444
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate reference %s in speculative call sequence with speculative_id %i"
 msgstr ""
 
-#: cgraph.cc:3456
+#: cgraph.cc:3457
 #, gcc-internal-format, gfc-internal-format
 msgid "missing direct call for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3461
+#: cgraph.cc:3462
 #, gcc-internal-format, gfc-internal-format
 msgid "missing ref for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3470
+#: cgraph.cc:3471
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "number of speculative targets %i mismatched with "
 "num_speculative_call_targets %i"
 msgstr ""
 
-#: cgraph.cc:3499
+#: cgraph.cc:3500
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for edge %s->%s"
 msgstr ""
 
-#: cgraph.cc:3506
+#: cgraph.cc:3507
 #, gcc-internal-format
 msgid "cgraph count invalid"
 msgstr ""
 
-#: cgraph.cc:3511
+#: cgraph.cc:3512
 #, gcc-internal-format
 msgid "inline clone in same comdat group list"
 msgstr ""
 
-#: cgraph.cc:3516
+#: cgraph.cc:3517
 #, gcc-internal-format
 msgid "inline clone count is not compatible"
 msgstr ""
 
-#: cgraph.cc:3523
+#: cgraph.cc:3524
 #, gcc-internal-format
 msgid "tp_first_run must be non-negative"
 msgstr ""
 
-#: cgraph.cc:3528
+#: cgraph.cc:3529
 #, gcc-internal-format
 msgid "local symbols must be defined"
 msgstr ""
 
-#: cgraph.cc:3533
+#: cgraph.cc:3534
 #, gcc-internal-format
 msgid "externally visible inline clone"
 msgstr ""
 
-#: cgraph.cc:3538
+#: cgraph.cc:3539
 #, gcc-internal-format
 msgid "inline clone with address taken"
 msgstr ""
 
-#: cgraph.cc:3543
+#: cgraph.cc:3544
 #, gcc-internal-format
 msgid "inline clone is forced to output"
 msgstr ""
 
-#: cgraph.cc:3550
+#: cgraph.cc:3551
 #, gcc-internal-format
 msgid "calls_comdat_local is set outside of a comdat group"
 msgstr ""
 
-#: cgraph.cc:3555
+#: cgraph.cc:3556
 #, gcc-internal-format
 msgid "invalid calls_comdat_local flag"
 msgstr ""
 
-#: cgraph.cc:3562
+#: cgraph.cc:3563
 #, gcc-internal-format
 msgid "malloc attribute should be used for a function that returns a pointer"
 msgstr ""
 
-#: cgraph.cc:3574
+#: cgraph.cc:3575
 #, gcc-internal-format
 msgid "semantic interposition mismatch"
 msgstr ""
 
-#: cgraph.cc:3581
+#: cgraph.cc:3582
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for indirect edge from %s"
 msgstr ""
 
-#: cgraph.cc:3587 cgraph.cc:3647
+#: cgraph.cc:3588 cgraph.cc:3648
 #, gcc-internal-format
 msgid "edge count is not compatible with function count"
 msgstr ""
 
-#: cgraph.cc:3595
+#: cgraph.cc:3596
 #, 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:3603 cgraph.cc:3675
+#: cgraph.cc:3604 cgraph.cc:3676
 #, gcc-internal-format
 msgid "edge has both call_stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3615
+#: cgraph.cc:3616
 #, gcc-internal-format, gfc-internal-format
 msgid "comdat-local function called by %s outside its comdat"
 msgstr ""
 
-#: cgraph.cc:3625
+#: cgraph.cc:3626
 #, gcc-internal-format
 msgid "inlined_to pointer is wrong"
 msgstr ""
 
-#: cgraph.cc:3630
+#: cgraph.cc:3631
 #, gcc-internal-format
 msgid "multiple inline callers"
 msgstr ""
 
-#: cgraph.cc:3637
+#: cgraph.cc:3638
 #, gcc-internal-format
 msgid "inlined_to pointer set for noninline callers"
 msgstr ""
 
-#: cgraph.cc:3665
+#: cgraph.cc:3666
 #, gcc-internal-format
 msgid "caller edge count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3696
+#: cgraph.cc:3697
 #, gcc-internal-format
 msgid "indirect call count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3713
+#: cgraph.cc:3714
 #, gcc-internal-format
 msgid "reference has both stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3724
+#: cgraph.cc:3725
 #, gcc-internal-format
 msgid "inlined_to pointer is set but no predecessors found"
 msgstr ""
 
-#: cgraph.cc:3729
+#: cgraph.cc:3730
 #, gcc-internal-format
 msgid "inlined_to pointer refers to itself"
 msgstr ""
 
-#: cgraph.cc:3740
+#: cgraph.cc:3741
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone_of"
 msgstr ""
 
-#: cgraph.cc:3753
+#: cgraph.cc:3754
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone list"
 msgstr ""
 
-#: cgraph.cc:3759
+#: cgraph.cc:3760
 #, gcc-internal-format
 msgid "cgraph_node is in clone list but it is not clone"
 msgstr ""
 
-#: cgraph.cc:3764
+#: cgraph.cc:3765
 #, gcc-internal-format
 msgid "cgraph_node has wrong prev_clone pointer"
 msgstr ""
 
-#: cgraph.cc:3769
+#: cgraph.cc:3770
 #, gcc-internal-format
 msgid "double linked list of clones corrupted"
 msgstr ""
 
-#: cgraph.cc:3781
+#: cgraph.cc:3782
 #, gcc-internal-format
 msgid "Alias has call edges"
 msgstr ""
 
-#: cgraph.cc:3787
+#: cgraph.cc:3788
 #, gcc-internal-format
 msgid "Alias has non-alias reference"
 msgstr ""
 
-#: cgraph.cc:3792
+#: cgraph.cc:3793
 #, gcc-internal-format
 msgid "Alias has more than one alias reference"
 msgstr ""
 
-#: cgraph.cc:3799
+#: cgraph.cc:3800
 #, gcc-internal-format
 msgid "Analyzed alias has no reference"
 msgstr ""
 
-#: cgraph.cc:3808
+#: cgraph.cc:3809
 #, gcc-internal-format
 msgid "No edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3813
+#: cgraph.cc:3814
 #, gcc-internal-format
 msgid "More than one edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3818
+#: cgraph.cc:3819
 #, gcc-internal-format
 msgid "Thunk is not supposed to have body"
 msgstr ""
 
-#: cgraph.cc:3854
+#: cgraph.cc:3855
 #, gcc-internal-format
 msgid "shared call_stmt:"
 msgstr ""
 
-#: cgraph.cc:3862
+#: cgraph.cc:3863
 #, gcc-internal-format
 msgid "edge points to wrong declaration:"
 msgstr ""
 
-#: cgraph.cc:3871
+#: cgraph.cc:3872
 #, gcc-internal-format
 msgid ""
 "an indirect edge with unknown callee corresponding to a call_stmt with a "
 "known declaration:"
 msgstr ""
 
-#: cgraph.cc:3881
+#: cgraph.cc:3882
 #, gcc-internal-format
 msgid "missing callgraph edge for call stmt:"
 msgstr ""
 
-#: cgraph.cc:3891
+#: cgraph.cc:3892
 #, gcc-internal-format
 msgid "reference to dead statement"
 msgstr ""
 
-#: cgraph.cc:3904
+#: cgraph.cc:3905
 #, gcc-internal-format, gfc-internal-format
 msgid "edge %s->%s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3916
+#: cgraph.cc:3917
 #, gcc-internal-format, gfc-internal-format
 msgid "an indirect edge from %s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3935 cgraph.cc:3948
+#: cgraph.cc:3936 cgraph.cc:3949
 #, gcc-internal-format
 msgid "missing origin for a node in a nested list"
 msgstr ""
 
-#: cgraph.cc:3940
+#: cgraph.cc:3941
 #, gcc-internal-format
 msgid "origin points to a different parent"
 msgstr ""
 
-#: cgraph.cc:3956
+#: cgraph.cc:3957
 #, gcc-internal-format
 msgid "verify_cgraph_node failed"
 msgstr ""
 
-#: cgraph.cc:4078 varpool.cc:304
+#: cgraph.cc:4079 varpool.cc:304
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: section %s.%d is missing"
 msgstr ""
 
-#: cgraphunit.cc:755
+#: cgraphunit.cc:757
 #, gcc-internal-format
 msgid "duplicate definition of a symbol version"
 msgstr ""
 
-#: cgraphunit.cc:757
+#: cgraphunit.cc:759
 #, gcc-internal-format
 msgid "same version was previously defined here"
 msgstr ""
 
-#: cgraphunit.cc:763
+#: cgraphunit.cc:765
 #, gcc-internal-format
 msgid "symbol needs to be defined to have a version"
 msgstr ""
 
-#: cgraphunit.cc:769
+#: cgraphunit.cc:771
 #, gcc-internal-format
 msgid "common symbol cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:775
+#: cgraphunit.cc:777
 #, gcc-internal-format
 msgid "comdat symbol cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:781
+#: cgraphunit.cc:783
 #, gcc-internal-format
 msgid "%<weakref%> cannot be versioned"
 msgstr ""
 
-#: cgraphunit.cc:787
+#: cgraphunit.cc:789
 #, gcc-internal-format
 msgid "versioned symbol must be public"
 msgstr ""
 
-#: cgraphunit.cc:793
+#: cgraphunit.cc:795
 #, gcc-internal-format
 msgid "versioned symbol must have default visibility"
 msgstr ""
 
-#: cgraphunit.cc:826
+#: cgraphunit.cc:828
 #, gcc-internal-format
 msgid "%<weakref%> attribute should be accompanied with an %<alias%> attribute"
 msgstr ""
 
-#: cgraphunit.cc:881
+#: cgraphunit.cc:883
 #, gcc-internal-format
 msgid "%<flatten%> attribute is ignored on aliases"
 msgstr ""
 
-#: cgraphunit.cc:889 cgraphunit.cc:941
+#: cgraphunit.cc:891 cgraphunit.cc:943
 #, gcc-internal-format
 msgid "%<externally_visible%> attribute have effect only on public objects"
 msgstr ""
 
-#: cgraphunit.cc:900
+#: cgraphunit.cc:902
 #, gcc-internal-format
 msgid "%<weakref%> attribute ignored because function is defined"
 msgstr ""
 
-#: cgraphunit.cc:915
+#: cgraphunit.cc:917
 #, gcc-internal-format
 msgid "%<alias%> attribute ignored because function is defined"
 msgstr ""
 
-#: cgraphunit.cc:923
+#: cgraphunit.cc:925
 #, gcc-internal-format
 msgid ""
 "%<always_inline%> function might not be inlinable unless also declared "
 "%<inline%>"
 msgstr ""
 
-#: cgraphunit.cc:949
+#: cgraphunit.cc:951
 #, gcc-internal-format
 msgid "%<weakref%> attribute ignored because variable is initialized"
 msgstr ""
 
 #. include_self=
 #. TODO: Add OPT_Wundefined-inline.
-#: cgraphunit.cc:1098 c/c-decl.cc:13338
+#: cgraphunit.cc:1112 c/c-decl.cc:13589
 #, gcc-internal-format
 msgid "%q+F used but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1100 c/c-decl.cc:13348
+#: cgraphunit.cc:1114 c/c-decl.cc:13599
 #, gcc-internal-format
 msgid "%q+F declared %<static%> but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1144
+#: cgraphunit.cc:1158
 #, gcc-internal-format
 msgid "%qD defined but not used"
 msgstr ""
 
-#: cgraphunit.cc:1479
+#: cgraphunit.cc:1493
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD must return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1482 cgraphunit.cc:1505
+#: cgraphunit.cc:1496 cgraphunit.cc:1519
 #, gcc-internal-format
 msgid "resolver indirect function declared here"
 msgstr ""
 
-#: cgraphunit.cc:1502
+#: cgraphunit.cc:1516
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD should return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1512
+#: cgraphunit.cc:1526
 #, gcc-internal-format
 msgid "%qD alias between functions of incompatible types %qT and %qT"
 msgstr ""
 
-#: cgraphunit.cc:1515 cgraphunit.cc:1597
+#: cgraphunit.cc:1529 cgraphunit.cc:1611
 #, gcc-internal-format
 msgid "aliased declaration here"
 msgstr ""
 
-#: cgraphunit.cc:1553 c-family/c-pragma.cc:347
+#: cgraphunit.cc:1567 c-family/c-pragma.cc:347
 #, gcc-internal-format
 msgid "%q+D aliased to undefined symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1569
+#: cgraphunit.cc:1583
 #, gcc-internal-format
 msgid "%q+D aliased to external symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1594
+#: cgraphunit.cc:1608
 #, gcc-internal-format
 msgid "%q+D alias between function and variable is not supported"
 msgstr ""
 
-#: cgraphunit.cc:1668
+#: cgraphunit.cc:1682
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function"
 msgstr ""
 
-#: cgraphunit.cc:1696
+#: cgraphunit.cc:1710
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function in same comdat group"
 msgstr ""
 
-#: cgraphunit.cc:1872
+#: cgraphunit.cc:1886
 #, gcc-internal-format
 msgid "size of return value of %q+D is %u bytes"
 msgstr ""
 
-#: cgraphunit.cc:1876
+#: cgraphunit.cc:1890
 #, gcc-internal-format
 msgid "size of return value of %q+D is larger than %wu bytes"
 msgstr ""
 
-#: cgraphunit.cc:2440
+#: cgraphunit.cc:2454
 #, gcc-internal-format
 msgid "nodes with unreleased memory found"
 msgstr ""
@@ -26701,13 +26680,13 @@ msgstr ""
 msgid "cannot find %qs"
 msgstr ""
 
-#: collect-utils.cc:225 collect2.cc:2389 collect2.cc:2559 gcc.cc:3423
-#: gcc.cc:7834
+#: collect-utils.cc:225 collect2.cc:2389 collect2.cc:2559 gcc.cc:3427
+#: gcc.cc:7859
 #, gcc-internal-format
 msgid "%<pex_init%> failed: %m"
 msgstr ""
 
-#: collect-utils.cc:234 collect2.cc:2398 collect2.cc:2567 gcc.cc:2707
+#: collect-utils.cc:234 collect2.cc:2398 collect2.cc:2567 gcc.cc:2711
 #, gcc-internal-format
 msgid "%s: %m"
 msgstr ""
@@ -26722,7 +26701,7 @@ msgstr ""
 msgid "ld returned %d exit status"
 msgstr ""
 
-#: collect2.cc:916 gcc.cc:8354 config/nvptx/mkoffload.cc:646
+#: collect2.cc:916 gcc.cc:8367 config/nvptx/mkoffload.cc:640
 #, gcc-internal-format
 msgid "atexit failed"
 msgstr ""
@@ -26732,13 +26711,13 @@ msgstr ""
 msgid "no arguments"
 msgstr ""
 
-#: collect2.cc:1287 opts.cc:1192
+#: collect2.cc:1287 opts.cc:1204
 #, gcc-internal-format
 msgid "LTO support has not been enabled in this configuration"
 msgstr ""
 
-#: collect2.cc:1328 graph.cc:55 lto-wrapper.cc:1724 lto-wrapper.cc:1780
-#: toplev.cc:1520 objc/objc-act.cc:462
+#: collect2.cc:1328 graph.cc:55 lto-wrapper.cc:1765 lto-wrapper.cc:1821
+#: toplev.cc:1576 objc/objc-act.cc:462
 #, gcc-internal-format
 msgid "cannot open %s: %m"
 msgstr ""
@@ -26758,7 +26737,7 @@ msgstr ""
 msgid "fclose %s: %m"
 msgstr ""
 
-#: collect2.cc:2323 lto-wrapper.cc:1219 lto-wrapper.cc:1234
+#: collect2.cc:2323 lto-wrapper.cc:1236 lto-wrapper.cc:1251
 #: 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
@@ -26883,93 +26862,98 @@ msgstr ""
 msgid "aggregate value used where a fixed-point was expected"
 msgstr ""
 
-#: coverage.cc:192
+#: coroutine-passes.cc:311
+#, gcc-internal-format
+msgid "%<alloca%> is not yet supported in coroutines"
+msgstr ""
+
+#: coverage.cc:193
 #, gcc-internal-format
 msgid "%qs is not a gcov data file"
 msgstr ""
 
-#: coverage.cc:203
+#: coverage.cc:204
 #, gcc-internal-format
 msgid "%qs is version %q.*s, expected version %q.*s"
 msgstr ""
 
-#: coverage.cc:267
+#: coverage.cc:268
 #, gcc-internal-format, gfc-internal-format
 msgid "profile data for function %u is corrupted"
 msgstr ""
 
-#: coverage.cc:268
+#: coverage.cc:269
 #, gcc-internal-format
 msgid "checksum is (%x,%x) instead of (%x,%x)"
 msgstr ""
 
-#: coverage.cc:283
+#: coverage.cc:284
 #, gcc-internal-format
 msgid "%qs has overflowed"
 msgstr ""
 
-#: coverage.cc:284
+#: coverage.cc:285
 #, gcc-internal-format
 msgid "%qs is corrupted"
 msgstr ""
 
-#: coverage.cc:311
+#: coverage.cc:312
 #, gcc-internal-format
 msgid "%qs profile count data file not found"
 msgstr ""
 
-#: coverage.cc:340
+#: coverage.cc:341
 #, gcc-internal-format
 msgid "profile for function %qD not found in profile data"
 msgstr ""
 
-#: coverage.cc:360
+#: coverage.cc:361
 #, gcc-internal-format
 msgid ""
 "number of counters in profile data for function %qD does not match its "
 "profile data (counter %qs, expected %i and have %i)"
 msgstr ""
 
-#: coverage.cc:369
+#: coverage.cc:370
 #, gcc-internal-format
 msgid ""
 "the control flow of function %qD does not match its profile data (counter "
 "%qs)"
 msgstr ""
 
-#: coverage.cc:388
+#: coverage.cc:389
 #, gcc-internal-format
 msgid "execution counts estimated\n"
 msgstr ""
 
-#: coverage.cc:389
+#: coverage.cc:390
 #, gcc-internal-format
 msgid "execution counts assumed to be zero\n"
 msgstr ""
 
-#: coverage.cc:402
+#: coverage.cc:403
 #, gcc-internal-format
 msgid ""
 "source locations for function %qD have changed, the profile data may be out "
 "of date"
 msgstr ""
 
-#: coverage.cc:666
+#: coverage.cc:667
 #, gcc-internal-format
 msgid "function starts on a higher line number than it ends"
 msgstr ""
 
-#: coverage.cc:688
+#: coverage.cc:689
 #, gcc-internal-format
 msgid "error writing %qs"
 msgstr ""
 
-#: coverage.cc:1288
+#: coverage.cc:1289
 #, gcc-internal-format
 msgid "filename %qs does not start with profile prefix %qs"
 msgstr ""
 
-#: coverage.cc:1333
+#: coverage.cc:1334
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot open %s"
 msgstr ""
@@ -27014,11 +26998,43 @@ msgstr ""
 msgid "closed intervals"
 msgstr ""
 
-#: diagnostic.cc:2659
+#: diagnostic-format-sarif.cc:3773
+#, gcc-internal-format
+msgid "unable to determine filename for SARIF output"
+msgstr ""
+
+#: diagnostic-format-sarif.cc:3786
+#, gcc-internal-format
+msgid "unable to open %qs for SARIF output: %m"
+msgstr ""
+
+#: diagnostic-macro-unwinding.cc:182
+#, gcc-internal-format
+msgid "in definition of macro %qs"
+msgstr ""
+
+#: diagnostic-macro-unwinding.cc:199
+#, gcc-internal-format
+msgid "in expansion of macro %qs"
+msgstr ""
+
+#: diagnostic-path.cc:226
 #, gcc-internal-format
 msgid "debug path"
 msgstr ""
 
+#: diagnostic-path.cc:1174
+msgid "%@ %e (fndecl %qs, depth %i)"
+msgstr ""
+
+#: diagnostic-path.cc:1180
+msgid "%@ %e (depth %i)"
+msgstr ""
+
+#: diagnostic-path.cc:1186
+msgid "%@ %e"
+msgstr ""
+
 #: dominance.cc:1180
 #, gcc-internal-format, gfc-internal-format
 msgid "dominator of %d status unknown"
@@ -27029,45 +27045,55 @@ msgstr ""
 msgid "dominator of %d should be %d, not %d"
 msgstr ""
 
-#: dumpfile.cc:381
+#: dumpfile.cc:383
 #, gcc-internal-format
 msgid "could not open dump file %qs: %m"
 msgstr ""
 
-#: dumpfile.cc:1841
+#: dumpfile.cc:1869
 #, gcc-internal-format
 msgid "ignoring unknown option %q.*s"
 msgstr ""
 
-#: dumpfile.cc:1923
+#: dumpfile.cc:1951
 #, gcc-internal-format
 msgid ""
 "unrecognized command-line option %<-fdump-%s%>; did you mean %<-fdump-%s%>?"
 msgstr ""
 
-#: dumpfile.cc:1926
+#: dumpfile.cc:1954
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-fdump-%s%>"
 msgstr ""
 
-#: dumpfile.cc:1999
+#: dumpfile.cc:2027
 #, gcc-internal-format
 msgid "unknown option %q.*s in %<-fopt-info-%s%>"
 msgstr ""
 
-#: dumpfile.cc:2031
+#: dumpfile.cc:2059
 #, gcc-internal-format
 msgid "ignoring possibly conflicting option %<-fopt-info-%s%>"
 msgstr ""
 
-#: dwarf2out.cc:1138
+#: dwarf2codeview.cc:1751
+#, gcc-internal-format, gfc-internal-format
+msgid "could not open %s for reading"
+msgstr ""
+
+#: dwarf2codeview.cc:1756
+#, gcc-internal-format
+msgid "md5_stream failed"
+msgstr ""
+
+#: dwarf2out.cc:1144
 #, gcc-internal-format
 msgid ""
 "multiple EH personalities are supported only with assemblers supporting %<."
 "cfi_personality%> directive"
 msgstr ""
 
-#: dwarf2out.cc:11196
+#: dwarf2out.cc:11191
 #, gcc-internal-format
 msgid "%<-gdwarf-6%> is output as version 5 with incompatibilities"
 msgstr ""
@@ -27102,62 +27128,62 @@ msgstr ""
 msgid "abort in %s, at %s:%d"
 msgstr ""
 
-#: except.cc:2166
+#: except.cc:2172
 #, gcc-internal-format
 msgid "argument of %<__builtin_eh_return_regno%> must be constant"
 msgstr ""
 
-#: except.cc:2312
+#: except.cc:2318
 #, gcc-internal-format
 msgid "%<__builtin_eh_return%> not supported on this target"
 msgstr ""
 
-#: except.cc:3448 except.cc:3473
+#: except.cc:3454 except.cc:3479
 #, gcc-internal-format
 msgid "%<region_array%> is corrupted for region %i"
 msgstr ""
 
-#: except.cc:3461 except.cc:3492
+#: except.cc:3467 except.cc:3498
 #, gcc-internal-format
 msgid "%<lp_array%> is corrupted for lp %i"
 msgstr ""
 
-#: except.cc:3478
+#: except.cc:3484
 #, gcc-internal-format, gfc-internal-format
 msgid "outer block of region %i is wrong"
 msgstr ""
 
-#: except.cc:3483
+#: except.cc:3489
 #, gcc-internal-format, gfc-internal-format
 msgid "negative nesting depth of region %i"
 msgstr ""
 
-#: except.cc:3497
+#: except.cc:3503
 #, gcc-internal-format, gfc-internal-format
 msgid "region of lp %i is wrong"
 msgstr ""
 
-#: except.cc:3524
+#: except.cc:3530
 #, gcc-internal-format, gfc-internal-format
 msgid "tree list ends on depth %i"
 msgstr ""
 
-#: except.cc:3529
+#: except.cc:3535
 #, gcc-internal-format
 msgid "%<region_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3534
+#: except.cc:3540
 #, gcc-internal-format
 msgid "%<lp_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3541 tree.cc:14395 value-prof.cc:529
+#: except.cc:3547 tree.cc:14607 value-prof.cc:529
 #, gcc-internal-format
 msgid "%qs failed"
 msgstr ""
 
-#: explow.cc:1563
+#: explow.cc:1610
 #, gcc-internal-format
 msgid "stack limits not supported on this target"
 msgstr ""
@@ -27184,39 +27210,46 @@ msgid ""
 "truncated into %wu-bit"
 msgstr ""
 
-#: expr.cc:12330
+#: expr.cc:12459
 #, gcc-internal-format
 msgid "call to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.cc:12344
+#: expr.cc:12473
 #, gcc-internal-format
 msgid "call to %qs declared with attribute warning: %s"
 msgstr ""
 
-#: expr.cc:13391
+#: expr.cc:13527
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when simplifying %<X - Y %s 0%> to "
 "%<X %s Y%>"
 msgstr ""
 
+#: ext-dce.cc:1122
+#, gcc-internal-format
+msgid ""
+"ext-dce disabled: %d basic blocks and %d registers; increase %<--param max-"
+"gcse-memory%> above %wu"
+msgstr ""
+
 #: file-prefix-map.cc:51
 #, gcc-internal-format
 msgid "invalid argument %qs to %qs"
 msgstr ""
 
-#: final.cc:1769
+#: final.cc:1775
 #, gcc-internal-format
 msgid "the frame size of %wu bytes is larger than %wu bytes"
 msgstr ""
 
-#: final.cc:4391 toplev.cc:1400 tree-cfgcleanup.cc:1540
+#: final.cc:4402 toplev.cc:1446 tree-cfgcleanup.cc:1540
 #, gcc-internal-format
 msgid "could not open final insn dump file %qs: %m"
 msgstr ""
 
-#: final.cc:4460 tree-cfgcleanup.cc:1557
+#: final.cc:4471 tree-cfgcleanup.cc:1557
 #, gcc-internal-format
 msgid "could not close final insn dump file %qs: %m"
 msgstr ""
@@ -27226,49 +27259,39 @@ msgstr ""
 msgid "large fixed-point constant implicitly truncated to fixed-point type"
 msgstr ""
 
-#: fold-const.cc:4882 fold-const.cc:4892
+#: fold-const.cc:4984 fold-const.cc:4994
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d due to width of bit-field"
 msgstr ""
 
-#: fold-const.cc:6277 tree-ssa-reassoc.cc:2885 tree-ssa-reassoc.cc:3969
+#: fold-const.cc:6252 tree-ssa-reassoc.cc:2886 tree-ssa-reassoc.cc:3971
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying range test"
 msgstr ""
 
-#: fold-const.cc:6742 fold-const.cc:6758
-#, gcc-internal-format, gfc-internal-format
-msgid "comparison is always %d"
-msgstr ""
-
-#: fold-const.cc:6906
-#, gcc-internal-format
-msgid "%<or%> of unmatched not-equal tests is always 1"
-msgstr ""
-
-#: fold-const.cc:6911
-#, gcc-internal-format
-msgid "%<and%> of mutually exclusive equal-tests is always 0"
-msgstr ""
-
-#: fold-const.cc:10128
+#: fold-const.cc:9809
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when reducing constant in comparison"
 msgstr ""
 
-#: fold-const.cc:10535
+#: fold-const.cc:10216
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when combining constants around a "
 "comparison"
 msgstr ""
 
-#: fold-const.cc:13947
+#: fold-const.cc:13650
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
 msgstr ""
 
+#: fold-mem-offsets.cc:856
+#, gcc-internal-format, gfc-internal-format
+msgid "fold-mem-offsets: %d basic blocks and %d edges/basic block"
+msgstr ""
+
 #: function.cc:255
 #, gcc-internal-format
 msgid "total size of local objects %wu exceeds maximum %wu"
@@ -27279,217 +27302,217 @@ msgstr ""
 msgid "total size of local objects exceeds maximum %wu"
 msgstr ""
 
-#: function.cc:1789 gimplify.cc:7018 gimplify.cc:7180
+#: function.cc:1789 gimplify.cc:7744 gimplify.cc:7914 varasm.cc:1833
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.cc:4290
+#: function.cc:4293
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4311
+#: function.cc:4314
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4978
+#: function.cc:5035
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: gcc.cc:2217
+#: gcc.cc:2221
 #, gcc-internal-format
 msgid "cannot open nested response file"
 msgstr ""
 
-#: gcc.cc:2254
+#: gcc.cc:2258
 #, gcc-internal-format
 msgid "cannot close nonexistent response file"
 msgstr ""
 
-#: gcc.cc:2277
+#: gcc.cc:2281
 #, gcc-internal-format, gfc-internal-format
 msgid "could not open temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2284
+#: gcc.cc:2288
 #, gcc-internal-format, gfc-internal-format
 msgid "could not write to temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2290
+#: gcc.cc:2294
 #, 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:2322
+#: gcc.cc:2326
 #, gcc-internal-format
 msgid "cannot read spec file %qs: %m"
 msgstr ""
 
-#: gcc.cc:2416 gcc.cc:2436
+#: gcc.cc:2420 gcc.cc:2440
 msgid "specs %%include syntax malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2462 gcc.cc:2471 gcc.cc:2481 gcc.cc:2491
+#: gcc.cc:2466 gcc.cc:2475 gcc.cc:2485 gcc.cc:2495
 msgid "specs %%rename syntax malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2501
+#: gcc.cc:2505
 #, gcc-internal-format, gfc-internal-format
 msgid "specs %s spec was not found to be renamed"
 msgstr ""
 
-#: gcc.cc:2509
+#: gcc.cc:2513
 #, gcc-internal-format
 msgid "%s: attempt to rename spec %qs to already defined spec %qs"
 msgstr ""
 
-#: gcc.cc:2531
+#: gcc.cc:2535
 msgid "specs unknown %% command after %td characters"
 msgstr ""
 
-#: gcc.cc:2543 gcc.cc:2557
+#: gcc.cc:2547 gcc.cc:2561
 msgid "specs file malformed after %td characters"
 msgstr ""
 
-#: gcc.cc:2612
+#: gcc.cc:2616
 #, gcc-internal-format
 msgid "spec file has no spec for linking"
 msgstr ""
 
-#: gcc.cc:3176 gcc.cc:3213
+#: gcc.cc:3180 gcc.cc:3217
 #, gcc-internal-format
 msgid "system path %qs is not absolute"
 msgstr ""
 
-#: gcc.cc:3302
+#: gcc.cc:3306
 #, gcc-internal-format
 msgid "%<-pipe%> not supported"
 msgstr ""
 
-#: gcc.cc:3440 gcc.cc:7843
+#: gcc.cc:3444 gcc.cc:7868
 #, gcc-internal-format
 msgid "cannot execute %qs: %s: %m"
 msgstr ""
 
-#: gcc.cc:3441 gcc.cc:7844
+#: gcc.cc:3445 gcc.cc:7869
 #, gcc-internal-format
 msgid "cannot execute %qs: %s"
 msgstr ""
 
-#: gcc.cc:3460
+#: gcc.cc:3464
 #, gcc-internal-format
 msgid "failed to get exit status: %m"
 msgstr ""
 
-#: gcc.cc:3466
+#: gcc.cc:3470
 #, gcc-internal-format
 msgid "failed to get process times: %m"
 msgstr ""
 
 #. The inferior failed to catch the signal.
-#: gcc.cc:3492 gcc.cc:3516
+#: gcc.cc:3496 gcc.cc:3520
 #, gcc-internal-format, gfc-internal-format
 msgid "%s signal terminated program %s"
 msgstr ""
 
-#: gcc.cc:3960 opts-common.cc:1597 opts-common.cc:1629
+#: gcc.cc:3964 opts-common.cc:1618 opts-common.cc:1650
 #, gcc-internal-format
 msgid "unrecognized command-line option %qs"
 msgstr ""
 
-#: gcc.cc:4002
+#: gcc.cc:4006
 #, gcc-internal-format
 msgid "GCC is not configured to support %qs as %<-foffload=%> argument"
 msgstr ""
 
-#: gcc.cc:4009
+#: gcc.cc:4013
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s; did you mean %qs?"
 msgstr ""
 
-#: gcc.cc:4012
+#: gcc.cc:4016
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s"
 msgstr ""
 
-#: gcc.cc:4032
+#: gcc.cc:4036
 #, gcc-internal-format
 msgid "%<=%>options missing after %<-foffload-options=%>target"
 msgstr ""
 
-#: gcc.cc:4481
+#: gcc.cc:4506
 #, gcc-internal-format
 msgid "%qs is an unknown %<-save-temps%> option"
 msgstr ""
 
-#: gcc.cc:5033
+#: gcc.cc:5058
 #, gcc-internal-format
 msgid ""
 "linker hardening options not enabled by %<-fhardened%> because other link "
 "options were specified on the command line"
 msgstr ""
 
-#: gcc.cc:5057 toplev.cc:714
+#: gcc.cc:5082 toplev.cc:717
 #, gcc-internal-format
 msgid "input file %qs is the same as output file"
 msgstr ""
 
-#: gcc.cc:5062
+#: gcc.cc:5087
 #, gcc-internal-format
 msgid "output filename may not be empty"
 msgstr ""
 
-#: gcc.cc:5447
+#: gcc.cc:5472
 #, gcc-internal-format
 msgid "%<-pipe%> ignored because %<-save-temps%> specified"
 msgstr ""
 
-#: gcc.cc:5535
+#: gcc.cc:5560
 #, gcc-internal-format
 msgid "%<-x %s%> after last input file has no effect"
 msgstr ""
 
-#: gcc.cc:5738
+#: gcc.cc:5763
 #, gcc-internal-format
 msgid "unable to locate default linker script %qs in the library search paths"
 msgstr ""
 
-#: gcc.cc:5945
+#: gcc.cc:5970
 #, gcc-internal-format
 msgid "switch %qs does not start with %<-%>"
 msgstr ""
 
-#: gcc.cc:5949
+#: gcc.cc:5974
 #, gcc-internal-format
 msgid "spec-generated switch is just %<-%>"
 msgstr ""
 
-#: gcc.cc:6181
+#: gcc.cc:6206
 #, gcc-internal-format
 msgid "spec %qs invalid"
 msgstr ""
 
-#: gcc.cc:6358
+#: gcc.cc:6383
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%0%c%>"
 msgstr ""
 
-#: gcc.cc:6650
+#: gcc.cc:6675
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%W%c%>"
 msgstr ""
 
-#: gcc.cc:6666
+#: gcc.cc:6691
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%@%c%>"
 msgstr ""
 
-#: gcc.cc:6685
+#: gcc.cc:6710
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%x%c%>"
 msgstr ""
@@ -27497,138 +27520,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:6896
+#: gcc.cc:6921
 #, gcc-internal-format
 msgid "spec failure: %<%%*%> has not been initialized by pattern match"
 msgstr ""
 
-#: gcc.cc:6947
+#: gcc.cc:6972
 #, gcc-internal-format
 msgid "spec failure: unrecognized spec option %qc"
 msgstr ""
 
-#: gcc.cc:7013
+#: gcc.cc:7038
 #, gcc-internal-format
 msgid "unknown spec function %qs"
 msgstr ""
 
-#: gcc.cc:7043
+#: gcc.cc:7068
 #, gcc-internal-format
 msgid "error in arguments to spec function %qs"
 msgstr ""
 
-#: gcc.cc:7102
+#: gcc.cc:7127
 #, gcc-internal-format
 msgid "malformed spec function name"
 msgstr ""
 
 #. )
-#: gcc.cc:7105
+#: gcc.cc:7130
 #, gcc-internal-format
 msgid "no arguments for spec function"
 msgstr ""
 
-#: gcc.cc:7124
+#: gcc.cc:7149
 #, gcc-internal-format
 msgid "malformed spec function arguments"
 msgstr ""
 
-#: gcc.cc:7303
+#: gcc.cc:7328
 #, gcc-internal-format
 msgid "braced spec %qs ends in escape"
 msgstr ""
 
-#: gcc.cc:7438
+#: gcc.cc:7463
 #, gcc-internal-format
 msgid "braced spec %qs is invalid at %qc"
 msgstr ""
 
-#: gcc.cc:7533
+#: gcc.cc:7558
 #, gcc-internal-format
 msgid "braced spec body %qs is invalid"
 msgstr ""
 
-#: gcc.cc:8142
+#: gcc.cc:8155
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not determine length of compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8153
+#: gcc.cc:8166
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure (length)"
 msgstr ""
 
-#: gcc.cc:8163 gcc.cc:8204
+#: gcc.cc:8176 gcc.cc:8217
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not open compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8183 gcc.cc:8220
+#: gcc.cc:8196 gcc.cc:8233
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure"
 msgstr ""
 
-#: gcc.cc:8524
+#: gcc.cc:8537
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8549
+#: gcc.cc:8562
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_HEADERS_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8756
+#: gcc.cc:8769
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: gcc.cc:8760
+#: gcc.cc:8773
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>"
 msgstr ""
 
-#: gcc.cc:8886
+#: gcc.cc:8899
 #, gcc-internal-format
 msgid "not configured with sysroot headers suffix"
 msgstr ""
 
-#: gcc.cc:8947
+#: gcc.cc:8960
 #, gcc-internal-format
 msgid "no input files"
 msgstr ""
 
-#: gcc.cc:8998
+#: gcc.cc:9011
 #, gcc-internal-format
 msgid "cannot specify %<-o%> with %<-c%>, %<-S%> or %<-E%> with multiple files"
 msgstr ""
 
-#: gcc.cc:9040
+#: gcc.cc:9053
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: %s compiler not installed on this system"
 msgstr ""
 
-#: gcc.cc:9065
+#: gcc.cc:9078
 #, gcc-internal-format
 msgid "recompiling with %<-fcompare-debug%>"
 msgstr ""
 
-#: gcc.cc:9081
+#: gcc.cc:9094
 #, gcc-internal-format
 msgid "during %<-fcompare-debug%> recompilation"
 msgstr ""
 
-#: gcc.cc:9090
+#: gcc.cc:9103
 #, gcc-internal-format
 msgid "comparing final insns dumps"
 msgstr ""
 
-#: gcc.cc:9243
+#: gcc.cc:9256
 #, gcc-internal-format
 msgid "%<-fuse-linker-plugin%>, but %s not found"
 msgstr ""
 
-#: gcc.cc:9277
+#: gcc.cc:9290
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: linker input file unused because linking not done"
 msgstr ""
@@ -27636,92 +27659,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:9283
+#: gcc.cc:9296
 #, gcc-internal-format
 msgid "%s: linker input file not found: %m"
 msgstr ""
 
-#: gcc.cc:9355 c-family/c-opts.cc:820
+#: gcc.cc:9368 c-family/c-opts.cc:852
 #, gcc-internal-format
 msgid "cannot use %<-%> as input filename for a precompiled header"
 msgstr ""
 
-#: gcc.cc:9361
+#: gcc.cc:9374
 #, gcc-internal-format, gfc-internal-format
 msgid "language %s not recognized"
 msgstr ""
 
-#: gcc.cc:9604
+#: gcc.cc:9617
 #, gcc-internal-format
 msgid "multilib spec %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9806
+#: gcc.cc:9819
 #, gcc-internal-format
 msgid "multilib exclusions %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9870 common/config/riscv/riscv-common.cc:2242
+#: gcc.cc:9883 common/config/riscv/riscv-common.cc:2366
 #, gcc-internal-format
 msgid "multilib select %qs %qs is invalid"
 msgstr ""
 
-#: gcc.cc:10044
+#: gcc.cc:10057
 #, gcc-internal-format
 msgid "multilib select %qs is invalid"
 msgstr ""
 
-#: gcc.cc:10084
+#: gcc.cc:10097
 #, gcc-internal-format
 msgid "multilib exclusion %qs is invalid"
 msgstr ""
 
-#: gcc.cc:10335
+#: gcc.cc:10348
 #, gcc-internal-format
 msgid "environment variable %qs not defined"
 msgstr ""
 
-#: gcc.cc:10503 gcc.cc:10508
+#: gcc.cc:10516 gcc.cc:10521
 #, gcc-internal-format
 msgid "invalid version number %qs"
 msgstr ""
 
-#: gcc.cc:10551
+#: gcc.cc:10564
 #, gcc-internal-format, gfc-internal-format
 msgid "too few arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10557
+#: gcc.cc:10570
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10599
+#: gcc.cc:10612
 #, gcc-internal-format
 msgid "unknown operator %qs in %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10723
+#: gcc.cc:10736
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-dump-opt"
 msgstr ""
 
-#: gcc.cc:10791
+#: gcc.cc:10804
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-self-opt"
 msgstr ""
 
-#: gcc.cc:10878
+#: gcc.cc:10891
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments for %%:dumps"
 msgstr ""
 
-#: gcc.cc:10982
+#: gcc.cc:10995
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:debug-level-gt"
 msgstr ""
 
-#: gcc.cc:11003
+#: gcc.cc:11016
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:dwarf-version-gt"
 msgstr ""
@@ -27761,12 +27784,12 @@ msgstr ""
 msgid "scale needs to be non-negative"
 msgstr ""
 
-#: gcse.cc:3995
+#: gcse.cc:4194
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: %d basic blocks and %d edges/basic block"
 msgstr ""
 
-#: gcse.cc:4007
+#: gcse.cc:4206
 #, gcc-internal-format
 msgid ""
 "%s: %d basic blocks and %d registers; increase %<--param max-gcse-memory%> "
@@ -27862,131 +27885,136 @@ msgstr ""
 msgid "cannot write PCH file"
 msgstr ""
 
-#: gimple-array-bounds.cc:282
+#: gimple-array-bounds.cc:284
 #, gcc-internal-format
 msgid "array subscript %E is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:301
+#: gimple-array-bounds.cc:303
 #, gcc-internal-format
 msgid "array subscript [%E, %E] is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:315
+#: gimple-array-bounds.cc:317
 #, gcc-internal-format
 msgid "array subscript %E is above array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:324
+#: gimple-array-bounds.cc:326
 #, gcc-internal-format
 msgid "array subscript %E is below array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:399
+#: gimple-array-bounds.cc:401
 #, gcc-internal-format
 msgid ""
 "array subscript %E is outside the bounds of an interior zero-length array %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:401
+#: gimple-array-bounds.cc:403
 #, gcc-internal-format
 msgid ""
 "array subscript %qE is outside the bounds of an interior zero-length array "
 "%qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:422
+#: gimple-array-bounds.cc:424
 #, gcc-internal-format
 msgid "trailing array %qT should not be used as a flexible array member"
 msgstr ""
 
-#: gimple-array-bounds.cc:459 gimple-array-bounds.cc:726
+#: gimple-array-bounds.cc:461 gimple-array-bounds.cc:728
 #, gcc-internal-format
 msgid "while referencing %qD"
 msgstr ""
 
-#: gimple-array-bounds.cc:461
+#: gimple-array-bounds.cc:463
 #, gcc-internal-format
 msgid "defined here %qD"
 msgstr ""
 
-#: gimple-array-bounds.cc:582
+#: gimple-array-bounds.cc:584
 #, gcc-internal-format
 msgid "array subscript %wi is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:587
+#: gimple-array-bounds.cc:589
 #, gcc-internal-format
 msgid "array subscript [%wi, %wi] is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:602
+#: gimple-array-bounds.cc:604
 #, gcc-internal-format
 msgid "array subscript %<%T[%wi]%> is partly outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:625
+#: gimple-array-bounds.cc:627
 #, gcc-internal-format
 msgid "intermediate array offset %wi is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:704
+#: gimple-array-bounds.cc:706
 #, gcc-internal-format
 msgid "array subscript %wi is below array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:718
+#: gimple-array-bounds.cc:720
 #, gcc-internal-format
 msgid "array subscript %wu is above array bounds of %qT"
 msgstr ""
 
-#: gimple-fold.cc:2081 gimple-fold.cc:3133 gimple-ssa-warn-restrict.cc:2080
+#: gimple-fold.cc:2226 gimple-fold.cc:3285 gimple-ssa-warn-restrict.cc:2080
 #, gcc-internal-format
 msgid "%qD source argument is the same as destination"
 msgstr ""
 
-#: gimple-fold.cc:2147
+#: gimple-fold.cc:2292
 #, gcc-internal-format
 msgid ""
 "%qD destination unchanged after copying no bytes from a string of length %E"
 msgstr ""
 
-#: gimple-fold.cc:2152
+#: gimple-fold.cc:2297
 #, gcc-internal-format
 msgid "%qD destination unchanged after copying no bytes"
 msgstr ""
 
-#: gimple-fold.cc:2527 gimple-ssa-warn-access.cc:859
+#: gimple-fold.cc:2680 gimple-ssa-warn-access.cc:862
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-fold.cc:2546
+#: gimple-fold.cc:2699
 #, gcc-internal-format
 msgid "%qD specified bound %E equals source length"
 msgstr ""
 
-#: gimple-fold.cc:4550 gimple-fold.cc:4777
+#: gimple-fold.cc:4734 gimple-fold.cc:5021
 #, gcc-internal-format
 msgid ""
 "flexible array member %qD does not have well defined padding bits for %qs"
 msgstr ""
 
-#: gimple-fold.cc:4726 cp/constexpr.cc:4895
+#: gimple-fold.cc:4970 cp/constexpr.cc:5013
 #, gcc-internal-format
 msgid "PDP11 bit-field handling unsupported in %qs"
 msgstr ""
 
-#: gimple-fold.cc:5007
+#: gimple-fold.cc:5252
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported for variable length aggregates"
 msgstr ""
 
-#: gimple-fold.cc:5013
+#: gimple-fold.cc:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported on this target"
 msgstr ""
 
+#: gimple-fold.cc:8566 gimple-fold.cc:8595
+#, gcc-internal-format, gfc-internal-format
+msgid "comparison is always %d"
+msgstr ""
+
 #: gimple-harden-control-flow.cc:97
 #, gcc-internal-format
 msgid ""
@@ -28008,39 +28036,40 @@ msgid ""
 "flow-redundancy%>"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:290
+#: gimple-ssa-isolate-paths.cc:298
 #, gcc-internal-format
 msgid "potential null pointer dereference"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:330
+#: gimple-ssa-isolate-paths.cc:338
 #, gcc-internal-format
 msgid "null pointer dereference"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:413
+#: gimple-ssa-isolate-paths.cc:421
 #, gcc-internal-format
 msgid "function may return address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11587
+#: gimple-ssa-isolate-paths.cc:422 c/c-typeck.cc:12794
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2055
-#: gimple-ssa-warn-access.cc:3713 tree.cc:12442 tree.cc:12479 tree.cc:12520
-#: tree.cc:12553 c/c-parser.cc:20633 c/c-parser.cc:20774 c/c-typeck.cc:3159
-#: c/c-typeck.cc:3254 c/c-typeck.cc:5871 c/c-typeck.cc:11493
-#: c/c-typeck.cc:11510 c/gimple-parser.cc:2609 c/gimple-parser.cc:2617
-#: cp/call.cc:8203 cp/call.cc:10398 cp/class.cc:9402 cp/constexpr.cc:889
-#: cp/constexpr.cc:1316 cp/constexpr.cc:4314 cp/constexpr.cc:5990
-#: cp/constexpr.cc:6361 cp/cvt.cc:1095 cp/cvt.cc:1133 cp/decl.cc:9116
-#: cp/decl2.cc:5934 cp/decl2.cc:5989 cp/method.cc:1234 cp/parser.cc:22557
-#: cp/pt.cc:9178 cp/semantics.cc:2378 cp/semantics.cc:4896 cp/typeck.cc:2143
-#: cp/typeck.cc:2363 cp/typeck.cc:4509 cp/typeck.cc:10694
+#: gimple-ssa-isolate-paths.cc:425 gimple-ssa-warn-access.cc:2071
+#: gimple-ssa-warn-access.cc:3725 tree.cc:12603 tree.cc:12640 tree.cc:12681
+#: tree.cc:12714 c/c-decl.cc:10777 c/c-parser.cc:22321 c/c-parser.cc:22462
+#: c/c-typeck.cc:3652 c/c-typeck.cc:3748 c/c-typeck.cc:3760 c/c-typeck.cc:6491
+#: c/c-typeck.cc:12700 c/c-typeck.cc:12717 c/gimple-parser.cc:2660
+#: c/gimple-parser.cc:2668 cp/call.cc:8370 cp/call.cc:8453 cp/call.cc:8472
+#: cp/call.cc:10708 cp/class.cc:9467 cp/constexpr.cc:889 cp/constexpr.cc:1323
+#: cp/constexpr.cc:4421 cp/constexpr.cc:6115 cp/constexpr.cc:6494
+#: cp/cvt.cc:1097 cp/cvt.cc:1137 cp/decl.cc:9602 cp/decl2.cc:6313
+#: cp/decl2.cc:6362 cp/lambda.cc:623 cp/method.cc:1240 cp/parser.cc:23053
+#: cp/pt.cc:9265 cp/pt.cc:9935 cp/semantics.cc:2753 cp/semantics.cc:5291
+#: cp/typeck.cc:2164 cp/typeck.cc:2385 cp/typeck.cc:4570 cp/typeck.cc:10793
 #: rust/backend/rust-constexpr.cc:4407 rust/backend/rust-tree.cc:621
-#: rust/backend/rust-tree.cc:3813
+#: rust/backend/rust-tree.cc:3800
 #, gcc-internal-format
 msgid "declared here"
 msgstr ""
@@ -28354,7 +28383,7 @@ msgstr ""
 msgid "%<%.*s%> directive argument is not a nul-terminated string"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3350 gimple-ssa-warn-access.cc:234
+#: gimple-ssa-sprintf.cc:3350 gimple-ssa-warn-access.cc:236
 #, gcc-internal-format
 msgid "referenced argument declared here"
 msgstr ""
@@ -28489,815 +28518,814 @@ msgstr ""
 msgid "null format string"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:174
+#: gimple-ssa-warn-access.cc:176
 #, gcc-internal-format
 msgid "%qD specified bound %s exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:182
+#: gimple-ssa-warn-access.cc:184
 #, gcc-internal-format
 msgid "%qD specified bound %s exceeds the size %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:185
+#: gimple-ssa-warn-access.cc:187
 #, gcc-internal-format
 msgid ""
 "%qD specified bound %s may exceed the size of at most %E of unterminated "
 "array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:188
+#: gimple-ssa-warn-access.cc:190
 #, gcc-internal-format
 msgid ""
 "%qD specified bound %s exceeds the size of at most %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:196
+#: gimple-ssa-warn-access.cc:198
 #, gcc-internal-format
 msgid "%qD argument missing terminating nul"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:205
+#: gimple-ssa-warn-access.cc:207
 #, gcc-internal-format
 msgid "%qs specified bound %s exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:213
+#: gimple-ssa-warn-access.cc:215
 #, gcc-internal-format
 msgid "%qs specified bound %s exceeds the size %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:216
+#: gimple-ssa-warn-access.cc:218
 #, gcc-internal-format
 msgid ""
 "%qs specified bound %s may exceed the size of at most %E of unterminated "
 "array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:219
+#: gimple-ssa-warn-access.cc:221
 #, gcc-internal-format
 msgid ""
 "%qs specified bound %s exceeds the size of at most %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:227
+#: gimple-ssa-warn-access.cc:229
 #, gcc-internal-format
 msgid "%qs argument missing terminating nul"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:490 gimple-ssa-warn-access.cc:732
+#: gimple-ssa-warn-access.cc:492 gimple-ssa-warn-access.cc:735
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:495 gimple-ssa-warn-access.cc:748
+#: gimple-ssa-warn-access.cc:497 gimple-ssa-warn-access.cc:751
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:643
+#: gimple-ssa-warn-access.cc:646
 #, gcc-internal-format
 msgid ""
 "%qD argument %i declared attribute %<nonstring%> is smaller than the "
 "specified bound %wu"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:649
+#: gimple-ssa-warn-access.cc:652
 #, gcc-internal-format
 msgid ""
 "%qD argument %i declared attribute %<nonstring%> is smaller than the "
 "specified bound [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:655
+#: gimple-ssa-warn-access.cc:658
 #, gcc-internal-format
 msgid ""
 "%qD argument %i declared attribute %<nonstring%> may be smaller than the "
 "specified bound [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:665
+#: gimple-ssa-warn-access.cc:668
 #, gcc-internal-format
 msgid "%qD argument %i declared attribute %<nonstring%>"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:671
+#: gimple-ssa-warn-access.cc:674
 #, gcc-internal-format
 msgid "argument %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:730
+#: gimple-ssa-warn-access.cc:733
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:737
+#: gimple-ssa-warn-access.cc:740
 #, gcc-internal-format
 msgid "specified bound %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:739
+#: gimple-ssa-warn-access.cc:742
 #, gcc-internal-format
 msgid "specified bound %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:746
+#: gimple-ssa-warn-access.cc:749
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:754
+#: gimple-ssa-warn-access.cc:757
 #, gcc-internal-format
 msgid "specified bound [%E, %E] may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:756
+#: gimple-ssa-warn-access.cc:759
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:766
+#: gimple-ssa-warn-access.cc:769
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:768
+#: gimple-ssa-warn-access.cc:771
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:773
+#: gimple-ssa-warn-access.cc:776
 #, gcc-internal-format
 msgid "specified bound %E may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:775
+#: gimple-ssa-warn-access.cc:778
 #, gcc-internal-format
 msgid "specified bound %E exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:782
+#: gimple-ssa-warn-access.cc:785
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:784
+#: gimple-ssa-warn-access.cc:787
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:789
+#: gimple-ssa-warn-access.cc:792
 #, gcc-internal-format
 msgid "specified bound [%E, %E] may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:791
+#: gimple-ssa-warn-access.cc:794
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:799
+#: gimple-ssa-warn-access.cc:802
 #, gcc-internal-format
 msgid "source object allocated here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:822
+#: gimple-ssa-warn-access.cc:825
 #, gcc-internal-format
 msgid "%qD specified size %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:824
+#: gimple-ssa-warn-access.cc:827
 #, gcc-internal-format
 msgid "%qD specified size %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:829
+#: gimple-ssa-warn-access.cc:832
 #, gcc-internal-format
 msgid "specified size %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:831
+#: gimple-ssa-warn-access.cc:834
 #, gcc-internal-format
 msgid "specified size %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:838
+#: gimple-ssa-warn-access.cc:841
 #, gcc-internal-format
 msgid "%qD specified size between %E and %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:840
+#: gimple-ssa-warn-access.cc:843
 #, gcc-internal-format
 msgid "%qD specified size between %E and %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:845
+#: gimple-ssa-warn-access.cc:848
 #, gcc-internal-format
 msgid "specified size between %E and %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:847
+#: gimple-ssa-warn-access.cc:850
 #, gcc-internal-format
 msgid "specified size between %E and %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:857
+#: gimple-ssa-warn-access.cc:860
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:864
+#: gimple-ssa-warn-access.cc:867
 #, gcc-internal-format
 msgid "specified bound %E may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:866
+#: gimple-ssa-warn-access.cc:869
 #, gcc-internal-format
 msgid "specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:873
+#: gimple-ssa-warn-access.cc:876
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:875
+#: gimple-ssa-warn-access.cc:878
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:880 gimple-ssa-warn-access.cc:882
+#: gimple-ssa-warn-access.cc:883 gimple-ssa-warn-access.cc:885
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:891
+#: gimple-ssa-warn-access.cc:894
 #, gcc-internal-format
 msgid "destination object allocated here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:935
+#: gimple-ssa-warn-access.cc:938
 #, gcc-internal-format
 msgid "%qD may access %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:937
+#: gimple-ssa-warn-access.cc:940
 #, gcc-internal-format
 msgid "%qD accessing %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:940
+#: gimple-ssa-warn-access.cc:943
 #, gcc-internal-format
 msgid "%qD may access %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:942
+#: gimple-ssa-warn-access.cc:945
 #, gcc-internal-format
 msgid "%qD accessing %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:947
+#: gimple-ssa-warn-access.cc:950
 #, gcc-internal-format
 msgid "may access %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:949
+#: gimple-ssa-warn-access.cc:952
 #, gcc-internal-format
 msgid "accessing %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:952
+#: gimple-ssa-warn-access.cc:955
 #, gcc-internal-format
 msgid "may access %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:954
+#: gimple-ssa-warn-access.cc:957
 #, gcc-internal-format
 msgid "accessing %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:963
+#: gimple-ssa-warn-access.cc:966
 #, gcc-internal-format
 msgid "%qD may access %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:965
+#: gimple-ssa-warn-access.cc:968
 #, gcc-internal-format
 msgid "%qD accessing %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:970
+#: gimple-ssa-warn-access.cc:973
 #, gcc-internal-format
 msgid "may access %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:972
+#: gimple-ssa-warn-access.cc:975
 #, gcc-internal-format
 msgid "accessing %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:980
+#: gimple-ssa-warn-access.cc:983
 #, gcc-internal-format
 msgid "%qD may access between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:982
+#: gimple-ssa-warn-access.cc:985
 #, gcc-internal-format
 msgid "%qD accessing between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:987
+#: gimple-ssa-warn-access.cc:990
 #, gcc-internal-format
 msgid "may access between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:989
+#: gimple-ssa-warn-access.cc:992
 #, gcc-internal-format
 msgid "accessing between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1001
+#: gimple-ssa-warn-access.cc:1004
 #, gcc-internal-format
 msgid "%qD may write %E byte into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1003
+#: gimple-ssa-warn-access.cc:1006
 #, gcc-internal-format
 msgid "%qD writing %E byte into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1006
+#: gimple-ssa-warn-access.cc:1009
 #, gcc-internal-format
 msgid "%qD may write %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1008
+#: gimple-ssa-warn-access.cc:1011
 #, gcc-internal-format
 msgid "%qD writing %E bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1013
+#: gimple-ssa-warn-access.cc:1016
 #, gcc-internal-format
 msgid "may write %E byte into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1015
+#: gimple-ssa-warn-access.cc:1018
 #, gcc-internal-format
 msgid "writing %E byte into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1018
+#: gimple-ssa-warn-access.cc:1021
 #, gcc-internal-format
 msgid "may write %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1020
+#: gimple-ssa-warn-access.cc:1023
 #, gcc-internal-format
 msgid "writing %E bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1029
+#: gimple-ssa-warn-access.cc:1032
 #, gcc-internal-format
 msgid "%qD may write %E or more bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1031 gimple-ssa-warn-access.cc:1408
+#: gimple-ssa-warn-access.cc:1034 gimple-ssa-warn-access.cc:1411
 #, gcc-internal-format
 msgid ""
 "%qD writing %E or more bytes into a region of size %E overflows the "
 "destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1037
+#: gimple-ssa-warn-access.cc:1040
 #, gcc-internal-format
 msgid "may write %E or more bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1039 gimple-ssa-warn-access.cc:1413
+#: gimple-ssa-warn-access.cc:1042 gimple-ssa-warn-access.cc:1416
 #, gcc-internal-format
 msgid ""
 "writing %E or more bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1048
+#: gimple-ssa-warn-access.cc:1051
 #, gcc-internal-format
 msgid "%qD may write between %E and %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1050
+#: gimple-ssa-warn-access.cc:1053
 #, gcc-internal-format
 msgid ""
 "%qD writing between %E and %E bytes into a region of size %E overflows the "
 "destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1056
+#: gimple-ssa-warn-access.cc:1059
 #, gcc-internal-format
 msgid "may write between %E and %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1058
+#: gimple-ssa-warn-access.cc:1061
 #, gcc-internal-format
 msgid ""
 "writing between %E and %E bytes into a region of size %E overflows the "
 "destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1072
+#: gimple-ssa-warn-access.cc:1075
 #, gcc-internal-format
 msgid "%qD may read %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1074
+#: gimple-ssa-warn-access.cc:1077
 #, gcc-internal-format
 msgid "%qD reading %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1077
+#: gimple-ssa-warn-access.cc:1080
 #, gcc-internal-format
 msgid "%qD may read %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1079
+#: gimple-ssa-warn-access.cc:1082
 #, gcc-internal-format
 msgid "%qD reading %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1085
+#: gimple-ssa-warn-access.cc:1088
 #, gcc-internal-format
 msgid "may read %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1087
+#: gimple-ssa-warn-access.cc:1090
 #, gcc-internal-format
 msgid "reading %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1090
+#: gimple-ssa-warn-access.cc:1093
 #, gcc-internal-format
 msgid "may read %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1092
+#: gimple-ssa-warn-access.cc:1095
 #, gcc-internal-format
 msgid "reading %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1101
+#: gimple-ssa-warn-access.cc:1104
 #, gcc-internal-format
 msgid "%qD may read %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1103
+#: gimple-ssa-warn-access.cc:1106
 #, gcc-internal-format
 msgid "%qD reading %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1108
+#: gimple-ssa-warn-access.cc:1111
 #, gcc-internal-format
 msgid "may read %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1110
+#: gimple-ssa-warn-access.cc:1113
 #, gcc-internal-format
 msgid "reading %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1118
+#: gimple-ssa-warn-access.cc:1121
 #, gcc-internal-format
 msgid "%qD may read between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1120
+#: gimple-ssa-warn-access.cc:1123
 #, gcc-internal-format
 msgid "%qD reading between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1125
+#: gimple-ssa-warn-access.cc:1128
 #, gcc-internal-format
 msgid "may read between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1127
+#: gimple-ssa-warn-access.cc:1130
 #, gcc-internal-format
 msgid "reading between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1142
+#: gimple-ssa-warn-access.cc:1145
 #, gcc-internal-format
 msgid "%qD expecting %E byte in a region of size %E"
 msgid_plural "%qD expecting %E bytes in a region of size %E"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-access.cc:1147
+#: gimple-ssa-warn-access.cc:1150
 #, gcc-internal-format
 msgid "expecting %E byte in a region of size %E"
 msgid_plural "expecting %E bytes in a region of size %E"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-access.cc:1155
+#: gimple-ssa-warn-access.cc:1158
 #, gcc-internal-format
 msgid "%qD expecting %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1159
+#: gimple-ssa-warn-access.cc:1162
 #, gcc-internal-format
 msgid "expecting %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1166
+#: gimple-ssa-warn-access.cc:1169
 #, gcc-internal-format
 msgid "%qD expecting between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1170
+#: gimple-ssa-warn-access.cc:1173
 #, gcc-internal-format
 msgid "expecting between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2050
+#: gimple-ssa-warn-access.cc:2066
 #, gcc-internal-format
 msgid "%qD called on pointer %qE with nonzero offset%s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2065 gimple-ssa-warn-access.cc:3790
+#: gimple-ssa-warn-access.cc:2081 gimple-ssa-warn-access.cc:3802
 #, gcc-internal-format
 msgid "returned from %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2068
+#: gimple-ssa-warn-access.cc:2084
 #, gcc-internal-format
 msgid "returned from %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2070
+#: gimple-ssa-warn-access.cc:2086
 #, gcc-internal-format
 msgid "obtained here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2277
+#: gimple-ssa-warn-access.cc:2293
 #, gcc-internal-format
 msgid "argument %i value %qE is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2294
+#: gimple-ssa-warn-access.cc:2310
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value is zero"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2312
+#: gimple-ssa-warn-access.cc:2328
 #, gcc-internal-format
 msgid "argument %i value %qE exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2326
+#: gimple-ssa-warn-access.cc:2342
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2333
+#: gimple-ssa-warn-access.cc:2349
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2363
+#: gimple-ssa-warn-access.cc:2379
 #, gcc-internal-format
 msgid "product %<%E * %E%> of arguments %i and %i exceeds %<SIZE_MAX%>"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2369
+#: gimple-ssa-warn-access.cc:2385
 #, gcc-internal-format
 msgid ""
 "product %<%E * %E%> of arguments %i and %i exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2380 gimple-ssa-warn-access.cc:2383
+#: gimple-ssa-warn-access.cc:2396 gimple-ssa-warn-access.cc:2399
 #, gcc-internal-format
 msgid "argument %i in the range [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2394
+#: gimple-ssa-warn-access.cc:2410
 #, gcc-internal-format
 msgid "in a call to built-in allocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2397
+#: gimple-ssa-warn-access.cc:2413
 #, gcc-internal-format
 msgid "in a call to allocation function %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2842
+#: gimple-ssa-warn-access.cc:2858
 #, gcc-internal-format
 msgid "unknown architecture specifier in memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2934
+#: gimple-ssa-warn-access.cc:2950
 #, gcc-internal-format
 msgid "invalid memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2938
+#: gimple-ssa-warn-access.cc:2954
 #, gcc-internal-format
 msgid "invalid memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2953 gimple-ssa-warn-access.cc:3007
-#, gcc-internal-format, gfc-internal-format
-msgid "valid models are %s"
+#: gimple-ssa-warn-access.cc:2968 gimple-ssa-warn-access.cc:3019
+msgid "valid models are %e"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2967
+#: gimple-ssa-warn-access.cc:2982
 #, gcc-internal-format
 msgid "invalid failure memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2972
+#: gimple-ssa-warn-access.cc:2987
 #, gcc-internal-format
 msgid "valid failure models are %qs, %qs, %qs, %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2988
+#: gimple-ssa-warn-access.cc:3003
 #, gcc-internal-format
 msgid ""
 "failure memory model %qs cannot be stronger than success memory model %qs "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3014
+#: gimple-ssa-warn-access.cc:3026
 #, gcc-internal-format
 msgid ""
 "failure memory model %wi cannot be stronger than success memory model %wi "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3458
+#: gimple-ssa-warn-access.cc:3470
 #, 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:3466
+#: gimple-ssa-warn-access.cc:3478
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value %s is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3512
+#: gimple-ssa-warn-access.cc:3524
 #, 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:3576
+#: gimple-ssa-warn-access.cc:3588
 #, gcc-internal-format
 msgid "referencing argument %u of type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3590
+#: gimple-ssa-warn-access.cc:3602
 #, gcc-internal-format
 msgid "in a call to function %qD declared with attribute %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3594
+#: gimple-ssa-warn-access.cc:3606
 #, gcc-internal-format
 msgid "in a call with type %qT and attribute %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3601
+#: gimple-ssa-warn-access.cc:3613
 #, gcc-internal-format
 msgid "in a call to function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3604
+#: gimple-ssa-warn-access.cc:3616
 #, gcc-internal-format
 msgid "in a call with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3710
+#: gimple-ssa-warn-access.cc:3722
 #, gcc-internal-format
 msgid "%qD called on unallocated object %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3729
+#: gimple-ssa-warn-access.cc:3741
 #, gcc-internal-format
 msgid "%qD called on a pointer to an unallocated object %qE"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3738
+#: gimple-ssa-warn-access.cc:3750
 #, gcc-internal-format
 msgid "assigned here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3771
+#: gimple-ssa-warn-access.cc:3783
 #, gcc-internal-format
 msgid "%qD called on pointer returned from a mismatched allocation function"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3780
+#: gimple-ssa-warn-access.cc:3792
 #, gcc-internal-format
 msgid "%qD called on pointer to an unallocated object"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3928
+#: gimple-ssa-warn-access.cc:3940
 #, gcc-internal-format
 msgid "pointer %qE may be used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3929
+#: gimple-ssa-warn-access.cc:3941
 #, gcc-internal-format
 msgid "pointer %qE used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3933
+#: gimple-ssa-warn-access.cc:3945
 #, gcc-internal-format
 msgid "pointer may be used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3934
+#: gimple-ssa-warn-access.cc:3946
 #, gcc-internal-format
 msgid "pointer used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3938
+#: gimple-ssa-warn-access.cc:3950
 #, gcc-internal-format
 msgid "call to %qD here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3955
+#: gimple-ssa-warn-access.cc:3967
 #, gcc-internal-format
 msgid "dangling pointer %qE to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3956
+#: gimple-ssa-warn-access.cc:3968
 #, gcc-internal-format
 msgid "using dangling pointer %qE to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3961
+#: gimple-ssa-warn-access.cc:3973
 #, gcc-internal-format
 msgid "dangling pointer to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3962
+#: gimple-ssa-warn-access.cc:3974
 #, gcc-internal-format
 msgid "using a dangling pointer to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4613
-#: gimple-ssa-warn-access.cc:4616 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:9541 c/c-typeck.cc:12295 cp/call.cc:8578
-#: cp/call.cc:8589 cp/class.cc:1718 cp/class.cc:3517 cp/constexpr.cc:1062
-#: cp/decl.cc:4640 cp/decl.cc:12905 cp/decl.cc:13493 cp/decl.cc:13502
-#: cp/decl.cc:14503 cp/friend.cc:406 cp/friend.cc:416 cp/init.cc:2935
-#: cp/parser.cc:3694 cp/parser.cc:3840 cp/parser.cc:3891 cp/parser.cc:7171
-#: cp/parser.cc:25127 cp/typeck.cc:5002
+#: gimple-ssa-warn-access.cc:3977 gimple-ssa-warn-access.cc:4625
+#: gimple-ssa-warn-access.cc:4628 gimple-ssa-warn-restrict.cc:1830
+#: gimplify.cc:4375 tree-ssa-uninit.cc:924 tree-ssa-uninit.cc:1123
+#: c/c-decl.cc:4097 c/c-decl.cc:4387 c/c-typeck.cc:10337 c/c-typeck.cc:13512
+#: cp/call.cc:8787 cp/call.cc:8798 cp/class.cc:1722 cp/class.cc:3543
+#: cp/constexpr.cc:1065 cp/decl.cc:4685 cp/decl.cc:13456 cp/decl.cc:14046
+#: cp/decl.cc:14056 cp/decl.cc:15056 cp/friend.cc:407 cp/friend.cc:417
+#: cp/init.cc:2949 cp/parser.cc:3860 cp/parser.cc:4006 cp/parser.cc:4058
+#: cp/parser.cc:7428 cp/parser.cc:25717 cp/typeck.cc:5069
 #, gcc-internal-format
 msgid "%qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3973
+#: gimple-ssa-warn-access.cc:3985
 #, gcc-internal-format
 msgid "dangling pointer %qE to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3975
+#: gimple-ssa-warn-access.cc:3987
 #, gcc-internal-format
 msgid "using dangling pointer %qE to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3981
+#: gimple-ssa-warn-access.cc:3993
 #, gcc-internal-format
 msgid "dangling pointer to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3983
+#: gimple-ssa-warn-access.cc:3995
 #, gcc-internal-format
 msgid "using a dangling pointer to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3987
+#: gimple-ssa-warn-access.cc:3999
 #, gcc-internal-format
 msgid "unnamed temporary defined here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4077
+#: gimple-ssa-warn-access.cc:4089
 #, gcc-internal-format
 msgid "%qD called on pointer %qE passed to mismatched allocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4082
+#: gimple-ssa-warn-access.cc:4094
 #, gcc-internal-format
 msgid "%qD called on a pointer passed to mismatched reallocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4088
+#: gimple-ssa-warn-access.cc:4100
 #, gcc-internal-format
 msgid "call to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4607
+#: gimple-ssa-warn-access.cc:4619
 #, gcc-internal-format
 msgid "storing the address of local variable %qD in %qE"
 msgstr ""
@@ -29540,7 +29568,7 @@ msgid ""
 "type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1785 c-family/c-warn.cc:3804
+#: gimple-ssa-warn-restrict.cc:1785 c-family/c-warn.cc:3816
 #, gcc-internal-format
 msgid "array %qD declared here"
 msgstr ""
@@ -29624,459 +29652,537 @@ msgstr ""
 msgid "recursive call"
 msgstr ""
 
-#: gimple.cc:1337
+#: gimple.cc:1379
 #, gcc-internal-format, gfc-internal-format
 msgid "gimple check: expected %s(%s), have %s(%s) in %s, at %s:%d"
 msgstr ""
 
-#: gimplify.cc:1426
+#: gimplify.cc:1459
 #, gcc-internal-format
 msgid ""
 "%<allocate%> directive for %qD inside a target region must specify an "
 "%<allocator%> clause"
 msgstr ""
 
-#: gimplify.cc:2298
+#: gimplify.cc:2334
 #, gcc-internal-format
 msgid "statement will never be executed"
 msgstr ""
 
-#: gimplify.cc:2362
+#: gimplify.cc:2398
 #, gcc-internal-format
 msgid "%qs cannot be initialized with%<-ftrivial-auto-var_init%>"
 msgstr ""
 
-#: gimplify.cc:2754 gimplify.cc:2762
+#: gimplify.cc:2790 gimplify.cc:2798
 #, gcc-internal-format
 msgid "this statement may fall through"
 msgstr ""
 
-#: gimplify.cc:2764
+#: gimplify.cc:2800
 #, 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:2835 gimplify.cc:2892 gimplify.cc:2918
+#: gimplify.cc:2871 gimplify.cc:2928 gimplify.cc:2956
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> not preceding a case label or default label"
 msgstr ""
 
-#: gimplify.cc:4092
+#: gimplify.cc:4236
+#, gcc-internal-format
+msgid ""
+"late or dynamic variant resolution required for call in a %<dispatch%> "
+"construct"
+msgstr ""
+
+#: gimplify.cc:4372
+#, gcc-internal-format
+msgid ""
+"unexpected %<interop%> clause as invoked procedure %qD is not variant "
+"substituted"
+msgstr ""
+
+#: gimplify.cc:4386
+#, gcc-internal-format
+msgid ""
+"number of list items in %<interop%> clause (%d) exceeds the number of "
+"%<append_args%> items (%d) for %<declare variant%> candidate %qD"
+msgstr ""
+
+#: gimplify.cc:4393
+#, gcc-internal-format
+msgid "%<declare variant%> candidate %qD declared here"
+msgstr ""
+
+#: gimplify.cc:4401
+#, gcc-internal-format
+msgid ""
+"the %<device%> clause must be present if the %<interop%> clause has more "
+"than one list item"
+msgstr ""
+
+#: gimplify.cc:4407
+#, gcc-internal-format
+msgid ""
+"%<append_args%> clause not yet supported for %qD, except when specifying all "
+"%d objects in the %<interop%> clause of the %<dispatch%> directive"
+msgstr ""
+
+#: gimplify.cc:4411
+#, gcc-internal-format
+msgid "required by %<dispatch%> construct"
+msgstr ""
+
+#: gimplify.cc:4579
+#, gcc-internal-format
+msgid ""
+"%<is_device_ptr%> for %qD does not imply %<has_device_addr%> required for "
+"%<need_device_addr%>"
+msgstr ""
+
+#: gimplify.cc:4593
+#, gcc-internal-format
+msgid ""
+"%<has_device_addr%> for %qD does not imply %<is_device_ptr%> required for "
+"%<need_device_ptr%>"
+msgstr ""
+
+#: gimplify.cc:4712
 #, gcc-internal-format
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.cc:7019
+#: gimplify.cc:7745
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory output %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:7034
+#: gimplify.cc:7760
 #, gcc-internal-format
 msgid "invalid lvalue in %<asm%> output %d"
 msgstr ""
 
-#: gimplify.cc:7181
+#: gimplify.cc:7915
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:7221 gimplify.cc:7231
+#: gimplify.cc:7956 gimplify.cc:7966
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.cc:7854
+#: gimplify.cc:8589
 #, gcc-internal-format
 msgid ""
 "threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: gimplify.cc:7856
+#: gimplify.cc:8591
 #, gcc-internal-format
 msgid "enclosing region"
 msgstr ""
 
-#: gimplify.cc:7860
+#: gimplify.cc:8595
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in target region"
 msgstr ""
 
-#: gimplify.cc:7862
+#: gimplify.cc:8597
 #, gcc-internal-format
 msgid "enclosing target region"
 msgstr ""
 
-#: gimplify.cc:7875
+#: gimplify.cc:8610
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.cc:7877
+#: gimplify.cc:8612
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.cc:7974
+#: gimplify.cc:8709
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:7976
+#: gimplify.cc:8711
 #, gcc-internal-format
 msgid "enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:8150
+#: gimplify.cc:8885
 #, gcc-internal-format
 msgid "%qE not specified in enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:8154
+#: gimplify.cc:8889
 #, gcc-internal-format
 msgid "enclosing OpenACC %qs construct and"
 msgstr ""
 
-#: gimplify.cc:8157
+#: gimplify.cc:8892
 #, gcc-internal-format
 msgid "enclosing OpenACC %qs construct with %qs clause"
 msgstr ""
 
-#: gimplify.cc:8227
+#: gimplify.cc:8962
 #, gcc-internal-format
 msgid "%qE with %<link%> clause used in %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:8235
+#: gimplify.cc:8970
 #, gcc-internal-format
 msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:8297
+#: gimplify.cc:9032
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:8299
+#: gimplify.cc:9034
 #, gcc-internal-format
 msgid "enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:8334 gimplify.cc:12428
+#: gimplify.cc:9069 gimplify.cc:13163
 #, gcc-internal-format
 msgid "variable %qE declared in enclosing %<host_data%> region"
 msgstr ""
 
-#: gimplify.cc:8355
+#: gimplify.cc:9090
 #, gcc-internal-format
 msgid "%qD referenced in target region does not have a mappable type"
 msgstr ""
 
-#: gimplify.cc:8499
+#: gimplify.cc:9234
 #, gcc-internal-format
 msgid "iteration variable %qE is predetermined linear"
 msgstr ""
 
-#: gimplify.cc:8502
+#: gimplify.cc:9237
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.cc:8516
+#: gimplify.cc:9251
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.cc:8519
+#: gimplify.cc:9254
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.cc:8522
+#: gimplify.cc:9257
 #, gcc-internal-format
 msgid "iteration variable %qE should not be linear"
 msgstr ""
 
-#: gimplify.cc:9526 gimplify.cc:9537 gimplify.cc:9549 gimplify.cc:9565
-#: gimplify.cc:9770 gimplify.cc:9793 gimplify.cc:9804 gimplify.cc:9822
+#: gimplify.cc:10261 gimplify.cc:10272 gimplify.cc:10284 gimplify.cc:10300
+#: gimplify.cc:10505 gimplify.cc:10528 gimplify.cc:10539 gimplify.cc:10557
 #, gcc-internal-format
 msgid "unexpected mapping node"
 msgstr ""
 
-#: gimplify.cc:9859
+#: gimplify.cc:10594
 #, gcc-internal-format
 msgid "unexpected pointer mapping node"
 msgstr ""
 
-#: gimplify.cc:10072
+#: gimplify.cc:10807
 #, gcc-internal-format
 msgid "base pointer cycle detected"
 msgstr ""
 
-#: gimplify.cc:10579
+#: gimplify.cc:11314
 #, gcc-internal-format
 msgid ""
 "data movement for component %qE is not compatible with movement for struct "
 "%qE"
 msgstr ""
 
-#: gimplify.cc:10895
+#: gimplify.cc:11630
 #, gcc-internal-format
 msgid "%qE appears more than once in map clauses"
 msgstr ""
 
-#: gimplify.cc:11851
+#: gimplify.cc:12586
 #, gcc-internal-format
 msgid "mapping field %qE of variable length structure"
 msgstr ""
 
-#: gimplify.cc:12121 gimplify.cc:12127
+#: gimplify.cc:12856 gimplify.cc:12862
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:12144
+#: gimplify.cc:12879
 #, gcc-internal-format
 msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
 msgstr ""
 
-#: gimplify.cc:12166
+#: gimplify.cc:12901
 #, gcc-internal-format
 msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
 msgstr ""
 
-#: gimplify.cc:12174
+#: gimplify.cc:12909
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs, %<sections%> or %<scope%>"
 msgstr ""
 
-#: gimplify.cc:12185 gimplify.cc:12191 gimplify.cc:12197 gimplify.cc:12203
-#: gimplify.cc:12209 gimplify.cc:16423
+#: gimplify.cc:12920 gimplify.cc:12926 gimplify.cc:12932 gimplify.cc:12938
+#: gimplify.cc:12944 gimplify.cc:17327
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:12303
+#: gimplify.cc:13038
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause for variable other than loop iterator specified on "
 "construct combined with %<distribute%>"
 msgstr ""
 
-#: gimplify.cc:12928
+#: gimplify.cc:13663
 #, gcc-internal-format
 msgid ""
 "copyprivate variable %qE is not threadprivate or private in outer context"
 msgstr ""
 
-#: gimplify.cc:12985
+#: gimplify.cc:13720
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.cc:13017
+#: gimplify.cc:13752
 #, gcc-internal-format
 msgid "expected %qs %<if%> clause modifier rather than %qs"
 msgstr ""
 
-#: gimplify.cc:13056
+#: gimplify.cc:13791
 #, gcc-internal-format
 msgid ""
 "%<device%> clause with %<ancestor%> is only allowed on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:13072
+#: gimplify.cc:13807
 #, gcc-internal-format
 msgid ""
 "with %<ancestor%>, only the %<device%>, %<firstprivate%>, %<private%>, "
 "%<defaultmap%>, and %<map%> clauses may appear on the construct"
 msgstr ""
 
-#: gimplify.cc:13288
+#: gimplify.cc:14009
+#, gcc-internal-format
+msgid ""
+"allocator with access trait set to %<thread%> results in undfined behavior "
+"for %qs directive"
+msgstr ""
+
+#: gimplify.cc:14050
 #, gcc-internal-format
 msgid ""
 "%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on "
 "the containing construct"
 msgstr ""
 
-#: gimplify.cc:13500
+#: gimplify.cc:14270
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in implicit %<map%> clause"
 msgstr ""
 
-#: gimplify.cc:13554
+#: gimplify.cc:14324
 #, gcc-internal-format
 msgid ""
 "%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:13892
+#: gimplify.cc:14662
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:13965
+#: gimplify.cc:14735
 #, gcc-internal-format
 msgid ""
 "same variable used in %<firstprivate%> and %<lastprivate%> clauses on "
 "%<distribute%> construct"
 msgstr ""
 
-#: gimplify.cc:14142
+#: gimplify.cc:14912
 #, gcc-internal-format
 msgid ""
 "incompatible data clause with reduction on %qE; promoting to "
 "%<present_or_copy%>"
 msgstr ""
 
-#: gimplify.cc:14440
+#: gimplify.cc:15210
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> "
 "directive clause"
 msgstr ""
 
-#: gimplify.cc:14459
+#: gimplify.cc:15229
 #, gcc-internal-format
 msgid "invalid private reduction on %qE"
 msgstr ""
 
-#: gimplify.cc:14626
+#: gimplify.cc:15396
 #, gcc-internal-format
 msgid ""
 "%<inscan%> %<reduction%> clause used together with %<linear%> clause for a "
 "variable other than loop iterator"
 msgstr ""
 
-#: gimplify.cc:14970
+#: gimplify.cc:15712
 #, gcc-internal-format
 msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
 msgstr ""
 
-#: gimplify.cc:14980
+#: gimplify.cc:15722
 #, gcc-internal-format
 msgid "%<taskwait%> construct with %<nowait%> clause but no %<depend%> clauses"
 msgstr ""
 
-#: gimplify.cc:15264 gimplify.cc:15268 gimplify.cc:15277 gimplify.cc:15289
-#: gimplify.cc:15294
+#: gimplify.cc:16160 gimplify.cc:16164 gimplify.cc:16173 gimplify.cc:16185
+#: gimplify.cc:16190
 #, gcc-internal-format
 msgid "%qs clause may not appear on non-rectangular %qs"
 msgstr ""
 
-#: gimplify.cc:15455
+#: gimplify.cc:16355
 #, 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:15520
+#: gimplify.cc:16420
 #, gcc-internal-format
 msgid "threadprivate iteration variable %qD"
 msgstr ""
 
-#: gimplify.cc:15551 gimplify.cc:15659
+#: gimplify.cc:16451 gimplify.cc:16559
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
 msgstr ""
 
-#: gimplify.cc:16361
+#: gimplify.cc:17265
 #, gcc-internal-format
 msgid ""
 "%<bind%> clause not specified on a %<loop%> construct not nested inside "
 "another OpenMP construct"
 msgstr ""
 
-#: gimplify.cc:16385
+#: gimplify.cc:17289
 #, gcc-internal-format
 msgid ""
 "%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
 msgstr ""
 
-#: gimplify.cc:16405
+#: gimplify.cc:17309
 #, gcc-internal-format
 msgid ""
 "%<bind(teams)%> on a %<loop%> region not strictly nested inside of a "
 "%<teams%> region"
 msgstr ""
 
-#: gimplify.cc:16430
+#: gimplify.cc:17334
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs or %<sections%>"
 msgstr ""
 
-#: gimplify.cc:16458
+#: gimplify.cc:17362
 #, gcc-internal-format
 msgid ""
 "%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD "
 "which is not the loop iterator"
 msgstr ""
 
-#: gimplify.cc:17540
+#: gimplify.cc:18444
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct with %qs clause must be closely nested inside a loop "
 "with %<ordered%> clause"
 msgstr ""
 
-#: gimplify.cc:17561
+#: gimplify.cc:18465
 #, gcc-internal-format
 msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
 msgstr ""
 
-#: gimplify.cc:17574
+#: gimplify.cc:18478
 #, gcc-internal-format
 msgid ""
 "number of variables in %qs clause with %<sink%> modifier does not match "
 "number of iteration variables"
 msgstr ""
 
-#: gimplify.cc:17588
+#: gimplify.cc:18492
 #, gcc-internal-format
 msgid ""
 "more than one %qs clause with %<source%> modifier on an %<ordered%> construct"
 msgstr ""
 
-#: gimplify.cc:17601
+#: gimplify.cc:18505
 #, gcc-internal-format
 msgid ""
 "%qs clause with %<source%> modifier specified together with %qs clauses with "
 "%<sink%> modifier on the same construct"
 msgstr ""
 
-#: gimplify.cc:18918
+#: gimplify.cc:18657
+#, gcc-internal-format
+msgid ""
+"%qD is a virtual function but only a direct call is allowed in a dispatch "
+"construct"
+msgstr ""
+
+#: gimplify.cc:19987
+#, gcc-internal-format
+msgid "%<#pragma omp interop%> not yet supported"
+msgstr ""
+
+#: gimplify.cc:20396
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
 
-#: gimplify.cc:19519
+#: gimplify.cc:21011
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr ""
 
-#: gimplify.cc:19524
+#: gimplify.cc:21016
 #, gcc-internal-format
 msgid "(so you should pass %qT not %qT to %<va_arg%>)"
 msgstr ""
 
-#: gimplify.cc:19531
+#: gimplify.cc:21023
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr ""
 
-#: godump.cc:1438
+#: godump.cc:1434
 #, gcc-internal-format
 msgid "could not close Go dump file: %m"
 msgstr ""
 
-#: godump.cc:1450
+#: godump.cc:1446
 #, gcc-internal-format
 msgid "could not open Go dump file %qs: %m"
 msgstr ""
@@ -30086,27 +30192,27 @@ msgstr ""
 msgid "Graphite loop optimizations cannot be used (isl is not available)."
 msgstr ""
 
-#: input.cc:1482
-#, gcc-internal-format, gfc-internal-format
-msgid "expansion point is location %i"
+#: input.cc:1571
+#, gcc-internal-format
+msgid "expansion point is location %llu"
 msgstr ""
 
-#: input.cc:1512
+#: input.cc:1601
 #, gcc-internal-format
-msgid "token %u has %<x-location == y-location == %u%>"
+msgid "token %u has %<x-location == y-location == %llu%>"
 msgstr ""
 
-#: input.cc:1521
+#: input.cc:1612
 #, gcc-internal-format
-msgid "token %u has %<x-location == %u%>"
+msgid "token %u has %<x-location == %llu%>"
 msgstr ""
 
-#: input.cc:1522
+#: input.cc:1613
 #, gcc-internal-format
-msgid "token %u has %<y-location == %u%>"
+msgid "token %u has %<y-location == %llu%>"
 msgstr ""
 
-#: internal-fn.cc:843
+#: internal-fn.cc:895
 #, gcc-internal-format
 msgid "invalid use of attribute %<fallthrough%>"
 msgstr ""
@@ -30496,32 +30602,32 @@ msgstr ""
 msgid "mismatching definition"
 msgstr ""
 
-#: ipa-fnsummary.cc:4660
+#: ipa-fnsummary.cc:4845
 #, gcc-internal-format
 msgid "invalid fnsummary in LTO stream"
 msgstr ""
 
-#: ipa-fnsummary.cc:4761
+#: ipa-fnsummary.cc:4946
 #, gcc-internal-format
 msgid "ipa inline summary is missing in input file"
 msgstr ""
 
-#: ipa-modref.cc:4017
+#: ipa-modref.cc:4038
 #, gcc-internal-format
 msgid "IPA modref summary is missing in input file"
 msgstr ""
 
-#: ipa-prop.cc:4823 ipa-prop.cc:4865 ipa-prop.cc:4942 ipa-prop.cc:4990
+#: ipa-prop.cc:4954 ipa-prop.cc:4996 ipa-prop.cc:5073 ipa-prop.cc:5121
 #, gcc-internal-format
 msgid "invalid jump function in LTO stream"
 msgstr ""
 
-#: ipa-pure-const.cc:220
+#: ipa-pure-const.cc:223
 #, gcc-internal-format
 msgid "function might be candidate for attribute %qs"
 msgstr ""
 
-#: ipa-pure-const.cc:221
+#: ipa-pure-const.cc:224
 #, gcc-internal-format
 msgid ""
 "function might be candidate for attribute %qs if it is known to return "
@@ -30570,147 +30676,202 @@ msgid ""
 "access"
 msgstr ""
 
-#: ipa-strub.cc:622
+#: ipa-strub.cc:623
 #, gcc-internal-format
 msgid "at-calls %<strub%> does not support call to %qD"
 msgstr ""
 
-#: ipa-strub.cc:656
+#: ipa-strub.cc:657
 #, gcc-internal-format
 msgid "%qD is not eligible for %<strub%> on the target system"
 msgstr ""
 
-#: ipa-strub.cc:660
+#: ipa-strub.cc:661
 #, gcc-internal-format
 msgid "unsupported %<strub%> call on the target system"
 msgstr ""
 
-#: ipa-strub.cc:686
+#: ipa-strub.cc:689
 #, gcc-internal-format
 msgid "%qD is not eligible for %<strub%> because %<-fsplit-stack%> is enabled"
 msgstr ""
 
-#: ipa-strub.cc:699
+#: ipa-strub.cc:702
 #, gcc-internal-format
 msgid "%qD is not eligible for %<strub%> because of attribute %<noipa%>"
 msgstr ""
 
-#: ipa-strub.cc:714
+#: ipa-strub.cc:717
 #, gcc-internal-format
 msgid "%qD is not eligible for %<strub%> because of attribute %<simd%>"
 msgstr ""
 
-#: ipa-strub.cc:848
+#: ipa-strub.cc:851
 #, gcc-internal-format
 msgid ""
 "%qD is not eligible for internal %<strub%> because of attribute %<noclone%>"
 msgstr ""
 
-#: ipa-strub.cc:872
+#: ipa-strub.cc:875
 #, gcc-internal-format
 msgid "%qD is not eligible for internal %<strub%> because it calls %qD"
 msgstr ""
 
-#: ipa-strub.cc:886
+#: ipa-strub.cc:889
 #, gcc-internal-format
 msgid ""
 "%qD is not eligible for internal %<strub%> because it contains a non-local "
 "goto target"
 msgstr ""
 
-#: ipa-strub.cc:899
+#: ipa-strub.cc:902
 #, gcc-internal-format
 msgid ""
 "%qD is not eligible for internal %<strub%> because the address of a local "
 "label escapes"
 msgstr ""
 
-#: ipa-strub.cc:938
+#: ipa-strub.cc:941
 #, gcc-internal-format
 msgid "internal %<strub%> does not support forced labels"
 msgstr ""
 
-#: ipa-strub.cc:952
+#: ipa-strub.cc:955
 #, gcc-internal-format
 msgid "%qD has too many arguments for internal %<strub%>"
 msgstr ""
 
-#: ipa-strub.cc:1229
+#: ipa-strub.cc:1232
 #, gcc-internal-format
 msgid "%qD requires %<strub%>, but no viable %<strub%> mode was found"
 msgstr ""
 
-#: ipa-strub.cc:1325
+#: ipa-strub.cc:1328
 #, gcc-internal-format
 msgid "%<strub%> mode %qE selected for %qD, when %qE was requested"
 msgstr ""
 
-#: ipa-strub.cc:1334
+#: ipa-strub.cc:1337
 #, gcc-internal-format
 msgid "the incompatible selection was determined by ultimate alias target %qD"
 msgstr ""
 
-#: ipa-strub.cc:1681
+#: ipa-strub.cc:1684
 #, gcc-internal-format
 msgid "indirect non-%<strub%> call in %<strub%> context %qD"
 msgstr ""
 
-#: ipa-strub.cc:1700
+#: ipa-strub.cc:1703
 #, gcc-internal-format
 msgid "calling %<always_inline%> %<strub%> %qD in non-%<strub%> context %qD"
 msgstr ""
 
-#: ipa-strub.cc:1710
+#: ipa-strub.cc:1713
 #, gcc-internal-format
 msgid "calling non-%<strub%> %qD in %<strub%> context %qD"
 msgstr ""
 
-#: ipa-strub.cc:1714
+#: ipa-strub.cc:1717
 #, gcc-internal-format
 msgid "calling %qD using non-%<strub%> type %qT in %<strub%> context %qD"
 msgstr ""
 
-#: ipa-strub.cc:2839
+#: ipa-strub.cc:2842
 #, gcc-internal-format
 msgid "failed to split %qD for %<strub%>"
 msgstr ""
 
-#: ira.cc:2441 ira.cc:2463
+#: ira.cc:2426 ira.cc:2448
 #, gcc-internal-format
 msgid "%s cannot be used in %<asm%> here"
 msgstr ""
 
-#: ira.cc:6059
+#: ira.cc:6073
 #, gcc-internal-format
 msgid "frame pointer required, but reserved"
 msgstr ""
 
-#: ira.cc:6060
+#: ira.cc:6074
 #, gcc-internal-format
 msgid "for %qD"
 msgstr ""
 
-#: ira.cc:6076
+#: ira.cc:6090
 #, gcc-internal-format
 msgid "frame size too large for reliable stack checking"
 msgstr ""
 
-#: lra-assigns.cc:1702
+#: json-parsing.cc:1085
+#, gcc-internal-format, gfc-internal-format
+msgid "maximum nesting depth exceeded: %i"
+msgstr ""
+
+#: json-parsing.cc:1145
+#, gcc-internal-format, gfc-internal-format
+msgid "invalid JSON token: %s"
+msgstr ""
+
+#: json-parsing.cc:1148
+#, gcc-internal-format, gfc-internal-format
+msgid "expected a JSON value but got %s"
+msgstr ""
+
+#: json-parsing.cc:1176
+#, gcc-internal-format, gfc-internal-format
+msgid "expected string for object key after '{'; got %s"
+msgstr ""
+
+#: json-parsing.cc:1183
+#, gcc-internal-format, gfc-internal-format
+msgid "expected string for object key after ','; got %s"
+msgstr ""
+
+#: json-parsing.cc:1297
+#, gcc-internal-format, gfc-internal-format
+msgid "expected %s; got bad token: %s"
+msgstr ""
+
+#: json-parsing.cc:1301
+#, gcc-internal-format, gfc-internal-format
+msgid "expected %s; got %s"
+msgstr ""
+
+#: json-parsing.cc:1320
+#, gcc-internal-format, gfc-internal-format
+msgid "expected %s or %s; got bad token: %s"
+msgstr ""
+
+#: json-parsing.cc:1324
+#, gcc-internal-format, gfc-internal-format
+msgid "expected %s or %s; got %s"
+msgstr ""
+
+#: lazy-diagnostic-path.cc:179
+#, gcc-internal-format
+msgid "this warning should be skipped"
+msgstr ""
+
+#: lazy-diagnostic-path.cc:194
+#, gcc-internal-format
+msgid "this is a test"
+msgstr ""
+
+#: lra-assigns.cc:1694
 #, gcc-internal-format, gfc-internal-format
 msgid "maximum number of LRA assignment passes is achieved (%d)"
 msgstr ""
 
-#: lra-assigns.cc:1867
+#: lra-assigns.cc:1859
 #, gcc-internal-format
 msgid "unable to find a register to spill"
 msgstr ""
 
-#: lra-constraints.cc:4236 reload.cc:3840 reload.cc:4095
+#: lra-constraints.cc:4354 reload.cc:3853 reload.cc:4108
 #, gcc-internal-format
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr ""
 
-#: lra-constraints.cc:5350
+#: lra-constraints.cc:5477
 #, gcc-internal-format, gfc-internal-format
 msgid "maximum number of generated reload insns per insn achieved (%d)"
 msgstr ""
@@ -30721,36 +30882,36 @@ msgid ""
 "%<asm%> operand has impossible constraints or there are not enough registers"
 msgstr ""
 
-#: lto-cgraph.cc:1171
+#: lto-cgraph.cc:1175
 #, 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:1177
+#: lto-cgraph.cc:1181
 #, 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:1346
+#: lto-cgraph.cc:1349
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: found multiple instances of cgraph node with uid %d"
 msgstr ""
 
-#: lto-cgraph.cc:1511
+#: lto-cgraph.cc:1514
 #, gcc-internal-format
 msgid "bytecode stream: no caller found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1517
+#: lto-cgraph.cc:1520
 #, gcc-internal-format
 msgid "bytecode stream: no callee found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1594
+#: lto-cgraph.cc:1597
 #, gcc-internal-format
 msgid "bytecode stream: found empty cgraph node"
 msgstr ""
@@ -30775,41 +30936,41 @@ msgstr ""
 msgid "cannot find LTO section refs in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1944
+#: lto-cgraph.cc:1947
 #, gcc-internal-format
 msgid ""
 "OpenMP %<requires%> directive with non-identical clauses in multiple "
 "compilation units: %qs vs. %qs"
 msgstr ""
 
-#: lto-cgraph.cc:1947 lto-cgraph.cc:1948 lto-cgraph.cc:1954
+#: lto-cgraph.cc:1950 lto-cgraph.cc:1951 lto-cgraph.cc:1957
 #, gcc-internal-format
 msgid "%qs has %qs"
 msgstr ""
 
-#: lto-cgraph.cc:1952
+#: lto-cgraph.cc:1955
 #, gcc-internal-format
 msgid ""
 "OpenMP %<requires%> directive with %qs specified only in some compilation "
 "units"
 msgstr ""
 
-#: lto-cgraph.cc:1957
+#: lto-cgraph.cc:1960
 #, gcc-internal-format
 msgid "but %qs has not"
 msgstr ""
 
-#: lto-cgraph.cc:1965
+#: lto-cgraph.cc:1968
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid offload table in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1976
+#: lto-cgraph.cc:1979
 #, gcc-internal-format
 msgid "GCC_OFFLOAD_OMP_REQUIRES_FILE unset"
 msgstr ""
 
-#: lto-cgraph.cc:1979
+#: lto-cgraph.cc:1982
 #, gcc-internal-format
 msgid "Cannot open omp_requires file %qs"
 msgstr ""
@@ -30877,151 +31038,170 @@ msgstr ""
 msgid "Reference statement index not found"
 msgstr ""
 
-#: lto-streamer-in.cc:2001
+#: lto-streamer-in.cc:2026
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO mode table from %s"
 msgstr ""
 
-#: lto-streamer-in.cc:2107
+#: lto-streamer-in.cc:2133
 #, gcc-internal-format
 msgid "%s - %u-bit-precision floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2112
+#: lto-streamer-in.cc:2138
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision decimal floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2117
+#: lto-streamer-in.cc:2143
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision complex floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2122
+#: lto-streamer-in.cc:2148
 #, gcc-internal-format
 msgid "%s - %u-bit integer numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2125
+#: lto-streamer-in.cc:2151
 #, gcc-internal-format
 msgid "%s - unsupported mode %qs"
 msgstr ""
 
-#: lto-streamer-out.cc:561 lto-streamer-out.cc:913
+#: lto-streamer-out.cc:559 lto-streamer-out.cc:911
 #, gcc-internal-format
 msgid "tree code %qs is not supported in LTO streams"
 msgstr ""
 
+#: lto-streamer-out.cc:2554
+#, gcc-internal-format
+msgid "LTO streaming of toplevel extended %<asm%> unimplemented"
+msgstr ""
+
 #: lto-streamer.cc:129
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: unexpected LTO section %s"
 msgstr ""
 
-#: lto-streamer.cc:261
+#: lto-streamer.cc:268
 #, gcc-internal-format
 msgid ""
 "bytecode stream in file %qs generated with LTO version %d.%d instead of the "
 "expected %d.%d"
 msgstr ""
 
-#: lto-wrapper.cc:159
+#: lto-wrapper.cc:164
 #, gcc-internal-format
 msgid "deleting LTRANS file %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:358
+#: lto-wrapper.cc:365
 #, gcc-internal-format, gfc-internal-format
 msgid "option %s with different values"
 msgstr ""
 
-#: lto-wrapper.cc:374
+#: lto-wrapper.cc:381
 #, gcc-internal-format
 msgid "option %qs with mismatching values (%s, %s)"
 msgstr ""
 
-#: lto-wrapper.cc:489
+#: lto-wrapper.cc:497
 #, gcc-internal-format, gfc-internal-format
 msgid "option %s not used consistently in all LTO input files"
 msgstr ""
 
-#: lto-wrapper.cc:634 lto-wrapper.cc:642
+#: lto-wrapper.cc:642 lto-wrapper.cc:650
 #, gcc-internal-format
 msgid ""
 "Extra option to %<-Xassembler%>: %s, dropping all %<-Xassembler%> and %<-"
 "Wa%> options."
 msgstr ""
 
-#: lto-wrapper.cc:650
+#: lto-wrapper.cc:658
 #, gcc-internal-format
 msgid ""
 "Options to %<-Xassembler%> do not match: %s, %s, dropping all %<-"
 "Xassembler%> and %<-Wa%> options."
 msgstr ""
 
-#: lto-wrapper.cc:960
+#: lto-wrapper.cc:973
 #, gcc-internal-format
 msgid "could not find %s in %s (consider using %<-B%>)"
 msgstr ""
 
-#: lto-wrapper.cc:1041
+#: lto-wrapper.cc:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "problem with building target image for %s"
 msgstr ""
 
-#: lto-wrapper.cc:1070
+#: lto-wrapper.cc:1083
 #, gcc-internal-format
 msgid "reading input file"
 msgstr ""
 
-#: lto-wrapper.cc:1075
+#: lto-wrapper.cc:1088
 #, gcc-internal-format
 msgid "writing output file"
 msgstr ""
 
-#: lto-wrapper.cc:1111
+#: lto-wrapper.cc:1127
 #, gcc-internal-format
-msgid "installation error, cannot find %<crtoffloadtable.o%>"
+msgid "installation error, cannot find %<crtoffloadtable%s.o%>"
+msgstr ""
+
+#: lto-wrapper.cc:1380
+msgid "see the %{%<-flto%> option documentation%} for more information"
 msgstr ""
 
-#: lto-wrapper.cc:1433
+#: lto-wrapper.cc:1448
 #, gcc-internal-format
 msgid "environment variable %<COLLECT_GCC%> must be set"
 msgstr ""
 
-#: lto-wrapper.cc:1437 config/gcn/mkoffload.cc:811
+#: lto-wrapper.cc:1452 config/gcn/mkoffload.cc:764
 #, gcc-internal-format
 msgid "environment variable %<COLLECT_GCC_OPTIONS%> must be set"
 msgstr ""
 
-#: lto-wrapper.cc:1727 lto-wrapper.cc:1787 c-family/c-pch.cc:213
-#: c-family/c-pch.cc:248 c-family/c-pch.cc:286
+#: lto-wrapper.cc:1575
+#, gcc-internal-format, gfc-internal-format
+msgid "missing directory: %s"
+msgstr ""
+
+#: lto-wrapper.cc:1768 lto-wrapper.cc:1828 c-family/c-pch.cc:215
+#: c-family/c-pch.cc:250 c-family/c-pch.cc:288 c-family/c-pch.cc:366
 #, gcc-internal-format
 msgid "cannot read %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:1754
+#: lto-wrapper.cc:1795
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid format of %s"
 msgstr ""
 
-#: lto-wrapper.cc:1920
+#: lto-wrapper.cc:1971
 #, gcc-internal-format
 msgid "%<fopen%>: %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:1937
+#: lto-wrapper.cc:1988
 #, gcc-internal-format, gfc-internal-format
 msgid "corrupted ltrans output file %s"
 msgstr ""
 
-#: lto-wrapper.cc:1980
+#: lto-wrapper.cc:2032
 #, gcc-internal-format, gfc-internal-format
 msgid "using serial compilation of %d LTRANS jobs"
 msgstr ""
 
-#: lto-wrapper.cc:2158 config/gcn/mkoffload.cc:936
+#: lto-wrapper.cc:2054
+#, gcc-internal-format
+msgid "using ltrans cache without file locking support, do not use in parallel"
+msgstr ""
+
+#: lto-wrapper.cc:2315 config/gcn/mkoffload.cc:954
 #, gcc-internal-format
 msgid "%<atexit%> failed"
 msgstr ""
@@ -31041,286 +31221,334 @@ msgstr ""
 msgid "default %<target_clones%> attribute was not set"
 msgstr ""
 
-#: multiple_target.cc:322 c-family/c-attribs.cc:5910
+#: multiple_target.cc:327 c-family/c-attribs.cc:6135
 #, gcc-internal-format
 msgid "single %<target_clones%> attribute is ignored"
 msgstr ""
 
-#: multiple_target.cc:331
+#: multiple_target.cc:336
 #, gcc-internal-format
 msgid "clones for %<target_clones%> attribute cannot be created"
 msgstr ""
 
-#: multiple_target.cc:334
+#: multiple_target.cc:339
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it has %<noclone%> attribute"
 msgstr ""
 
-#: multiple_target.cc:355
+#: multiple_target.cc:360
 #, gcc-internal-format
 msgid "%<default%> target was not set"
 msgstr ""
 
-#: multiple_target.cc:359
+#: multiple_target.cc:364
 #, gcc-internal-format
 msgid "an empty string cannot be in %<target_clones%> attribute"
 msgstr ""
 
-#: multiple_target.cc:363
+#: multiple_target.cc:368
 #, gcc-internal-format
 msgid "multiple %<default%> targets were set"
 msgstr ""
 
-#: omp-expand.cc:3420
+#: omp-expand.cc:3454
 #, gcc-internal-format
 msgid "%qs clause with %<sink%> modifier waiting for lexically later iteration"
 msgstr ""
 
-#: omp-expand.cc:3560
+#: omp-expand.cc:3594
 #, gcc-internal-format
 msgid ""
 "%qs clause with %<sink%> modifier refers to iteration never in the iteration "
 "space"
 msgstr ""
 
-#: omp-expand.cc:8186
+#: omp-expand.cc:8222
 #, 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:1283
+#: omp-general.cc:1320
 #, gcc-internal-format
-msgid "%<target_device%> selector set is not supported yet"
+msgid "selector set %qs specified more than once"
 msgstr ""
 
-#: omp-general.cc:1288
+#: omp-general.cc:1340
 #, gcc-internal-format
-msgid "selector set %qs specified more than once"
+msgid "selector %qs specified more than once in set %qs"
 msgstr ""
 
-#: omp-general.cc:1308
+#: omp-general.cc:1392
 #, gcc-internal-format
-msgid "selector %qs specified more than once in set %qs"
+msgid "trait-property %qs specified more than once in %qs selector"
+msgstr ""
+
+#: omp-general.cc:1407
+#, gcc-internal-format
+msgid ""
+"properties must not be specified for the %<simd%> selector in a "
+"%<metadirective%> context-selector"
+msgstr ""
+
+#: omp-general.cc:1418
+#, gcc-internal-format
+msgid ""
+"the %<simd%> selector is not permitted in a %<begin declare variant%> "
+"context selector"
 msgstr ""
 
-#: omp-general.cc:1332
+#: omp-general.cc:1434
+#, gcc-internal-format
+msgid ""
+"reference to function parameter in %<declare variant%> dynamic selector "
+"expression"
+msgstr ""
+
+#: omp-general.cc:1456
 #, gcc-internal-format
 msgid "incorrect property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1340
+#: omp-general.cc:1464
 #, gcc-internal-format
 msgid "unknown property %qE of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1345 omp-general.cc:1350
+#: omp-general.cc:1469 omp-general.cc:1474
 #, gcc-internal-format
 msgid "unknown property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1402
+#: omp-general.cc:1496
+#, gcc-internal-format
+msgid ""
+"no other trait-property may be specified in the same selector set with "
+"%<kind(\"any\")%>"
+msgstr ""
+
+#: omp-general.cc:1537
 #, gcc-internal-format
 msgid "%qD used as a variant with incompatible %<construct%> selector sets"
 msgstr ""
 
-#: omp-general.cc:3005
+#: omp-general.cc:1751
+#, gcc-internal-format
+msgid "%<target_device%> selector set inside of %<target%> directive"
+msgstr ""
+
+#: omp-general.cc:3626
 #, gcc-internal-format
 msgid "%qs specifies a conflicting level of parallelism"
 msgstr ""
 
-#: omp-general.cc:3008
+#: omp-general.cc:3629
 #, gcc-internal-format
 msgid "... to the previous %qs clause here"
 msgstr ""
 
-#: omp-general.cc:3043
+#: omp-general.cc:3664
 #, gcc-internal-format
 msgid ""
-"cannot apply %<%s%> to %qD, which has also been marked with an OpenMP "
-"'declare target' directive"
+"cannot apply %qs to %qD, which has also been marked with an OpenMP 'declare "
+"target' directive"
 msgstr ""
 
-#: omp-general.cc:3097
+#: omp-general.cc:3718
 #, gcc-internal-format
 msgid ""
-"incompatible %qs clause when applying %<%s%> to %qD, which has already been "
+"incompatible %qs clause when applying %qs to %qD, which has already been "
 "marked with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:3104
+#: omp-general.cc:3725
 #, gcc-internal-format
 msgid ""
-"missing %qs clause when applying %<%s%> to %qD, which has already been "
-"marked with an OpenACC 'routine' directive"
+"missing %qs clause when applying %qs to %qD, which has already been marked "
+"with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:3113
+#: omp-general.cc:3734
 #, gcc-internal-format
 msgid "... with %qs clause here"
 msgstr ""
 
-#: omp-general.cc:3121
+#: omp-general.cc:3742
 #, gcc-internal-format
 msgid "... without %qs clause near to here"
 msgstr ""
 
-#: omp-low.cc:1167
+#: omp-general.cc:4582
+#, gcc-internal-format
+msgid "non-rectangular %<tile%>"
+msgstr ""
+
+#: omp-general.cc:4801
+#, gcc-internal-format
+msgid "%<ordered%> clause used with generated loops"
+msgstr ""
+
+#: omp-general.cc:4919
+#, gcc-internal-format
+msgid "non-constant iteration count of %<unroll full%> loop"
+msgstr ""
+
+#: omp-low.cc:1174
 #, gcc-internal-format
 msgid "%<allocate%> clause must specify an allocator here"
 msgstr ""
 
-#: omp-low.cc:2745 omp-offload.cc:1518
+#: omp-low.cc:2766 omp-offload.cc:1518
 #, gcc-internal-format
 msgid "%<seq%> overrides other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2748 omp-offload.cc:1519
+#: omp-low.cc:2769 omp-offload.cc:1519
 #, gcc-internal-format
 msgid "%<auto%> conflicts with other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2752 omp-offload.cc:1553
+#: omp-low.cc:2773 omp-offload.cc:1553
 #, gcc-internal-format
 msgid "inner loop uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-low.cc:2803
+#: omp-low.cc:2824
 #, gcc-internal-format
 msgid "argument not permitted on %qs clause"
 msgstr ""
 
-#: omp-low.cc:2807
+#: omp-low.cc:2828
 #, gcc-internal-format
 msgid "enclosing parent compute construct"
 msgstr ""
 
-#: omp-low.cc:2810
+#: omp-low.cc:2831
 #, gcc-internal-format
 msgid "enclosing routine"
 msgstr ""
 
-#: omp-low.cc:2851
+#: omp-low.cc:2872
 #, gcc-internal-format
 msgid "conflicting reduction operations for %qE"
 msgstr ""
 
-#: omp-low.cc:2855
+#: omp-low.cc:2876
 #, gcc-internal-format
 msgid "location of the previous reduction for %qE"
 msgstr ""
 
-#: omp-low.cc:2888
+#: omp-low.cc:2909
 #, gcc-internal-format
 msgid "nested loop in reduction needs reduction clause for %qE"
 msgstr ""
 
-#: omp-low.cc:3145
+#: omp-low.cc:3166
 #, gcc-internal-format
 msgid ""
 "%<target%> construct with nested %<teams%> construct contains directives "
 "outside of the %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3203
+#: omp-low.cc:3224
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC routine"
 msgstr ""
 
-#: omp-low.cc:3212
+#: omp-low.cc:3233
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3227
+#: omp-low.cc:3248
 #, gcc-internal-format
 msgid "OpenMP constructs are not allowed in target region with %<ancestor%>"
 msgstr ""
 
-#: omp-low.cc:3252 omp-low.cc:3319
+#: omp-low.cc:3273 omp-low.cc:3340
 #, 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:3271
+#: omp-low.cc:3292
 #, gcc-internal-format
 msgid ""
 "%<ordered simd threads%> must be closely nested inside of %<%s simd%> region"
 msgstr ""
 
-#: omp-low.cc:3287
+#: omp-low.cc:3308
 #, 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:3301
+#: omp-low.cc:3322
 #, gcc-internal-format
 msgid ""
 "only %<distribute%>, %<parallel%> or %<loop%> regions are allowed to be "
 "strictly nested inside %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:3315
+#: omp-low.cc:3336
 #, gcc-internal-format
 msgid ""
 "OpenMP constructs other than %<parallel%>, %<loop%> or %<simd%> may not be "
 "nested inside a %<loop%> region"
 msgstr ""
 
-#: omp-low.cc:3335
+#: omp-low.cc:3356
 #, gcc-internal-format
 msgid ""
 "%<distribute%> region must be strictly nested inside %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3384
+#: omp-low.cc:3405
 #, gcc-internal-format
 msgid ""
 "OpenACC loop directive must be associated with an OpenACC compute region"
 msgstr ""
 
-#: omp-low.cc:3406
+#: omp-low.cc:3427
 #, gcc-internal-format
 msgid "orphaned %qs construct"
 msgstr ""
 
-#: omp-low.cc:3435
+#: omp-low.cc:3456
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<nowait%> for construct"
 msgstr ""
 
-#: omp-low.cc:3440
+#: omp-low.cc:3461
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<ordered%> for construct"
 msgstr ""
 
-#: omp-low.cc:3460 omp-low.cc:3473
+#: omp-low.cc:3481 omp-low.cc:3494
 #, gcc-internal-format
 msgid "%<cancel sections%> inside %<nowait%> sections construct"
 msgstr ""
 
-#: omp-low.cc:3502
+#: omp-low.cc:3523
 #, gcc-internal-format
 msgid ""
 "%<%s taskgroup%> construct not closely nested inside of %<taskgroup%> region"
 msgstr ""
 
-#: omp-low.cc:3527
+#: omp-low.cc:3548
 #, gcc-internal-format
 msgid "invalid arguments"
 msgstr ""
 
-#: omp-low.cc:3533
+#: omp-low.cc:3554
 #, gcc-internal-format
 msgid "%<%s %s%> construct not closely nested inside of %qs"
 msgstr ""
 
-#: omp-low.cc:3562
+#: omp-low.cc:3583
 #, gcc-internal-format
 msgid ""
 "barrier region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -31328,7 +31556,7 @@ msgid ""
 "%<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3569
+#: omp-low.cc:3590
 #, gcc-internal-format
 msgid ""
 "work-sharing region may not be closely nested inside of work-sharing, "
@@ -31336,14 +31564,14 @@ msgid ""
 "%<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3600
+#: omp-low.cc:3621
 #, 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:3635
+#: omp-low.cc:3656
 #, gcc-internal-format
 msgid ""
 "%<scope%> region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -31351,50 +31579,50 @@ msgid ""
 "%<masked%> region"
 msgstr ""
 
-#: omp-low.cc:3658
+#: omp-low.cc:3679
 #, gcc-internal-format
 msgid "%<%s(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3673
+#: omp-low.cc:3694
 #, gcc-internal-format
 msgid "invalid depend kind in omp %<ordered%> %<depend%>"
 msgstr ""
 
-#: omp-low.cc:3690
+#: omp-low.cc:3711
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct with %<depend%> clause must be closely nested inside "
 "an %<ordered%> loop"
 msgstr ""
 
-#: omp-low.cc:3706
+#: omp-low.cc:3727
 #, gcc-internal-format
 msgid "%<ordered%> %<simd%> must be closely nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3719
+#: omp-low.cc:3740
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region may not be closely nested inside of %<critical%>, "
 "%<ordered%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3732 omp-low.cc:3777
+#: omp-low.cc:3753 omp-low.cc:3798
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region must be closely nested inside a loop region with an "
 "%<ordered%> clause"
 msgstr ""
 
-#: omp-low.cc:3741
+#: omp-low.cc:3762
 #, 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:3760
+#: omp-low.cc:3781
 #, gcc-internal-format
 msgid ""
 "%<ordered%> construct without %<doacross%> or %<depend%> clauses binds to "
@@ -31402,92 +31630,92 @@ msgid ""
 "%wd"
 msgstr ""
 
-#: omp-low.cc:3794
+#: omp-low.cc:3815
 #, gcc-internal-format
 msgid ""
 "%<critical%> region may not be nested inside a %<critical%> region with the "
 "same name"
 msgstr ""
 
-#: omp-low.cc:3812
+#: omp-low.cc:3833
 #, 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:3824 c-family/c-omp.cc:721
+#: omp-low.cc:3845 c-family/c-omp.cc:741
 #, gcc-internal-format
 msgid "%<depend(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3832
+#: omp-low.cc:3853
 #, gcc-internal-format
 msgid ""
 "OpenACC region inside of OpenACC routine, nested parallelism not supported "
 "yet"
 msgstr ""
 
-#: omp-low.cc:3845
+#: omp-low.cc:3866
 #, gcc-internal-format
 msgid "OpenACC construct inside of non-OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3906
+#: omp-low.cc:3927
 #, gcc-internal-format
 msgid "%s %qs construct inside of %s %qs region"
 msgstr ""
 
-#: omp-low.cc:3919 omp-low.cc:3936
+#: omp-low.cc:3940 omp-low.cc:3957
 #, gcc-internal-format
 msgid "%qs construct inside of %qs region"
 msgstr ""
 
-#: omp-low.cc:4076
+#: omp-low.cc:4097
 #, gcc-internal-format
 msgid "setjmp/longjmp inside %<simd%> construct"
 msgstr ""
 
-#: omp-low.cc:4102
+#: omp-low.cc:4123
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: omp-low.cc:4118
+#: omp-low.cc:4139
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD strictly nested in a %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:4130
+#: omp-low.cc:4151
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<device(ancestor)%> clause"
 msgstr ""
 
-#: omp-low.cc:9791
+#: omp-low.cc:9843
 #, gcc-internal-format
 msgid ""
 "ignoring %<sink%> clause with offset that is not a multiple of the loop step"
 msgstr ""
 
-#: omp-low.cc:9814
+#: omp-low.cc:9866
 #, gcc-internal-format
 msgid "first offset must be in opposite direction of loop iterations"
 msgstr ""
 
-#: omp-low.cc:14761
+#: omp-low.cc:14976
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid exit from %s structured block"
 msgstr ""
 
-#: omp-low.cc:14763 omp-low.cc:14768
+#: omp-low.cc:14978 omp-low.cc:14983
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid entry to %s structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.cc:14772
+#: omp-low.cc:14987
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid branch to/from %s structured block"
 msgstr ""
@@ -31641,7 +31869,7 @@ msgid ""
 "non-%<uniform%> argument"
 msgstr ""
 
-#: optabs.cc:5020
+#: optabs.cc:4979
 #, gcc-internal-format
 msgid "indirect jumps are not available on this target"
 msgstr ""
@@ -31661,78 +31889,112 @@ msgstr ""
 msgid "error closing optimization records %qs"
 msgstr ""
 
-#: opts-common.cc:1432
+#: opts-common.cc:1453
 #, gcc-internal-format
 msgid "command-line option %qs is not supported by this configuration"
 msgstr ""
 
-#: opts-common.cc:1442 opts.cc:2576
+#: opts-common.cc:1463 opts.cc:2589
 #, gcc-internal-format
 msgid "missing argument to %qs"
 msgstr ""
 
-#: opts-common.cc:1449
+#: opts-common.cc:1470
 #, gcc-internal-format
 msgid ""
 "argument to %qs should be a non-negative integer optionally followed by a "
 "size unit"
 msgstr ""
 
-#: opts-common.cc:1453
+#: opts-common.cc:1474
 #, gcc-internal-format
 msgid "argument to %qs should be a non-negative integer"
 msgstr ""
 
-#: opts-common.cc:1460
+#: opts-common.cc:1481
 #, gcc-internal-format
 msgid "argument to %qs is not between %d and %d"
 msgstr ""
 
-#: opts-common.cc:1524
+#: opts-common.cc:1545
 #, gcc-internal-format
 msgid "invalid argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1526
+#: opts-common.cc:1547
 #, gcc-internal-format
 msgid "%qs specified multiple times in the same option"
 msgstr ""
 
-#: opts-common.cc:1529
+#: opts-common.cc:1550
 #, gcc-internal-format
 msgid "%qs is mutually exclusive with %qs and cannot be specified together"
 msgstr ""
 
-#: opts-common.cc:1551
+#: opts-common.cc:1572
 #, gcc-internal-format
 msgid "unrecognized argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1562 config/i386/i386-options.cc:1703
+#: opts-common.cc:1583 config/i386/i386-options.cc:1711
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s; did you mean %qs?"
 msgstr ""
 
-#: opts-common.cc:1565 config/i386/i386-options.cc:1706
+#: opts-common.cc:1586 config/i386/i386-options.cc:1714
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s"
 msgstr ""
 
-#: opts-common.cc:1608 c-family/c-opts.cc:471
+#: opts-common.cc:1629 c-family/c-opts.cc:476
 #, gcc-internal-format
 msgid "switch %qs is no longer supported"
 msgstr ""
 
-#: opts-common.cc:1668
+#: opts-common.cc:1689
 #, gcc-internal-format
 msgid "argument to %qs is bigger than %d"
 msgstr ""
 
-#: opts-common.cc:2015
+#: opts-common.cc:2043
 #, gcc-internal-format
 msgid "malformed %<COLLECT_GCC_OPTIONS%>"
 msgstr ""
 
+#: opts-diagnostic.cc:142
+#, gcc-internal-format
+msgid "%<%s%s%>: unexpected value %qs for key %qs; expected %qs or %qs"
+msgstr ""
+
+#: opts-diagnostic.cc:173
+msgid "%<%s%s%>: unexpected value %qs for key %qs; known values: %e"
+msgstr ""
+
+#: opts-diagnostic.cc:243
+msgid "%<%s%s%>: unknown key %qs for format %qs; known keys: %e"
+msgstr ""
+
+#: opts-diagnostic.cc:256
+#, gcc-internal-format
+msgid "%<%s%s%>: missing required key %qs for format %qs; try %<%s%s:%s=%s%>"
+msgstr ""
+
+#: opts-diagnostic.cc:282
+#, gcc-internal-format
+msgid ""
+"%<%s%s%>: expected KEY=VALUE-style parameter for format %qs after %qs; got "
+"%qs"
+msgstr ""
+
+#: opts-diagnostic.cc:345
+msgid "%<%s%s%>: unrecognized format %qs; known formats: %e"
+msgstr ""
+
+#: opts-diagnostic.cc:424
+#, gcc-internal-format
+msgid "unable to open %qs: %m"
+msgstr ""
+
 #: opts-global.cc:107
 #, gcc-internal-format
 msgid "command-line option %qs is valid for the driver but not for %s"
@@ -31757,371 +32019,371 @@ msgid ""
 "earlier diagnostics"
 msgstr ""
 
-#: opts-global.cc:409
+#: opts-global.cc:415
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-fopt-info-%s%>"
 msgstr ""
 
-#: opts-global.cc:430 opts-global.cc:439 m2/gm2spec.cc:544
+#: opts-global.cc:436 opts-global.cc:445 m2/gm2spec.cc:544
 #, gcc-internal-format
 msgid "plugin support is disabled; configure with %<--enable-plugin%>"
 msgstr ""
 
-#: opts-global.cc:464
+#: opts-global.cc:470
 #, gcc-internal-format
 msgid "unrecognized register name %qs"
 msgstr ""
 
-#: opts-global.cc:482
+#: opts-global.cc:488
 #, gcc-internal-format
 msgid ""
 "%<-fasan-shadow-offset%> should only be used with %<-fsanitize=kernel-"
 "address%>"
 msgstr ""
 
-#: opts-global.cc:485
+#: opts-global.cc:491
 #, gcc-internal-format
 msgid "unrecognized shadow offset %qs"
 msgstr ""
 
-#: opts.cc:234
+#: opts.cc:244
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
 msgstr ""
 
-#: opts.cc:270
+#: opts.cc:280
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
 msgstr ""
 
-#: opts.cc:277
+#: opts.cc:287
 #, gcc-internal-format
 msgid ""
 "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-"
 "femit-struct-debug-detailed=ind:...%>"
 msgstr ""
 
-#: opts.cc:743
+#: opts.cc:755
 #, gcc-internal-format
 msgid ""
 "argument to %<-O%> should be a non-negative integer, %<g%>, %<s%>, %<z%> or "
 "%<fast%>"
 msgstr ""
 
-#: 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:20411
-#: config/mips/mips.cc:20413 config/mips/mips.cc:20426
+#: opts.cc:861 opts.cc:867 opts.cc:873 opts.cc:879 opts.cc:890 opts.cc:900
+#: opts.cc:906 opts.cc:912 opts.cc:918 opts.cc:924 opts.cc:930 opts.cc:936
+#: opts.cc:942 opts.cc:948 opts.cc:965 opts.cc:973 config/mips/mips.cc:20572
+#: config/mips/mips.cc:20574 config/mips/mips.cc:20587
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:943
+#: opts.cc:955
 #, gcc-internal-format
 msgid "%<-fipa-modref%> is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:1023
+#: opts.cc:1035
 #, gcc-internal-format
 msgid "%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>"
 msgstr ""
 
-#: opts.cc:1061
+#: opts.cc:1073
 #, gcc-internal-format
 msgid "section anchors must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1065
+#: opts.cc:1077
 #, gcc-internal-format
 msgid "toplevel reorder must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1079
+#: opts.cc:1091
 #, gcc-internal-format
 msgid "transactional memory is not supported with non-call exceptions"
 msgstr ""
 
-#: opts.cc:1094
+#: opts.cc:1106
 #, gcc-internal-format
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.cc:1105
+#: opts.cc:1117
 #, 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
+#: opts.cc:1167
 #, gcc-internal-format
 msgid ""
 "%<-fstack-protector-strong%> is not enabled by %<-fhardened%> because it was "
 "specified on the command line"
 msgstr ""
 
-#: opts.cc:1200
+#: opts.cc:1212
 #, gcc-internal-format
 msgid "%<-fno-fat-lto-objects%> are supported only with linker plugin"
 msgstr ""
 
-#: opts.cc:1208
+#: opts.cc:1220
 #, gcc-internal-format
 msgid "%<-gsplit-dwarf%> is not supported with LTO, disabling"
 msgstr ""
 
-#: opts.cc:1222
+#: opts.cc:1234
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> is not supported by this compiler configuration"
 msgstr ""
 
-#: opts.cc:1249
+#: opts.cc:1261
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1253
+#: opts.cc:1265
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1280
+#: opts.cc:1292
 #, gcc-internal-format
 msgid "%<-fsanitize-recover=%s%> is not supported"
 msgstr ""
 
-#: opts.cc:1292 opts.cc:2288
+#: opts.cc:1304 opts.cc:2301
 #, gcc-internal-format
 msgid "%<-fsanitize-trap=%s%> is not supported"
 msgstr ""
 
-#: opts.cc:1319
+#: opts.cc:1331
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option"
 msgstr ""
 
-#: opts.cc:1326
+#: opts.cc:1338
 #, gcc-internal-format
 msgid "transactional memory is not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: opts.cc:1329
+#: opts.cc:1341
 #, gcc-internal-format
 msgid ""
 "transactional memory is not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1334
+#: opts.cc:1346
 #, gcc-internal-format
 msgid "live patching (with %qs) is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1339
+#: opts.cc:1351
 #, gcc-internal-format
 msgid "vtable verification is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1414
+#: opts.cc:1426
 #, gcc-internal-format
 msgid "variable tracking requested, but useless unless producing debug info"
 msgstr ""
 
-#: opts.cc:1418
+#: opts.cc:1430
 #, gcc-internal-format
 msgid "variable tracking requested, but not supported by this debug format"
 msgstr ""
 
-#: opts.cc:1447
+#: opts.cc:1459
 #, gcc-internal-format
 msgid "var-tracking-assignments changes selective scheduling"
 msgstr ""
 
-#: opts.cc:1460
+#: opts.cc:1472
 #, gcc-internal-format
 msgid ""
 "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not "
 "present"
 msgstr ""
 
-#: opts.cc:1490 config/darwin.cc:3484
+#: opts.cc:1502 config/darwin.cc:3484
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not work with exceptions on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1506
+#: opts.cc:1518
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not support unwind info on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1524 config/pa/pa.cc:576
+#: opts.cc:1536 config/pa/pa.cc:580
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> does not work on this architecture"
 msgstr ""
 
-#: opts.cc:2033
+#: opts.cc:2045
 #, gcc-internal-format
 msgid "unrecognized %<include_flags 0x%x%> passed to %<print_specific_help%>"
 msgstr ""
 
-#: opts.cc:2267
+#: opts.cc:2280
 #, gcc-internal-format
 msgid "%<-fsanitize=all%> option is not valid"
 msgstr ""
 
-#: opts.cc:2322
+#: opts.cc:2335
 #, gcc-internal-format
 msgid ""
 "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?"
 msgstr ""
 
-#: opts.cc:2328
+#: opts.cc:2341
 #, gcc-internal-format
 msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2363
+#: opts.cc:2376
 #, gcc-internal-format
 msgid "%qs attribute directive ignored"
 msgstr ""
 
-#: opts.cc:2387
+#: opts.cc:2400
 #, gcc-internal-format
 msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs"
 msgstr ""
 
-#: opts.cc:2411
+#: opts.cc:2424
 #, gcc-internal-format
 msgid "invalid arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2426
+#: opts.cc:2439
 #, gcc-internal-format
 msgid "invalid number of arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2435
+#: opts.cc:2448
 #, gcc-internal-format
 msgid "%<-falign-%s%> is not between 0 and %d"
 msgstr ""
 
-#: opts.cc:2494
+#: opts.cc:2507
 #, gcc-internal-format
 msgid "invalid arguments for %<-fpatchable-function-entry%>"
 msgstr ""
 
-#: opts.cc:2631
+#: opts.cc:2644
 #, gcc-internal-format
 msgid "%<--help%> argument %q.*s is ambiguous, please be more specific"
 msgstr ""
 
-#: opts.cc:2642
+#: opts.cc:2655
 #, gcc-internal-format
 msgid "unrecognized argument to %<--help=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2822
+#: opts.cc:2835
 #, gcc-internal-format
 msgid ""
 "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead"
 msgstr ""
 
-#: opts.cc:2828
+#: opts.cc:2841
 #, gcc-internal-format
 msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>"
 msgstr ""
 
-#: opts.cc:3054
+#: opts.cc:3087
 #, gcc-internal-format
-msgid "%<-foffload-abi%> option can be specified only for offload compiler"
+msgid "%qs option can be specified only for offload compiler"
 msgstr ""
 
-#: opts.cc:3062
+#: opts.cc:3096
 #, gcc-internal-format
 msgid "structure alignment must be a small power of two, not %wu"
 msgstr ""
 
-#: opts.cc:3183
+#: opts.cc:3217
 #, gcc-internal-format
 msgid "unknown stack check parameter %qs"
 msgstr ""
 
-#: opts.cc:3232
+#: opts.cc:3269
 #, gcc-internal-format
 msgid ""
 "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-"
 "gdwarf%> %<-g%s%> for debug level"
 msgstr ""
 
-#: opts.cc:3243
+#: opts.cc:3280
 #, gcc-internal-format
 msgid "dwarf version %wu is not supported"
 msgstr ""
 
-#: opts.cc:3280
+#: opts.cc:3317
 #, gcc-internal-format
 msgid "unrecognized argument to %<-flto=%> option: %qs"
 msgstr ""
 
-#: opts.cc:3480
+#: opts.cc:3517
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr ""
 
-#: opts.cc:3518
+#: opts.cc:3556
 #, gcc-internal-format
 msgid "debug format %qs conflicts with prior selection"
 msgstr ""
 
-#: opts.cc:3542
+#: opts.cc:3580
 #, gcc-internal-format
 msgid "unrecognized debug output level %qs"
 msgstr ""
 
-#: opts.cc:3544
+#: opts.cc:3582
 #, gcc-internal-format
 msgid "debug output level %qs is too high"
 msgstr ""
 
-#: opts.cc:3556
+#: opts.cc:3594
 #, gcc-internal-format
 msgid "unrecognized btf debug output level %qs"
 msgstr ""
 
-#: opts.cc:3573
+#: opts.cc:3611
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr ""
 
-#: opts.cc:3577
+#: opts.cc:3615
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr ""
 
-#: opts.cc:3622
+#: opts.cc:3660
 #, gcc-internal-format, gfc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr ""
 
-#: opts.cc:3651
+#: opts.cc:3689
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: opts.cc:3655
+#: opts.cc:3693
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>"
 msgstr ""
 
-#: opts.cc:3659
+#: opts.cc:3697
 #, gcc-internal-format
 msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings"
 msgstr ""
@@ -32138,159 +32400,159 @@ msgid ""
 "argument in %<NEXT_PASS%>"
 msgstr ""
 
-#: passes.cc:1073
+#: passes.cc:1085
 #, gcc-internal-format
 msgid "unrecognized option %<-fenable%>"
 msgstr ""
 
-#: passes.cc:1075
+#: passes.cc:1087
 #, gcc-internal-format
 msgid "unrecognized option %<-fdisable%>"
 msgstr ""
 
-#: passes.cc:1083
+#: passes.cc:1095
 #, gcc-internal-format
 msgid "unknown pass %s specified in %<-fenable%>"
 msgstr ""
 
-#: passes.cc:1085
+#: passes.cc:1097
 #, gcc-internal-format
 msgid "unknown pass %s specified in %<-fdisable%>"
 msgstr ""
 
-#: passes.cc:1110 passes.cc:1199
+#: passes.cc:1122 passes.cc:1211
 #, gcc-internal-format, gfc-internal-format
 msgid "enable pass %s for functions in the range of [%u, %u]"
 msgstr ""
 
-#: passes.cc:1113 passes.cc:1210
+#: passes.cc:1125 passes.cc:1222
 #, gcc-internal-format, gfc-internal-format
 msgid "disable pass %s for functions in the range of [%u, %u]"
 msgstr ""
 
-#: passes.cc:1149 passes.cc:1177
+#: passes.cc:1161 passes.cc:1189
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid range %s in option %s"
 msgstr ""
 
-#: passes.cc:1195
+#: passes.cc:1207
 #, gcc-internal-format, gfc-internal-format
 msgid "enable pass %s for function %s"
 msgstr ""
 
-#: passes.cc:1206
+#: passes.cc:1218
 #, gcc-internal-format, gfc-internal-format
 msgid "disable pass %s for function %s"
 msgstr ""
 
-#: passes.cc:1435
+#: passes.cc:1447
 #, gcc-internal-format
 msgid "invalid pass positioning operation"
 msgstr ""
 
-#: passes.cc:1496
+#: passes.cc:1508
 #, gcc-internal-format
 msgid "plugin cannot register a missing pass"
 msgstr ""
 
-#: passes.cc:1499
+#: passes.cc:1511
 #, gcc-internal-format
 msgid "plugin cannot register an unnamed pass"
 msgstr ""
 
-#: passes.cc:1504
+#: passes.cc:1516
 #, gcc-internal-format
 msgid "plugin cannot register pass %qs without reference pass name"
 msgstr ""
 
-#: passes.cc:1523
+#: passes.cc:1535
 #, gcc-internal-format
 msgid "pass %qs not found but is referenced by new pass %qs"
 msgstr ""
 
-#: plugin.cc:213
+#: plugin.cc:214
 #, gcc-internal-format
 msgid "inaccessible plugin file %s expanded from short plugin name %s: %m"
 msgstr ""
 
-#: plugin.cc:235
+#: plugin.cc:236
 #, gcc-internal-format
 msgid "plugin %qs was specified with different paths: %qs and %qs"
 msgstr ""
 
-#: plugin.cc:294
+#: plugin.cc:295
 #, gcc-internal-format
 msgid "malformed option %<-fplugin-arg-%s%>: missing %<-<key>[=<value>]%>"
 msgstr ""
 
-#: plugin.cc:358
+#: plugin.cc:359
 #, gcc-internal-format
 msgid ""
 "plugin %s should be specified before %<-fplugin-arg-%s%> in the command line"
 msgstr ""
 
-#: plugin.cc:377
+#: plugin.cc:378
 #, gcc-internal-format
 msgid "unable to register info for plugin %qs - plugin name not found"
 msgstr ""
 
-#: plugin.cc:473
+#: plugin.cc:474
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown callback event registered by plugin %s"
 msgstr ""
 
-#: plugin.cc:506
+#: plugin.cc:507
 #, gcc-internal-format, gfc-internal-format
 msgid "plugin %s registered a null callback function for event %s"
 msgstr ""
 
-#: plugin.cc:640
+#: plugin.cc:641
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "cannot load plugin %s\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:651
+#: plugin.cc:652
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "plugin %s is not licensed under a GPL-compatible license\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:664
+#: plugin.cc:665
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "cannot find %s in plugin %s\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:674
+#: plugin.cc:675
 #, gcc-internal-format, gfc-internal-format
 msgid "fail to initialize plugin %s"
 msgstr ""
 
-#: plugin.cc:707
+#: plugin.cc:708
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot load plugin %s: %s"
 msgstr ""
 
-#: plugin.cc:717
+#: plugin.cc:718
 #, gcc-internal-format, gfc-internal-format
-msgid "plugin %s is not licensed under a GPL-compatible license %s"
+msgid "plugin %s is not licensed under a GPL-compatible license: %s"
 msgstr ""
 
-#: plugin.cc:727
+#: plugin.cc:728
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find %s in plugin %s: %s"
 msgstr ""
 
-#: plugin.cc:736
+#: plugin.cc:737
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to initialize plugin %s"
 msgstr ""
 
-#: plugin.cc:1048
+#: plugin.cc:1049
 #, gcc-internal-format
 msgid "%<-iplugindir%> option not passed from the gcc driver"
 msgstr ""
@@ -32365,17 +32627,17 @@ msgstr ""
 msgid "object of size %s allocated by %qE"
 msgstr ""
 
-#: predict.cc:2566
+#: predict.cc:2616
 #, gcc-internal-format
 msgid "probability %qE must be constant floating-point expression"
 msgstr ""
 
-#: predict.cc:2579
+#: predict.cc:2629
 #, gcc-internal-format
 msgid "probability %qE is outside the range [0.0, 1.0]"
 msgstr ""
 
-#: predict.cc:3640
+#: predict.cc:3704
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing counts for called function %s"
 msgstr ""
@@ -32428,32 +32690,32 @@ msgstr ""
 msgid "more than one 'crtl' directive"
 msgstr ""
 
-#: read-rtl-function.cc:986
+#: read-rtl-function.cc:987
 #, gcc-internal-format
 msgid "unrecognized enum value: %qs"
 msgstr ""
 
-#: read-rtl-function.cc:1142 read-rtl-function.cc:1201
+#: read-rtl-function.cc:1145 read-rtl-function.cc:1204
 #, gcc-internal-format, gfc-internal-format
 msgid "was expecting `%s'"
 msgstr ""
 
-#: read-rtl-function.cc:1595
+#: read-rtl-function.cc:1598
 #, gcc-internal-format, gfc-internal-format
 msgid "duplicate insn UID: %i"
 msgstr ""
 
-#: read-rtl-function.cc:1656
+#: read-rtl-function.cc:1659
 #, gcc-internal-format
 msgid "start/end of RTL fragment are in different files"
 msgstr ""
 
-#: read-rtl-function.cc:1662
+#: read-rtl-function.cc:1665
 #, gcc-internal-format
 msgid "start of RTL fragment must be on an earlier line than end"
 msgstr ""
 
-#: read-rtl.cc:490 read-rtl.cc:521
+#: read-rtl.cc:493 read-rtl.cc:524
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ambiguous attribute '%s'; could be '%s' (via '%s:%s') or '%s' (via '%s:%s')"
@@ -32509,49 +32771,49 @@ msgstr ""
 msgid "%qs: [%u] non-empty register in chain (%s %u %i)"
 msgstr ""
 
-#: reginfo.cc:679
+#: reginfo.cc:689
 #, gcc-internal-format
 msgid "cannot use %qs as a call-saved register"
 msgstr ""
 
-#: reginfo.cc:683
+#: reginfo.cc:693
 #, gcc-internal-format
 msgid "cannot use %qs as a call-used register"
 msgstr ""
 
-#: reginfo.cc:695
+#: reginfo.cc:705
 #, gcc-internal-format
 msgid "cannot use %qs as a fixed register"
 msgstr ""
 
-#: 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
+#: reginfo.cc:732 config/arc/arc.cc:1086 config/arc/arc.cc:1128
+#: config/ia64/ia64.cc:6051 config/ia64/ia64.cc:6058 config/pa/pa.cc:477
+#: config/pa/pa.cc:484 config/sh/sh.cc:8291 config/sh/sh.cc:8298
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
 
-#: reginfo.cc:735
+#: reginfo.cc:745
 #, gcc-internal-format
 msgid "stack register used for global register variable"
 msgstr ""
 
-#: reginfo.cc:741
+#: reginfo.cc:751
 #, gcc-internal-format
 msgid "global register variable follows a function definition"
 msgstr ""
 
-#: reginfo.cc:747
+#: reginfo.cc:757
 #, gcc-internal-format
 msgid "register of %qD used for multiple global register variables"
 msgstr ""
 
-#: reginfo.cc:750 config/rs6000/rs6000-logue.cc:5579
+#: reginfo.cc:760 config/rs6000/rs6000-logue.cc:5572
 #, gcc-internal-format
 msgid "conflicts with %qD"
 msgstr ""
 
-#: reginfo.cc:755
+#: reginfo.cc:765
 #, gcc-internal-format
 msgid "call-clobbered register used for global register variable"
 msgstr ""
@@ -32566,42 +32828,42 @@ msgstr ""
 msgid "impossible register constraint in %<asm%>"
 msgstr ""
 
-#: reload.cc:2672
+#: reload.cc:2685
 #, gcc-internal-format
 msgid "the target does not support %<asm goto%> with outputs in %<asm%>"
 msgstr ""
 
-#: reload.cc:3697
+#: reload.cc:3710
 #, gcc-internal-format
 msgid "%<&%> constraint used with no register class"
 msgstr ""
 
-#: reload1.cc:1242
+#: reload1.cc:1248
 #, gcc-internal-format
 msgid "%<asm%> operand has impossible constraints"
 msgstr ""
 
-#: reload1.cc:2060
+#: reload1.cc:2066
 #, gcc-internal-format
 msgid "cannot find a register in class %qs while reloading %<asm%>"
 msgstr ""
 
-#: reload1.cc:2065
+#: reload1.cc:2071
 #, gcc-internal-format
 msgid "unable to find a register to spill in class %qs"
 msgstr ""
 
-#: reload1.cc:4582
+#: reload1.cc:4588
 #, gcc-internal-format
 msgid "%<asm%> operand requires impossible reload"
 msgstr ""
 
-#: reload1.cc:5999
+#: reload1.cc:6005
 #, gcc-internal-format
 msgid "%<asm%> operand constraint incompatible with operand size"
 msgstr ""
 
-#: reload1.cc:7877
+#: reload1.cc:7883
 #, gcc-internal-format
 msgid "output operand is constant in %<asm%>"
 msgstr ""
@@ -32677,7 +32939,7 @@ msgstr ""
 msgid "operand constraint contains incorrectly positioned %<+%> or %<=%>"
 msgstr ""
 
-#: stmt.cc:261 stmt.cc:350
+#: stmt.cc:261 stmt.cc:355
 #, gcc-internal-format
 msgid "%<%%%> constraint used with last operand"
 msgstr ""
@@ -32687,117 +32949,127 @@ msgstr ""
 msgid "matching constraint not valid in output operand"
 msgstr ""
 
-#: stmt.cc:341
+#: stmt.cc:281
+#, gcc-internal-format
+msgid "%<:%> constraint used for output operand"
+msgstr ""
+
+#: stmt.cc:346
 #, gcc-internal-format
 msgid "input operand constraint contains %qc"
 msgstr ""
 
-#: stmt.cc:380
+#: stmt.cc:377
+#, gcc-internal-format
+msgid "%<:%> constraint mixed with other constraints"
+msgstr ""
+
+#: stmt.cc:400
 #, gcc-internal-format
 msgid "matching constraint references invalid operand number"
 msgstr ""
 
-#: stmt.cc:414
+#: stmt.cc:434
 #, gcc-internal-format
 msgid "invalid punctuation %qc in constraint"
 msgstr ""
 
-#: stmt.cc:431
+#: stmt.cc:451
 #, gcc-internal-format
 msgid "matching constraint does not allow a register"
 msgstr ""
 
-#: stmt.cc:525
+#: stmt.cc:545
 #, gcc-internal-format
 msgid "duplicate %<asm%> operand name %qs"
 msgstr ""
 
-#: stmt.cc:622
+#: stmt.cc:642
 #, gcc-internal-format
 msgid "missing close brace for named operand"
 msgstr ""
 
-#: stmt.cc:651
+#: stmt.cc:671
 #, gcc-internal-format
 msgid "undefined named operand %qs"
 msgstr ""
 
-#: stor-layout.cc:830
+#: stor-layout.cc:831
 #, gcc-internal-format
 msgid "size of %q+D %E bytes exceeds maximum object size %wu"
 msgstr ""
 
-#: stor-layout.cc:1211
+#: stor-layout.cc:1212
 #, gcc-internal-format
 msgid "alignment %u of %qT is less than %u"
 msgstr ""
 
-#: stor-layout.cc:1218
+#: stor-layout.cc:1219
 #, gcc-internal-format
 msgid "%q+D offset %E in %qT isn%'t aligned to %u"
 msgstr ""
 
-#: stor-layout.cc:1221
+#: stor-layout.cc:1222
 #, gcc-internal-format
 msgid "%q+D offset %E in %qT may not be aligned to %u"
 msgstr ""
 
-#: stor-layout.cc:1353
+#: stor-layout.cc:1359
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %q+D"
 msgstr ""
 
-#: stor-layout.cc:1357
+#: stor-layout.cc:1363
 #, gcc-internal-format
 msgid "packed attribute is unnecessary for %q+D"
 msgstr ""
 
-#: stor-layout.cc:1377
+#: stor-layout.cc:1383
 #, gcc-internal-format
 msgid "padding struct to align %q+D"
 msgstr ""
 
-#: stor-layout.cc:1436
+#: stor-layout.cc:1442
 #, gcc-internal-format
 msgid "offset of packed bit-field %qD has changed in GCC 4.4"
 msgstr ""
 
-#: stor-layout.cc:1816
+#: stor-layout.cc:1822
 #, gcc-internal-format
 msgid "padding struct size to alignment boundary with %E bytes"
 msgstr ""
 
-#: stor-layout.cc:1845
+#: stor-layout.cc:1851
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %qE"
 msgstr ""
 
-#: stor-layout.cc:1849
+#: stor-layout.cc:1855
 #, gcc-internal-format
 msgid "packed attribute is unnecessary for %qE"
 msgstr ""
 
-#: stor-layout.cc:1855
+#: stor-layout.cc:1861
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment"
 msgstr ""
 
-#: stor-layout.cc:1857
+#: stor-layout.cc:1863
 #, gcc-internal-format
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.cc:2738
+#: stor-layout.cc:2753
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
 
-#: stor-layout.cc:2744
+#: stor-layout.cc:2759
 #, gcc-internal-format
 msgid "size of array element is not a multiple of its alignment"
 msgstr ""
 
-#: substring-locations.cc:229
+#: substring-locations.cc:242
 #, gcc-internal-format
 msgid "format string is defined here"
 msgstr ""
@@ -32999,92 +33271,92 @@ msgstr ""
 msgid "section of alias %q+D must match section of its target"
 msgstr ""
 
-#: targhooks.cc:204
+#: targhooks.cc:205
 #, gcc-internal-format
 msgid "%<__builtin_saveregs%> not supported by this target"
 msgstr ""
 
-#: targhooks.cc:1215
+#: targhooks.cc:1236
 #, gcc-internal-format
 msgid "argument %qs is not supported for %qs on this target"
 msgstr ""
 
-#: targhooks.cc:1257
+#: targhooks.cc:1278
 #, gcc-internal-format
 msgid "nested functions not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1270
+#: targhooks.cc:1291
 #, gcc-internal-format
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1433
+#: targhooks.cc:1462
 #, gcc-internal-format
 msgid "global constructors not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1442
+#: targhooks.cc:1471
 #, gcc-internal-format
 msgid "global destructors not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1802
+#: targhooks.cc:1839
 #, gcc-internal-format
 msgid "%<target%> attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.cc:1814
+#: targhooks.cc:1851
 #, gcc-internal-format
 msgid "%<target_version%> attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.cc:1828
+#: targhooks.cc:1865
 #, gcc-internal-format
 msgid "%<#pragma GCC target%> is not supported for this machine"
 msgstr ""
 
-#: toplev.cc:718
+#: toplev.cc:721
 #, gcc-internal-format
 msgid "cannot open %qs for writing: %m"
 msgstr ""
 
-#: toplev.cc:737
+#: toplev.cc:740
 #, gcc-internal-format
 msgid "%<-frecord-gcc-switches%> is not supported by the current target"
 msgstr ""
 
-#: toplev.cc:789
+#: toplev.cc:792
 #, gcc-internal-format
 msgid "stack usage computation not supported for this target"
 msgstr ""
 
-#: toplev.cc:848
+#: toplev.cc:851
 #, gcc-internal-format
 msgid "stack usage might be unbounded"
 msgstr ""
 
-#: toplev.cc:853
+#: toplev.cc:856
 #, gcc-internal-format
 msgid "stack usage might be %wu bytes"
 msgstr ""
 
-#: toplev.cc:856
+#: toplev.cc:859
 #, gcc-internal-format
 msgid "stack usage is %wu bytes"
 msgstr ""
 
-#: toplev.cc:973
+#: toplev.cc:1013
 #, gcc-internal-format
 msgid "cannot open %s for writing: %m"
 msgstr ""
 
-#: toplev.cc:1252
+#: toplev.cc:1298
 #, gcc-internal-format
 msgid "this target does not support %qs"
 msgstr ""
 
-#: toplev.cc:1286
+#: toplev.cc:1332
 #, gcc-internal-format
 msgid ""
 "Graphite loop optimizations cannot be used (isl is not available) (%<-"
@@ -33092,194 +33364,200 @@ msgid ""
 "parallelize-all%>)"
 msgstr ""
 
-#: toplev.cc:1297
+#: toplev.cc:1343
 #, gcc-internal-format
 msgid "%<-fcf-protection=full%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1304
+#: toplev.cc:1350
 #, gcc-internal-format
 msgid "%<-fcf-protection=branch%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1311
+#: toplev.cc:1357
 #, gcc-internal-format
 msgid "%<-fcf-protection=return%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1326
+#: toplev.cc:1372
 #, gcc-internal-format
 msgid "%<-fabi-version=1%> is no longer supported"
 msgstr ""
 
-#: toplev.cc:1342
+#: toplev.cc:1388
 #, gcc-internal-format
 msgid "instruction scheduling not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1346
+#: toplev.cc:1392
 #, gcc-internal-format
 msgid "this target machine does not have delayed branches"
 msgstr ""
 
-#: toplev.cc:1360
+#: toplev.cc:1406
 #, gcc-internal-format
 msgid "%<-f%sleading-underscore%> not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1389
+#: toplev.cc:1435
 #, gcc-internal-format
 msgid "CTF debug info requested, but not supported for %qs frontend"
 msgstr ""
 
-#: toplev.cc:1407
+#: toplev.cc:1453
 #, gcc-internal-format
 msgid "could not close zeroed insn dump file %qs: %m"
 msgstr ""
 
-#: toplev.cc:1445
+#: toplev.cc:1495
 #, gcc-internal-format
 msgid "target system does not support the %qs debug format"
 msgstr ""
 
-#: toplev.cc:1473
+#: toplev.cc:1513
+#, gcc-internal-format
+msgid ""
+"%<-gas-locview-support%> is forced disabled without %<-gas-loc-support%>"
+msgstr ""
+
+#: toplev.cc:1529
 #, gcc-internal-format
 msgid ""
 "without %<-gdwarf-5%>, %<-gvariable-location-views=incompat5%> is equivalent "
 "to %<-gvariable-location-views%>"
 msgstr ""
 
-#: toplev.cc:1489
+#: toplev.cc:1545
 #, gcc-internal-format
 msgid ""
 "%<-ginternal-reset-location-views%> is forced disabled without %<-gvariable-"
 "location-views%>"
 msgstr ""
 
-#: toplev.cc:1499
+#: toplev.cc:1555
 #, gcc-internal-format
 msgid ""
 "%<-ginline-points%> is forced disabled without %<-gstatement-frontiers%>"
 msgstr ""
 
-#: toplev.cc:1528
+#: toplev.cc:1584
 #, gcc-internal-format
 msgid "%<-ffunction-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1534
+#: toplev.cc:1590
 #, gcc-internal-format
 msgid "%<-fdata-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1542
+#: toplev.cc:1598
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1548
+#: toplev.cc:1604
 #, gcc-internal-format
 msgid ""
 "%<-fprefetch-loop-arrays%> not supported for this target (try %<-march%> "
 "switches)"
 msgstr ""
 
-#: toplev.cc:1558
+#: toplev.cc:1614
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> is not supported with %<-Os%>"
 msgstr ""
 
-#: toplev.cc:1570
+#: toplev.cc:1626
 #, gcc-internal-format
 msgid "%<-fassociative-math%> disabled; other options take precedence"
 msgstr ""
 
-#: toplev.cc:1578
+#: toplev.cc:1634
 #, gcc-internal-format
 msgid "%<-fhardened%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1587
+#: toplev.cc:1643
 #, gcc-internal-format
 msgid ""
 "%<-fstack-clash-protection%> is not supported on targets where the stack "
 "grows from lower to higher addresses"
 msgstr ""
 
-#: toplev.cc:1600
+#: toplev.cc:1656
 #, gcc-internal-format
 msgid ""
 "%<-fstack-clash-protection%> is not enabled by %<-fhardened%> because %<-"
 "fstack-check%> was specified on the command line"
 msgstr ""
 
-#: toplev.cc:1610
+#: toplev.cc:1666
 #, gcc-internal-format
 msgid ""
 "%<-fstack-check=%> and %<-fstack-clash-protection%> are mutually exclusive; "
 "disabling %<-fstack-check=%>"
 msgstr ""
 
-#: toplev.cc:1621
+#: toplev.cc:1677
 #, gcc-internal-format
 msgid "%<-fstack-protector%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1633
+#: toplev.cc:1689
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are not supported "
 "for this target"
 msgstr ""
 
-#: toplev.cc:1643
+#: toplev.cc:1700
 #, gcc-internal-format
 msgid "%<-fsanitize=address%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1652
+#: toplev.cc:1709
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=kernel-address%> with stack protection is not supported without "
 "%<-fasan-shadow-offset=%> for this target"
 msgstr ""
 
-#: toplev.cc:1662
+#: toplev.cc:1719
 #, gcc-internal-format
 msgid "%qs is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1670
+#: toplev.cc:1727
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
 msgstr ""
 
-#: toplev.cc:1673
+#: toplev.cc:1730
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>"
 msgstr ""
 
-#: toplev.cc:2012
+#: toplev.cc:2066
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr ""
 
-#: toplev.cc:2014
+#: toplev.cc:2068
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr ""
 
-#: toplev.cc:2132
+#: toplev.cc:2186
 #, gcc-internal-format
 msgid "mpfr not configured to handle all floating modes"
 msgstr ""
 
-#: toplev.cc:2218
+#: toplev.cc:2272
 #, gcc-internal-format
 msgid "self-tests are not enabled in this build"
 msgstr ""
 
-#: toplev.cc:2315
+#: toplev.cc:2375
 #, gcc-internal-format
 msgid "self-tests incompatible with %<-E%>"
 msgstr ""
@@ -33301,7 +33579,7 @@ msgid ""
 "or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.cc:717 trans-mem.cc:4834
+#: trans-mem.cc:717 trans-mem.cc:4841
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -33316,7 +33594,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.cc:736 trans-mem.cc:4766
+#: trans-mem.cc:736 trans-mem.cc:4773
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -33331,12 +33609,12 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.cc:762 trans-mem.cc:4806
+#: trans-mem.cc:762 trans-mem.cc:4813
 #, gcc-internal-format
 msgid "%<asm%> not allowed in atomic transaction"
 msgstr ""
 
-#: trans-mem.cc:765 trans-mem.cc:4432
+#: trans-mem.cc:765 trans-mem.cc:4439
 #, gcc-internal-format
 msgid "%<asm%> not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -33366,172 +33644,172 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: tree-cfg.cc:359
+#: tree-cfg.cc:360
 #, gcc-internal-format
 msgid "ignoring loop annotation"
 msgstr ""
 
-#: tree-cfg.cc:3088
+#: tree-cfg.cc:3092
 #, gcc-internal-format
 msgid "constant not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3093
+#: tree-cfg.cc:3097
 #, gcc-internal-format
 msgid "side effects not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3108
+#: tree-cfg.cc:3112
 #, gcc-internal-format
 msgid "address taken but %<TREE_ADDRESSABLE%> bit not set"
 msgstr ""
 
-#: tree-cfg.cc:3134
+#: tree-cfg.cc:3138
 #, gcc-internal-format
 msgid "non-scalar %qs"
 msgstr ""
 
-#: tree-cfg.cc:3148
+#: tree-cfg.cc:3152
 #, gcc-internal-format
 msgid "invalid position or size operand to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3154
+#: tree-cfg.cc:3158
 #, gcc-internal-format
 msgid "integral result type precision does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3163
+#: tree-cfg.cc:3167
 #, gcc-internal-format
 msgid "mode size of non-integral result does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3171
+#: tree-cfg.cc:3175
 #, gcc-internal-format
 msgid "%qs of non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:3178
+#: tree-cfg.cc:3182
 #, gcc-internal-format
 msgid "position plus size exceeds size of referenced object in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3189
+#: tree-cfg.cc:3193
 #, gcc-internal-format
 msgid "type mismatch in %qs reference"
 msgstr ""
 
-#: tree-cfg.cc:3205
+#: tree-cfg.cc:3209
 #, gcc-internal-format
 msgid "conversion of %qs on the left hand side of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3213
+#: tree-cfg.cc:3217
 #, gcc-internal-format
 msgid "conversion of register to a different size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3233
+#: tree-cfg.cc:3237
 #, gcc-internal-format
 msgid "non-top-level %qs"
 msgstr ""
 
-#: tree-cfg.cc:3248
+#: tree-cfg.cc:3252
 #, gcc-internal-format
 msgid "invalid operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3259 tree-cfg.cc:3268 tree-cfg.cc:3285 tree-cfg.cc:3964
-#: tree-cfg.cc:3993 tree-cfg.cc:4010 tree-cfg.cc:4031 tree-cfg.cc:4077
-#: tree-cfg.cc:4098 tree-cfg.cc:4152 tree-cfg.cc:4172 tree-cfg.cc:4208
-#: tree-cfg.cc:4229 tree-cfg.cc:4290 tree-cfg.cc:4365 tree-cfg.cc:4391
-#: tree-cfg.cc:4427 tree-cfg.cc:4476 tree-cfg.cc:4501 tree-cfg.cc:4576
-#: tree-cfg.cc:4662
+#: tree-cfg.cc:3263 tree-cfg.cc:3272 tree-cfg.cc:3289 tree-cfg.cc:3968
+#: tree-cfg.cc:3997 tree-cfg.cc:4014 tree-cfg.cc:4035 tree-cfg.cc:4081
+#: tree-cfg.cc:4102 tree-cfg.cc:4156 tree-cfg.cc:4176 tree-cfg.cc:4212
+#: tree-cfg.cc:4233 tree-cfg.cc:4294 tree-cfg.cc:4369 tree-cfg.cc:4395
+#: tree-cfg.cc:4431 tree-cfg.cc:4480 tree-cfg.cc:4505 tree-cfg.cc:4580
+#: tree-cfg.cc:4666
 #, gcc-internal-format
 msgid "type mismatch in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3279
+#: tree-cfg.cc:3283
 #, gcc-internal-format
 msgid "invalid %qs offset operator"
 msgstr ""
 
-#: tree-cfg.cc:3303 tree-cfg.cc:3329
+#: tree-cfg.cc:3307 tree-cfg.cc:3333
 #, gcc-internal-format
 msgid "invalid address operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3310 tree-cfg.cc:3336
+#: tree-cfg.cc:3314 tree-cfg.cc:3340
 #, gcc-internal-format
 msgid "invalid offset operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3317 tree-cfg.cc:3343
+#: tree-cfg.cc:3321 tree-cfg.cc:3347
 #, gcc-internal-format
 msgid "invalid clique in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3350 tree-cfg.cc:4674
+#: tree-cfg.cc:3354 tree-cfg.cc:4678
 #, gcc-internal-format
 msgid "%qs in gimple IL"
 msgstr ""
 
-#: tree-cfg.cc:3361
+#: tree-cfg.cc:3365
 #, gcc-internal-format
 msgid "%qs as base where non-register is required"
 msgstr ""
 
-#: tree-cfg.cc:3376
+#: tree-cfg.cc:3380
 #, gcc-internal-format
 msgid "invalid expression for min lvalue"
 msgstr ""
 
-#: tree-cfg.cc:3427
+#: tree-cfg.cc:3431
 #, gcc-internal-format
 msgid "gimple call has two targets"
 msgstr ""
 
-#: tree-cfg.cc:3436
+#: tree-cfg.cc:3440
 #, gcc-internal-format
 msgid "gimple call has no target"
 msgstr ""
 
-#: tree-cfg.cc:3443
+#: tree-cfg.cc:3447
 #, gcc-internal-format
 msgid "invalid function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3453
+#: tree-cfg.cc:3457
 #, gcc-internal-format
 msgid "non-function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3464
+#: tree-cfg.cc:3468
 #, gcc-internal-format
 msgid "invalid pure const state for function"
 msgstr ""
 
-#: tree-cfg.cc:3476
+#: tree-cfg.cc:3480
 #, gcc-internal-format
 msgid "invalid LHS in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3484
+#: tree-cfg.cc:3488
 #, gcc-internal-format
 msgid "LHS in %<noreturn%> call"
 msgstr ""
 
-#: tree-cfg.cc:3498
+#: tree-cfg.cc:3502
 #, gcc-internal-format
 msgid "invalid conversion in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3507
+#: tree-cfg.cc:3511
 #, gcc-internal-format
 msgid "invalid static chain in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3518
+#: tree-cfg.cc:3522
 #, gcc-internal-format
 msgid "static chain with function that doesn%'t use one"
 msgstr ""
@@ -33542,764 +33820,742 @@ 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:3537
+#: tree-cfg.cc:3541
 #, gcc-internal-format
 msgid "%<__builtin_unreachable%> or %<__builtin_trap%> call with arguments"
 msgstr ""
 
-#: tree-cfg.cc:3568
+#: tree-cfg.cc:3572
 #, gcc-internal-format
 msgid ""
 "%<DEFERRED_INIT%> calls should have same constant size for the first "
 "argument and LHS"
 msgstr ""
 
-#: tree-cfg.cc:3586
+#: tree-cfg.cc:3590
 #, gcc-internal-format
 msgid "invalid argument to gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3613
+#: tree-cfg.cc:3617
 #, gcc-internal-format
 msgid "invalid operands in gimple comparison"
 msgstr ""
 
-#: tree-cfg.cc:3624
+#: tree-cfg.cc:3628
 #, gcc-internal-format
 msgid "mismatching comparison operand types"
 msgstr ""
 
-#: tree-cfg.cc:3641
+#: tree-cfg.cc:3645
 #, gcc-internal-format
 msgid "unsupported operation or type for vector comparison returning a boolean"
 msgstr ""
 
-#: tree-cfg.cc:3656
+#: tree-cfg.cc:3660
 #, gcc-internal-format
 msgid "non-vector operands in vector comparison"
 msgstr ""
 
-#: tree-cfg.cc:3665
+#: tree-cfg.cc:3669
 #, gcc-internal-format
 msgid "invalid vector comparison resulting type"
 msgstr ""
 
-#: tree-cfg.cc:3672
+#: tree-cfg.cc:3676
 #, gcc-internal-format
 msgid "bogus comparison result type"
 msgstr ""
 
-#: tree-cfg.cc:3694
+#: tree-cfg.cc:3698
 #, gcc-internal-format
 msgid "non-register as LHS of unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3700
+#: tree-cfg.cc:3704
 #, gcc-internal-format
 msgid "invalid operand in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3723
+#: tree-cfg.cc:3727
 #, gcc-internal-format
 msgid "invalid vector types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3760
+#: tree-cfg.cc:3764
 #, gcc-internal-format
 msgid "invalid types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3775
+#: tree-cfg.cc:3779
 #, gcc-internal-format
 msgid "invalid types in address space conversion"
 msgstr ""
 
-#: tree-cfg.cc:3789
+#: tree-cfg.cc:3793
 #, gcc-internal-format
 msgid "invalid types in fixed-point conversion"
 msgstr ""
 
-#: tree-cfg.cc:3804
+#: tree-cfg.cc:3808
 #, gcc-internal-format
 msgid "invalid types in conversion to floating-point"
 msgstr ""
 
-#: tree-cfg.cc:3819
+#: tree-cfg.cc:3823
 #, gcc-internal-format
 msgid "invalid types in conversion to integer"
 msgstr ""
 
-#: tree-cfg.cc:3859
+#: tree-cfg.cc:3863
 #, gcc-internal-format
 msgid "type mismatch in %qs expression"
 msgstr ""
 
-#: tree-cfg.cc:3876 tree-cfg.cc:3890 tree-cfg.cc:4256 tree-cfg.cc:4278
+#: tree-cfg.cc:3880 tree-cfg.cc:3894 tree-cfg.cc:4260 tree-cfg.cc:4282
 #, gcc-internal-format
 msgid "invalid types for %qs"
 msgstr ""
 
-#: tree-cfg.cc:3901
+#: tree-cfg.cc:3905
 #, gcc-internal-format
 msgid "%qs should be from a scalar to a like vector"
 msgstr ""
 
-#: tree-cfg.cc:3915
+#: tree-cfg.cc:3919
 #, gcc-internal-format
 msgid "non-trivial conversion in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3940
+#: tree-cfg.cc:3944
 #, gcc-internal-format
 msgid "non-register as LHS of binary operation"
 msgstr ""
 
-#: tree-cfg.cc:3947
+#: tree-cfg.cc:3951
 #, gcc-internal-format
 msgid "invalid operands in binary operation"
 msgstr ""
 
-#: tree-cfg.cc:4052
+#: tree-cfg.cc:4056
 #, gcc-internal-format
 msgid "invalid non-vector operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:4063
+#: tree-cfg.cc:4067
 #, gcc-internal-format
 msgid "invalid (pointer) operands %qs"
 msgstr ""
 
-#: tree-cfg.cc:4298
+#: tree-cfg.cc:4302
 #, gcc-internal-format
 msgid "vector type expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4311
+#: tree-cfg.cc:4315
 #, gcc-internal-format
 msgid "type mismatch in binary expression"
 msgstr ""
 
-#: tree-cfg.cc:4339
+#: tree-cfg.cc:4343
 #, gcc-internal-format
 msgid "non-register as LHS of ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4347
+#: tree-cfg.cc:4351
 #, gcc-internal-format
 msgid "invalid operands in ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4379
+#: tree-cfg.cc:4383
 #, 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:4411 tree-cfg.cc:4488
+#: tree-cfg.cc:4415 tree-cfg.cc:4492
 #, gcc-internal-format
 msgid "vector types expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4444
+#: tree-cfg.cc:4448
 #, gcc-internal-format
 msgid "vectors with different element number found in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4460
+#: tree-cfg.cc:4464
 #, gcc-internal-format
 msgid "invalid mask type in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4521
+#: tree-cfg.cc:4525
 #, gcc-internal-format
 msgid "not allowed type combination in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4530
+#: tree-cfg.cc:4534
 #, gcc-internal-format
 msgid "invalid position or size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4536
+#: tree-cfg.cc:4540
 #, gcc-internal-format
 msgid "%qs into non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:4546
+#: tree-cfg.cc:4550
 #, gcc-internal-format
 msgid "insertion out of range in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4556
+#: tree-cfg.cc:4560
 #, gcc-internal-format
 msgid "%qs not at element boundary"
 msgstr ""
 
-#: tree-cfg.cc:4612
+#: tree-cfg.cc:4616
 #, gcc-internal-format
 msgid "non-trivial conversion in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4621
+#: tree-cfg.cc:4625
 #, gcc-internal-format
 msgid "%qs LHS in clobber statement"
 msgstr ""
 
-#: tree-cfg.cc:4629
+#: tree-cfg.cc:4633
 #, gcc-internal-format
 msgid "%qs LHS in assignment statement"
 msgstr ""
 
-#: tree-cfg.cc:4648
+#: tree-cfg.cc:4652
 #, gcc-internal-format
 msgid "invalid operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4680
+#: tree-cfg.cc:4684
 #, gcc-internal-format
 msgid "invalid %qs size argument in load"
 msgstr ""
 
-#: tree-cfg.cc:4699 tree-cfg.cc:4725
+#: tree-cfg.cc:4703 tree-cfg.cc:4729
 #, gcc-internal-format
 msgid "invalid RHS for gimple memory store: %qs"
 msgstr ""
 
-#: tree-cfg.cc:4759 tree-cfg.cc:4777
+#: tree-cfg.cc:4763 tree-cfg.cc:4781
 #, gcc-internal-format
 msgid "incorrect type of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4768 tree-cfg.cc:4785
+#: tree-cfg.cc:4772 tree-cfg.cc:4789
 #, gcc-internal-format
 msgid "incorrect number of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4793
+#: tree-cfg.cc:4797
 #, gcc-internal-format
 msgid "incorrect type of vector CONSTRUCTOR elements"
 msgstr ""
 
-#: tree-cfg.cc:4802
+#: tree-cfg.cc:4806
 #, gcc-internal-format
 msgid "vector %qs with non-NULL element index"
 msgstr ""
 
-#: tree-cfg.cc:4809
+#: tree-cfg.cc:4813
 #, gcc-internal-format
 msgid "vector %qs element is not a GIMPLE value"
 msgstr ""
 
-#: tree-cfg.cc:4818
+#: tree-cfg.cc:4822
 #, gcc-internal-format
 msgid "non-vector %qs with elements"
 msgstr ""
 
-#: tree-cfg.cc:4845
+#: tree-cfg.cc:4849
 #, gcc-internal-format
 msgid "nontemporal store lhs cannot be a gimple register"
 msgstr ""
 
-#: tree-cfg.cc:4887
+#: tree-cfg.cc:4891
 #, gcc-internal-format
 msgid "invalid operand in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4902 c/gimple-parser.cc:2615
+#: tree-cfg.cc:4906 c/gimple-parser.cc:2666
 #, gcc-internal-format
 msgid "invalid conversion in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4926
+#: tree-cfg.cc:4930
 #, gcc-internal-format
 msgid "goto destination is neither a label nor a pointer"
 msgstr ""
 
-#: tree-cfg.cc:4945
+#: tree-cfg.cc:4949
 #, gcc-internal-format
 msgid "invalid operand to switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4953
+#: tree-cfg.cc:4957
 #, gcc-internal-format
 msgid "non-integral type switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4963
+#: tree-cfg.cc:4967
 #, gcc-internal-format
 msgid "invalid default case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4975
+#: tree-cfg.cc:4979
 #, gcc-internal-format
 msgid "invalid %<CASE_CHAIN%>"
 msgstr ""
 
-#: tree-cfg.cc:4981
+#: tree-cfg.cc:4985
 #, gcc-internal-format
 msgid "invalid case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4988
+#: tree-cfg.cc:4992
 #, gcc-internal-format
 msgid "invalid case range in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4998
+#: tree-cfg.cc:5002
 #, gcc-internal-format
 msgid "type precision mismatch in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:5005
+#: tree-cfg.cc:5009
 #, gcc-internal-format
 msgid "type mismatch for case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:5014
+#: tree-cfg.cc:5018
 #, gcc-internal-format
 msgid "case labels not sorted in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:5057
+#: tree-cfg.cc:5061
 #, gcc-internal-format
 msgid "label context is not the current function declaration"
 msgstr ""
 
-#: tree-cfg.cc:5066
+#: tree-cfg.cc:5070
 #, gcc-internal-format
 msgid "incorrect entry in %<label_to_block_map%>"
 msgstr ""
 
-#: tree-cfg.cc:5076
+#: tree-cfg.cc:5080
 #, gcc-internal-format
 msgid "incorrect setting of landing pad number"
 msgstr ""
 
-#: tree-cfg.cc:5092
+#: tree-cfg.cc:5096
 #, gcc-internal-format
 msgid "invalid comparison code in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:5100
+#: tree-cfg.cc:5104
 #, gcc-internal-format
 msgid "invalid labels in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:5186 tree-cfg.cc:5195
+#: tree-cfg.cc:5190 tree-cfg.cc:5199
 #, gcc-internal-format
 msgid "invalid %<PHI%> result"
 msgstr ""
 
-#: tree-cfg.cc:5205
+#: tree-cfg.cc:5209
 #, gcc-internal-format
 msgid "missing %<PHI%> def"
 msgstr ""
 
-#: tree-cfg.cc:5219
+#: tree-cfg.cc:5223
 #, gcc-internal-format
 msgid "invalid %<PHI%> argument"
 msgstr ""
 
-#: tree-cfg.cc:5226
+#: tree-cfg.cc:5230
 #, gcc-internal-format
 msgid "incompatible types in %<PHI%> argument %u"
 msgstr ""
 
-#: tree-cfg.cc:5329
+#: tree-cfg.cc:5333
 #, gcc-internal-format
 msgid "%<verify_gimple%> failed"
 msgstr ""
 
-#: tree-cfg.cc:5387
+#: tree-cfg.cc:5392
 #, gcc-internal-format
 msgid "dead statement in EH table"
 msgstr ""
 
-#: tree-cfg.cc:5403
+#: tree-cfg.cc:5408
 #, gcc-internal-format
 msgid "location references block not in block tree"
 msgstr ""
 
-#: tree-cfg.cc:5452
+#: tree-cfg.cc:5457
 #, gcc-internal-format
 msgid "local declaration from a different function"
 msgstr ""
 
-#: tree-cfg.cc:5555
+#: tree-cfg.cc:5560
 #, gcc-internal-format
 msgid "gimple_bb (phi) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5564
+#: tree-cfg.cc:5569
 #, gcc-internal-format
 msgid "PHI node with location"
 msgstr ""
 
-#: tree-cfg.cc:5575 tree-cfg.cc:5622
+#: tree-cfg.cc:5580 tree-cfg.cc:5627
 #, gcc-internal-format
 msgid "incorrect sharing of tree nodes"
 msgstr ""
 
-#: tree-cfg.cc:5583
+#: tree-cfg.cc:5588
 #, gcc-internal-format
 msgid "virtual PHI with argument locations"
 msgstr ""
 
-#: tree-cfg.cc:5610
+#: tree-cfg.cc:5615
 #, gcc-internal-format
 msgid "gimple_bb (stmt) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5650
+#: tree-cfg.cc:5655
 #, gcc-internal-format
 msgid "statement marked for throw, but doesn%'t"
 msgstr ""
 
-#: tree-cfg.cc:5656
+#: tree-cfg.cc:5661
 #, gcc-internal-format
 msgid "statement marked for throw in middle of block"
 msgstr ""
 
-#: tree-cfg.cc:5678
+#: tree-cfg.cc:5683
 #, gcc-internal-format
 msgid "verify_gimple failed"
 msgstr ""
 
-#: tree-cfg.cc:5702
+#: tree-cfg.cc:5707
 #, gcc-internal-format
 msgid "ENTRY_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5709
+#: tree-cfg.cc:5714
 #, gcc-internal-format
 msgid "EXIT_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5716
+#: tree-cfg.cc:5721
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru to exit from bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5722
+#: tree-cfg.cc:5727
 #, gcc-internal-format
 msgid "entry block count not initialized"
 msgstr ""
 
-#: tree-cfg.cc:5728
+#: tree-cfg.cc:5733
 #, gcc-internal-format
 msgid "exit block count not initialized"
 msgstr ""
 
-#: tree-cfg.cc:5735
+#: tree-cfg.cc:5740
 #, gcc-internal-format
 msgid "probability of edge from entry block not initialized"
 msgstr ""
 
-#: tree-cfg.cc:5750
+#: tree-cfg.cc:5755
 #, gcc-internal-format, gfc-internal-format
 msgid "count of bb %d not initialized"
 msgstr ""
 
-#: tree-cfg.cc:5756
+#: tree-cfg.cc:5761
 #, gcc-internal-format, gfc-internal-format
 msgid "probability of edge %d->%d not initialized"
 msgstr ""
 
-#: tree-cfg.cc:5776
+#: tree-cfg.cc:5781
 #, gcc-internal-format
 msgid "nonlocal label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5783
+#: tree-cfg.cc:5788
 #, gcc-internal-format
 msgid "EH landing pad label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5790
+#: tree-cfg.cc:5795
 #, gcc-internal-format
 msgid "label %qD to block does not match in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5797
+#: tree-cfg.cc:5802
 #, gcc-internal-format
 msgid "label %qD has incorrect context in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5812
+#: tree-cfg.cc:5817
 #, gcc-internal-format, gfc-internal-format
 msgid "control flow in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5822
+#: tree-cfg.cc:5827
 #, gcc-internal-format
 msgid "label %qD in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5841
+#: tree-cfg.cc:5846
 #, gcc-internal-format, gfc-internal-format
 msgid "returns_twice call is not last in basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5850
+#: tree-cfg.cc:5855
 #, gcc-internal-format, gfc-internal-format
 msgid "returns_twice call is not first in basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5882
+#: tree-cfg.cc:5887
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge after a control statement in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5895
+#: tree-cfg.cc:5900
 #, gcc-internal-format, gfc-internal-format
 msgid "true/false edge after a non-GIMPLE_COND in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5918 tree-cfg.cc:5940 tree-cfg.cc:5957 tree-cfg.cc:6026
+#: tree-cfg.cc:5923 tree-cfg.cc:5945 tree-cfg.cc:5962 tree-cfg.cc:6031
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong outgoing edge flags at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5928
+#: tree-cfg.cc:5933
 #, gcc-internal-format, gfc-internal-format
 msgid "explicit goto at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5962
+#: tree-cfg.cc:5967
 #, gcc-internal-format, gfc-internal-format
 msgid "return edge does not point to exit in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5992
+#: tree-cfg.cc:5997
 #, gcc-internal-format
 msgid "found default case not at the start of case vector"
 msgstr ""
 
-#: tree-cfg.cc:6000
+#: tree-cfg.cc:6005
 #, gcc-internal-format
 msgid "case labels not sorted: "
 msgstr ""
 
-#: tree-cfg.cc:6017
+#: tree-cfg.cc:6022
 #, gcc-internal-format, gfc-internal-format
 msgid "extra outgoing edge %d->%d"
 msgstr ""
 
-#: tree-cfg.cc:6040
+#: tree-cfg.cc:6045
 #, gcc-internal-format, gfc-internal-format
 msgid "missing edge %i->%i"
 msgstr ""
 
-#: tree-cfg.cc:9816
+#: tree-cfg.cc:9825
 #, gcc-internal-format
 msgid "%<noreturn%> function does return"
 msgstr ""
 
-#: tree-cfg.cc:9836 tree-cfg.cc:9871
+#: tree-cfg.cc:9845 tree-cfg.cc:9880
 #, gcc-internal-format
 msgid "control reaches end of non-void function"
 msgstr ""
 
-#: tree-cfg.cc:9937
+#: tree-cfg.cc:9948
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: tree-cfg.cc:9942 cp/cvt.cc:1137
+#: tree-cfg.cc:9953 cp/cvt.cc:1141
 #, gcc-internal-format
 msgid ""
 "ignoring return value of function declared with attribute "
 "%<warn_unused_result%>"
 msgstr ""
 
-#: tree-complex.cc:1639
+#: tree-complex.cc:1675
 #, gcc-internal-format
 msgid "%<asm goto%> with complex typed outputs"
 msgstr ""
 
-#: tree-diagnostic-path.cc:626
-msgid "%@ %s (fndecl %qD, depth %i)"
-msgstr ""
-
-#: tree-diagnostic-path.cc:631
-msgid "%@ %s (depth %i)"
-msgstr ""
-
-#: tree-diagnostic-path.cc:637
-msgid "%@ %s"
-msgstr ""
-
-#: tree-diagnostic.cc:207
-#, gcc-internal-format
-msgid "in definition of macro %qs"
-msgstr ""
-
-#: tree-diagnostic.cc:224
-#, gcc-internal-format
-msgid "in expansion of macro %qs"
-msgstr ""
-
-#: tree-eh.cc:4946
+#: tree-eh.cc:4983
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.cc:4958
+#: tree-eh.cc:4995
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i cannot throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.cc:4966
+#: tree-eh.cc:5003
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.cc:4972
+#: tree-eh.cc:5009
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.cc:4978
+#: tree-eh.cc:5015
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.cc:5012 tree-eh.cc:5031
+#: tree-eh.cc:5049 tree-eh.cc:5068
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.cc:5048
+#: tree-eh.cc:5085
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.cc:5057
+#: tree-eh.cc:5094
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.cc:5063
+#: tree-eh.cc:5100
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.cc:3925
+#: tree-inline.cc:3952
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.cc:3932
+#: tree-inline.cc:3959
 #, 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:3972
+#: tree-inline.cc:3999
 #, 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:3986
+#: tree-inline.cc:4013
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.cc:4000
+#: tree-inline.cc:4027
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.cc:4012
+#: tree-inline.cc:4039
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses setjmp-longjmp exception "
 "handling"
 msgstr ""
 
-#: tree-inline.cc:4020
+#: tree-inline.cc:4047
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.cc:4032
+#: tree-inline.cc:4059
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses %<__builtin_return%> or "
 "%<__builtin_apply_args%>"
 msgstr ""
 
-#: tree-inline.cc:4052
+#: tree-inline.cc:4079
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.cc:4098
+#: tree-inline.cc:4125
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it has a VLA argument"
 msgstr ""
 
-#: tree-inline.cc:4165
+#: tree-inline.cc:4192
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it is suppressed using %<-fno-"
 "inline%>"
 msgstr ""
 
-#: tree-inline.cc:4173
+#: tree-inline.cc:4200
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses attributes conflicting "
 "with inlining"
 msgstr ""
 
-#: tree-inline.cc:4854
+#: tree-inline.cc:4883
 #, gcc-internal-format
 msgid "inlining failed in call to %<always_inline%> %q+F: %s"
 msgstr ""
 
-#: tree-inline.cc:4857 tree-inline.cc:4878
+#: tree-inline.cc:4886 tree-inline.cc:4907
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.cc:4860 tree-inline.cc:4881
+#: tree-inline.cc:4889 tree-inline.cc:4910
 #, gcc-internal-format
 msgid "called from this function"
 msgstr ""
 
-#: tree-inline.cc:4874
+#: tree-inline.cc:4903
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
 
-#: tree-into-ssa.cc:3433
+#: tree-into-ssa.cc:3410
 #, gcc-internal-format
 msgid "statement uses released SSA name"
 msgstr ""
 
-#: tree-into-ssa.cc:3445
+#: tree-into-ssa.cc:3422
 #, gcc-internal-format
 msgid "cannot update SSA form"
 msgstr ""
 
-#: tree-into-ssa.cc:3538 tree-outof-ssa.cc:902 tree-ssa-coalesce.cc:1012
+#: tree-into-ssa.cc:3517 tree-outof-ssa.cc:906 tree-ssa-coalesce.cc:1012
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
 
-#: tree-nested.cc:1190
+#: tree-nested.cc:1204
 #, gcc-internal-format, gfc-internal-format
 msgid "%s from %s referenced in %s"
 msgstr ""
 
-#: tree-nested.cc:2985
+#: tree-nested.cc:3002
 #, gcc-internal-format, gfc-internal-format
 msgid "%s from %s called in %s"
 msgstr ""
@@ -34319,156 +34575,161 @@ msgstr ""
 msgid "target does not support atomic profile update, single mode is selected"
 msgstr ""
 
-#: tree-ssa-alias.cc:4070
+#: tree-ssa-alias.cc:4124
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\""
 msgstr ""
 
-#: tree-ssa-alias.cc:4109
+#: tree-ssa-alias.cc:4163
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\" arg %i"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4682 c-family/c-common.cc:5912
+#: tree-ssa-ccp.cc:4595 c-family/c-common.cc:5992
 #, gcc-internal-format
 msgid "%qs pointer is null"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4685 c-family/c-common.cc:5915
+#: tree-ssa-ccp.cc:4598 c-family/c-common.cc:5995
 #, gcc-internal-format
 msgid "in a call to non-static member function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4691 c-family/c-common.cc:5921
+#: tree-ssa-ccp.cc:4604 c-family/c-common.cc:6010
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u null where non-null expected"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4697
+#: tree-ssa-ccp.cc:4610 tree-ssa-ccp.cc:4667
 #, gcc-internal-format
 msgid "in a call to built-in function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4701 c-family/c-common.cc:5925
+#: tree-ssa-ccp.cc:4614 tree-ssa-ccp.cc:4671 c-family/c-common.cc:6014
 #, gcc-internal-format
 msgid "in a call to function %qD declared %qs"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3889
+#: tree-ssa-ccp.cc:4660 c-family/c-common.cc:6002
+#, gcc-internal-format, gfc-internal-format
+msgid "argument %u null where non-null expected because argument %u is nonzero"
+msgstr ""
+
+#: tree-ssa-loop-niter.cc:3947
 #, gcc-internal-format, gfc-internal-format
 msgid "iteration %s invokes undefined behavior"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3890
+#: tree-ssa-loop-niter.cc:3948
 #, gcc-internal-format
 msgid "within this loop"
 msgstr ""
 
-#: tree-ssa-loop-prefetch.cc:2102
+#: tree-ssa-loop-prefetch.cc:2106
 #, gcc-internal-format
-msgid "%<l1-cache-size%> parameter is not a power of two %d"
+msgid "%<l1-cache-size%> parameter is not a power of two: %d"
 msgstr ""
 
-#: tree-ssa-operands.cc:1032
+#: tree-ssa-operands.cc:1036
 #, gcc-internal-format
 msgid "virtual definition of statement not up to date"
 msgstr ""
 
-#: tree-ssa-operands.cc:1039
+#: tree-ssa-operands.cc:1043
 #, gcc-internal-format
 msgid "virtual def operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1049
+#: tree-ssa-operands.cc:1053
 #, gcc-internal-format
 msgid "virtual use of statement not up to date"
 msgstr ""
 
-#: tree-ssa-operands.cc:1056
+#: tree-ssa-operands.cc:1060
 #, gcc-internal-format
 msgid "virtual use operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1073
+#: tree-ssa-operands.cc:1077
 #, gcc-internal-format
 msgid "excess use operand for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1083
+#: tree-ssa-operands.cc:1087
 #, gcc-internal-format
 msgid "use operand missing for statement"
 msgstr ""
 
-#: tree-ssa-operands.cc:1090
+#: tree-ssa-operands.cc:1094
 #, gcc-internal-format
 msgid "statement volatile flag not up to date"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2127
+#: tree-ssa-strlen.cc:2125
 #, 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:2131
+#: tree-ssa-strlen.cc:2129
 #, gcc-internal-format
 msgid ""
 "writing one too many bytes into a region of a size that depends on %<strlen%>"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2140
+#: tree-ssa-strlen.cc:2138
 #, 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:2148
+#: tree-ssa-strlen.cc:2146
 #, 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:2158
+#: tree-ssa-strlen.cc:2156
 #, 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:2166
+#: tree-ssa-strlen.cc:2164
 #, 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:2176
+#: tree-ssa-strlen.cc:2174
 #, gcc-internal-format
 msgid "%qD writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2182
+#: tree-ssa-strlen.cc:2180
 #, gcc-internal-format
 msgid "writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2190
+#: tree-ssa-strlen.cc:2188
 #, 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:2196
+#: tree-ssa-strlen.cc:2194
 #, gcc-internal-format
 msgid ""
 "writing between %wu and %wu bytes into a region of size between %wu and %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3092
+#: tree-ssa-strlen.cc:3090
 #, gcc-internal-format
 msgid ""
 "%qD output truncated before terminating nul copying %E byte from a string of "
@@ -34479,7 +34740,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3108
+#: tree-ssa-strlen.cc:3106
 #, gcc-internal-format
 msgid "%qD output truncated copying %E byte from a string of length %wu"
 msgid_plural ""
@@ -34487,14 +34748,14 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3115
+#: 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:3127
+#: 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 ""
@@ -34502,122 +34763,122 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3134 tree-ssa-strlen.cc:3150
+#: 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:3304
+#: 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:3317
+#: 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:3325
+#: tree-ssa-strlen.cc:3323
 #, gcc-internal-format
 msgid "length computed here"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4282
+#: 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:4284
+#: 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:4291
+#: 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:4296
+#: 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:4307
+#: tree-ssa-strlen.cc:4305
 #, gcc-internal-format
 msgid "in this expression"
 msgstr ""
 
-#: tree-ssa-uninit.cc:306
+#: tree-ssa-uninit.cc:307
 #, gcc-internal-format
 msgid "%qD is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:308
+#: tree-ssa-uninit.cc:309
 #, gcc-internal-format
 msgid "%qD may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:315
+#: tree-ssa-uninit.cc:316
 #, gcc-internal-format
 msgid "%qs is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:318
+#: tree-ssa-uninit.cc:319
 #, gcc-internal-format
 msgid "%qs may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:337 varasm.cc:363 varasm.cc:8019
+#: tree-ssa-uninit.cc:338 varasm.cc:367 varasm.cc:8203
 #, gcc-internal-format
 msgid "%qD was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:339
+#: tree-ssa-uninit.cc:340
 #, gcc-internal-format
 msgid "%qs was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:450 tree-ssa-uninit.cc:760
+#: tree-ssa-uninit.cc:451 tree-ssa-uninit.cc:762
 #, gcc-internal-format
 msgid "%qE may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:459
+#: tree-ssa-uninit.cc:461
 #, gcc-internal-format
-msgid "accessing argument %u of a function declared with attribute %<%s%>"
+msgid "accessing argument %u of a function declared with attribute %qs"
 msgstr ""
 
-#: tree-ssa-uninit.cc:747
+#: tree-ssa-uninit.cc:749
 #, gcc-internal-format
 msgid "%qE is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:882
+#: tree-ssa-uninit.cc:885
 #, gcc-internal-format
-msgid "in a call to %qD declared with attribute %<%s%> here"
+msgid "in a call to %qD declared with attribute %qs here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:889
+#: tree-ssa-uninit.cc:892
 #, gcc-internal-format
-msgid "in a call to %qT declared with attribute %<%s%>"
+msgid "in a call to %qT declared with attribute %qs"
 msgstr ""
 
-#: tree-ssa-uninit.cc:905
+#: tree-ssa-uninit.cc:908
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qD declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:913
+#: tree-ssa-uninit.cc:916
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qT"
 msgstr ""
@@ -34772,178 +35033,197 @@ msgstr ""
 msgid "verify_ssa failed"
 msgstr ""
 
-#: tree-streamer-in.cc:346
+#: tree-streamer-in.cc:347
 #, gcc-internal-format
 msgid "machine independent builtin code out of range"
 msgstr ""
 
-#: tree-streamer-in.cc:352
+#: tree-streamer-in.cc:353
 #, gcc-internal-format
 msgid "target specific builtin not available"
 msgstr ""
 
-#: tree-vect-generic.cc:300 tree-vect-generic.cc:470 tree-vect-generic.cc:2042
+#: tree-streamer-in.cc:726
+#, gcc-internal-format
+msgid "degree of %<poly_int%> exceeds %<NUM_POLY_INT_COEFFS%>"
+msgstr ""
+
+#: tree-switch-conversion.cc:2354
+#, gcc-internal-format
+msgid ""
+"Using faster switch lowering algorithms. Number of switch cases (%d) exceeds "
+"%<--param=switch-lower-slow-alg-max-cases=%d%> limit."
+msgstr ""
+
+#: tree-vect-generic.cc:308 tree-vect-generic.cc:437 tree-vect-generic.cc:1938
 #, gcc-internal-format
 msgid "vector operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-generic.cc:303
+#: tree-vect-generic.cc:311
 #, gcc-internal-format
 msgid "vector operation will be expanded in parallel"
 msgstr ""
 
-#: tree-vect-generic.cc:360
+#: tree-vect-generic.cc:368
 #, gcc-internal-format
 msgid "vector operation will be expanded with a single scalar operation"
 msgstr ""
 
-#: tree-vect-generic.cc:1091
+#: tree-vect-generic.cc:1012
 #, gcc-internal-format
 msgid "vector condition will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-generic.cc:1602
+#: tree-vect-generic.cc:1505
 #, gcc-internal-format
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-loop.cc:5065
+#: tree-vect-loop.cc:5104
 #, gcc-internal-format
 msgid "vectorization did not happen for a simd loop"
 msgstr ""
 
-#: tree.cc:2244
+#: tree-vrp.cc:1341
+#, gcc-internal-format
+msgid ""
+"using fast VRP algorithm; %d basic blocks exceeds %<--param=vrp-block-"
+"limit=%d%> limit"
+msgstr ""
+
+#: tree.cc:2329
 #, gcc-internal-format
 msgid "non-constant element in constant CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:2246
+#: tree.cc:2331
 #, gcc-internal-format
 msgid "side-effects element in no-side-effects CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:7341 m2/gm2-gcc/m2type.cc:215
+#: tree.cc:7452 m2/gm2-gcc/m2type.cc:216
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.cc:7496
+#: tree.cc:7618
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.cc:8956 tree.cc:9041 tree.cc:9104
+#: tree.cc:9102 tree.cc:9187 tree.cc:9250
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8993
+#: tree.cc:9139
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9006
+#: tree.cc:9152
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9055
+#: tree.cc:9201
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9068
+#: tree.cc:9214
 #, gcc-internal-format
 msgid "tree check: expected %<omp_clause %s%>, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9130
+#: tree.cc:9276
 #, gcc-internal-format
 msgid ""
 "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:"
 "%d"
 msgstr ""
 
-#: tree.cc:9144
+#: tree.cc:9290
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_int_cst%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9157
+#: tree.cc:9303
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_vec%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9170
+#: tree.cc:9316
 #, 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:9183
+#: tree.cc:9329
 #, gcc-internal-format
 msgid ""
 "tree check: accessed operand %d of %<omp_clause %s%> with %d operands in %s, "
 "at %s:%d"
 msgstr ""
 
-#: tree.cc:12437
+#: tree.cc:12598
 #, gcc-internal-format
 msgid "%qD is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12440
+#: tree.cc:12601
 #, gcc-internal-format
 msgid "%qD is deprecated"
 msgstr ""
 
-#: tree.cc:12463
+#: tree.cc:12624
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12466
+#: tree.cc:12627
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.cc:12472
+#: tree.cc:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12475
+#: tree.cc:12636
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
 
-#: tree.cc:12517
+#: tree.cc:12678
 #, gcc-internal-format
 msgid "%qD is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12519
+#: tree.cc:12680
 #, gcc-internal-format
 msgid "%qD is unavailable"
 msgstr ""
 
-#: tree.cc:12540
+#: tree.cc:12701
 #, gcc-internal-format
 msgid "%qE is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12542
+#: tree.cc:12703
 #, gcc-internal-format
 msgid "%qE is unavailable"
 msgstr ""
 
-#: tree.cc:12547
+#: tree.cc:12708
 #, gcc-internal-format, gfc-internal-format
 msgid "type is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12549
+#: tree.cc:12710
 #, gcc-internal-format
 msgid "type is unavailable"
 msgstr ""
@@ -34968,262 +35248,262 @@ msgstr ""
 #. - vector types may differ by TYPE_VECTOR_OPAQUE
 #.
 #. Convenience macro for matching individual fields.
-#: tree.cc:13477
+#: tree.cc:13660
 #, gcc-internal-format, gfc-internal-format
 msgid "type variant differs by %s"
 msgstr ""
 
-#: tree.cc:13522
+#: tree.cc:13705
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13524
+#: tree.cc:13707
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13526
+#: tree.cc:13709
 #, gcc-internal-format
 msgid "type%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13551
+#: tree.cc:13734
 #, gcc-internal-format
 msgid "type variant with %<TYPE_ALIAS_SET_KNOWN_P%>"
 msgstr ""
 
-#: tree.cc:13564
+#: tree.cc:13747
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_VFIELD%>"
 msgstr ""
 
-#: tree.cc:13601
+#: tree.cc:13784
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13603
+#: tree.cc:13786
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13605
+#: tree.cc:13788
 #, gcc-internal-format
 msgid "type%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13644
+#: tree.cc:13827
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_FIELDS%>"
 msgstr ""
 
-#: tree.cc:13646
+#: tree.cc:13829
 #, gcc-internal-format
 msgid "first mismatch is field"
 msgstr ""
 
-#: tree.cc:13648
+#: tree.cc:13831
 #, gcc-internal-format
 msgid "and field"
 msgstr ""
 
-#: tree.cc:13665
+#: tree.cc:13848
 #, gcc-internal-format
 msgid "type variant has different %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13667 tree.cc:13678
+#: tree.cc:13850 tree.cc:13861
 #, gcc-internal-format
 msgid "type variant%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13669 tree.cc:13680
+#: tree.cc:13852 tree.cc:13863
 #, gcc-internal-format
 msgid "type%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13676
+#: tree.cc:13859
 #, gcc-internal-format
 msgid "type is not compatible with its variant"
 msgstr ""
 
-#: tree.cc:14001
+#: tree.cc:14210
 #, gcc-internal-format, gfc-internal-format
 msgid "type %s is not an opaque type"
 msgstr ""
 
-#: tree.cc:14007
+#: tree.cc:14216
 #, gcc-internal-format, gfc-internal-format
 msgid "type %s is not with opaque mode"
 msgstr ""
 
-#: tree.cc:14013
+#: tree.cc:14222
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_MODE%>"
 msgstr ""
 
-#: tree.cc:14021
+#: tree.cc:14230
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_SIZE%>"
 msgstr ""
 
-#: tree.cc:14027
+#: tree.cc:14236
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_ALIGN%>"
 msgstr ""
 
-#: tree.cc:14033
+#: tree.cc:14242
 #, gcc-internal-format
 msgid "type %s differs by %<TYPE_USER_ALIGN%>"
 msgstr ""
 
-#: tree.cc:14063
+#: tree.cc:14272
 #, gcc-internal-format
 msgid "main variant is not defined"
 msgstr ""
 
-#: tree.cc:14068
+#: tree.cc:14277
 #, gcc-internal-format
 msgid "%<TYPE_MAIN_VARIANT%> has different %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:14079
+#: tree.cc:14288
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> has different %<TYPE_CANONICAL%>"
 msgstr ""
 
-#: tree.cc:14098
+#: tree.cc:14307
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:14106
+#: tree.cc:14318
 #, gcc-internal-format
 msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:14112
+#: tree.cc:14324
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
 msgstr ""
 
-#: tree.cc:14128
+#: tree.cc:14340
 #, gcc-internal-format
 msgid "%<TYPE_VFIELD%> is not %<FIELD_DECL%> nor %<TREE_LIST%>"
 msgstr ""
 
-#: tree.cc:14138
+#: tree.cc:14350
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_PTR_TO%> is not %<POINTER_TYPE%>"
 msgstr ""
 
-#: tree.cc:14148
+#: tree.cc:14360
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_REF_TO%> is not %<REFERENCE_TYPE%>"
 msgstr ""
 
-#: tree.cc:14169
+#: tree.cc:14381
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> is not %<TREE_BINFO%>"
 msgstr ""
 
-#: tree.cc:14175
+#: tree.cc:14387
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> type is not %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:14186
+#: tree.cc:14398
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:14197
+#: tree.cc:14409
 #, gcc-internal-format
 msgid "%<TYPE_OFFSET_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:14215
+#: tree.cc:14427
 #, gcc-internal-format
 msgid "%<TYPE_ARRAY_MAX_SIZE%> not %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:14222
+#: tree.cc:14434
 #, gcc-internal-format
 msgid "%<TYPE_MAX_VALUE_RAW%> non-NULL"
 msgstr ""
 
-#: tree.cc:14229
+#: tree.cc:14441
 #, gcc-internal-format
 msgid "%<TYPE_LANG_SLOT_1 (binfo)%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:14245
+#: tree.cc:14457
 #, gcc-internal-format
 msgid "enum value is not %<CONST_DECL%> or %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:14254
+#: tree.cc:14466
 #, gcc-internal-format
 msgid "enum value type is not %<INTEGER_TYPE%> nor convertible to the enum"
 msgstr ""
 
-#: tree.cc:14262
+#: tree.cc:14474
 #, gcc-internal-format
 msgid "enum value name is not %<IDENTIFIER_NODE%>"
 msgstr ""
 
-#: tree.cc:14272
+#: tree.cc:14484
 #, gcc-internal-format
 msgid "array %<TYPE_DOMAIN%> is not integer type"
 msgstr ""
 
-#: tree.cc:14281
+#: tree.cc:14493
 #, gcc-internal-format
 msgid "%<TYPE_FIELDS%> defined in incomplete type"
 msgstr ""
 
-#: tree.cc:14303
+#: tree.cc:14515
 #, gcc-internal-format
 msgid "wrong tree in %<TYPE_FIELDS%> list"
 msgstr ""
 
-#: tree.cc:14319
+#: tree.cc:14531
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is %i while %<TYPE_CACHED_VALUES%> is %p"
 msgstr ""
 
-#: tree.cc:14326
+#: tree.cc:14538
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES%> is not %<TREE_VEC%>"
 msgstr ""
 
-#: tree.cc:14339
+#: tree.cc:14551
 #, gcc-internal-format
 msgid "wrong %<TYPE_CACHED_VALUES%> entry"
 msgstr ""
 
-#: tree.cc:14352
+#: tree.cc:14564
 #, gcc-internal-format
 msgid "%<TREE_PURPOSE%> is non-NULL in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:14358
+#: tree.cc:14570
 #, gcc-internal-format
 msgid "wrong entry in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:14365
+#: tree.cc:14577
 #, gcc-internal-format
 msgid "%<TYPE_VALUES_RAW%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:14378
+#: tree.cc:14590
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is set while it should not be"
 msgstr ""
 
-#: tree.cc:14388
+#: tree.cc:14600
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not main variant"
 msgstr ""
@@ -35252,205 +35532,225 @@ msgid ""
 "basic-block count (%d)"
 msgstr ""
 
-#: var-tracking.cc:7194
+#: var-tracking.cc:7202
 #, gcc-internal-format
 msgid ""
 "variable tracking size limit exceeded with %<-fvar-tracking-assignments%>, "
 "retrying without"
 msgstr ""
 
-#: var-tracking.cc:7198
+#: var-tracking.cc:7206
 #, gcc-internal-format
 msgid "variable tracking size limit exceeded"
 msgstr ""
 
-#: varasm.cc:312
+#: varasm.cc:314
 #, gcc-internal-format
 msgid "section already exists: %qs"
 msgstr ""
 
-#: varasm.cc:358
+#: varasm.cc:360
 #, gcc-internal-format
-msgid "%+qD causes a section type conflict with %qD"
+msgid "%+qD causes a section type conflict with %qD in section %qs"
 msgstr ""
 
-#: varasm.cc:361
+#: varasm.cc:364
 #, gcc-internal-format
-msgid "section type conflict with %qD"
+msgid "section type conflict with %qD in section %qs"
 msgstr ""
 
-#: varasm.cc:366
+#: varasm.cc:370
 #, gcc-internal-format
-msgid "%+qD causes a section type conflict"
+msgid "%+qD causes a section type conflict for section %qs"
 msgstr ""
 
-#: varasm.cc:368
+#: varasm.cc:373
 #, gcc-internal-format
-msgid "section type conflict"
+msgid "section type conflict for section %qs"
 msgstr ""
 
-#: varasm.cc:1101
+#: varasm.cc:1112
 #, gcc-internal-format
 msgid "alignment of %q+D is greater than maximum object file alignment %d"
 msgstr ""
 
-#: varasm.cc:1269
+#: varasm.cc:1281
 #, gcc-internal-format
 msgid "only zero initializers are allowed in section %qs"
 msgstr ""
 
-#: varasm.cc:1499 varasm.cc:1508 d/d-attribs.cc:1463
+#: varasm.cc:1285
+#, gcc-internal-format
+msgid "no initializers are allowed in section %qs"
+msgstr ""
+
+#: varasm.cc:1515 varasm.cc:1524 d/d-attribs.cc:1463
 #, gcc-internal-format
 msgid "register name not specified for %q+D"
 msgstr ""
 
-#: varasm.cc:1510
+#: varasm.cc:1526
 #, gcc-internal-format
 msgid "invalid register name for %q+D"
 msgstr ""
 
-#: varasm.cc:1512
+#: varasm.cc:1528
 #, gcc-internal-format
 msgid "data type of %q+D isn%'t suitable for a register"
 msgstr ""
 
-#: varasm.cc:1515
+#: varasm.cc:1531
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D cannot be accessed by the current target"
 msgstr ""
 
-#: varasm.cc:1518
+#: varasm.cc:1534
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D is not general enough to be used as a "
 "register variable"
 msgstr ""
 
-#: varasm.cc:1521
+#: varasm.cc:1537
 #, gcc-internal-format
 msgid "register specified for %q+D isn%'t suitable for data type"
 msgstr ""
 
-#: varasm.cc:1530
+#: varasm.cc:1546
 #, gcc-internal-format
 msgid "register specified for %q+D is an internal GCC implementation detail"
 msgstr ""
 
-#: varasm.cc:1540
+#: varasm.cc:1556
 #, gcc-internal-format
 msgid "global register variable has initial value"
 msgstr ""
 
-#: varasm.cc:1544
+#: varasm.cc:1560
 #, gcc-internal-format
 msgid "optimization may eliminate reads and/or writes to register variables"
 msgstr ""
 
-#: varasm.cc:1590
+#: varasm.cc:1606
 #, gcc-internal-format
 msgid "register name given for non-register variable %q+D"
 msgstr ""
 
-#: varasm.cc:2198
+#: varasm.cc:1741 varasm.cc:1746 varasm.cc:1751
+#, gcc-internal-format
+msgid "%qc in output operand outside of a function"
+msgstr ""
+
+#: varasm.cc:1783
+#, gcc-internal-format
+msgid "%qc in input operand outside of a function"
+msgstr ""
+
+#: varasm.cc:1792
+#, gcc-internal-format
+msgid "matching constraint outside of a function"
+msgstr ""
+
+#: varasm.cc:2377
 #, gcc-internal-format
 msgid "thread-local COMMON data not implemented"
 msgstr ""
 
-#: varasm.cc:2231
+#: varasm.cc:2410
 #, gcc-internal-format
 msgid ""
 "requested alignment for %q+D is greater than implemented alignment of %wu"
 msgstr ""
 
-#: varasm.cc:2334 c/c-decl.cc:5903 c/c-parser.cc:1910 m2/gm2-gcc/m2type.cc:1240
+#: varasm.cc:2513 c/c-decl.cc:5967 c/c-parser.cc:1968 m2/gm2-gcc/m2type.cc:1248
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t known"
 msgstr ""
 
-#: varasm.cc:5319 varasm.cc:5358
+#: varasm.cc:5493 varasm.cc:5532
 #, gcc-internal-format
 msgid "initializer for integer/fixed-point value is too complicated"
 msgstr ""
 
-#: varasm.cc:5325
+#: varasm.cc:5499
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr ""
 
-#: varasm.cc:5342
+#: varasm.cc:5516
 #, gcc-internal-format
 msgid "initializer for %<_BitInt(%d)%> value is not an integer constant"
 msgstr ""
 
-#: varasm.cc:5725
+#: varasm.cc:5909
 #, gcc-internal-format
 msgid "invalid initial value for member %qE"
 msgstr ""
 
-#: varasm.cc:5981
+#: varasm.cc:6165
 #, gcc-internal-format
 msgid "%qD declared weak after being used"
 msgstr ""
 
-#: varasm.cc:6033
+#: varasm.cc:6217
 #, gcc-internal-format
 msgid ""
 "weak declaration of %q+D being applied to a already existing, static "
 "definition"
 msgstr ""
 
-#: varasm.cc:6074
+#: varasm.cc:6258
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr ""
 
-#: varasm.cc:6078
+#: varasm.cc:6262
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr ""
 
-#: varasm.cc:6107 varasm.cc:6430
+#: varasm.cc:6291 varasm.cc:6614
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6302 varasm.cc:6427
+#: varasm.cc:6486 varasm.cc:6611
 #, gcc-internal-format
 msgid "%qs is not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6330
+#: varasm.cc:6514
 #, gcc-internal-format
 msgid "%qs is not supported on this target"
 msgstr ""
 
-#: varasm.cc:6390
+#: varasm.cc:6574
 #, gcc-internal-format
 msgid "symver is only supported on ELF platforms"
 msgstr ""
 
-#: varasm.cc:6409
+#: varasm.cc:6593
 #, gcc-internal-format
 msgid "%qs symbol %q+D ultimately targets itself"
 msgstr ""
 
-#: varasm.cc:6411
+#: varasm.cc:6595
 #, gcc-internal-format
 msgid "%qs symbol %q+D must have static linkage"
 msgstr ""
 
-#: varasm.cc:6417 config/nvptx/nvptx.cc:7592
+#: varasm.cc:6601 config/nvptx/nvptx.cc:7694
 #, gcc-internal-format
 msgid "alias definitions not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6645 config/sol2.cc:160 config/i386/winnt.cc:265
+#: varasm.cc:6829 config/sol2.cc:160 config/mingw/winnt.cc:269
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
 msgstr ""
 
-#: varasm.cc:8015
+#: varasm.cc:8199
 #, gcc-internal-format
 msgid ""
 "%+qD without %<retain%> attribute and %qD with %<retain%> attribute are "
@@ -35477,459 +35777,495 @@ msgstr ""
 msgid "qsort checking failed"
 msgstr ""
 
-#: c-family/c-ada-spec.cc:2946
+#: c-family/c-ada-spec.cc:3010
 #, gcc-internal-format
 msgid "packed layout"
 msgstr ""
 
-#: c-family/c-attribs.cc:696 d/d-attribs.cc:1195
+#: c-family/c-attribs.cc:714 c-family/c-attribs.cc:719
+#, gcc-internal-format
+msgid "cannot tail-call: return value must be a call"
+msgstr ""
+
+#: c-family/c-attribs.cc:752 d/d-attribs.cc:1195
 #, gcc-internal-format
 msgid "%qE attribute argument is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:699 d/d-attribs.cc:1198
+#: c-family/c-attribs.cc:755 d/d-attribs.cc:1198
 #, gcc-internal-format
 msgid "%qE attribute argument %i is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:711 d/d-attribs.cc:1210
+#: c-family/c-attribs.cc:767 d/d-attribs.cc:1210
 #, gcc-internal-format
 msgid "%qE attribute argument has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:715 d/d-attribs.cc:1214
+#: c-family/c-attribs.cc:771 d/d-attribs.cc:1214
 #, gcc-internal-format
 msgid "%qE attribute argument %i has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:726 c-family/c-attribs.cc:4646
-#: c-family/c-attribs.cc:4650 d/d-attribs.cc:1225
+#: c-family/c-attribs.cc:782 c-family/c-attribs.cc:4832
+#: c-family/c-attribs.cc:4836 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:731 d/d-attribs.cc:1230
+#: c-family/c-attribs.cc:787 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:747 d/d-attribs.cc:1244
+#: c-family/c-attribs.cc:803 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:752 d/d-attribs.cc:1249
+#: c-family/c-attribs.cc:808 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:780 d/d-attribs.cc:1272
+#: c-family/c-attribs.cc:836 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:785 d/d-attribs.cc:1277
+#: c-family/c-attribs.cc:841 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:807
+#: c-family/c-attribs.cc:863
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE does not refer to a variable argument list"
 msgstr ""
 
-#: c-family/c-attribs.cc:811
+#: c-family/c-attribs.cc:867
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE does not refer to a variable argument "
 "list"
 msgstr ""
 
-#: c-family/c-attribs.cc:838 c-family/c-attribs.cc:851 d/d-attribs.cc:1298
+#: c-family/c-attribs.cc:894 c-family/c-attribs.cc:907 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:842 c-family/c-attribs.cc:856 d/d-attribs.cc:1303
+#: c-family/c-attribs.cc:898 c-family/c-attribs.cc:912 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:866
+#: c-family/c-attribs.cc:922
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE refers to a variadic function parameter of "
 "unknown type"
 msgstr ""
 
-#: c-family/c-attribs.cc:871
+#: c-family/c-attribs.cc:927
 #, 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:991
+#: c-family/c-attribs.cc:1047
 #, gcc-internal-format
 msgid "ignoring attribute %qs because it conflicts with previous %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:1029
+#: c-family/c-attribs.cc:1085
 #, gcc-internal-format
 msgid "%qE attribute only supported on boolean types"
 msgstr ""
 
-#: c-family/c-attribs.cc:1039
+#: c-family/c-attribs.cc:1095
 #, gcc-internal-format
 msgid "%qE attribute with unsupported boolean precision"
 msgstr ""
 
-#: c-family/c-attribs.cc:1059
+#: c-family/c-attribs.cc:1115
 #, gcc-internal-format
 msgid "%qE attribute only supported in C"
 msgstr ""
 
-#: c-family/c-attribs.cc:1066
+#: c-family/c-attribs.cc:1122
 #, gcc-internal-format
 msgid "%qE attribute only supported on integral types"
 msgstr ""
 
-#: c-family/c-attribs.cc:1087 c-family/c-attribs.cc:1103
+#: c-family/c-attribs.cc:1144 c-family/c-attribs.cc:1160
 #, gcc-internal-format
 msgid "overflows in conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:1112
+#: c-family/c-attribs.cc:1169
 #, gcc-internal-format
 msgid ""
 "%qE attribute requires different values for %<false%> and %<true%> for type "
 "%qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1152
+#: c-family/c-attribs.cc:1209
 #, gcc-internal-format
 msgid "%qE attribute ignored for type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1164
+#: c-family/c-attribs.cc:1221
 #, gcc-internal-format
 msgid "%qE attribute ignored for field of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1380 c-family/c-attribs.cc:3509
-#: c-family/c-attribs.cc:6039 ada/gcc-interface/utils.cc:7283
+#: c-family/c-attribs.cc:1450 c-family/c-attribs.cc:3648
+#: c-family/c-attribs.cc:6268 ada/gcc-interface/utils.cc:7446
 #, gcc-internal-format
 msgid "%qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:1555 ada/gcc-interface/utils.cc:6793
+#: c-family/c-attribs.cc:1625 ada/gcc-interface/utils.cc:6932
 #, gcc-internal-format
 msgid "%qE attribute ignored because of argument %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:1576 ada/gcc-interface/utils.cc:6814
+#: c-family/c-attribs.cc:1646 ada/gcc-interface/utils.cc:6953
 #, gcc-internal-format
 msgid "ignoring attribute %qE because of excess arguments starting at %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:1590 ada/gcc-interface/utils.cc:6828
+#: c-family/c-attribs.cc:1660 ada/gcc-interface/utils.cc:6967
 #, gcc-internal-format
 msgid "attribute %qE does not apply to elements of non-scalar type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1595 ada/gcc-interface/utils.cc:6833
+#: c-family/c-attribs.cc:1665 ada/gcc-interface/utils.cc:6972
 #, gcc-internal-format
 msgid "attribute %qE does not apply to fields of aggregate type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1661
+#: c-family/c-attribs.cc:1731
 #, 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
+#: c-family/c-attribs.cc:1821 jit/dummy-frontend.cc:290 lto/lto-lang.cc:311
 #, gcc-internal-format
 msgid "%qE attribute has no effect on unit local functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:1921 c-family/c-attribs.cc:3492
+#: c-family/c-attribs.cc:1991 c-family/c-attribs.cc:3631
+#: ada/gcc-interface/utils.cc:7202
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1927
+#: c-family/c-attribs.cc:1997 ada/gcc-interface/utils.cc:7208
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a local variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1952 config/i386/i386-options.cc:4170
+#: c-family/c-attribs.cc:2022 config/i386/i386-options.cc:4178
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1981
+#: c-family/c-attribs.cc:2051
 #, gcc-internal-format
 msgid "%qE attribute only affects top level objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:2020 c-family/c-attribs.cc:4166
+#: c-family/c-attribs.cc:2090 c-family/c-attribs.cc:4305
 #, gcc-internal-format
 msgid "%qE attribute on function returning %<void%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2043
+#: c-family/c-attribs.cc:2113
 #, gcc-internal-format
 msgid "%qE attribute is not supported because endianness is not uniform"
 msgstr ""
 
-#: c-family/c-attribs.cc:2060
+#: c-family/c-attribs.cc:2130
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2156
+#: c-family/c-attribs.cc:2226
 #, gcc-internal-format
 msgid "destructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:2158
+#: c-family/c-attribs.cc:2228
 #, gcc-internal-format
 msgid "constructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:2180
+#: c-family/c-attribs.cc:2250
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:2185
+#: c-family/c-attribs.cc:2255
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:2193
+#: c-family/c-attribs.cc:2263
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:2196
+#: c-family/c-attribs.cc:2266
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:2349
+#: c-family/c-attribs.cc:2419
 #, gcc-internal-format
 msgid "unknown machine mode %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2383
+#: c-family/c-attribs.cc:2453
 #, gcc-internal-format
 msgid "specifying vector types with %<__attribute__ ((mode))%> is deprecated"
 msgstr ""
 
-#: c-family/c-attribs.cc:2386
+#: c-family/c-attribs.cc:2456
 #, gcc-internal-format
 msgid "use %<__attribute__ ((vector_size))%> instead"
 msgstr ""
 
-#: c-family/c-attribs.cc:2395
+#: c-family/c-attribs.cc:2465
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2408
+#: c-family/c-attribs.cc:2478
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2425
+#: c-family/c-attribs.cc:2495
 #, gcc-internal-format
 msgid "signedness of type and machine mode %qs don%'t match"
 msgstr ""
 
-#: c-family/c-attribs.cc:2436
+#: c-family/c-attribs.cc:2506
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2446
+#: c-family/c-attribs.cc:2516
 #, gcc-internal-format
 msgid "cannot use mode %qs for enumerated types"
 msgstr ""
 
-#: c-family/c-attribs.cc:2474
+#: c-family/c-attribs.cc:2544
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr ""
 
-#: c-family/c-attribs.cc:2503 c-family/c-attribs.cc:2860 d/d-attribs.cc:1024
+#: c-family/c-attribs.cc:2573 c-family/c-attribs.cc:2999 d/d-attribs.cc:1024
 #, gcc-internal-format
 msgid "section attributes are not supported for this target"
 msgstr ""
 
-#: c-family/c-attribs.cc:2509 d/d-attribs.cc:1031
+#: c-family/c-attribs.cc:2579 d/d-attribs.cc:1031
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2515
+#: c-family/c-attribs.cc:2585
 #, gcc-internal-format
 msgid "section attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:2524 d/d-attribs.cc:1047
+#: c-family/c-attribs.cc:2594 d/d-attribs.cc:1047
 #, gcc-internal-format
 msgid "section attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2535 config/bfin/bfin.cc:4797 config/bfin/bfin.cc:4848
+#: c-family/c-attribs.cc:2605 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:2544 c-family/c-attribs.cc:2886 d/d-attribs.cc:1067
+#: c-family/c-attribs.cc:2614 c-family/c-attribs.cc:3025 d/d-attribs.cc:1067
 #, gcc-internal-format
 msgid "section of %q+D cannot be overridden"
 msgstr ""
 
-#: c-family/c-attribs.cc:2660
+#: c-family/c-attribs.cc:2730
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2685
+#: c-family/c-attribs.cc:2755
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %<%E (%u)%> because it conflicts with attribute %<%E "
 "(%u)%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2730
+#: c-family/c-attribs.cc:2800
 #, gcc-internal-format
 msgid "%<warn_if_not_aligned%> may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2781
+#: c-family/c-attribs.cc:2851
 #, gcc-internal-format
 msgid "%qE attribute may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2788
+#: c-family/c-attribs.cc:2858
 #, gcc-internal-format
 msgid "%qE attribute may not be specified for a non-array field"
 msgstr ""
 
-#: c-family/c-attribs.cc:2795
+#: c-family/c-attribs.cc:2865
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer"
 msgstr ""
 
-#: c-family/c-attribs.cc:2801 c-family/c-attribs.cc:6235
+#: c-family/c-attribs.cc:2871 c-family/c-attribs.cc:6464
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not an integer constant between 0 and 3"
 msgstr ""
 
-#: c-family/c-attribs.cc:2821 d/d-attribs.cc:1146 jit/dummy-frontend.cc:743
+#: c-family/c-attribs.cc:2895
+#, gcc-internal-format
+msgid "%qE attribute is not supported for C++ for now, ignored"
+msgstr ""
+
+#: c-family/c-attribs.cc:2903
+#, gcc-internal-format
+msgid "%qE attribute is not allowed for a non-field declaration %q+D"
+msgstr ""
+
+#: c-family/c-attribs.cc:2911
+#, gcc-internal-format
+msgid "%qE attribute is not allowed for a non-array field"
+msgstr ""
+
+#: c-family/c-attribs.cc:2919
+#, gcc-internal-format
+msgid "%qE attribute is not allowed for a non-flexible array member field"
+msgstr ""
+
+#: c-family/c-attribs.cc:2927
+#, gcc-internal-format
+msgid "%<counted_by%> argument is not an identifier"
+msgstr ""
+
+#: c-family/c-attribs.cc:2939
+#, gcc-internal-format
+msgid "%<counted_by%> argument %qE conflicts with previous declaration %qE"
+msgstr ""
+
+#: c-family/c-attribs.cc:2960 d/d-attribs.cc:1146 jit/dummy-frontend.cc:758
 #, gcc-internal-format
 msgid "inline function %q+D declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2826 jit/dummy-frontend.cc:748
+#: c-family/c-attribs.cc:2965 jit/dummy-frontend.cc:763
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2867
+#: c-family/c-attribs.cc:3006
 #, gcc-internal-format
 msgid "ignoring %qE attribute not set on a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2877 config/bfin/bfin.cc:4825
-#: config/loongarch/loongarch.cc:7956
+#: c-family/c-attribs.cc:3016 config/bfin/bfin.cc:4825
+#: config/loongarch/loongarch.cc:8110
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2892
+#: c-family/c-attribs.cc:3031
 #, gcc-internal-format
 msgid "%qE attribute is specific to ELF targets"
 msgstr ""
 
-#: c-family/c-attribs.cc:2899
+#: c-family/c-attribs.cc:3038
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on const variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2910
+#: c-family/c-attribs.cc:3049
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on initialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2923
+#: c-family/c-attribs.cc:3062
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on uninitialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2956
+#: c-family/c-attribs.cc:3095
 #, gcc-internal-format
 msgid "%qE attribute is only applicable on functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:2975 d/d-attribs.cc:1094
+#: c-family/c-attribs.cc:3114 d/d-attribs.cc:1094
 #, gcc-internal-format
 msgid "%<symver%> attribute only applies to functions and variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2983 d/d-attribs.cc:1102
+#: c-family/c-attribs.cc:3122 d/d-attribs.cc:1102
 #, gcc-internal-format
 msgid "%<symver%> attribute is only applicable to symbols"
 msgstr ""
 
-#: c-family/c-attribs.cc:2993
+#: c-family/c-attribs.cc:3132
 #, gcc-internal-format
 msgid "%<symver%> attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:3007 d/d-attribs.cc:1126
+#: c-family/c-attribs.cc:3146 d/d-attribs.cc:1126
 #, gcc-internal-format
 msgid "symver attribute argument must have format %<name@nodename%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:3008 d/d-attribs.cc:1127
+#: c-family/c-attribs.cc:3147 d/d-attribs.cc:1127
 #, gcc-internal-format
 msgid "%<symver%> attribute argument %qs must contain one or two %<@%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:3043 jit/dummy-frontend.cc:843
+#: c-family/c-attribs.cc:3182 jit/dummy-frontend.cc:858
 #, gcc-internal-format
 msgid "%q+D defined both normally and as %qE attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3051 jit/dummy-frontend.cc:851
+#: c-family/c-attribs.cc:3190 jit/dummy-frontend.cc:866
 #, gcc-internal-format
 msgid "weak %q+D cannot be defined %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:3068 c-family/c-attribs.cc:4057
-#: ada/gcc-interface/utils.cc:7110 jit/dummy-frontend.cc:868
+#: c-family/c-attribs.cc:3207 c-family/c-attribs.cc:4196
+#: ada/gcc-interface/utils.cc:7273 jit/dummy-frontend.cc:883
 #, gcc-internal-format
 msgid "attribute %qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:3101 jit/dummy-frontend.cc:901
+#: c-family/c-attribs.cc:3240 jit/dummy-frontend.cc:916
 #, gcc-internal-format
 msgid "%+qD declared %qs after being used"
 msgstr ""
 
 #. Explicitly handle this case since using a string literal
 #. as an argument is a likely mistake.
-#: c-family/c-attribs.cc:3153
+#: c-family/c-attribs.cc:3292
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a string"
 msgstr ""
@@ -35937,122 +36273,122 @@ msgstr ""
 #. 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
+#: c-family/c-attribs.cc:3303
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a constant arithmetic expression"
 msgstr ""
 
-#: c-family/c-attribs.cc:3174
+#: c-family/c-attribs.cc:3313
 #, gcc-internal-format
 msgid "%qE attribute ignored on a redeclaration of the referenced symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:3229
+#: c-family/c-attribs.cc:3368
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on a declaration of a different kind than referenced "
 "symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:3233
+#: c-family/c-attribs.cc:3372
 #, gcc-internal-format
 msgid "symbol %qD referenced by %qD declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:3280
+#: c-family/c-attribs.cc:3419
 #, gcc-internal-format
 msgid "%qE attribute must apply to a declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3337
+#: c-family/c-attribs.cc:3476
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:3360
+#: c-family/c-attribs.cc:3499
 #, gcc-internal-format
 msgid "%qE attribute must appear before %qs attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3373
+#: c-family/c-attribs.cc:3512
 #, gcc-internal-format
 msgid "%+qD declared %qE after being used"
 msgstr ""
 
-#: c-family/c-attribs.cc:3397 jit/dummy-frontend.cc:586
+#: c-family/c-attribs.cc:3536 jit/dummy-frontend.cc:601
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3403 jit/dummy-frontend.cc:592
+#: c-family/c-attribs.cc:3542 jit/dummy-frontend.cc:607
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qT is already defined"
 msgstr ""
 
-#: c-family/c-attribs.cc:3416 jit/dummy-frontend.cc:605
+#: c-family/c-attribs.cc:3555 jit/dummy-frontend.cc:620
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:3428 d/d-attribs.cc:1584 jit/dummy-frontend.cc:617
+#: c-family/c-attribs.cc:3567 d/d-attribs.cc:1584 jit/dummy-frontend.cc:632
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3444 d/d-attribs.cc:1613 jit/dummy-frontend.cc:633
+#: c-family/c-attribs.cc:3583 d/d-attribs.cc:1613 jit/dummy-frontend.cc:648
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3456 d/d-attribs.cc:1624 jit/dummy-frontend.cc:645
+#: c-family/c-attribs.cc:3595 d/d-attribs.cc:1624 jit/dummy-frontend.cc:660
 #, gcc-internal-format
 msgid "%qD redeclared with different visibility"
 msgstr ""
 
-#: 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
+#: c-family/c-attribs.cc:3598 c-family/c-attribs.cc:3602 d/d-attribs.cc:1627
+#: d/d-attribs.cc:1631 jit/dummy-frontend.cc:663 jit/dummy-frontend.cc:667
 #, gcc-internal-format
 msgid "%qD was declared %qs which implies default visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3500
+#: c-family/c-attribs.cc:3639
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD does not have thread storage duration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3522
+#: c-family/c-attribs.cc:3661
 #, gcc-internal-format
 msgid "%qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: 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
+#: c-family/c-attribs.cc:3683 c-family/c-attribs.cc:4279
+#: c-family/c-attribs.cc:6233 c-family/c-attribs.cc:6260
+#: config/m32c/m32c.cc:2942 ada/gcc-interface/utils.cc:7432
 #, gcc-internal-format
 msgid "%qE attribute applies only to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3590
+#: c-family/c-attribs.cc:3729
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored on functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3600
+#: c-family/c-attribs.cc:3739
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored with deallocation functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3604
+#: c-family/c-attribs.cc:3743
 #, gcc-internal-format
 msgid "deallocation function declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:3631
+#: c-family/c-attribs.cc:3770
 #, gcc-internal-format
 msgid "%qE attribute ignored; valid only for functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3641
+#: c-family/c-attribs.cc:3780
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on functions returning %qT; valid only for pointer "
@@ -36061,247 +36397,258 @@ msgstr ""
 
 #. Handle specially the common case of specifying one of a number
 #. of overloads, such as operator delete.
-#: c-family/c-attribs.cc:3687
+#: c-family/c-attribs.cc:3826
 #, gcc-internal-format
 msgid "%qE attribute argument 1 is ambiguous"
 msgstr ""
 
-#: c-family/c-attribs.cc:3689
+#: c-family/c-attribs.cc:3828
 #, gcc-internal-format
 msgid "use a cast to the expected type to disambiguate"
 msgstr ""
 
-#: c-family/c-attribs.cc:3694
+#: c-family/c-attribs.cc:3833
 #, gcc-internal-format
 msgid "%qE attribute argument 1 does not name a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:3697
+#: c-family/c-attribs.cc:3836
 #, gcc-internal-format
 msgid "argument references a symbol declared here"
 msgstr ""
 
 #. Reject functions without a prototype.
-#: c-family/c-attribs.cc:3713
+#: c-family/c-attribs.cc:3852
 #, gcc-internal-format
 msgid "%qE attribute argument 1 must take a pointer type as its first argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:3716 c-family/c-attribs.cc:3729
+#: c-family/c-attribs.cc:3855 c-family/c-attribs.cc:3868
 #, 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:3726
+#: c-family/c-attribs.cc:3865
 #, 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:3840 c-family/c-attribs.cc:3888
-#: c-family/c-attribs.cc:3915 d/d-attribs.cc:1329
+#: c-family/c-attribs.cc:3979 c-family/c-attribs.cc:4027
+#: c-family/c-attribs.cc:4054 d/d-attribs.cc:1329
 #, gcc-internal-format
 msgid "%qE attribute ignored on a function returning %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:3934
+#: c-family/c-attribs.cc:4073
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:3942
+#: c-family/c-attribs.cc:4081
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not positive"
 msgstr ""
 
-#: c-family/c-attribs.cc:3953
+#: c-family/c-attribs.cc:4092
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not a power of 2"
 msgstr ""
 
-#: c-family/c-attribs.cc:3966
+#: c-family/c-attribs.cc:4105
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not in the range [0, %wu]"
 msgstr ""
 
-#: c-family/c-attribs.cc:4070 ada/gcc-interface/utils.cc:7123
+#: c-family/c-attribs.cc:4209 ada/gcc-interface/utils.cc:7286
 #, gcc-internal-format
 msgid ""
 "only %<inbranch%> and %<notinbranch%> flags are allowed for %<__simd__%> "
 "attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:4146 c-family/c-attribs.cc:6010
+#: c-family/c-attribs.cc:4285 c-family/c-attribs.cc:6239
 #, gcc-internal-format
 msgid "cannot set %qE attribute after definition"
 msgstr ""
 
-#: c-family/c-attribs.cc:4213
+#: c-family/c-attribs.cc:4336
+#, gcc-internal-format
+msgid ""
+"%qE attribute on function type without pointer arguments returning %<void%>"
+msgstr ""
+
+#: c-family/c-attribs.cc:4399
 #, gcc-internal-format
 msgid "%qE attribute duplicated"
 msgstr ""
 
-#: c-family/c-attribs.cc:4215
+#: c-family/c-attribs.cc:4401
 #, gcc-internal-format
 msgid "%qE attribute follows %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4314
+#: c-family/c-attribs.cc:4500
 #, gcc-internal-format
 msgid "type was previously declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4327 cp/class.cc:5054
+#: c-family/c-attribs.cc:4513 cp/class.cc:5083
 #, gcc-internal-format
 msgid ""
 "%<transaction_safe_dynamic%> may only be specified for a virtual function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4385
+#: c-family/c-attribs.cc:4571
 #, gcc-internal-format
 msgid "%qE argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:4396
+#: c-family/c-attribs.cc:4582
 #, gcc-internal-format
 msgid "%qD is not compatible with %qD"
 msgstr ""
 
-#: c-family/c-attribs.cc:4399
+#: c-family/c-attribs.cc:4585
 #, gcc-internal-format
 msgid "%qE argument is not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4447 cp/name-lookup.cc:6464
+#: c-family/c-attribs.cc:4633 cp/name-lookup.cc:6572
 #, gcc-internal-format
 msgid "deprecated message is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4496 c-family/c-attribs.cc:4561
+#: c-family/c-attribs.cc:4682 c-family/c-attribs.cc:4747
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4520
+#: c-family/c-attribs.cc:4706
 #, gcc-internal-format
 msgid "the message attached to %<unavailable%> is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4622 c-family/c-attribs.cc:4624
+#: c-family/c-attribs.cc:4808 c-family/c-attribs.cc:4810
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4659 c-family/c-attribs.cc:4663
+#: c-family/c-attribs.cc:4845 c-family/c-attribs.cc:4849
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE is negative"
 msgstr ""
 
-#: c-family/c-attribs.cc:4676 c-family/c-attribs.cc:4680
+#: c-family/c-attribs.cc:4862 c-family/c-attribs.cc:4866
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE exceeds %wu"
 msgstr ""
 
-#: c-family/c-attribs.cc:4688 ada/gcc-interface/utils.cc:4300
+#: c-family/c-attribs.cc:4874 ada/gcc-interface/utils.cc:4436
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4694 ada/gcc-interface/utils.cc:4307
+#: c-family/c-attribs.cc:4880 ada/gcc-interface/utils.cc:4443
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4703 c-family/c-attribs.cc:4706
+#: c-family/c-attribs.cc:4889 c-family/c-attribs.cc:4892
 #, gcc-internal-format
 msgid "number of vector components %wu not a power of two"
 msgstr ""
 
-#: c-family/c-attribs.cc:4713 c-family/c-attribs.cc:4717
+#: c-family/c-attribs.cc:4899 c-family/c-attribs.cc:4903
 #, gcc-internal-format
 msgid "number of vector components %wu exceeds %d"
 msgstr ""
 
-#: c-family/c-attribs.cc:4777
+#: c-family/c-attribs.cc:4963
 #, gcc-internal-format
 msgid "%qE attribute only supported on non-mask vector types"
 msgstr ""
 
-#: c-family/c-attribs.cc:4810 c-family/c-attribs.cc:4850
+#: c-family/c-attribs.cc:4996 c-family/c-attribs.cc:5059
 #, gcc-internal-format
 msgid "%qE attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:4905
+#: c-family/c-attribs.cc:5081
+#, gcc-internal-format
+msgid "%qE attribute ignored on non-enum"
+msgstr ""
+
+#: c-family/c-attribs.cc:5130
 #, gcc-internal-format
 msgid "%qE attribute ignored on objects of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:4913
+#: c-family/c-attribs.cc:5138
 #, gcc-internal-format
 msgid "%qE attribute does not apply to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:5051
+#: c-family/c-attribs.cc:5276
 #, gcc-internal-format
 msgid "attribute %qs mismatch with mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:5100
+#: c-family/c-attribs.cc:5325
 #, gcc-internal-format
 msgid ""
 "attribute %qs missing positional argument 2 provided in previous designation "
 "by argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5106
+#: c-family/c-attribs.cc:5331
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 missing in previous designation"
 msgstr ""
 
-#: c-family/c-attribs.cc:5112
+#: c-family/c-attribs.cc:5337
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 conflicts with previous designation by "
 "argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5120
+#: c-family/c-attribs.cc:5345
 #, gcc-internal-format
 msgid "attribute %qs mismatched positional argument values %i and %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5142
+#: c-family/c-attribs.cc:5367
 #, gcc-internal-format, gfc-internal-format
 msgid "designating the bound of variable length array argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5225
+#: c-family/c-attribs.cc:5450
 #, gcc-internal-format
 msgid "attribute %qE without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:5275
+#: c-family/c-attribs.cc:5500
 #, gcc-internal-format
 msgid "attribute %qE invalid mode"
 msgstr ""
 
-#: c-family/c-attribs.cc:5284
+#: c-family/c-attribs.cc:5509
 #, 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:5311
+#: c-family/c-attribs.cc:5536
 #, gcc-internal-format
 msgid "attribute %qE invalid mode %qs; expected one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:5322
+#: c-family/c-attribs.cc:5547
 #, gcc-internal-format
 msgid ""
 "attribute %qE unexpected %<(%> after mode %qs; expected a positional "
@@ -36312,1405 +36659,1412 @@ 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:5335
+#: c-family/c-attribs.cc:5560
 #, gcc-internal-format
 msgid "attribute %<%E(%s)%> missing an argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:5376
+#: c-family/c-attribs.cc:5601
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5379
+#: c-family/c-attribs.cc:5604
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5404
+#: c-family/c-attribs.cc:5629
 #, gcc-internal-format
 msgid "attribute %qs positional argument %i invalid value %wi"
 msgstr ""
 
-#: c-family/c-attribs.cc:5408
+#: c-family/c-attribs.cc:5633
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument %i value %wi exceeds number of function "
 "arguments %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5415
+#: c-family/c-attribs.cc:5640
 #, 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:5423
+#: c-family/c-attribs.cc:5648
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references non-pointer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5434
+#: c-family/c-attribs.cc:5659
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references argument of function type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5447
+#: c-family/c-attribs.cc:5672
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references %qs-qualified argument type "
 "%qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5465
+#: c-family/c-attribs.cc:5690
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 references non-integer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5735
+#: c-family/c-attribs.cc:5960
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:5742
+#: c-family/c-attribs.cc:5967
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:5779
+#: c-family/c-attribs.cc:6004
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr ""
 
-#: c-family/c-attribs.cc:5787
+#: c-family/c-attribs.cc:6012
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:5803 ada/gcc-interface/utils.cc:6694
+#: c-family/c-attribs.cc:6028 ada/gcc-interface/utils.cc:6833
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5811 ada/gcc-interface/utils.cc:6701
+#: c-family/c-attribs.cc:6036 ada/gcc-interface/utils.cc:6840
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
 
-#: c-family/c-attribs.cc:5860 ada/gcc-interface/utils.cc:7166
-#: d/d-attribs.cc:771 jit/dummy-frontend.cc:784
+#: c-family/c-attribs.cc:6085 ada/gcc-interface/utils.cc:7329
+#: d/d-attribs.cc:771 jit/dummy-frontend.cc:799
 #, gcc-internal-format
 msgid "empty string in attribute %<target%>"
 msgstr ""
 
 #. The argument must be a constant string.
-#: c-family/c-attribs.cc:5901 config/sh/sh.cc:8549 d/d-attribs.cc:1038
+#: c-family/c-attribs.cc:6126 config/sh/sh.cc:8562 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:6056 ada/gcc-interface/utils.cc:7300
+#: c-family/c-attribs.cc:6285 ada/gcc-interface/utils.cc:7463
 #, gcc-internal-format
 msgid "unrecognized %qE attribute argument %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:6074
+#: c-family/c-attribs.cc:6303
 #, gcc-internal-format
 msgid "%qE attribute on a function not returning a pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:6089
+#: c-family/c-attribs.cc:6318
 #, gcc-internal-format
 msgid "%qE attribute is only valid on %<struct%> type"
 msgstr ""
 
-#: c-family/c-attribs.cc:6137
+#: c-family/c-attribs.cc:6366
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:6146
+#: c-family/c-attribs.cc:6375
 #, gcc-internal-format
 msgid "%qE attribute argument %qE exceeds %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:6168
+#: c-family/c-attribs.cc:6397
 #, gcc-internal-format
 msgid "%qE attribute may be put on a typedef only; attribute is ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:6180
+#: c-family/c-attribs.cc:6409
 #, gcc-internal-format
 msgid "%qE attribute is for pointer types only"
 msgstr ""
 
-#: c-family/c-attribs.cc:6199
+#: c-family/c-attribs.cc:6428
 #, gcc-internal-format
 msgid ""
 "%qE is only applicable to Objective-C class interfaces, attribute ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:6222
+#: c-family/c-attribs.cc:6451
 #, gcc-internal-format
 msgid "%qE cannot be applied to non-pointer type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:6247
+#: c-family/c-attribs.cc:6476
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not recognized"
 msgstr ""
 
-#: c-family/c-attribs.cc:6262
+#: c-family/c-attribs.cc:6491
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored; valid only for functions and function pointer fields"
 msgstr ""
 
-#: c-family/c-attribs.cc:6273
+#: c-family/c-attribs.cc:6502
 #, gcc-internal-format
 msgid "%qE attribute ignored; field must be a function pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:6297
+#: c-family/c-attribs.cc:6526
 #, gcc-internal-format
 msgid "unknown attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:6324
+#: c-family/c-attribs.cc:6553
 #, gcc-internal-format
 msgid "invalid operand type %qT for %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:6428
+#: c-family/c-attribs.cc:6657
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qT in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6430
+#: c-family/c-attribs.cc:6659
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qE in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6607
+#: c-family/c-attribs.cc:6836
 #, gcc-internal-format
 msgid "%qs attribute not supported in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-common.cc:787
+#: c-family/c-common.cc:802
 #, gcc-internal-format
 msgid "%qD is not defined outside of function scope"
 msgstr ""
 
-#: c-family/c-common.cc:832
+#: c-family/c-common.cc:847
 #, gcc-internal-format
 msgid "size of string literal is too large"
 msgstr ""
 
-#: c-family/c-common.cc:855
+#: c-family/c-common.cc:870
 #, 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:1030
+#: c-family/c-common.cc:1045
 #, 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:1071
+#: c-family/c-common.cc:1086
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> last argument must be an integer vector"
 msgstr ""
 
-#: c-family/c-common.cc:1080
+#: c-family/c-common.cc:1095
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1087
+#: c-family/c-common.cc:1102
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> argument vectors must be of the same type"
 msgstr ""
 
-#: c-family/c-common.cc:1098
+#: c-family/c-common.cc:1113
 #, 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:1108
+#: c-family/c-common.cc:1123
 #, 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:1159
+#: c-family/c-common.cc:1174
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1170
+#: c-family/c-common.cc:1185
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be constant size vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1179
+#: c-family/c-common.cc:1194
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> argument vectors must have the same element type"
 msgstr ""
 
-#: c-family/c-common.cc:1187
+#: c-family/c-common.cc:1202
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> must specify a result with a power of two number "
 "of elements"
 msgstr ""
 
-#: c-family/c-common.cc:1212 c-family/c-common.cc:1222
+#: c-family/c-common.cc:1227 c-family/c-common.cc:1237
 #, gcc-internal-format
 msgid "invalid element index %qE to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: c-family/c-common.cc:1300
+#: c-family/c-common.cc:1315
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> first argument must be an integer or floating "
 "vector"
 msgstr ""
 
-#: c-family/c-common.cc:1309
+#: c-family/c-common.cc:1324
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> second argument must be an integer or floating "
 "vector type"
 msgstr ""
 
-#: c-family/c-common.cc:1318
+#: c-family/c-common.cc:1333
 #, 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:1958
+#: c-family/c-common.cc:1973
 #, gcc-internal-format
 msgid "operation on %qE may be undefined"
 msgstr ""
 
-#: c-family/c-common.cc:2315
+#: c-family/c-common.cc:2330
 #, gcc-internal-format
 msgid "case label does not reduce to an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:2411
+#: c-family/c-common.cc:2426
 #, 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:2961
-#, gcc-internal-format
-msgid "invalid operands to binary %s (have %qT and %qT)"
+#: c-family/c-common.cc:2978
+msgid "invalid operands to binary %s (have %e and %e)"
 msgstr ""
 
-#: c-family/c-common.cc:3210
+#: c-family/c-common.cc:3227
 #, gcc-internal-format
 msgid "comparison is always false due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3213
+#: c-family/c-common.cc:3230
 #, gcc-internal-format
 msgid "comparison is always true due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3315
+#: c-family/c-common.cc:3332
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<>= 0%> is always true"
 msgstr ""
 
-#: c-family/c-common.cc:3323
+#: c-family/c-common.cc:3340
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<< 0%> is always false"
 msgstr ""
 
-#: c-family/c-common.cc:3367
+#: c-family/c-common.cc:3384
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3376
+#: c-family/c-common.cc:3393
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3593
+#: c-family/c-common.cc:3610
 #, gcc-internal-format
 msgid "enum constant in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3623 d/d-convert.cc:149
+#: c-family/c-common.cc:3640 d/d-convert.cc:149
 #, gcc-internal-format
 msgid "the address of %qD will always evaluate as %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3668
+#: c-family/c-common.cc:3685
 #, gcc-internal-format
 msgid "%<*%> in boolean context, suggest %<&&%> instead"
 msgstr ""
 
-#: c-family/c-common.cc:3681
+#: c-family/c-common.cc:3698
 #, gcc-internal-format
 msgid "%<<<%> in boolean context, did you mean %<<%>?"
 msgstr ""
 
-#: c-family/c-common.cc:3697
+#: c-family/c-common.cc:3714
 #, gcc-internal-format
 msgid ""
 "%<?:%> using integer constants in boolean context, the expression will "
 "always evaluate to %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3706
+#: c-family/c-common.cc:3723
 #, gcc-internal-format
 msgid "%<?:%> using integer constants in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3742
+#: c-family/c-common.cc:3759
 #, gcc-internal-format
 msgid ""
 "the compiler can assume that the address of %qD will always evaluate to "
 "%<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3778 cp/semantics.cc:949
+#: c-family/c-common.cc:3795 cp/semantics.cc:1030
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr ""
 
-#: c-family/c-common.cc:3865 c/c-decl.cc:4966 c/c-decl.cc:7657
-#: c/c-parser.cc:3739 c/c-typeck.cc:16506
+#: c-family/c-common.cc:3882 c/c-decl.cc:5024 c/c-decl.cc:7690
+#: c/c-parser.cc:3974 c/c-typeck.cc:17823
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr ""
 
-#: c-family/c-common.cc:3941
+#: c-family/c-common.cc:3958
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3951
+#: c-family/c-common.cc:3968
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3954
+#: c-family/c-common.cc:3971
 #, gcc-internal-format
 msgid "ISO C does not permit %<_Alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3965 cp/typeck.cc:2057
+#: c-family/c-common.cc:3982 cp/typeck.cc:2085
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr ""
 
-#: c-family/c-common.cc:3974
+#: c-family/c-common.cc:3993
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT"
 msgstr ""
 
-#: c-family/c-common.cc:3982
+#: c-family/c-common.cc:4001
 #, gcc-internal-format
 msgid "invalid application of %qs to array type %qT of incomplete element type"
 msgstr ""
 
-#: c-family/c-common.cc:4034
+#: c-family/c-common.cc:4053
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr ""
 
-#: c-family/c-common.cc:4858
+#: c-family/c-common.cc:4878
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr ""
 
-#: c-family/c-common.cc:4978
+#: c-family/c-common.cc:4998
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr ""
 
-#: c-family/c-common.cc:5170
+#: c-family/c-common.cc:5190
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr ""
 
-#: c-family/c-common.cc:5177
+#: c-family/c-common.cc:5199
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5205
+#: c-family/c-common.cc:5204 c-family/c-common.cc:5208
+#: c-family/c-common.cc:5213
+#, gcc-internal-format
+msgid ""
+"ISO C does not support range expressions in switch statements before C2Y"
+msgstr ""
+
+#: c-family/c-common.cc:5227 c-family/c-common.cc:5244
+#, gcc-internal-format
+msgid "conversion of %qE to %qT in range expression changes value to %qE"
+msgstr ""
+
+#: c-family/c-common.cc:5263
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr ""
 
-#: c-family/c-common.cc:5257
+#: c-family/c-common.cc:5317
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr ""
 
-#: c-family/c-common.cc:5259
+#: c-family/c-common.cc:5319
 #, gcc-internal-format
 msgid "this is the first entry overlapping that value"
 msgstr ""
 
-#: c-family/c-common.cc:5263
+#: c-family/c-common.cc:5323
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr ""
 
-#: c-family/c-common.cc:5264 c-family/c-warn.cc:2651
+#: c-family/c-common.cc:5324 c-family/c-warn.cc:2662
 #, gcc-internal-format
 msgid "previously used here"
 msgstr ""
 
-#: c-family/c-common.cc:5268
+#: c-family/c-common.cc:5328
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr ""
 
-#: c-family/c-common.cc:5270
+#: c-family/c-common.cc:5330
 #, gcc-internal-format
 msgid "this is the first default label"
 msgstr ""
 
-#: c-family/c-common.cc:5382
+#: c-family/c-common.cc:5442
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5567
+#: c-family/c-common.cc:5627
 #, gcc-internal-format
 msgid "requested alignment is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:5575 c-family/c-common.cc:5585
+#: c-family/c-common.cc:5635 c-family/c-common.cc:5645
 #, gcc-internal-format
 msgid "requested alignment %qE is not a positive power of 2"
 msgstr ""
 
-#: c-family/c-common.cc:5595
+#: c-family/c-common.cc:5655
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds object file maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5603
+#: c-family/c-common.cc:5663
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5778
+#: c-family/c-common.cc:5858
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr ""
 
-#: c-family/c-common.cc:5793
+#: c-family/c-common.cc:5873
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr ""
 
-#: c-family/c-common.cc:6020 c-family/c-common.cc:6070 d/d-attribs.cc:837
+#: c-family/c-common.cc:6112 c-family/c-common.cc:6165 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:6023 c-family/c-common.cc:6074
+#: c-family/c-common.cc:6116 c-family/c-common.cc:6170
 #, gcc-internal-format
 msgid "bad option %qs to pragma %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:6122
+#: c-family/c-common.cc:6219
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> specified multiple times"
 msgstr ""
 
-#: c-family/c-common.cc:6126
+#: c-family/c-common.cc:6223
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute specified with a parameter"
 msgstr ""
 
-#: c-family/c-common.cc:6307 c-family/c-common.cc:7229
-#: c-family/c-common.cc:7276 c-family/c-common.cc:7355
-#: c-family/c-common.cc:7438 c-family/c-common.cc:8081
-#: config/aarch64/aarch64-sve-builtins.cc:3026
-#: config/arm/arm-mve-builtins.cc:1570 c/c-typeck.cc:3920
+#: c-family/c-common.cc:6409 c-family/c-common.cc:7427
+#: c-family/c-common.cc:7475 c-family/c-common.cc:7557
+#: c-family/c-common.cc:7643 c-family/c-common.cc:8312
+#: config/aarch64/aarch64-sve-builtins.cc:3014
+#: config/arm/arm-mve-builtins.cc:1714
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6312 c-family/c-common.cc:7282
-#: c-family/c-common.cc:7464 c-family/c-common.cc:8083
-#: config/aarch64/aarch64-sve-builtins.cc:3028
-#: config/arm/arm-mve-builtins.cc:1572 c/c-typeck.cc:3779
+#: c-family/c-common.cc:6415 c-family/c-common.cc:7482
+#: c-family/c-common.cc:7670 c-family/c-common.cc:8314
+#: config/aarch64/aarch64-sve-builtins.cc:3016
+#: config/arm/arm-mve-builtins.cc:1716
 #, gcc-internal-format
 msgid "too many arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6354
+#: c-family/c-common.cc:6459
 #, gcc-internal-format
 msgid "third argument to function %qE must be a constant integer"
 msgstr ""
 
-#: c-family/c-common.cc:6379
+#: c-family/c-common.cc:6485
 #, 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:6401 c-family/c-common.cc:6448
+#: c-family/c-common.cc:6509 c-family/c-common.cc:6565
 #, gcc-internal-format
 msgid "non-floating-point argument in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6427
+#: c-family/c-common.cc:6538
 #, gcc-internal-format
 msgid "non-floating-point arguments in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6441
+#: c-family/c-common.cc:6555
 #, gcc-internal-format
 msgid "non-const integer argument %u in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6463
+#: c-family/c-common.cc:6584
 #, gcc-internal-format
 msgid "non-integer argument 3 in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6480 c-family/c-common.cc:6530
-#: c-family/c-common.cc:6595 c-family/c-common.cc:6615
+#: c-family/c-common.cc:6604 c-family/c-common.cc:6670
+#: c-family/c-common.cc:6754 c-family/c-common.cc:6781
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6487
+#: c-family/c-common.cc:6614
 #, gcc-internal-format
 msgid ""
 "argument 3 in call to function %qE does not have pointer to integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6493
+#: c-family/c-common.cc:6623
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6499
+#: c-family/c-common.cc:6632
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6505 c-family/c-common.cc:6512
-#: c-family/c-common.cc:6567 c-family/c-common.cc:6574
+#: c-family/c-common.cc:6641 c-family/c-common.cc:6650
+#: c-family/c-common.cc:6722 c-family/c-common.cc:6731
 #, gcc-internal-format
 msgid "argument %u in call to function %qE has pointer to %qs type (%qT)"
 msgstr ""
 
-#: c-family/c-common.cc:6536 c-family/c-common.cc:6621
+#: c-family/c-common.cc:6679 c-family/c-common.cc:6790
 #, gcc-internal-format
 msgid "argument %u in call to function %qE has enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6542 c-family/c-common.cc:6627
+#: c-family/c-common.cc:6688 c-family/c-common.cc:6799
 #, gcc-internal-format
 msgid "argument %u in call to function %qE has boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6555
+#: c-family/c-common.cc:6704
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:6561
+#: c-family/c-common.cc:6713
 #, gcc-internal-format
 msgid "argument %u in call to function %qE points to incomplete type"
 msgstr ""
 
-#: c-family/c-common.cc:6605
+#: c-family/c-common.cc:6767
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have %<int%> type"
 msgstr ""
 
-#: c-family/c-common.cc:6636
+#: c-family/c-common.cc:6811
 #, gcc-internal-format
 msgid "argument 1 in call to function %qE has unsigned type"
 msgstr ""
 
-#: c-family/c-common.cc:6643
+#: c-family/c-common.cc:6821
 #, gcc-internal-format
 msgid "argument 1 in call to function %qE has signed type"
 msgstr ""
 
-#: c-family/c-common.cc:6906 rust/backend/rust-tree.cc:3601
+#: c-family/c-common.cc:7086 rust/backend/rust-tree.cc:3588
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to static data member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6911 rust/backend/rust-tree.cc:3606
+#: c-family/c-common.cc:7091 rust/backend/rust-tree.cc:3593
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
 msgstr ""
 
-#: c-family/c-common.cc:6918 rust/backend/rust-tree.cc:3613
+#: c-family/c-common.cc:7098 rust/backend/rust-tree.cc:3600
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to a non constant address"
 msgstr ""
 
-#: c-family/c-common.cc:6931 rust/backend/rust-tree.cc:3626
+#: c-family/c-common.cc:7111 rust/backend/rust-tree.cc:3613
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6984 rust/backend/rust-tree.cc:3678
+#: c-family/c-common.cc:7164 rust/backend/rust-tree.cc:3665
 #, gcc-internal-format
 msgid "index %E denotes an offset greater than size of %qT"
 msgstr ""
 
-#: c-family/c-common.cc:7145
+#: c-family/c-common.cc:7341
 #, gcc-internal-format
 msgid "size of array is too large"
 msgstr ""
 
-#: c-family/c-common.cc:7259 c-family/c-common.cc:7397
+#: c-family/c-common.cc:7457 c-family/c-common.cc:7601
 #, gcc-internal-format
 msgid "operand type %qT is incompatible with argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7293
+#: c-family/c-common.cc:7493
 #, gcc-internal-format
 msgid "expecting argument of type pointer or of type integer for argument 1"
 msgstr ""
 
-#: c-family/c-common.cc:7309
+#: c-family/c-common.cc:7510
 #, gcc-internal-format
 msgid "both arguments must be compatible"
 msgstr ""
 
-#: c-family/c-common.cc:7539
+#: c-family/c-common.cc:7746
 #, gcc-internal-format
 msgid "incorrect number of arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7553
+#: c-family/c-common.cc:7762
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a non-void pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7560
+#: c-family/c-common.cc:7770
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a complete type"
 msgstr ""
 
-#: c-family/c-common.cc:7569
+#: c-family/c-common.cc:7780
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7580
+#: c-family/c-common.cc:7792
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a nonzero size object"
 msgstr ""
 
-#: c-family/c-common.cc:7601
+#: c-family/c-common.cc:7814
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7609
+#: c-family/c-common.cc:7824
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7615
+#: c-family/c-common.cc:7833
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a function"
 msgstr ""
 
-#: c-family/c-common.cc:7623
+#: c-family/c-common.cc:7843
 #, gcc-internal-format
 msgid "size mismatch in argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7636
+#: c-family/c-common.cc:7858
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<const%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7641
+#: c-family/c-common.cc:7864
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<const%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7650
+#: c-family/c-common.cc:7875
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<volatile%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7655
+#: c-family/c-common.cc:7881
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<volatile%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7668
+#: c-family/c-common.cc:7895
 #, gcc-internal-format
 msgid "non-integer memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7681
+#: c-family/c-common.cc:7910
 #, gcc-internal-format
 msgid "invalid memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8315
+#: c-family/c-common.cc:8551
 #, 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:8969
+#: c-family/c-common.cc:9249
 #, gcc-internal-format
 msgid "index value is out of bound"
 msgstr ""
 
-#: c-family/c-common.cc:9011 c-family/c-common.cc:9060
-#: c-family/c-common.cc:9076
+#: c-family/c-common.cc:9295 c-family/c-common.cc:9344
+#: c-family/c-common.cc:9360
 #, 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:9164 d/intrinsics.cc:1459
-#: rust/backend/rust-tree.cc:3497
+#: c-family/c-common.cc:9448 d/intrinsics.cc:1459
+#: rust/backend/rust-tree.cc:3484
 #, gcc-internal-format
 msgid "built-in function %qE must be directly called"
 msgstr ""
 
-#: c-family/c-common.cc:9184
+#: c-family/c-common.cc:9468
 #, gcc-internal-format
 msgid "size of array %qE is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:9187
+#: c-family/c-common.cc:9471
 #, gcc-internal-format
 msgid "size of array is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:9191
+#: c-family/c-common.cc:9475
 #, gcc-internal-format
 msgid "size %qE of array %qE is negative"
 msgstr ""
 
-#: c-family/c-common.cc:9194
+#: c-family/c-common.cc:9478
 #, gcc-internal-format
 msgid "size %qE of array is negative"
 msgstr ""
 
-#: c-family/c-common.cc:9199
+#: c-family/c-common.cc:9483
 #, gcc-internal-format
 msgid "size %qE of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:9202
+#: c-family/c-common.cc:9486
 #, gcc-internal-format
 msgid "size %qE of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:9207
+#: c-family/c-common.cc:9491
 #, gcc-internal-format
 msgid "size of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:9210
+#: c-family/c-common.cc:9494
 #, gcc-internal-format
 msgid "size of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:9281
+#: c-family/c-common.cc:9565
 #, gcc-internal-format
 msgid ""
 "environment variable %qs must expand to a non-negative integer less than or "
 "equal to %wd"
 msgstr ""
 
-#: c-family/c-format.cc:197
+#: c-family/c-common.cc:9852
+#, gcc-internal-format
+msgid "possible fix: take the address with %qs"
+msgstr ""
+
+#: c-family/c-common.cc:9862
+#, gcc-internal-format
+msgid "possible fix: dereference with %qs"
+msgstr ""
+
+#: c-family/c-format.cc:199
 #, gcc-internal-format
 msgid "function does not return string type"
 msgstr ""
 
-#: c-family/c-format.cc:231
+#: c-family/c-format.cc:233
 #, gcc-internal-format
 msgid "format string argument is not a string type"
 msgstr ""
 
-#: c-family/c-format.cc:257
+#: c-family/c-format.cc:259
 #, gcc-internal-format
 msgid "found a %qs reference but the format argument should be a string"
 msgstr ""
 
-#: c-family/c-format.cc:260
+#: c-family/c-format.cc:262
 #, gcc-internal-format
 msgid "found a %qT but the format argument should be a string"
 msgstr ""
 
-#: c-family/c-format.cc:270
+#: c-family/c-format.cc:272
 #, gcc-internal-format
 msgid "format argument should be a %qs reference but a string was found"
 msgstr ""
 
-#: c-family/c-format.cc:292
+#: c-family/c-format.cc:294
 #, gcc-internal-format
 msgid "format argument should be a %qs reference"
 msgstr ""
 
-#: c-family/c-format.cc:346
+#: c-family/c-format.cc:348
 #, gcc-internal-format
 msgid "unrecognized format specifier"
 msgstr ""
 
-#: c-family/c-format.cc:359
+#: c-family/c-format.cc:361
 #, gcc-internal-format
 msgid "%qE is only allowed in Objective-C dialects"
 msgstr ""
 
-#: c-family/c-format.cc:368
+#: c-family/c-format.cc:370
 #, gcc-internal-format
 msgid "%qE is an unrecognized format function type"
 msgstr ""
 
-#: c-family/c-format.cc:386
+#: c-family/c-format.cc:388
 #, gcc-internal-format
 msgid "format string argument follows the arguments to be formatted"
 msgstr ""
 
-#: c-family/c-format.cc:1274
+#: c-family/c-format.cc:1313
 #, gcc-internal-format
 msgid "function %qD might be a candidate for %qs format attribute"
 msgstr ""
 
-#: c-family/c-format.cc:1365 c-family/c-format.cc:1386
-#: c-family/c-format.cc:2821
+#: c-family/c-format.cc:1404 c-family/c-format.cc:1425
+#: c-family/c-format.cc:2853
 #, gcc-internal-format
 msgid "missing $ operand number in format"
 msgstr ""
 
-#: c-family/c-format.cc:1395
+#: c-family/c-format.cc:1434
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %%n$ operand number formats"
 msgstr ""
 
-#: c-family/c-format.cc:1402
+#: c-family/c-format.cc:1441
 #, gcc-internal-format
 msgid "operand number out of range in format"
 msgstr ""
 
-#: c-family/c-format.cc:1425
+#: c-family/c-format.cc:1464
 #, gcc-internal-format, gfc-internal-format
 msgid "format argument %d used more than once in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:1458
+#: c-family/c-format.cc:1497
 #, gcc-internal-format
 msgid "%<$%>operand number used after format without operand number"
 msgstr ""
 
-#: c-family/c-format.cc:1489
+#: c-family/c-format.cc:1528
 #, gcc-internal-format
 msgid "format argument %d unused before used argument %d in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1592
+#: c-family/c-format.cc:1618
 #, gcc-internal-format
 msgid "format not a string literal, format string not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1607 c-family/c-format.cc:1610
+#: c-family/c-format.cc:1633 c-family/c-format.cc:1636
 #, gcc-internal-format
 msgid "format not a string literal and no format arguments"
 msgstr ""
 
-#: c-family/c-format.cc:1613
+#: c-family/c-format.cc:1639
 #, gcc-internal-format
 msgid "format not a string literal, argument types not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1630
+#: c-family/c-format.cc:1656
 #, gcc-internal-format
 msgid "too many arguments for format"
 msgstr ""
 
-#: c-family/c-format.cc:1635
+#: c-family/c-format.cc:1661
 #, gcc-internal-format
 msgid "unused arguments in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1638
+#: c-family/c-format.cc:1664
 #, gcc-internal-format, gfc-internal-format
 msgid "zero-length %s format string"
 msgstr ""
 
-#: c-family/c-format.cc:1642
+#: c-family/c-format.cc:1668
 #, gcc-internal-format
 msgid "format is a wide character string"
 msgstr ""
 
-#: c-family/c-format.cc:1646
+#: c-family/c-format.cc:1672
 #, gcc-internal-format
 msgid "format string is not an array of type %qs"
 msgstr ""
 
-#: c-family/c-format.cc:1649
+#: c-family/c-format.cc:1675
 #, gcc-internal-format
 msgid "unterminated format string"
 msgstr ""
 
-#: c-family/c-format.cc:2064
+#: c-family/c-format.cc:2094
 #, gcc-internal-format
 msgid "%s used with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2074
+#: c-family/c-format.cc:2104
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %s"
 msgstr ""
 
-#: c-family/c-format.cc:2084
+#: c-family/c-format.cc:2114
 #, gcc-internal-format
 msgid "%s does not support %s with the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2098
+#: c-family/c-format.cc:2128
 #, gcc-internal-format, gfc-internal-format
 msgid "%s used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:2111
+#: c-family/c-format.cc:2141
 #, gcc-internal-format
 msgid "%qc conversion used unquoted"
 msgstr ""
 
-#: c-family/c-format.cc:2229 c-family/c-format.cc:2560
+#: c-family/c-format.cc:2261 c-family/c-format.cc:2592
 #, gcc-internal-format, gfc-internal-format
 msgid "repeated %s in format"
 msgstr ""
 
-#: c-family/c-format.cc:2240
+#: c-family/c-format.cc:2272
 #, gcc-internal-format
 msgid "missing fill character at end of strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:2342
+#: c-family/c-format.cc:2374
 #, gcc-internal-format, gfc-internal-format
 msgid "zero width in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2365
+#: c-family/c-format.cc:2397
 #, gcc-internal-format, gfc-internal-format
 msgid "empty left precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2456
+#: c-family/c-format.cc:2488
 #, gcc-internal-format, gfc-internal-format
 msgid "empty precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2534
+#: c-family/c-format.cc:2566
 #, gcc-internal-format
 msgid "%s does not support the %qs %s length modifier"
 msgstr ""
 
-#: c-family/c-format.cc:2590
+#: c-family/c-format.cc:2622
 #, gcc-internal-format
 msgid "unknown conversion type character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:2602
+#: c-family/c-format.cc:2634
 #, gcc-internal-format
 msgid "%s does not support the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2634
+#: c-family/c-format.cc:2666
 #, gcc-internal-format
 msgid "%s ignored with %s and %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2639
+#: c-family/c-format.cc:2671
 #, gcc-internal-format, gfc-internal-format
 msgid "%s ignored with %s in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2646
+#: c-family/c-format.cc:2678
 #, gcc-internal-format
 msgid "use of %s and %s together with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2651
+#: c-family/c-format.cc:2683
 #, gcc-internal-format, gfc-internal-format
 msgid "use of %s and %s together in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2678
+#: c-family/c-format.cc:2710
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year in some locales"
 msgstr ""
 
-#: c-family/c-format.cc:2682
+#: c-family/c-format.cc:2714
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year"
 msgstr ""
 
-#: c-family/c-format.cc:2709
+#: c-family/c-format.cc:2741
 #, gcc-internal-format
 msgid "no closing %<]%> for %<%%[%> format"
 msgstr ""
 
-#: c-family/c-format.cc:2738
+#: c-family/c-format.cc:2770
 #, 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:2760
+#: c-family/c-format.cc:2792
 #, gcc-internal-format
 msgid "%s does not support the %<%%%s%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2798
+#: c-family/c-format.cc:2830
 #, gcc-internal-format
 msgid "operand number specified with suppressed assignment"
 msgstr ""
 
-#: c-family/c-format.cc:2802
+#: c-family/c-format.cc:2834
 #, gcc-internal-format
 msgid "operand number specified for format taking no argument"
 msgstr ""
 
-#: c-family/c-format.cc:3152
+#: c-family/c-format.cc:3184
 #, gcc-internal-format
 msgid "unquoted type name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3154
+#: c-family/c-format.cc:3186
 #, gcc-internal-format
 msgid "unquoted operator %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3155
+#: c-family/c-format.cc:3187
 #, gcc-internal-format
 msgid "unquoted keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3158
+#: c-family/c-format.cc:3190
 #, gcc-internal-format
 msgid "use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3210
+#: c-family/c-format.cc:3242
 #, gcc-internal-format
 msgid "unquoted attribute in format"
 msgstr ""
 
-#: c-family/c-format.cc:3223
+#: c-family/c-format.cc:3255
 #, gcc-internal-format
 msgid "unquoted name of built-in function %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3237
+#: c-family/c-format.cc:3269
 #, gcc-internal-format
 msgid "unquoted identifier or keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3271
+#: c-family/c-format.cc:3303
 #, gcc-internal-format
 msgid "misspelled term %<%.*s%> in format; use %<%s%s%> instead"
 msgstr ""
 
-#: c-family/c-format.cc:3315
+#: c-family/c-format.cc:3347
 #, gcc-internal-format
 msgid "quoted %qs directive in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3322 c-family/c-format.cc:3593
+#: c-family/c-format.cc:3354 c-family/c-format.cc:3625
 #, gcc-internal-format
 msgid "contraction %<%.*s%> in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3362
+#: c-family/c-format.cc:3394
 #, gcc-internal-format
 msgid "unquoted whitespace character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3375
+#: c-family/c-format.cc:3407
 #, gcc-internal-format
 msgid "spurious trailing space in format"
 msgstr ""
 
-#: c-family/c-format.cc:3396
+#: c-family/c-format.cc:3428
 #, gcc-internal-format
 msgid "inconsistent capitalization in format"
 msgstr ""
 
-#: c-family/c-format.cc:3403
+#: c-family/c-format.cc:3435
 #, gcc-internal-format, gfc-internal-format
 msgid "unquoted sequence of %i consecutive space characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3423
+#: c-family/c-format.cc:3455
 #, gcc-internal-format
 msgid "unquoted control characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3430
+#: c-family/c-format.cc:3462
 #, gcc-internal-format
 msgid "unquoted control character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3488
+#: c-family/c-format.cc:3520
 #, gcc-internal-format
 msgid "unquoted option name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3548
+#: c-family/c-format.cc:3580
 #, gcc-internal-format
 msgid "unbalanced punctuation character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3567
+#: c-family/c-format.cc:3599
 #, gcc-internal-format
 msgid "unquoted preprocessing directive %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3603
+#: c-family/c-format.cc:3635
 #, gcc-internal-format
 msgid "bare apostrophe %<'%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3605
+#: c-family/c-format.cc:3637
 #, 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:3617
+#: c-family/c-format.cc:3649
 #, gcc-internal-format
 msgid "grave accent %<`%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3619
+#: c-family/c-format.cc:3651
 #, gcc-internal-format
 msgid "use the apostrophe directive %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3631
+#: c-family/c-format.cc:3663
 #, gcc-internal-format
 msgid "space followed by punctuation character %<%c%>"
 msgstr ""
 
-#: c-family/c-format.cc:3642
+#: c-family/c-format.cc:3674
 #, gcc-internal-format
 msgid "quoted %qs directive in format"
 msgstr ""
 
-#: c-family/c-format.cc:3644
+#: c-family/c-format.cc:3676
 #, gcc-internal-format
 msgid "if using %qs is not feasible, use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3673
+#: c-family/c-format.cc:3705
 #, gcc-internal-format
 msgid "spurious leading punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3713
+#: c-family/c-format.cc:3745
 #, gcc-internal-format
 msgid "spurious trailing punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3730
+#: c-family/c-format.cc:3762
 #, gcc-internal-format
 msgid ""
 "unquoted sequence of %i consecutive punctuation characters %q.*s in format"
 msgstr ""
 
-#: c-family/c-format.cc:3750
+#: c-family/c-format.cc:3782
 #, gcc-internal-format
 msgid "unquoted non-graph characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3757
+#: c-family/c-format.cc:3789
 #, gcc-internal-format
 msgid "unquoted non-graph character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3789
+#: c-family/c-format.cc:3821
 #, gcc-internal-format
 msgid "unbalanced punctuation character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3796
+#: c-family/c-format.cc:3828
 #, gcc-internal-format
 msgid "unterminated quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3805
+#: c-family/c-format.cc:3837
 #, gcc-internal-format
 msgid "unterminated quote character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3875
+#: c-family/c-format.cc:3908
 #, gcc-internal-format
 msgid "spurious trailing %<%%%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3935
+#: c-family/c-format.cc:3969
 #, gcc-internal-format
 msgid "conversion lacks type at end of format"
 msgstr ""
 
-#: c-family/c-format.cc:3964
+#: c-family/c-format.cc:3998
 #, gcc-internal-format
 msgid "nested quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3975
+#: c-family/c-format.cc:4009
 #, gcc-internal-format
 msgid "unmatched quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3990
+#: c-family/c-format.cc:4024
 #, gcc-internal-format
 msgid "%qc directive redundant after prior occurence of the same"
 msgstr ""
 
-#: c-family/c-format.cc:3996
+#: c-family/c-format.cc:4030
 #, gcc-internal-format
 msgid "unmatched color reset directive"
 msgstr ""
 
-#: c-family/c-format.cc:4008
+#: c-family/c-format.cc:4042
 #, gcc-internal-format
 msgid "%qc conversion used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:4048
+#: c-family/c-format.cc:4082
 #, gcc-internal-format
 msgid "embedded %<\\0%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:4064
+#: c-family/c-format.cc:4098
 #, gcc-internal-format
 msgid "unterminated color directive"
 msgstr ""
 
-#: c-family/c-format.cc:4186
+#: c-family/c-format.cc:4246
 #, gcc-internal-format, gfc-internal-format
 msgid "writing through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4197
+#: c-family/c-format.cc:4257
 #, gcc-internal-format, gfc-internal-format
 msgid "reading through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4217
+#: c-family/c-format.cc:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "writing into constant object (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4229
+#: c-family/c-format.cc:4289
 #, gcc-internal-format, gfc-internal-format
 msgid "extra type qualifiers in format argument (argument %d)"
 msgstr ""
 
-#: 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:4780
-#, gcc-internal-format
-msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument"
-msgstr ""
-
-#: 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"
+#: c-family/c-format.cc:4910
+msgid "%s %e expects argument of type %e, but argument %d has type %e"
 msgstr ""
 
-#: c-family/c-format.cc:4799
-#, gcc-internal-format
-msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument"
+#: c-family/c-format.cc:4917
+msgid "%s %e expects a matching %e argument"
 msgstr ""
 
-#: c-family/c-format.cc:4861 c-family/c-format.cc:4867
-#: c-family/c-format.cc:4921
+#: c-family/c-format.cc:4977 c-family/c-format.cc:4983
+#: c-family/c-format.cc:5037
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:4874 c-family/c-format.cc:4931
+#: c-family/c-format.cc:4990 c-family/c-format.cc:5047
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
 msgstr ""
 
-#: c-family/c-format.cc:4983
+#: c-family/c-format.cc:5099
 #, gcc-internal-format
 msgid "%<locus%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5027
+#: c-family/c-format.cc:5143
 #, gcc-internal-format
 msgid "%qs is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5053
+#: c-family/c-format.cc:5169
 #, gcc-internal-format
 msgid "%<location_t%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5070
+#: c-family/c-format.cc:5186
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5076
+#: c-family/c-format.cc:5192
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a pointer type"
 msgstr ""
 
-#: c-family/c-format.cc:5259
+#: c-family/c-format.cc:5383
 #, gcc-internal-format
 msgid "argument to be formatted is not %<...%>"
 msgstr ""
 
-#: c-family/c-format.cc:5271
+#: c-family/c-format.cc:5395
 #, gcc-internal-format
 msgid "strftime formats cannot format arguments"
 msgstr ""
@@ -37722,19 +38076,12 @@ msgid ""
 "column-tracking was disabled due to the size of the code/headers"
 msgstr ""
 
-#: 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:661
+#: c-family/c-indentation.cc:656
 #, gcc-internal-format
 msgid "this %qs clause does not guard..."
 msgstr ""
 
-#: c-family/c-indentation.cc:664
+#: c-family/c-indentation.cc:659
 #, gcc-internal-format
 msgid ""
 "...this statement, but the latter is misleadingly indented as if it were "
@@ -37752,126 +38099,126 @@ msgid "ignoring %<#pragma %s %s%>"
 msgstr ""
 
 #. ... or not.
-#: c-family/c-lex.cc:683 c-family/c-lex.cc:1622
+#: c-family/c-lex.cc:685 c-family/c-lex.cc:1679
 #, gcc-internal-format
 msgid "stray %<@%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:698
+#: c-family/c-lex.cc:700
 #, gcc-internal-format
 msgid "stray %qs in program"
 msgstr ""
 
-#: c-family/c-lex.cc:708
+#: c-family/c-lex.cc:710
 #, gcc-internal-format, gfc-internal-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: c-family/c-lex.cc:710
+#: c-family/c-lex.cc:712
 #, gcc-internal-format
 msgid "stray %qc in program"
 msgstr ""
 
-#: c-family/c-lex.cc:715
+#: c-family/c-lex.cc:717
 #, gcc-internal-format
 msgid "stray %<\\%o%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:1034
+#: c-family/c-lex.cc:1082
 #, gcc-internal-format
 msgid "integer constant is too large for %<unsigned _BitInt(%d)%> type"
 msgstr ""
 
-#: c-family/c-lex.cc:1037
+#: c-family/c-lex.cc:1085
 #, gcc-internal-format
 msgid "integer constant is too large for %<_BitInt(%d)%> type"
 msgstr ""
 
-#: c-family/c-lex.cc:1045 c/c-decl.cc:12698
+#: c-family/c-lex.cc:1093 c/c-decl.cc:12945
 #, gcc-internal-format
 msgid "%<_BitInt(%d)%> is not supported on this target"
 msgstr ""
 
-#: c-family/c-lex.cc:1097
+#: c-family/c-lex.cc:1145
 #, gcc-internal-format
 msgid "this decimal constant is unsigned only in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:1101
+#: c-family/c-lex.cc:1149
 #, gcc-internal-format
 msgid "this decimal constant would be unsigned in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:1129
+#: c-family/c-lex.cc:1177
 #, gcc-internal-format
 msgid "integer constant is too large for %<unsigned long%> type"
 msgstr ""
 
-#: c-family/c-lex.cc:1169
+#: c-family/c-lex.cc:1217
 #, gcc-internal-format
 msgid "unsuffixed floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:1183
+#: c-family/c-lex.cc:1231
 #, gcc-internal-format
 msgid "decimal floating-point not supported for this target"
 msgstr ""
 
-#: c-family/c-lex.cc:1206 c-family/c-lex.cc:1234 c-family/c-lex.cc:1272
+#: c-family/c-lex.cc:1256 c-family/c-lex.cc:1284 c-family/c-lex.cc:1322
 #, gcc-internal-format
 msgid "unsupported non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:1211 c-family/c-lex.cc:1265 c-family/c-lex.cc:1277
+#: c-family/c-lex.cc:1261 c-family/c-lex.cc:1315 c-family/c-lex.cc:1327
 #, gcc-internal-format
 msgid "non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:1243 c-family/c-lex.cc:1247 c-family/c-lex.cc:1252
+#: c-family/c-lex.cc:1293 c-family/c-lex.cc:1297 c-family/c-lex.cc:1302
 #, gcc-internal-format
 msgid "non-standard suffix on floating constant before C23"
 msgstr ""
 
-#: c-family/c-lex.cc:1259
+#: c-family/c-lex.cc:1309
 #, gcc-internal-format
 msgid ""
 "%<f%d%> or %<F%d%> suffix on floating constant only available with %<-std=c+"
-"+2b%> or %<-std=gnu++2b%>"
+"+23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: c-family/c-lex.cc:1280
+#: c-family/c-lex.cc:1330
 #, gcc-internal-format
 msgid ""
 "%<bf16%> or %<BF16%> suffix on floating constant only available with %<-"
-"std=c++2b%> or %<-std=gnu++2b%>"
+"std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: c-family/c-lex.cc:1360 c-family/c-lex.cc:1363
+#: c-family/c-lex.cc:1417 c-family/c-lex.cc:1420
 #, gcc-internal-format
 msgid "floating constant exceeds range of %qT"
 msgstr ""
 
-#: c-family/c-lex.cc:1378
+#: c-family/c-lex.cc:1435
 #, gcc-internal-format
 msgid "floating constant truncated to zero"
 msgstr ""
 
-#: c-family/c-lex.cc:1579
+#: c-family/c-lex.cc:1636
 #, gcc-internal-format
 msgid "repeated %<@%> before Objective-C string"
 msgstr ""
 
-#: c-family/c-lex.cc:1598 c/c-parser.cc:8926
+#: c-family/c-lex.cc:1655 c/c-parser.cc:9629
 #, gcc-internal-format
 msgid "unsupported non-standard concatenation of string literals"
 msgstr ""
 
-#: c-family/c-lex.cc:1634 c/c-parser.cc:8947
+#: c-family/c-lex.cc:1691 c/c-parser.cc:9650
 #, gcc-internal-format
 msgid "traditional C rejects string constant concatenation"
 msgstr ""
 
-#: c-family/c-omp.cc:131 cp/pt.cc:19182
+#: c-family/c-omp.cc:131 cp/pt.cc:19590
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp critical%> with %<hint%> clause requires a name, except when "
@@ -37904,408 +38251,417 @@ msgstr ""
 msgid "%<#pragma omp atomic capture%> uses two different variables for memory"
 msgstr ""
 
-#: c-family/c-omp.cc:699
+#: c-family/c-omp.cc:719
 #, gcc-internal-format
 msgid "type of %<depobj%> expression is not %<omp_depend_t%>"
 msgstr ""
 
-#: c-family/c-omp.cc:705
+#: c-family/c-omp.cc:725
 #, gcc-internal-format
 msgid "%<const%> qualified %<depobj%> expression"
 msgstr ""
 
-#: c-family/c-omp.cc:730
+#: c-family/c-omp.cc:750
 #, gcc-internal-format
 msgid "more than one locator in %<depend%> clause on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:736
+#: c-family/c-omp.cc:756
 #, gcc-internal-format
 msgid ""
 "%<depobj%> dependence type specified in %<depend%> clause on %<depobj%> "
 "construct"
 msgstr ""
 
-#: c-family/c-omp.cc:752
+#: c-family/c-omp.cc:772
 #, gcc-internal-format
 msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:969 cp/semantics.cc:10921
+#: c-family/c-omp.cc:1002 cp/semantics.cc:11597
 #, gcc-internal-format
 msgid "invalid type for iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:974
+#: c-family/c-omp.cc:1007
 #, gcc-internal-format
 msgid "%<_Atomic%> iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:990
+#: c-family/c-omp.cc:1023
 #, gcc-internal-format
 msgid "%qE is not initialized"
 msgstr ""
 
-#: c-family/c-omp.cc:1011 cp/semantics.cc:10813
+#: c-family/c-omp.cc:1044 cp/semantics.cc:11481
 #, gcc-internal-format
 msgid "missing controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1117 cp/semantics.cc:10409
+#: c-family/c-omp.cc:1150 cp/semantics.cc:11072
 #, gcc-internal-format
 msgid "invalid controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1124 cp/semantics.cc:10819
+#: c-family/c-omp.cc:1157 cp/semantics.cc:11487
 #, gcc-internal-format
 msgid "missing increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1224 c-family/c-omp.cc:1242
+#: c-family/c-omp.cc:1258 c-family/c-omp.cc:1276
 #, gcc-internal-format
 msgid "increment is not constant 1 or -1 for %<!=%> condition"
 msgstr ""
 
-#: c-family/c-omp.cc:1255 cp/semantics.cc:10526
+#: c-family/c-omp.cc:1289 cp/semantics.cc:11189
 #, gcc-internal-format
 msgid "invalid increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1353
+#: c-family/c-omp.cc:1389
 #, gcc-internal-format
 msgid "initializer expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1357
+#: c-family/c-omp.cc:1393
 #, gcc-internal-format
 msgid "condition expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1361
+#: c-family/c-omp.cc:1397
 #, gcc-internal-format
 msgid "increment expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1539
+#: c-family/c-omp.cc:1575
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in initializer expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1543
+#: c-family/c-omp.cc:1579
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in condition expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1550
+#: c-family/c-omp.cc:1586
 #, gcc-internal-format
 msgid "outer iteration variable %qD multiplier expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1556
+#: c-family/c-omp.cc:1592
 #, gcc-internal-format
 msgid "outer iteration variable %qD addend expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1621 c-family/c-omp.cc:1706
+#: c-family/c-omp.cc:1731 c-family/c-omp.cc:1825
 #, gcc-internal-format
 msgid "the same loop iteration variables %qD used in multiple associated loops"
 msgstr ""
 
-#: c-family/c-omp.cc:1656
+#: c-family/c-omp.cc:1766
 #, gcc-internal-format
 msgid ""
 "two different outer iteration variables %qD and %qD used in a single loop"
 msgstr ""
 
-#: c-family/c-omp.cc:1820
+#: c-family/c-omp.cc:1775
+#, gcc-internal-format
+msgid "non-rectangular loops from generated loops unsupported"
+msgstr ""
+
+#: c-family/c-omp.cc:1939
 #, gcc-internal-format
 msgid "variable %qD used as loop variable is bound in intervening code"
 msgstr ""
 
-#: c-family/c-omp.cc:1824
+#: c-family/c-omp.cc:1943
 #, gcc-internal-format
 msgid "variable %qD used in initializer is bound in intervening code"
 msgstr ""
 
-#: c-family/c-omp.cc:1828
+#: c-family/c-omp.cc:1947
 #, gcc-internal-format
 msgid "variable %qD used in end test is bound in intervening code"
 msgstr ""
 
-#: c-family/c-omp.cc:1832
+#: c-family/c-omp.cc:1951
 #, gcc-internal-format
 msgid "variable %qD used in increment expression is bound in intervening code"
 msgstr ""
 
-#: c-family/c-omp.cc:2436
+#: c-family/c-omp.cc:1977
+#, gcc-internal-format
+msgid "imperfectly nested loop using generated loops"
+msgstr ""
+
+#: c-family/c-omp.cc:2561
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct combined with %<simd%> or "
 "%<loop%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2447
+#: c-family/c-omp.cc:2572
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct not combined with "
 "%<parallel%>, %<for%> or %<sections%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2460
+#: c-family/c-omp.cc:2585
 #, 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:2947 c/c-typeck.cc:16318 cp/semantics.cc:9513
+#: c-family/c-omp.cc:3072 c/c-typeck.cc:17606 cp/semantics.cc:10162
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<allocate%> clause but not in an explicit privatization "
 "clause"
 msgstr ""
 
-#: c-family/c-omp.cc:3039 c-family/c-omp.cc:3054
+#: c-family/c-omp.cc:3164 c-family/c-omp.cc:3179 c/c-parser.cc:27043
+#: cp/parser.cc:50495
 #, gcc-internal-format
 msgid "%qD is not a function argument"
 msgstr ""
 
-#: c-family/c-omp.cc:3335 c/c-typeck.cc:15466 cp/semantics.cc:8252
+#: c-family/c-omp.cc:3460 c/c-typeck.cc:16693 cp/semantics.cc:8753
 #, gcc-internal-format
 msgid "bit-field %qE in %qs clause"
 msgstr ""
 
-#: c-family/c-omp.cc:3343
+#: c-family/c-omp.cc:3468
 #, gcc-internal-format
 msgid "%qE does not have a mappable type in %qs clause"
 msgstr ""
 
-#: c-family/c-omp.cc:3351 c/c-typeck.cc:13876 c/c-typeck.cc:15555
-#: c/c-typeck.cc:15743
+#: c-family/c-omp.cc:3476 c/c-typeck.cc:15093 c/c-typeck.cc:16782
+#: c/c-typeck.cc:16970
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %qs clause"
 msgstr ""
 
-#: c-family/c-omp.cc:3376
+#: c-family/c-omp.cc:3501
 #, gcc-internal-format
 msgid "%qE is a member of a union"
 msgstr ""
 
-#: c-family/c-opts.cc:343
+#: c-family/c-opts.cc:348
 #, gcc-internal-format
 msgid "%<-I-%> specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:346
+#: c-family/c-opts.cc:351
 #, gcc-internal-format
 msgid "obsolete option %<-I-%> used, please use %<-iquote%> instead"
 msgstr ""
 
-#: c-family/c-opts.cc:373
+#: c-family/c-opts.cc:378
 #, gcc-internal-format
-msgid "%<-fdeps-format=%> unknown format %<%s%>"
+msgid "%<-fdeps-format=%> unknown format %qs"
 msgstr ""
 
-#: c-family/c-opts.cc:455
+#: c-family/c-opts.cc:460
 #, gcc-internal-format
 msgid "%<-Wabi=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:642 fortran/cpp.cc:370
+#: c-family/c-opts.cc:651 fortran/cpp.cc:374
 #, gcc-internal-format
 msgid "output filename specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:895
+#: c-family/c-opts.cc:783
+#, gcc-internal-format
+msgid "invalid argument %qs to %<-fsearch-include-path%>"
+msgstr ""
+
+#: c-family/c-opts.cc:927
 #, gcc-internal-format
 msgid "%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode"
 msgstr ""
 
-#: c-family/c-opts.cc:941
+#: c-family/c-opts.cc:973
 #, gcc-internal-format
 msgid "%<-Wformat-y2k%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:943
+#: c-family/c-opts.cc:975
 #, gcc-internal-format
 msgid "%<-Wformat-extra-args%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:945
+#: c-family/c-opts.cc:977
 #, gcc-internal-format
 msgid "%<-Wformat-zero-length%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:947
+#: c-family/c-opts.cc:979
 #, gcc-internal-format
 msgid "%<-Wformat-nonliteral%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:949
+#: c-family/c-opts.cc:981
 #, gcc-internal-format
 msgid "%<-Wformat-contains-nul%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:951
+#: c-family/c-opts.cc:983
 #, gcc-internal-format
 msgid "%<-Wformat-security%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1012
+#: c-family/c-opts.cc:1081
 #, gcc-internal-format
 msgid "%<-fabi-compat-version=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:1039
+#: c-family/c-opts.cc:1108
 #, gcc-internal-format
 msgid "%<-Wabi%> won%'t warn about anything"
 msgstr ""
 
-#: c-family/c-opts.cc:1041
+#: c-family/c-opts.cc:1110
 #, 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:1044
+#: c-family/c-opts.cc:1113
 #, gcc-internal-format
 msgid "use e.g. %<-Wabi=11%> to warn about changes from GCC 7"
 msgstr ""
 
-#: c-family/c-opts.cc:1127
+#: c-family/c-opts.cc:1198
 #, gcc-internal-format
 msgid "external TLS initialization functions not supported on this target"
 msgstr ""
 
-#: 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
+#: c-family/c-opts.cc:1226
 #, gcc-internal-format
 msgid "too many filenames given; type %<%s %s%> for usage"
 msgstr ""
 
-#: c-family/c-opts.cc:1172
+#: c-family/c-opts.cc:1240
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1190
+#: c-family/c-opts.cc:1258
 #, gcc-internal-format
 msgid "the %qs debug info cannot be used with pre-compiled headers"
 msgstr ""
 
-#: c-family/c-opts.cc:1356 c-family/c-opts.cc:1377
+#: c-family/c-opts.cc:1424 c-family/c-opts.cc:1445
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1381
+#: c-family/c-opts.cc:1449
 #, gcc-internal-format
 msgid "%<-MF%> and %<-fdeps-file=%> cannot share an output file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1391
+#: c-family/c-opts.cc:1459
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1394
+#: c-family/c-opts.cc:1462
 #, gcc-internal-format
 msgid "when writing output to %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1472
+#: c-family/c-opts.cc:1540
 #, gcc-internal-format
 msgid "to generate dependencies you must specify either %<-M%> or %<-MM%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1496
+#: c-family/c-opts.cc:1564
 #, gcc-internal-format
 msgid "%<-MG%> may only be used with %<-M%> or %<-MM%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1529
+#: c-family/c-opts.cc:1597
 #, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-Wunused-macros%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1532
+#: c-family/c-opts.cc:1600
 #, gcc-internal-format
 msgid "%<-fdirectives-only%> is incompatible with %<-traditional%>"
 msgstr ""
 
-#: c-family/c-opts.cc:1634
+#: c-family/c-opts.cc:1702
 #, gcc-internal-format
 msgid ""
 "%<_FORTIFY_SOURCE%> is not enabled by %<-fhardened%> because optimizations "
 "are turned off"
 msgstr ""
 
-#: c-family/c-opts.cc:1638
+#: c-family/c-opts.cc:1706
 #, 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
+#: c-family/c-opts.cc:1712
 #, 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
+#: c-family/c-opts.cc:1836
 #, gcc-internal-format
 msgid "too late for # directive to set debug directory"
 msgstr ""
 
-#: c-family/c-pch.cc:105
+#: c-family/c-pch.cc:106
 #, gcc-internal-format
 msgid "cannot create precompiled header %s: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:125
+#: c-family/c-pch.cc:126
 #, gcc-internal-format
 msgid "cannot write to %s: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:183
+#: c-family/c-pch.cc:185
 #, gcc-internal-format
 msgid "cannot write %s: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:398
+#: c-family/c-pch.cc:404
 #, gcc-internal-format
 msgid "%<pch_preprocess%> pragma should only be used with %<-fpreprocessed%>"
 msgstr ""
 
-#: c-family/c-pch.cc:400
+#: c-family/c-pch.cc:406
 #, gcc-internal-format
 msgid "use %<#include%> instead"
 msgstr ""
 
-#: c-family/c-pch.cc:406
+#: c-family/c-pch.cc:412
 #, gcc-internal-format
 msgid "%s: couldn%'t open PCH file: %m"
 msgstr ""
 
-#: c-family/c-pch.cc:411
+#: c-family/c-pch.cc:417
 #, gcc-internal-format
 msgid "use %<-Winvalid-pch%> for more information"
 msgstr ""
 
-#: c-family/c-pch.cc:412
+#: c-family/c-pch.cc:418
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: PCH file was invalid"
 msgstr ""
@@ -38610,7 +38966,7 @@ msgstr ""
 msgid "malformed %<#pragma message%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1357 cp/parser.cc:4588 cp/parser.cc:4684
+#: c-family/c-pragma.cc:1357 cp/parser.cc:4770 cp/parser.cc:4866
 #, gcc-internal-format
 msgid "string literal with user-defined suffix is invalid in this context"
 msgstr ""
@@ -38635,7 +38991,7 @@ msgstr ""
 msgid "malformed %<#pragma %s%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1439 cp/lex.cc:637
+#: c-family/c-pragma.cc:1439 cp/lex.cc:636
 #, gcc-internal-format
 msgid "junk at end of %<#pragma %s%>"
 msgstr ""
@@ -38655,958 +39011,965 @@ msgstr ""
 msgid "ISO C does not support %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:344
+#: c-family/c-pretty-print.cc:345
 #, gcc-internal-format
 msgid "<type-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:387
+#: c-family/c-pretty-print.cc:388
 #, gcc-internal-format
 msgid "<unnamed-unsigned:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:391
+#: c-family/c-pretty-print.cc:392
 #, gcc-internal-format
 msgid "<unnamed-float:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:394
+#: c-family/c-pretty-print.cc:395
 #, gcc-internal-format
 msgid "<unnamed-fixed:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:426
+#: c-family/c-pretty-print.cc:427
 #, gcc-internal-format
 msgid "<typedef-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:441
+#: c-family/c-pretty-print.cc:442
 #, gcc-internal-format
 msgid "<tag-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1360
+#: c-family/c-pretty-print.cc:1368
 #, gcc-internal-format
 msgid "<erroneous-expression>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1364 cp/cxx-pretty-print.cc:133
+#: c-family/c-pretty-print.cc:1372 cp/cxx-pretty-print.cc:134
 #, gcc-internal-format
 msgid "<return-value>"
 msgstr ""
 
+#: c-family/c-pretty-print.cc:2862 c-family/c-pretty-print.cc:2882
+#: c-family/c-pretty-print.cc:2897 c-family/c-pretty-print.cc:2914
+#: c-family/c-pretty-print.cc:2945 c-family/c-pretty-print.cc:2959
+#, gcc-internal-format
+msgid "dump flags not handled here"
+msgstr ""
+
 #: c-family/c-semantics.cc:197
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong type argument to %s"
 msgstr ""
 
-#: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3593
-#: cp/constexpr.cc:7364 m2/gm2-gcc/m2expr.cc:964
+#: c-family/c-warn.cc:60 c-family/c-warn.cc:73 cp/constexpr.cc:3625
+#: cp/constexpr.cc:7619 m2/gm2-gcc/m2expr.cc:964
 #: rust/backend/rust-constexpr.cc:1908 rust/backend/rust-constexpr.cc:4331
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
 
-#: c-family/c-warn.cc:99
+#: c-family/c-warn.cc:100
 #, gcc-internal-format
 msgid "integer overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:101
+#: c-family/c-warn.cc:102
 #, gcc-internal-format
 msgid "integer overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:107
+#: c-family/c-warn.cc:108
 #, gcc-internal-format
 msgid "floating point overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:109
+#: c-family/c-warn.cc:110
 #, gcc-internal-format
 msgid "floating point overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:115
+#: c-family/c-warn.cc:116
 #, gcc-internal-format
 msgid "fixed-point overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:117
+#: c-family/c-warn.cc:118
 #, gcc-internal-format
 msgid "fixed-point overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:123
+#: c-family/c-warn.cc:124
 #, gcc-internal-format
 msgid "vector overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:125
+#: c-family/c-warn.cc:126
 #, gcc-internal-format
 msgid "vector overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:132
+#: c-family/c-warn.cc:133
 #, gcc-internal-format
 msgid "complex integer overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:134
+#: c-family/c-warn.cc:135
 #, gcc-internal-format
 msgid "complex integer overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:138
+#: c-family/c-warn.cc:139
 #, gcc-internal-format
 msgid ""
 "complex floating point overflow in expression %qE of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:140
+#: c-family/c-warn.cc:141
 #, gcc-internal-format
 msgid ""
 "complex floating point overflow in expression of type %qT results in %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:232
+#: c-family/c-warn.cc:233
 #, gcc-internal-format
 msgid "logical %<or%> applied to non-boolean constant"
 msgstr ""
 
-#: c-family/c-warn.cc:236
+#: c-family/c-warn.cc:237
 #, gcc-internal-format
 msgid "logical %<and%> applied to non-boolean constant"
 msgstr ""
 
-#: c-family/c-warn.cc:306
+#: c-family/c-warn.cc:307
 #, gcc-internal-format
 msgid "logical %<or%> of collectively exhaustive tests is always true"
 msgstr ""
 
-#: c-family/c-warn.cc:310
+#: c-family/c-warn.cc:311
 #, gcc-internal-format
 msgid "logical %<and%> of mutually exclusive tests is always false"
 msgstr ""
 
-#: c-family/c-warn.cc:320
+#: c-family/c-warn.cc:321
 #, gcc-internal-format
 msgid "logical %<or%> of equal expressions"
 msgstr ""
 
-#: c-family/c-warn.cc:323
+#: c-family/c-warn.cc:324
 #, gcc-internal-format
 msgid "logical %<and%> of equal expressions"
 msgstr ""
 
-#: c-family/c-warn.cc:409
+#: c-family/c-warn.cc:410
 #, gcc-internal-format
 msgid "bitwise comparison always evaluates to false"
 msgstr ""
 
-#: c-family/c-warn.cc:412
+#: c-family/c-warn.cc:413
 #, gcc-internal-format
 msgid "bitwise comparison always evaluates to true"
 msgstr ""
 
-#: c-family/c-warn.cc:517
+#: c-family/c-warn.cc:518
 #, gcc-internal-format
 msgid "self-comparison always evaluates to true"
 msgstr ""
 
-#: c-family/c-warn.cc:520
+#: c-family/c-warn.cc:521
 #, gcc-internal-format
 msgid "self-comparison always evaluates to false"
 msgstr ""
 
-#: c-family/c-warn.cc:571
+#: c-family/c-warn.cc:572
 #, gcc-internal-format
 msgid "logical not is only applied to the left hand side of comparison"
 msgstr ""
 
-#: c-family/c-warn.cc:579
+#: c-family/c-warn.cc:580
 #, gcc-internal-format
 msgid ""
 "add parentheses around left hand side expression to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:722
+#: c-family/c-warn.cc:723
 #, gcc-internal-format
 msgid "type-punning to incomplete type might break strict-aliasing rules"
 msgstr ""
 
-#: c-family/c-warn.cc:740
+#: c-family/c-warn.cc:741
 #, gcc-internal-format
 msgid "dereferencing type-punned pointer will break strict-aliasing rules"
 msgstr ""
 
-#: c-family/c-warn.cc:748 c-family/c-warn.cc:766
+#: c-family/c-warn.cc:749 c-family/c-warn.cc:767
 #, gcc-internal-format
 msgid "dereferencing type-punned pointer might break strict-aliasing rules"
 msgstr ""
 
-#: c-family/c-warn.cc:913
+#: c-family/c-warn.cc:914
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the source; did "
 "you mean to use the size of the destination?"
 msgstr ""
 
-#: c-family/c-warn.cc:944
+#: c-family/c-warn.cc:945
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the "
 "destination; did you mean to remove the addressof?"
 msgstr ""
 
-#: c-family/c-warn.cc:951
+#: c-family/c-warn.cc:953
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the "
 "destination; did you mean to provide an explicit length?"
 msgstr ""
 
-#: c-family/c-warn.cc:956
+#: c-family/c-warn.cc:958
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the "
 "destination; did you mean to dereference it?"
 msgstr ""
 
-#: c-family/c-warn.cc:968
+#: c-family/c-warn.cc:970
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same pointer type %qT as the "
 "destination; expected %qT or an explicit length"
 msgstr ""
 
-#: c-family/c-warn.cc:984
+#: c-family/c-warn.cc:986
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the source; did "
 "you mean to remove the addressof?"
 msgstr ""
 
-#: c-family/c-warn.cc:991
+#: c-family/c-warn.cc:994
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the source; did "
 "you mean to provide an explicit length?"
 msgstr ""
 
-#: c-family/c-warn.cc:996
+#: c-family/c-warn.cc:999
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the source; did "
 "you mean to dereference it?"
 msgstr ""
 
-#: c-family/c-warn.cc:1008
+#: c-family/c-warn.cc:1011
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same pointer type %qT as the "
 "source; expected %qT or an explicit length"
 msgstr ""
 
-#: c-family/c-warn.cc:1024
+#: c-family/c-warn.cc:1027
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the first "
 "source; did you mean to remove the addressof?"
 msgstr ""
 
-#: c-family/c-warn.cc:1031
+#: c-family/c-warn.cc:1035
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the first "
 "source; did you mean to provide an explicit length?"
 msgstr ""
 
-#: c-family/c-warn.cc:1036
+#: c-family/c-warn.cc:1040
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the first "
 "source; did you mean to dereference it?"
 msgstr ""
 
-#: c-family/c-warn.cc:1048
+#: c-family/c-warn.cc:1052
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same pointer type %qT as the first "
 "source; expected %qT or an explicit length"
 msgstr ""
 
-#: c-family/c-warn.cc:1064
+#: c-family/c-warn.cc:1068
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the second "
 "source; did you mean to remove the addressof?"
 msgstr ""
 
-#: c-family/c-warn.cc:1071
+#: c-family/c-warn.cc:1076
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the second "
 "source; did you mean to provide an explicit length?"
 msgstr ""
 
-#: c-family/c-warn.cc:1076
+#: c-family/c-warn.cc:1081
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same expression as the second "
 "source; did you mean to dereference it?"
 msgstr ""
 
-#: c-family/c-warn.cc:1088
+#: c-family/c-warn.cc:1093
 #, gcc-internal-format
 msgid ""
 "argument to %<sizeof%> in %qD call is the same pointer type %qT as the "
 "second source; expected %qT or an explicit length"
 msgstr ""
 
-#: c-family/c-warn.cc:1117 c-family/c-warn.cc:1124
+#: c-family/c-warn.cc:1122 c-family/c-warn.cc:1129
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified parameter type %qT of %q+D"
 msgstr ""
 
-#: c-family/c-warn.cc:1134
+#: c-family/c-warn.cc:1139
 #, gcc-internal-format
 msgid "first argument of %q+D should be %<int%>"
 msgstr ""
 
-#: c-family/c-warn.cc:1143
+#: c-family/c-warn.cc:1148
 #, gcc-internal-format
 msgid "second argument of %q+D should be %<char **%>"
 msgstr ""
 
-#: c-family/c-warn.cc:1152
+#: c-family/c-warn.cc:1157
 #, gcc-internal-format
 msgid "third argument of %q+D should probably be %<char **%>"
 msgstr ""
 
-#: c-family/c-warn.cc:1163
+#: c-family/c-warn.cc:1168
 #, gcc-internal-format
 msgid "%q+D takes only zero or two arguments"
 msgstr ""
 
-#: c-family/c-warn.cc:1167
+#: c-family/c-warn.cc:1172
 #, gcc-internal-format
 msgid "%q+D declared as variadic function"
 msgstr ""
 
-#: c-family/c-warn.cc:1210 m2/gm2-gcc/m2convert.cc:191
+#: c-family/c-warn.cc:1215 m2/gm2-gcc/m2convert.cc:191
 #, gcc-internal-format
 msgid "conversion to %qT from boolean expression"
 msgstr ""
 
-#: c-family/c-warn.cc:1235 c-family/c-warn.cc:1440
+#: c-family/c-warn.cc:1240 c-family/c-warn.cc:1445
 #, 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:1448
+#: c-family/c-warn.cc:1245 c-family/c-warn.cc:1453
 #, gcc-internal-format
 msgid "unsigned conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1248
+#: c-family/c-warn.cc:1253
 #, gcc-internal-format
 msgid "signed conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1253
+#: c-family/c-warn.cc:1258
 #, gcc-internal-format
 msgid "signed conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1260 c-family/c-warn.cc:1438
+#: c-family/c-warn.cc:1265 c-family/c-warn.cc:1443
 #, 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:1446
+#: c-family/c-warn.cc:1269 c-family/c-warn.cc:1451
 #, gcc-internal-format
 msgid "conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1375
+#: c-family/c-warn.cc:1380
 #, gcc-internal-format
 msgid "conversion to %qT from %qT may change the sign of the result"
 msgstr ""
 
-#: c-family/c-warn.cc:1380
+#: c-family/c-warn.cc:1385
 #, gcc-internal-format
 msgid "conversion from %qT to %qT discards imaginary component"
 msgstr ""
 
-#: c-family/c-warn.cc:1384
+#: c-family/c-warn.cc:1389
 #, gcc-internal-format
 msgid "conversion from %qT to %qT may change value"
 msgstr ""
 
-#: c-family/c-warn.cc:1459 c-family/c-warn.cc:1477 c-family/c-warn.cc:1494
+#: 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 value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1464 c-family/c-warn.cc:1482 c-family/c-warn.cc:1499
+#: c-family/c-warn.cc:1469 c-family/c-warn.cc:1487 c-family/c-warn.cc:1504
 #, gcc-internal-format
 msgid "overflow in conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1531
+#: c-family/c-warn.cc:1536
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type"
 msgstr ""
 
-#: c-family/c-warn.cc:1536
+#: c-family/c-warn.cc:1541
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:1616
+#: c-family/c-warn.cc:1621
 #, gcc-internal-format
 msgid "lower value in case label range less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1630
+#: c-family/c-warn.cc:1635
 #, gcc-internal-format
 msgid "case label value is less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1647
+#: c-family/c-warn.cc:1652
 #, gcc-internal-format
 msgid "upper value in case label range exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1660
+#: c-family/c-warn.cc:1665
 #, gcc-internal-format
 msgid "case label value exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1673
+#: c-family/c-warn.cc:1678
 #, gcc-internal-format
 msgid "switch missing default case"
 msgstr ""
 
-#: c-family/c-warn.cc:1718
+#: c-family/c-warn.cc:1723
 #, gcc-internal-format
 msgid "switch condition has boolean value"
 msgstr ""
 
-#: c-family/c-warn.cc:1807
+#: c-family/c-warn.cc:1812
 #, gcc-internal-format
 msgid "enumeration value %qE not handled in switch"
 msgstr ""
 
-#: c-family/c-warn.cc:1835
+#: c-family/c-warn.cc:1844
 #, gcc-internal-format
 msgid ""
 "the omitted middle operand in %<?:%> will always be %<true%>, suggest "
 "explicit middle operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1857 rust/checks/errors/rust-readonly-check.cc:44
+#: c-family/c-warn.cc:1866 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:1859 rust/checks/errors/rust-readonly-check.cc:46
+#: c-family/c-warn.cc:1868 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:1861 rust/checks/errors/rust-readonly-check.cc:48
+#: c-family/c-warn.cc:1870 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:1863 rust/checks/errors/rust-readonly-check.cc:50
+#: c-family/c-warn.cc:1872 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:1867 rust/checks/errors/rust-readonly-check.cc:56
+#: c-family/c-warn.cc:1876 rust/checks/errors/rust-readonly-check.cc:56
 #, gcc-internal-format
 msgid "assignment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1868 rust/checks/errors/rust-readonly-check.cc:57
+#: c-family/c-warn.cc:1877 rust/checks/errors/rust-readonly-check.cc:57
 #, gcc-internal-format
 msgid "increment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1869 rust/checks/errors/rust-readonly-check.cc:58
+#: c-family/c-warn.cc:1878 rust/checks/errors/rust-readonly-check.cc:58
 #, gcc-internal-format
 msgid "decrement of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1870 rust/checks/errors/rust-readonly-check.cc:59
+#: c-family/c-warn.cc:1879 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:1874 rust/checks/errors/rust-readonly-check.cc:64
+#: c-family/c-warn.cc:1883 rust/checks/errors/rust-readonly-check.cc:64
 #, gcc-internal-format
 msgid "assignment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1875 rust/checks/errors/rust-readonly-check.cc:65
+#: c-family/c-warn.cc:1884 rust/checks/errors/rust-readonly-check.cc:65
 #, gcc-internal-format
 msgid "increment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1876 rust/checks/errors/rust-readonly-check.cc:66
+#: c-family/c-warn.cc:1885 rust/checks/errors/rust-readonly-check.cc:66
 #, gcc-internal-format
 msgid "decrement of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1877 rust/checks/errors/rust-readonly-check.cc:68
+#: c-family/c-warn.cc:1886 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:1880 rust/checks/errors/rust-readonly-check.cc:72
+#: c-family/c-warn.cc:1889 rust/checks/errors/rust-readonly-check.cc:72
 #, gcc-internal-format
 msgid "assignment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1881 rust/checks/errors/rust-readonly-check.cc:73
+#: c-family/c-warn.cc:1890 rust/checks/errors/rust-readonly-check.cc:73
 #, gcc-internal-format
 msgid "increment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1882 rust/checks/errors/rust-readonly-check.cc:74
+#: c-family/c-warn.cc:1891 rust/checks/errors/rust-readonly-check.cc:74
 #, gcc-internal-format
 msgid "decrement of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1883 rust/checks/errors/rust-readonly-check.cc:76
+#: c-family/c-warn.cc:1892 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:1888 rust/checks/errors/rust-readonly-check.cc:81
+#: c-family/c-warn.cc:1897 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:1890 rust/checks/errors/rust-readonly-check.cc:83
+#: c-family/c-warn.cc:1899 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:1892 rust/checks/errors/rust-readonly-check.cc:85
+#: c-family/c-warn.cc:1901 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:1894 rust/checks/errors/rust-readonly-check.cc:87
+#: c-family/c-warn.cc:1903 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:1899 rust/checks/errors/rust-readonly-check.cc:93
+#: c-family/c-warn.cc:1908 rust/checks/errors/rust-readonly-check.cc:93
 #, gcc-internal-format
 msgid "assignment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1900 rust/checks/errors/rust-readonly-check.cc:94
+#: c-family/c-warn.cc:1909 rust/checks/errors/rust-readonly-check.cc:94
 #, gcc-internal-format
 msgid "increment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1901 rust/checks/errors/rust-readonly-check.cc:95
+#: c-family/c-warn.cc:1910 rust/checks/errors/rust-readonly-check.cc:95
 #, gcc-internal-format
 msgid "decrement of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1902 rust/checks/errors/rust-readonly-check.cc:96
+#: c-family/c-warn.cc:1911 rust/checks/errors/rust-readonly-check.cc:96
 #, gcc-internal-format
 msgid "function %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1905 c/c-typeck.cc:5215
+#: c-family/c-warn.cc:1914 c/c-typeck.cc:5820
 #: rust/checks/errors/rust-readonly-check.cc:100
 #, gcc-internal-format
 msgid "assignment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1906 c/c-typeck.cc:5218
+#: c-family/c-warn.cc:1915 c/c-typeck.cc:5823
 #: rust/checks/errors/rust-readonly-check.cc:101
 #, gcc-internal-format
 msgid "increment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1907 c/c-typeck.cc:5221
+#: c-family/c-warn.cc:1916 c/c-typeck.cc:5826
 #: rust/checks/errors/rust-readonly-check.cc:102
 #, gcc-internal-format
 msgid "decrement of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1908 rust/checks/errors/rust-readonly-check.cc:104
+#: c-family/c-warn.cc:1917 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:1922 rust/backend/rust-tree.cc:5983
+#: c-family/c-warn.cc:1931 rust/backend/rust-tree.cc:5970
 #, gcc-internal-format
 msgid "lvalue required as left operand of assignment"
 msgstr ""
 
-#: c-family/c-warn.cc:1925 rust/backend/rust-tree.cc:5986
+#: c-family/c-warn.cc:1934 rust/backend/rust-tree.cc:5973
 #, gcc-internal-format
 msgid "lvalue required as increment operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1928 rust/backend/rust-tree.cc:5989
+#: c-family/c-warn.cc:1937 rust/backend/rust-tree.cc:5976
 #, gcc-internal-format
 msgid "lvalue required as decrement operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1931 rust/backend/rust-tree.cc:5992
+#: c-family/c-warn.cc:1940 rust/backend/rust-tree.cc:5979
 #, gcc-internal-format
 msgid "lvalue required as unary %<&%> operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1934 rust/backend/rust-tree.cc:5995
+#: c-family/c-warn.cc:1943 rust/backend/rust-tree.cc:5982
 #, gcc-internal-format
 msgid "lvalue required in %<asm%> statement"
 msgstr ""
 
-#: c-family/c-warn.cc:1951
+#: c-family/c-warn.cc:1960
 #, gcc-internal-format
 msgid "invalid type argument (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1955
+#: c-family/c-warn.cc:1964
 #, gcc-internal-format
 msgid "invalid type argument of array indexing (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1960
+#: c-family/c-warn.cc:1969
 #, gcc-internal-format
 msgid "invalid type argument of unary %<*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1965
+#: c-family/c-warn.cc:1974
 #, gcc-internal-format
 msgid "invalid type argument of %<->%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1970
+#: c-family/c-warn.cc:1979
 #, gcc-internal-format
 msgid "invalid type argument of %<->*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1975
+#: c-family/c-warn.cc:1984
 #, gcc-internal-format
 msgid "invalid type argument of implicit conversion (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:2002
+#: c-family/c-warn.cc:2011
 #, gcc-internal-format
 msgid "array subscript has type %<char%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2038 c-family/c-warn.cc:2041
+#: c-family/c-warn.cc:2047 c-family/c-warn.cc:2050
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<<<%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2044 c-family/c-warn.cc:2047
+#: 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:2053 c-family/c-warn.cc:2056
+#: c-family/c-warn.cc:2062 c-family/c-warn.cc:2065
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2059 c-family/c-warn.cc:2062
+#: c-family/c-warn.cc:2068 c-family/c-warn.cc:2071
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2068 c-family/c-warn.cc:2071
+#: c-family/c-warn.cc:2077 c-family/c-warn.cc:2080
 #, gcc-internal-format
 msgid "suggest parentheses around %<&&%> within %<||%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2078 c-family/c-warn.cc:2082
+#: c-family/c-warn.cc:2087 c-family/c-warn.cc:2091
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2086 c-family/c-warn.cc:2089
+#: c-family/c-warn.cc:2095 c-family/c-warn.cc:2098
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2094
+#: c-family/c-warn.cc:2103
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<|%> to %<||%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2102 c-family/c-warn.cc:2106
+#: c-family/c-warn.cc:2111 c-family/c-warn.cc:2115
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2110 c-family/c-warn.cc:2113
+#: c-family/c-warn.cc:2119 c-family/c-warn.cc:2122
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2119 c-family/c-warn.cc:2122
+#: c-family/c-warn.cc:2128 c-family/c-warn.cc:2131
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2125 c-family/c-warn.cc:2128
+#: c-family/c-warn.cc:2134 c-family/c-warn.cc:2137
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2132 c-family/c-warn.cc:2135
+#: c-family/c-warn.cc:2141 c-family/c-warn.cc:2144
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2140
+#: c-family/c-warn.cc:2149
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<&%> to %<&&%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2147 c-family/c-warn.cc:2150
+#: c-family/c-warn.cc:2156 c-family/c-warn.cc:2159
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<==%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2155 c-family/c-warn.cc:2158
+#: c-family/c-warn.cc:2164 c-family/c-warn.cc:2167
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<!=%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2168 c-family/c-warn.cc:2174
+#: c-family/c-warn.cc:2177 c-family/c-warn.cc:2183
 #, gcc-internal-format
 msgid "comparisons like %<X<=Y<=Z%> do not have their mathematical meaning"
 msgstr ""
 
-#: c-family/c-warn.cc:2189
+#: c-family/c-warn.cc:2200
 #, gcc-internal-format
 msgid "label %q+D defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2191
+#: c-family/c-warn.cc:2202
 #, gcc-internal-format
 msgid "label %q+D declared but not defined"
 msgstr ""
 
-#: c-family/c-warn.cc:2214
+#: c-family/c-warn.cc:2225
 #, gcc-internal-format
 msgid "division by zero"
 msgstr ""
 
-#: c-family/c-warn.cc:2234
+#: c-family/c-warn.cc:2245
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with constant zero length parameter; this could be due to "
 "transposed parameters"
 msgstr ""
 
-#: c-family/c-warn.cc:2258
+#: c-family/c-warn.cc:2269
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with length equal to number of elements without "
 "multiplication by element size"
 msgstr ""
 
-#: c-family/c-warn.cc:2290
+#: c-family/c-warn.cc:2301
 #, gcc-internal-format
 msgid ""
 "%qD sizes specified with %<sizeof%> in the earlier argument and not in the "
 "later argument"
 msgstr ""
 
-#: c-family/c-warn.cc:2292
+#: c-family/c-warn.cc:2303
 #, gcc-internal-format
 msgid ""
 "earlier argument should specify number of elements, later size of each "
 "element"
 msgstr ""
 
-#: c-family/c-warn.cc:2331
+#: c-family/c-warn.cc:2342
 #, gcc-internal-format
 msgid "allocation of insufficient size %qE for type %qT with size %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:2408
+#: c-family/c-warn.cc:2419
 #, gcc-internal-format
 msgid "comparison of integer expressions of different signedness: %qT and %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:2482
+#: c-family/c-warn.cc:2493
 #, gcc-internal-format
 msgid "promoted bitwise complement of an unsigned value is always nonzero"
 msgstr ""
 
-#: c-family/c-warn.cc:2486
+#: c-family/c-warn.cc:2497
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with constant"
 msgstr ""
 
-#: c-family/c-warn.cc:2497
+#: c-family/c-warn.cc:2508
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with unsigned"
 msgstr ""
 
-#: c-family/c-warn.cc:2552
+#: c-family/c-warn.cc:2563
 #, gcc-internal-format
 msgid "unused parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:2614
+#: c-family/c-warn.cc:2625
 #, gcc-internal-format
 msgid "typedef %qD locally defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2650
+#: c-family/c-warn.cc:2661
 #, gcc-internal-format
 msgid "duplicated %<if%> condition"
 msgstr ""
 
-#: c-family/c-warn.cc:2679
+#: c-family/c-warn.cc:2691
 #, gcc-internal-format
 msgid ""
 "optimization attribute on %qD follows definition but the attribute doesn%'t "
 "match"
 msgstr ""
 
-#: c-family/c-warn.cc:2687
+#: c-family/c-warn.cc:2699
 #, gcc-internal-format
 msgid ""
 "inline declaration of %qD follows declaration with attribute %<noinline%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2692
+#: c-family/c-warn.cc:2704
 #, gcc-internal-format
 msgid ""
 "declaration of %q+D with attribute %<noinline%> follows inline declaration"
 msgstr ""
 
-#: c-family/c-warn.cc:2746
+#: c-family/c-warn.cc:2758
 #, gcc-internal-format
 msgid "result of %qE requires %u bits to represent, but %qT only has %u bits"
 msgstr ""
 
-#: c-family/c-warn.cc:2785 c-family/c-warn.cc:2809
+#: c-family/c-warn.cc:2797 c-family/c-warn.cc:2821
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always false"
 msgstr ""
 
-#: c-family/c-warn.cc:2788 c-family/c-warn.cc:2806
+#: c-family/c-warn.cc:2800 c-family/c-warn.cc:2818
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always true"
 msgstr ""
 
-#: c-family/c-warn.cc:2856
+#: c-family/c-warn.cc:2868
 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:2922 c/c-typeck.cc:5825 cp/call.cc:6385
+#: c-family/c-warn.cc:2934 c/c-typeck.cc:6444 cp/call.cc:6527
 #, gcc-internal-format
 msgid "this condition has identical branches"
 msgstr ""
 
-#: c-family/c-warn.cc:3029
+#: c-family/c-warn.cc:3041
 #, gcc-internal-format
 msgid "macro expands to multiple statements"
 msgstr ""
 
-#: c-family/c-warn.cc:3030
+#: c-family/c-warn.cc:3042
 #, gcc-internal-format
 msgid "some parts of macro expansion are not guarded by this %qs clause"
 msgstr ""
 
-#: c-family/c-warn.cc:3170
+#: c-family/c-warn.cc:3182
 #, gcc-internal-format
 msgid ""
 "taking address of packed member of %qT may result in an unaligned pointer "
 "value"
 msgstr ""
 
-#: c-family/c-warn.cc:3396
+#: c-family/c-warn.cc:3408
 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:3399 c-family/c-warn.cc:3758
+#: c-family/c-warn.cc:3411 c-family/c-warn.cc:3770
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3533
+#: c-family/c-warn.cc:3545
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a variable length array"
 msgstr ""
 
-#: c-family/c-warn.cc:3538
+#: c-family/c-warn.cc:3550
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a pointer %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3539
+#: c-family/c-warn.cc:3551
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an ordinary array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3552 c-family/c-warn.cc:3566
+#: c-family/c-warn.cc:3564 c-family/c-warn.cc:3578
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a pointer"
 msgstr ""
 
-#: c-family/c-warn.cc:3556 c-family/c-warn.cc:3582
+#: c-family/c-warn.cc:3568 c-family/c-warn.cc:3594
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a variable length array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3569
+#: c-family/c-warn.cc:3581
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3578
+#: c-family/c-warn.cc:3590
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as an ordinary array"
 msgstr ""
 
-#: c-family/c-warn.cc:3606
+#: c-family/c-warn.cc:3618
 #, 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:3613
+#: c-family/c-warn.cc:3625
 #, 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:3627
+#: c-family/c-warn.cc:3639
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared with %u unspecified variable bound"
 msgid_plural ""
@@ -39614,110 +39977,110 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3635
+#: c-family/c-warn.cc:3647
 #, 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:3642
+#: c-family/c-warn.cc:3654
 #, 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:3693
+#: c-family/c-warn.cc:3705
 #, gcc-internal-format
 msgid "argument %u of type %s declared with mismatched bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3700 c-family/c-warn.cc:3734
+#: c-family/c-warn.cc:3712 c-family/c-warn.cc:3746
 #, gcc-internal-format
-msgid "argument %u of type %s declared with mismatched bound %<%s%>"
+msgid "argument %u of type %s declared with mismatched bound %qs"
 msgstr ""
 
-#: c-family/c-warn.cc:3712
+#: c-family/c-warn.cc:3724
 #, gcc-internal-format
 msgid "previously declared as %s with bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3717
-#, gcc-internal-format
-msgid "previously declared as %s with bound %<%s%>"
-msgstr ""
-
-#: c-family/c-warn.cc:3737
+#: c-family/c-warn.cc:3729 c-family/c-warn.cc:3749
 #, gcc-internal-format
 msgid "previously declared as %s with bound %qs"
 msgstr ""
 
-#: c-family/c-warn.cc:3756
+#: c-family/c-warn.cc:3768
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s with mismatched bound"
 msgstr ""
 
-#: c-family/c-warn.cc:3787
+#: c-family/c-warn.cc:3799
 #, 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:3797
+#: c-family/c-warn.cc:3809
 #, gcc-internal-format
 msgid "add parentheses around %qE to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3801
+#: c-family/c-warn.cc:3813
 #, gcc-internal-format
 msgid "add parentheses around the second %<sizeof%> to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3827
+#: c-family/c-warn.cc:3845
+#, gcc-internal-format
+msgid "comparison between two arrays is not allowed in C++26"
+msgstr ""
+
+#: c-family/c-warn.cc:3849
 #, gcc-internal-format
 msgid "comparison between two arrays is deprecated in C++20"
 msgstr ""
 
-#: c-family/c-warn.cc:3828
+#: c-family/c-warn.cc:3852
 #, gcc-internal-format
 msgid "comparison between two arrays"
 msgstr ""
 
-#: c-family/c-warn.cc:3832
+#: c-family/c-warn.cc:3857
 #, gcc-internal-format
 msgid ""
-"use unary %<+%> which decays operands to pointers or %<&%D[0] %s &%D[0]%> to "
-"compare the addresses"
+"use unary %<+%> which decays operands to pointers or %<&%s%E%s[0] %s "
+"&%s%E%s[0]%> to compare the addresses"
 msgstr ""
 
-#: c-family/c-warn.cc:3836
+#: c-family/c-warn.cc:3864
 #, gcc-internal-format
-msgid "use %<&%D[0] %s &%D[0]%> to compare the addresses"
+msgid "use %<&%s%E%s[0] %s &%s%E%s[0]%> to compare the addresses"
 msgstr ""
 
-#: c-family/c-warn.cc:3896
+#: c-family/c-warn.cc:3926
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1 << %wu%> (%wu)?"
 msgstr ""
 
-#: c-family/c-warn.cc:3906
+#: c-family/c-warn.cc:3936
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1LL << %wu%>?"
 msgstr ""
 
-#: c-family/c-warn.cc:3913
+#: c-family/c-warn.cc:3943
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean exponentiation?"
 msgstr ""
 
-#: c-family/c-warn.cc:3924
+#: c-family/c-warn.cc:3954
 #, gcc-internal-format
 msgid "result of %<%wu^%wu%> is %wu; did you mean %<1e%wu%>?"
 msgstr ""
 
-#: c-family/c-warn.cc:3941
+#: c-family/c-warn.cc:3971
 #, gcc-internal-format
 msgid ""
 "you can silence this warning by using a hexadecimal constant (%wx rather "
@@ -39734,18 +40097,84 @@ msgstr ""
 msgid "too many input files"
 msgstr ""
 
-#: c-family/known-headers.cc:322
+#: c-family/known-headers.cc:323
 #, gcc-internal-format
 msgid ""
 "%qs is defined in header %qs; this is probably fixable by adding %<#include "
 "%s%>"
 msgstr ""
 
-#: common/config/aarch64/aarch64-common.cc:415 config/aarch64/aarch64.cc:18534
+#: c-family/known-headers.cc:350
+#, gcc-internal-format
+msgid ""
+"%qs is defined when using option %qs; this is probably fixable by adding %qs "
+"to the command-line options"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:218
+#: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442
+#: common/config/arm/arm-common.cc:489
+#, gcc-internal-format
+msgid "valid arguments are: %s; did you mean %qs?"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:221
+#: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445
+#: common/config/arm/arm-common.cc:492
+#, gcc-internal-format, gfc-internal-format
+msgid "valid arguments are: %s"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:497
+#, gcc-internal-format
+msgid "missing arch name in %<-march=%s%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:501
+#, gcc-internal-format
+msgid "unknown value %qs for %<-march%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:510
+#, gcc-internal-format
+msgid "did you mean %<-mcpu=%s%>?"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:514
+#, gcc-internal-format
+msgid "invalid feature modifier %qs in %<-march=%s%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:544
+#, gcc-internal-format
+msgid "missing cpu name in %<-mcpu=%s%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:548
 #, gcc-internal-format
 msgid "unknown value %qs for %<-mcpu%>"
 msgstr ""
 
+#: common/config/aarch64/aarch64-common.cc:558
+#, gcc-internal-format
+msgid "did you mean %<-march=%s%>?"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:562
+#, gcc-internal-format
+msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:590
+#, gcc-internal-format
+msgid "missing cpu name in %<-mtune=%s%>"
+msgstr ""
+
+#: common/config/aarch64/aarch64-common.cc:593
+#, gcc-internal-format
+msgid "unknown value %qs for %<-mtune%>"
+msgstr ""
+
 #: common/config/alpha/alpha-common.cc:75
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtls-size%> switch"
@@ -39771,20 +40200,6 @@ msgstr ""
 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:18466
-#: config/aarch64/aarch64.cc:18504
-#, 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:18469
-#: config/aarch64/aarch64.cc:18507
-#, gcc-internal-format, gfc-internal-format
-msgid "valid arguments are: %s"
-msgstr ""
-
 #: common/config/arm/arm-common.cc:418 common/config/arm/arm-common.cc:472
 #, gcc-internal-format, gfc-internal-format
 msgid "unrecognized %s target: %s"
@@ -39830,21 +40245,21 @@ msgstr ""
 msgid "unrecognized operand to %%:%<asm_auto_mfpu%>"
 msgstr ""
 
-#: common/config/avr/avr-common.cc:87
+#: common/config/avr/avr-common.cc:93
 #, gcc-internal-format
 msgid ""
 "option %<-mdouble=64%> is only available if configured %<--with-double={64|"
 "64,32|32,64}%>"
 msgstr ""
 
-#: common/config/avr/avr-common.cc:95
+#: common/config/avr/avr-common.cc:101
 #, gcc-internal-format
 msgid ""
 "option %<-mdouble=32%> is only available if configured %<--with-double={32|"
 "32,64|64,32}%>"
 msgstr ""
 
-#: common/config/avr/avr-common.cc:111
+#: common/config/avr/avr-common.cc:117
 #, gcc-internal-format
 msgid ""
 "option %<-mlong-double=64%> is only available if configured %<--with-long-"
@@ -39852,7 +40267,7 @@ msgid ""
 "%<--with-double={64|64,32|32,64}%>"
 msgstr ""
 
-#: common/config/avr/avr-common.cc:120
+#: common/config/avr/avr-common.cc:126
 #, gcc-internal-format
 msgid ""
 "option %<-mlong-double=32%> is only available if configured %<--with-long-"
@@ -39875,54 +40290,54 @@ msgstr ""
 msgid "%<-mcpu=%s%> has invalid silicon revision"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1954
+#: common/config/i386/i386-common.cc:2013
 #, gcc-internal-format
 msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1957
+#: common/config/i386/i386-common.cc:2016
 #, gcc-internal-format
 msgid "%<-malign-loops=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1964
+#: common/config/i386/i386-common.cc:2023
 #, gcc-internal-format
 msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1967
+#: common/config/i386/i386-common.cc:2026
 #, gcc-internal-format
 msgid "%<-malign-jumps=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1975
+#: common/config/i386/i386-common.cc:2034
 #, gcc-internal-format
 msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1978
+#: common/config/i386/i386-common.cc:2037
 #, gcc-internal-format
 msgid "%<-malign-functions=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1987
+#: common/config/i386/i386-common.cc:2046
 #, gcc-internal-format
 msgid "%<-mbranch-cost=%d%> is not between 0 and 5"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:2051 common/config/s390/s390-common.cc:137
+#: common/config/i386/i386-common.cc:2110 common/config/s390/s390-common.cc:141
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> currently only supported on GNU/Linux"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:2061
+#: common/config/i386/i386-common.cc:2120
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> requires assembler support for CFI directives"
 msgstr ""
 
 #: common/config/ia64/ia64-common.cc:65
 #, gcc-internal-format
-msgid "bad value %<%s%> for %<-mtls-size=%> switch"
+msgid "bad value %qs for %<-mtls-size=%> switch"
 msgstr ""
 
 #: common/config/nds32/nds32-common.cc:49
@@ -39942,135 +40357,135 @@ msgid ""
 "64, 128, 256, or 512"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:765
+#: common/config/riscv/riscv-common.cc:734
 #, gcc-internal-format
 msgid "%<-march=%s%>: extension %qs appear more than one time"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:774
+#: common/config/riscv/riscv-common.cc:743
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs is unsupported standard single letter extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:782
+#: common/config/riscv/riscv-common.cc:751
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 'z' but is unsupported standard "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:790
+#: common/config/riscv/riscv-common.cc:759
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 's' but is unsupported standard "
 "supervisor extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:798
+#: common/config/riscv/riscv-common.cc:767
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: extension %qs starts with 'x' but is unsupported non-standard "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1045
+#: common/config/riscv/riscv-common.cc:1036
 #, gcc-internal-format
 msgid "%<-march=%s%>: expect number after %<%dp%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1051
+#: common/config/riscv/riscv-common.cc:1042
 #, 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:1109
+#: common/config/riscv/riscv-common.cc:1100
 #, gcc-internal-format
 msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1133
+#: common/config/riscv/riscv-common.cc:1124
 #, gcc-internal-format
 msgid "%<-march=%s%>: rv%de is not a valid base ISA"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1145
+#: common/config/riscv/riscv-common.cc:1136
 #, gcc-internal-format
 msgid ""
 "version of %<g%> will be omitted, please specify version for individual "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1164
+#: common/config/riscv/riscv-common.cc:1155
 #, gcc-internal-format
 msgid "%<-march=%s%>: first ISA subset must be %<e%>, %<i%> or %<g%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1187
+#: common/config/riscv/riscv-common.cc:1178
 #, gcc-internal-format
 msgid "%<-march=%s%>: Not single-letter extension. %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1318
+#: common/config/riscv/riscv-common.cc:1309
 #, gcc-internal-format
 msgid "%<-march=%s%>: zcf extension supports in rv32 only"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1323
+#: common/config/riscv/riscv-common.cc:1314
 #, gcc-internal-format
 msgid "%<-march=%s%>: z*inx conflicts with floating-point extensions"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1329
+#: common/config/riscv/riscv-common.cc:1320
 #, gcc-internal-format
 msgid "%<-march=%s%>: h extension requires i extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1334
+#: common/config/riscv/riscv-common.cc:1325
 #, gcc-internal-format
 msgid "%<-march=%s%>: zcd conflicts with zcmt"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1336
+#: common/config/riscv/riscv-common.cc:1327
 #, gcc-internal-format
 msgid "%<-march=%s%>: zcd conflicts with zcmp"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1345
+#: common/config/riscv/riscv-common.cc:1336
 #, gcc-internal-format
 msgid ""
 "%<-march=%s%>: xtheadvector conflicts with vector extension or its sub-"
 "extensions"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1442
+#: common/config/riscv/riscv-common.cc:1433
 #, gcc-internal-format
 msgid "%<-march=%s%>: name of %s must be more than 1 letter"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1454
+#: common/config/riscv/riscv-common.cc:1445
 #, gcc-internal-format
 msgid "%<-march=%s%>: %s must separate with %<_%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1516
+#: common/config/riscv/riscv-common.cc:1507
 #, gcc-internal-format
 msgid "%<-march=%s%>: i, e or g must be the first extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1871
+#: common/config/riscv/riscv-common.cc:1995
 #, gcc-internal-format
 msgid "%<-mcpu=%s%>: unknown CPU"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1950
+#: common/config/riscv/riscv-common.cc:2074
 #, 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:1807
+#: common/config/rs6000/rs6000-common.cc:175 config/sparc/sparc.cc:1823
 #, gcc-internal-format
 msgid "unknown %<-mdebug-%s%> switch"
 msgstr ""
@@ -40082,7 +40497,7 @@ msgstr ""
 
 #: common/config/rs6000/rs6000-common.cc:225
 #, gcc-internal-format
-msgid "option %<%s%> requires %<-mlong-double-128%>"
+msgid "option %qs requires %<-mlong-double-128%>"
 msgstr ""
 
 #: common/config/rs6000/rs6000-common.cc:259
@@ -40102,12 +40517,12 @@ msgstr ""
 msgid "the RX100 cpu does not have FPU hardware"
 msgstr ""
 
-#: common/config/s390/s390-common.cc:109
+#: common/config/s390/s390-common.cc:113
 #, gcc-internal-format
 msgid "stack guard value must be an exact power of 2"
 msgstr ""
 
-#: common/config/s390/s390-common.cc:114
+#: common/config/s390/s390-common.cc:118
 #, gcc-internal-format
 msgid "stack size must be an exact power of 2"
 msgstr ""
@@ -40203,32 +40618,32 @@ msgstr ""
 msgid "%qs is not valid for %<-mmacosx-version-min%>"
 msgstr ""
 
-#: config/darwin-driver.cc:367
+#: config/darwin-driver.cc:377
 #, gcc-internal-format
 msgid "this compiler does not support PowerPC (%<-arch%> option ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:374
+#: config/darwin-driver.cc:384
 #, gcc-internal-format
 msgid "%qs conflicts with %<-arch i386%> (%qs ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:383
+#: config/darwin-driver.cc:393
 #, gcc-internal-format
 msgid "%<-m32%> conflicts with %<-arch x86_64%> (%<-m32%> ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:390
+#: config/darwin-driver.cc:400
 #, gcc-internal-format
 msgid "this compiler does not support x86 (%<-arch%> option ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:397
+#: config/darwin-driver.cc:407
 #, gcc-internal-format
 msgid "%qs conflicts with %<-arch ppc%> (%qs ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:406
+#: config/darwin-driver.cc:416
 #, gcc-internal-format
 msgid "%<-m32%> conflicts with %<-arch ppc64%> (%<-m32%> ignored)"
 msgstr ""
@@ -40400,160 +40815,122 @@ msgstr ""
 msgid "PIC is only supported for RTPs"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2123
+#: config/aarch64/aarch64-builtins.cc:2516 config/arm/arm-mve-builtins.cc:621
+#, gcc-internal-format
+msgid "ACLE function %qD requires ISA extension %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2518 config/aarch64/aarch64.cc:11465
+#: config/aarch64/aarch64.cc:18646 config/aarch64/aarch64.cc:19252
+#, 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-builtins.cc:2534
+#, gcc-internal-format
+msgid "ACLE function %qD is incompatible with the use of %qs"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2552
+#, gcc-internal-format
+msgid "ACLE function %qD can only be called when SME streaming mode is enabled"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2562
+#, gcc-internal-format
+msgid "ACLE function %qD cannot be called when SME streaming mode is enabled"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2583
+#, gcc-internal-format
+msgid "ACLE function %qD can only be called from a function that has %qs state"
+msgstr ""
+
+#: config/aarch64/aarch64-builtins.cc:2822
 #, gcc-internal-format
 msgid "first argument to %qD must be a string literal"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2254
-#: config/aarch64/aarch64-builtins.cc:2488 config/arm/arm-builtins.cc:3146
+#: config/aarch64/aarch64-builtins.cc:2955
+#: config/aarch64/aarch64-builtins.cc:3189 config/arm/arm-builtins.cc:2949
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2326 config/arm/arm-builtins.cc:3494
+#: config/aarch64/aarch64-builtins.cc:3027 config/arm/arm-builtins.cc:3297
 #, gcc-internal-format
 msgid "lane index must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2330
+#: config/aarch64/aarch64-builtins.cc:3031
 #, gcc-internal-format
 msgid "total size and element size must be a nonzero constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2578
+#: config/aarch64/aarch64-builtins.cc:3277
 #, gcc-internal-format
 msgid "argument must be a 16-bit constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2701
+#: config/aarch64/aarch64-builtins.cc:3400
 #, gcc-internal-format
 msgid "128-bit system register support requires the %<d128%> extension"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2716
+#: config/aarch64/aarch64-builtins.cc:3415
 #, gcc-internal-format
 msgid "invalid system register name provided"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2730
+#: config/aarch64/aarch64-builtins.cc:3429
 #, gcc-internal-format
 msgid "invalid system register name %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2810
+#: config/aarch64/aarch64-builtins.cc:3510
 #, gcc-internal-format
 msgid "Constant-type argument expected"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2816
+#: config/aarch64/aarch64-builtins.cc:3516
 #, gcc-internal-format
 msgid "argument %d must be a constant immediate in range [%wd,%wd]"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2895
+#: config/aarch64/aarch64-builtins.cc:3595
 #, gcc-internal-format
 msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2930
+#: config/aarch64/aarch64-builtins.cc:3630
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate in range [0,15]"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3728
-#: config/aarch64/aarch64-builtins.cc:3748
+#: config/aarch64/aarch64-builtins.cc:5333
+#: config/aarch64/aarch64-builtins.cc:5353
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 1 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3732
+#: config/aarch64/aarch64-builtins.cc:5337
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 2 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:341
+#: config/aarch64/aarch64-c.cc:374
 #, gcc-internal-format
 msgid "%<#pragma GCC aarch64%> requires a string parameter"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:357
+#: config/aarch64/aarch64-c.cc:390
 #, gcc-internal-format
 msgid "unknown %<#pragma GCC aarch64%> option %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1089
-#: 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:1091 config/aarch64/aarch64.cc:11153
-#: config/aarch64/aarch64.cc:18309 config/aarch64/aarch64.cc:19081
-#, 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:1111
-#, gcc-internal-format
-msgid "ACLE function %qD is incompatible with the use of %qs"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1133
-#, gcc-internal-format
-msgid "ACLE function %qD cannot be called when SME streaming mode is enabled"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1140
-#, gcc-internal-format
-msgid "ACLE function %qD can only be called when SME streaming mode is enabled"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1147
-#, 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:1175
-#: config/arm/arm-mve-builtins.cc:571
-#: config/riscv/riscv-vector-builtins.cc:4246
-#, gcc-internal-format
-msgid "argument %d of %qE must be an integer constant expression"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1188
-#, gcc-internal-format
-msgid "passing %wd to argument %d of %qE, which expects the value %wd"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1191
-#: config/arm/arm-mve-builtins.cc:583
-#: config/riscv/riscv-vector-builtins.cc:4260
-#, 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:1204
-#, gcc-internal-format
-msgid "passing %wd to argument %d of %qE, which expects either %wd or %wd"
-msgstr ""
-
-#: config/aarch64/aarch64-sve-builtins.cc:1217
-#, 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:1229
-#: 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:1762
+#: config/aarch64/aarch64-sve-builtins.cc:1741
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a single SVE vector rather "
@@ -40561,9 +40938,9 @@ msgid ""
 msgstr ""
 
 #. num_vectors is always != 1, so the singular isn't needed.
-#: config/aarch64/aarch64-sve-builtins.cc:1768
-#: config/aarch64/aarch64-sve-builtins.cc:1774
-#: config/arm/arm-mve-builtins.cc:1205 config/arm/arm-mve-builtins.cc:1211
+#: config/aarch64/aarch64-sve-builtins.cc:1747
+#: config/aarch64/aarch64-sve-builtins.cc:1753
+#: config/arm/arm-mve-builtins.cc:1314 config/arm/arm-mve-builtins.cc:1320
 #, gcc-internal-format
 msgid "%qT%d%qE%d"
 msgid_plural ""
@@ -40572,177 +40949,189 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1806
+#: config/aarch64/aarch64-sve-builtins.cc:1785
 #, 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:1811
+#: config/aarch64/aarch64-sve-builtins.cc:1790
 #, 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:1816
+#: config/aarch64/aarch64-sve-builtins.cc:1795
 #, 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:1827
-#: config/arm/arm-mve-builtins.cc:1104
+#: config/aarch64/aarch64-sve-builtins.cc:1806
+#: config/arm/arm-mve-builtins.cc:1213
 #, gcc-internal-format
 msgid "%qE has no form that takes %qT arguments"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1888
+#: config/aarch64/aarch64-sve-builtins.cc:1867
 #, gcc-internal-format
 msgid "%qE has no form that takes %qT and %qT arguments"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1950
+#: config/aarch64/aarch64-sve-builtins.cc:1929
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an %qs or %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1981
+#: config/aarch64/aarch64-sve-builtins.cc:1960
 #, 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:2000
+#: config/aarch64/aarch64-sve-builtins.cc:1979
 #, 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:2024
+#: config/aarch64/aarch64-sve-builtins.cc:2003
 #, 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:2045
-#: config/arm/arm-mve-builtins.cc:1157
+#: config/aarch64/aarch64-sve-builtins.cc:2026
+#: config/arm/arm-mve-builtins.cc:1266 config/arm/arm-mve-builtins.cc:1691
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a pointer type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2048
+#: config/aarch64/aarch64-sve-builtins.cc:2029
 #, gcc-internal-format
 msgid "an explicit type suffix is needed when using a vector of base addresses"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2057
+#: config/aarch64/aarch64-sve-builtins.cc:2038
 #, 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:2065
+#: config/aarch64/aarch64-sve-builtins.cc:2046
 #, 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:2107
+#: config/aarch64/aarch64-sve-builtins.cc:2053
+#, gcc-internal-format
+msgid ""
+"passing %qT to argument %d of %qE, which expects the data to be 16 bits or "
+"wider"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2056
+#, gcc-internal-format
+msgid "use the %<offset%> rather than %<index%> form for 8-bit data"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:2097
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects an SVE type rather than a "
 "scalar type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2111
+#: config/aarch64/aarch64-sve-builtins.cc:2101
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an SVE type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2156
+#: config/aarch64/aarch64-sve-builtins.cc:2146
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a vector of integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2186
+#: config/aarch64/aarch64-sve-builtins.cc:2176
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a 128 bit NEON vector type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2203
-#: config/aarch64/aarch64-sve-builtins.cc:2501
-#: config/arm/arm-mve-builtins.cc:1403
+#: config/aarch64/aarch64-sve-builtins.cc:2193
+#: config/aarch64/aarch64-sve-builtins.cc:2491
+#: config/arm/arm-mve-builtins.cc:1522
 #, 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:2224
+#: config/aarch64/aarch64-sve-builtins.cc:2214
 #, 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:2266
+#: config/aarch64/aarch64-sve-builtins.cc:2256
 #, gcc-internal-format
 msgid ""
 "operations on multiple vectors must be predicated by %qs rather than %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2269
+#: config/aarch64/aarch64-sve-builtins.cc:2259
 #, gcc-internal-format
 msgid "operations on single vectors must be predicated by %qs rather than %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2285
-#: config/arm/arm-mve-builtins.cc:1248
+#: config/aarch64/aarch64-sve-builtins.cc:2275
+#: config/arm/arm-mve-builtins.cc:1367
 #, 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:2307
-#: config/aarch64/aarch64-sve-builtins.cc:2958
-#: config/arm/arm-mve-builtins.cc:1270
+#: config/aarch64/aarch64-sve-builtins.cc:2297
+#: config/aarch64/aarch64-sve-builtins.cc:2946
+#: config/arm/arm-mve-builtins.cc:1389
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2334
-#: config/aarch64/aarch64-sve-builtins.cc:2450
-#: config/aarch64/aarch64-sve-builtins.cc:2579
+#: config/aarch64/aarch64-sve-builtins.cc:2324
+#: config/aarch64/aarch64-sve-builtins.cc:2440
+#: config/aarch64/aarch64-sve-builtins.cc:2569
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, but argument %d had type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2445
+#: config/aarch64/aarch64-sve-builtins.cc:2435
 #, 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:2469
-#: config/arm/arm-mve-builtins.cc:1384
+#: config/aarch64/aarch64-sve-builtins.cc:2459
+#: config/arm/arm-mve-builtins.cc:1503
 #, 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:2474
+#: config/aarch64/aarch64-sve-builtins.cc:2464
 #, 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:2487
-#: config/arm/arm-mve-builtins.cc:1396
+#: config/aarch64/aarch64-sve-builtins.cc:2477
+#: config/arm/arm-mve-builtins.cc:1515
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of signed integers"
@@ -40750,7 +41139,7 @@ msgstr ""
 
 #. Translation note: could also be written "expects a tuple of
 #. signed integer vectors".
-#: config/aarch64/aarch64-sve-builtins.cc:2493
+#: config/aarch64/aarch64-sve-builtins.cc:2483
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects vectors of signed integers"
@@ -40758,56 +41147,56 @@ msgstr ""
 
 #. Translation note: could also be written "expects a tuple of
 #. unsigned integer vectors".
-#: config/aarch64/aarch64-sve-builtins.cc:2507
+#: config/aarch64/aarch64-sve-builtins.cc:2497
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects vectors of unsigned integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2527
-#: config/arm/arm-mve-builtins.cc:1423
+#: config/aarch64/aarch64-sve-builtins.cc:2517
+#: config/arm/arm-mve-builtins.cc:1542
 #, 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:2547
-#: config/arm/arm-mve-builtins.cc:1444
+#: config/aarch64/aarch64-sve-builtins.cc:2537
+#: config/arm/arm-mve-builtins.cc:1563
 #, 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:2558
-#: config/arm/arm-mve-builtins.cc:1455
+#: config/aarch64/aarch64-sve-builtins.cc:2548
+#: config/arm/arm-mve-builtins.cc:1574
 #, 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:2598
-#: config/arm/arm-mve-builtins.cc:1540
+#: config/aarch64/aarch64-sve-builtins.cc:2588
+#: config/arm/arm-mve-builtins.cc:1659
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2616
+#: config/aarch64/aarch64-sve-builtins.cc:2606
 #, gcc-internal-format
 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:2632
-#: config/arm/arm-mve-builtins.cc:1556
+#: config/aarch64/aarch64-sve-builtins.cc:2622
+#: config/arm/arm-mve-builtins.cc:1675
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar pointer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2655
+#: config/aarch64/aarch64-sve-builtins.cc:2645
 #, gcc-internal-format
 msgid ""
 "call to %qE is ambiguous; argument %d has type %qs but argument %d has type "
@@ -40816,65 +41205,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:2700
-#: config/arm/arm-mve-builtins.cc:1501
+#: config/aarch64/aarch64-sve-builtins.cc:2690
+#: config/arm/arm-mve-builtins.cc:1620
 #, 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:2706
-#: config/arm/arm-mve-builtins.cc:1507
+#: config/aarch64/aarch64-sve-builtins.cc:2696
+#: config/arm/arm-mve-builtins.cc:1626
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar integer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2742
+#: config/aarch64/aarch64-sve-builtins.cc:2732
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qs or %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2762
+#: config/aarch64/aarch64-sve-builtins.cc:2752
 #, 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:2812
+#: config/aarch64/aarch64-sve-builtins.cc:2803
 #, gcc-internal-format
 msgid "when storing %qT, %qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2817
+#: config/aarch64/aarch64-sve-builtins.cc:2808
 #, gcc-internal-format
 msgid "%qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2821
+#: config/aarch64/aarch64-sve-builtins.cc:2812
 #, gcc-internal-format
 msgid "%qE does not support 32-bit vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2849
+#: config/aarch64/aarch64-sve-builtins.cc:2840
 #, gcc-internal-format
 msgid "%qE does not support 32-bit sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2852
+#: config/aarch64/aarch64-sve-builtins.cc:2843
 #, gcc-internal-format
 msgid "%qE does not support sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2865
+#: config/aarch64/aarch64-sve-builtins.cc:2857
 #, 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:2870
+#: config/aarch64/aarch64-sve-builtins.cc:2862
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which when storing %qT expects a vector "
@@ -40882,193 +41271,193 @@ msgid ""
 msgstr ""
 
 #. TYPE is part of the function name.
-#: config/aarch64/aarch64-sve-builtins.cc:2877
+#: config/aarch64/aarch64-sve-builtins.cc:2869
 #, 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:2925
+#: config/aarch64/aarch64-sve-builtins.cc:2917
 #, 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:3009
+#: config/aarch64/aarch64-sve-builtins.cc:2997
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an offset of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3013
+#: config/aarch64/aarch64-sve-builtins.cc:3001
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an index of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3102
-#: config/arm/arm-mve-builtins.cc:1666
+#: config/aarch64/aarch64-sve-builtins.cc:3091
+#: config/arm/arm-mve-builtins.cc:1811
 #, 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:3166
+#: config/aarch64/aarch64-sve-builtins.cc:3155
 #, 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:4660
-#: config/arm/arm-mve-builtins.cc:466 config/arm/arm-mve-builtins.cc:491
-#: config/riscv/riscv-vector-builtins.cc:4589
+#: config/aarch64/aarch64-sve-builtins.cc:4841
+#: config/arm/arm-mve-builtins.cc:522 config/arm/arm-mve-builtins.cc:547
+#: config/riscv/riscv-vector-builtins.cc:4836
 #, gcc-internal-format
 msgid "duplicate definition of %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4717
+#: config/aarch64/aarch64-sve-builtins.cc:4898
 #, gcc-internal-format
 msgid "%qs defined without first defining %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4868
+#: config/aarch64/aarch64-sve-builtins.cc:5050
 #, gcc-internal-format
 msgid "%qs applied to non-SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4874
+#: config/aarch64/aarch64-sve-builtins.cc:5056
 #, gcc-internal-format
 msgid "%qs applied to non-vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4881
+#: config/aarch64/aarch64-sve-builtins.cc:5063
 #, gcc-internal-format
 msgid "%qs applied to type %qT, which already has a size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4889
+#: config/aarch64/aarch64-sve-builtins.cc:5071
 #, gcc-internal-format
 msgid "%qs requires an integer constant expression"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:4897
+#: config/aarch64/aarch64-sve-builtins.cc:5079
 #, gcc-internal-format
 msgid "unsupported SVE vector size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5011
+#: config/aarch64/aarch64-sve-builtins.cc:5193
 #, gcc-internal-format
 msgid "SVE type %qT does not have a fixed size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5016
+#: config/aarch64/aarch64-sve-builtins.cc:5198
 #, gcc-internal-format
 msgid "SVE type %qT does not have a defined alignment"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5021
-#: config/riscv/riscv-vector-builtins.cc:4501
+#: config/aarch64/aarch64-sve-builtins.cc:5203
+#: config/riscv/riscv-vector-builtins.cc:4748
 #, gcc-internal-format
 msgid "variables of type %qT cannot have thread-local storage duration"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5027
+#: config/aarch64/aarch64-sve-builtins.cc:5209
 #, gcc-internal-format
 msgid "arithmetic on pointer to SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5034
+#: config/aarch64/aarch64-sve-builtins.cc:5216
 #, gcc-internal-format
 msgid "member variables cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5036
+#: config/aarch64/aarch64-sve-builtins.cc:5218
 #, gcc-internal-format
 msgid "fields cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5041
+#: config/aarch64/aarch64-sve-builtins.cc:5223
 #, gcc-internal-format
 msgid "array elements cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5046
+#: config/aarch64/aarch64-sve-builtins.cc:5228
 #, gcc-internal-format
 msgid "cannot allocate objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5051
+#: config/aarch64/aarch64-sve-builtins.cc:5233
 #, gcc-internal-format
 msgid "cannot delete objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5056
+#: config/aarch64/aarch64-sve-builtins.cc:5238
 #, gcc-internal-format
 msgid "cannot throw or catch SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:5061
+#: config/aarch64/aarch64-sve-builtins.cc:5243
 #, gcc-internal-format
 msgid "capture by copy of SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:641
+#: config/aarch64/aarch64.cc:649
 #, gcc-internal-format
 msgid "the arguments to %qE must be constant strings"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:649
+#: config/aarch64/aarch64.cc:657
 #, gcc-internal-format
 msgid "unrecognized state string %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:733
+#: config/aarch64/aarch64.cc:741
 #, gcc-internal-format
 msgid "the %qE attribute cannot be applied to an SVE function type"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:760
+#: config/aarch64/aarch64.cc:768
 #, gcc-internal-format
 msgid "cannot create a new %qs scope since %qs is shared with callers"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:776
+#: config/aarch64/aarch64.cc:784
 #, gcc-internal-format
 msgid "%qE attribute applies only to function definitions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:822
+#: config/aarch64/aarch64.cc:830
 #, gcc-internal-format
 msgid "inconsistent attributes for state %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1311
+#: config/aarch64/aarch64.cc:1327
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1314
+#: config/aarch64/aarch64.cc:1330
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1318
+#: config/aarch64/aarch64.cc:1334
 #, gcc-internal-format
 msgid ""
 "%qs feature modifier is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1321
+#: config/aarch64/aarch64.cc:1337
 #, gcc-internal-format
 msgid "%qs feature modifier is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1337
+#: config/aarch64/aarch64.cc:1353
 #, gcc-internal-format
 msgid "this operation requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:1338
+#: config/aarch64/aarch64.cc:1354
 #, gcc-internal-format
 msgid ""
 "you can enable SVE using the command-line option %<-march%>, or by using the "
@@ -41077,460 +41466,467 @@ msgstr ""
 
 #. We can't gracefully recover at this point, so make this a
 #. fatal error.
-#: config/aarch64/aarch64.cc:6407
+#: config/aarch64/aarch64.cc:6685
 #, gcc-internal-format
 msgid "arguments of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:6884
+#: config/aarch64/aarch64.cc:7162
 #, gcc-internal-format
 msgid "SVE type %qT cannot be passed to an unprototyped function"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7025 config/aarch64/aarch64.cc:7104
-#: config/aarch64/aarch64.cc:21316
+#: config/aarch64/aarch64.cc:7303 config/aarch64/aarch64.cc:7382
+#: config/aarch64/aarch64.cc:21513
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 13.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7032 config/aarch64/aarch64.cc:7111
-#: config/aarch64/aarch64.cc:21323
+#: config/aarch64/aarch64.cc:7310 config/aarch64/aarch64.cc:7389
+#: config/aarch64/aarch64.cc:21520
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 14.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7043 config/aarch64/aarch64.cc:7121
-#: config/aarch64/aarch64.cc:21331 config/arm/arm.cc:7342
-#: config/arm/arm.cc:7372 config/arm/arm.cc:29487
+#: config/aarch64/aarch64.cc:7321 config/aarch64/aarch64.cc:7399
+#: config/aarch64/aarch64.cc:21528 config/arm/arm.cc:7338
+#: config/arm/arm.cc:7368 config/arm/arm.cc:29592
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 9.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7244
+#: config/aarch64/aarch64.cc:7526
 #, gcc-internal-format
 msgid "%qE requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7247
+#: config/aarch64/aarch64.cc:7529
 #, gcc-internal-format
 msgid "calls to functions of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7435
+#: config/aarch64/aarch64.cc:7717
 #, gcc-internal-format
 msgid "stack probes for SVE frames"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11151
+#: config/aarch64/aarch64.cc:11463
 #, gcc-internal-format
 msgid "calling a streaming function requires the ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11160 config/aarch64/aarch64.cc:11164
+#: config/aarch64/aarch64.cc:11472 config/aarch64/aarch64.cc:11476
 #, 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:11167
+#: config/aarch64/aarch64.cc:11479
 #, 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:11225
+#: config/aarch64/aarch64.cc:11537
 #, 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:11227
+#: config/aarch64/aarch64.cc:11539
 #, gcc-internal-format
 msgid "use %<__arm_preserves(\"za\")%> if the callee preserves ZA"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17927
+#: config/aarch64/aarch64.cc:18264
 #, gcc-internal-format
 msgid "unknown flag passed in %<-moverride=%s%> (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17971
+#: config/aarch64/aarch64.cc:18308
 #, gcc-internal-format
 msgid "%qs string ill-formed"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18027
+#: config/aarch64/aarch64.cc:18364
 #, gcc-internal-format
 msgid "invalid format for %<sve_width%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18039
+#: config/aarch64/aarch64.cc:18376
 #, gcc-internal-format
 msgid "invalid %<sve_width%> value: %d"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18059
+#: config/aarch64/aarch64.cc:18396
 #, gcc-internal-format, gfc-internal-format
 msgid "tuning string missing in option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18077
+#: config/aarch64/aarch64.cc:18414
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown tuning option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18265 config/arm/arm.cc:3227
-#: config/riscv/riscv.cc:9428
+#: config/aarch64/aarch64.cc:18601 config/arm/arm.cc:3223
+#: config/riscv/riscv.cc:10763
 #, gcc-internal-format
 msgid ""
 "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-"
 "protector-guard-offset=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18274 config/riscv/riscv.cc:9437
+#: config/aarch64/aarch64.cc:18610 config/riscv/riscv.cc:10772
 #, 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:18282
+#: config/aarch64/aarch64.cc:18618
 #, gcc-internal-format
 msgid "specify a system register with a small string length"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18292 config/arm/arm.cc:3239
-#: config/riscv/riscv.cc:9466 config/rs6000/rs6000.cc:4497
+#: config/aarch64/aarch64.cc:18628 config/arm/arm.cc:3235
+#: config/riscv/riscv.cc:10801 config/rs6000/rs6000.cc:4518
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18299
+#: config/aarch64/aarch64.cc:18635
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18305
+#: config/aarch64/aarch64.cc:18642
 #, gcc-internal-format
 msgid "streaming functions require the ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18307
+#: config/aarch64/aarch64.cc:18644
 #, gcc-internal-format
 msgid "functions with SME state require the ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18401
+#: config/aarch64/aarch64.cc:18737
 #, 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:18417
+#: config/aarch64/aarch64.cc:18753 config/riscv/riscv.cc:10821
 #, gcc-internal-format
 msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18531
-#, gcc-internal-format
-msgid "missing cpu name in %<-mcpu=%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18541
-#, gcc-internal-format
-msgid "did you mean %<-march=%s%>?"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18544
-#, gcc-internal-format
-msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18603
+#: config/aarch64/aarch64.cc:18828
 #, gcc-internal-format
 msgid "invalid argument given to %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18614
+#: config/aarch64/aarch64.cc:18839
 #, gcc-internal-format
 msgid "%qs must be by itself for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18619
+#: config/aarch64/aarch64.cc:18844
 #, gcc-internal-format
-msgid "invalid argument %<%s%> for %<-mharden-sls=%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18647
-#, gcc-internal-format
-msgid "missing arch name in %<-march=%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18650
-#, gcc-internal-format
-msgid "unknown value %qs for %<-march%>"
+msgid "invalid argument %qs for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18656
-#, gcc-internal-format
-msgid "did you mean %<-mcpu=%s%>?"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18659
-#, gcc-internal-format
-msgid "invalid feature modifier %qs in %<-march=%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18687
-#, gcc-internal-format
-msgid "missing cpu name in %<-mtune=%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18690
-#, gcc-internal-format
-msgid "unknown value %qs for %<-mtune%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:18842
+#: config/aarch64/aarch64.cc:19000
 #, gcc-internal-format
 msgid ""
 "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch and resulted in "
-"options %<%s%> being added"
+"options %qs being added"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18898
+#: config/aarch64/aarch64.cc:19067
 #, gcc-internal-format
 msgid "assembler does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18905
+#: config/aarch64/aarch64.cc:19070
+#, gcc-internal-format
+msgid "%<-mabi=ilp32%> is deprecated"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19076
 #, gcc-internal-format
 msgid "return address signing is only supported for %<-mabi=lp64%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18978
+#: config/aarch64/aarch64.cc:19149
 #, gcc-internal-format
 msgid "code model %qs with %<-f%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18981
+#: config/aarch64/aarch64.cc:19152
 #, gcc-internal-format
 msgid "code model %qs not supported in ilp32 mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19079
+#: config/aarch64/aarch64.cc:19250
 #, gcc-internal-format
 msgid "functions with %qs state require the ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19182
+#: config/aarch64/aarch64.cc:19355
 #, gcc-internal-format
 msgid "missing name in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19185
+#: config/aarch64/aarch64.cc:19358
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19189
+#: config/aarch64/aarch64.cc:19362
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %s of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19223
+#: config/aarch64/aarch64.cc:19397
 #, gcc-internal-format
 msgid "missing name in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19226
+#: config/aarch64/aarch64.cc:19400
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19230 config/aarch64/aarch64.cc:19314
+#: config/aarch64/aarch64.cc:19404 config/aarch64/aarch64.cc:19488
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %qs of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19269
+#: config/aarch64/aarch64.cc:19443
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"tune=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19310
+#: config/aarch64/aarch64.cc:19484
 #, gcc-internal-format
 msgid "missing value in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19368 config/aarch64/aarch64.cc:19541
+#: config/aarch64/aarch64.cc:19542 config/aarch64/aarch64.cc:19719
+#: config/loongarch/loongarch-target-attr.cc:144
+#: config/loongarch/loongarch-target-attr.cc:309
 #, gcc-internal-format
 msgid "malformed %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19412
+#: config/aarch64/aarch64.cc:19588
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not accept an argument"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19420 config/i386/i386-options.cc:1303
+#: config/aarch64/aarch64.cc:19596 config/i386/i386-options.cc:1311
+#: config/loongarch/loongarch-target-attr.cc:181
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not allow a negated form"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19474
+#: config/aarch64/aarch64.cc:19650
+#: config/loongarch/loongarch-target-attr.cc:221
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s=%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19531 config/arm/arm.cc:33744
-#: config/riscv/riscv-target-attr.cc:325 config/rs6000/rs6000.cc:24684
-#: config/s390/s390.cc:16421
+#: config/aarch64/aarch64.cc:19707 config/arm/arm.cc:33835
+#: config/loongarch/loongarch-target-attr.cc:297
+#: config/riscv/riscv-target-attr.cc:417 config/rs6000/rs6000.cc:24695
+#: config/s390/s390.cc:16603
 #, gcc-internal-format
 msgid "attribute %<target%> argument not a string"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19566
+#: config/aarch64/aarch64.cc:19744
 #, gcc-internal-format
-msgid "arch extension %<%s%> should be prefixed by %<+%>"
+msgid "arch extension %qs should be prefixed by %<+%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19569
+#: config/aarch64/aarch64.cc:19747
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19578
+#: config/aarch64/aarch64.cc:19756
+#: config/loongarch/loongarch-target-attr.cc:332
 #, gcc-internal-format
 msgid "malformed %<target(\"%s\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19796
+#: config/aarch64/aarch64.cc:19974
+#, gcc-internal-format
+msgid ""
+"Function Multi Versioning support is experimental, and the behavior is "
+"likely to change"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:19983 config/riscv/riscv-target-attr.cc:483
 #, gcc-internal-format
 msgid "attribute %<target_version%> has multiple values"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19804
+#: config/aarch64/aarch64.cc:19991 config/riscv/riscv-target-attr.cc:491
 #, gcc-internal-format
 msgid "attribute %<target_version%> argument not a string"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19826
+#: config/aarch64/aarch64.cc:20013
 #, gcc-internal-format
 msgid "missing value in %<target_version%> attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19830
+#: config/aarch64/aarch64.cc:20017
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %qs of value %qs in %<target_version%> attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:19836
+#: config/aarch64/aarch64.cc:20023
 #, gcc-internal-format
 msgid ""
 "duplicate feature modifier %qs of value %qs in %<target_version%> attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20415 config/i386/i386-features.cc:3521
-#: config/i386/i386-features.cc:3790
+#: config/aarch64/aarch64.cc:20609 config/i386/i386-features.cc:3911
+#: config/i386/i386-features.cc:4180 config/riscv/riscv.cc:13681
 #, gcc-internal-format
 msgid "virtual function multiversioning not supported"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20536 config/i386/i386-features.cc:3654
-#: config/rs6000/rs6000.cc:25374
+#: config/aarch64/aarch64.cc:20730 config/i386/i386-features.cc:4044
+#: config/riscv/riscv.cc:13806 config/rs6000/rs6000.cc:25385
 #, gcc-internal-format
 msgid "multiversioning needs %<ifunc%> which is not supported on this target"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:22084 config/arm/arm.cc:6690
-#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12778
+#: config/aarch64/aarch64.cc:22282 config/arm/arm.cc:6686
+#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12958
 msgid ""
 "parameter passing for argument of type %qT with %<[[no_unique_address]]%> "
 "members changed %{in GCC 10.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:22089 config/arm/arm.cc:6695
-#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12773
+#: config/aarch64/aarch64.cc:22287 config/arm/arm.cc:6691
+#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12953
 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:22094 config/arm/arm.cc:6700
+#: config/aarch64/aarch64.cc:22292 config/arm/arm.cc:6696
 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:23318 config/aarch64/aarch64.cc:23321
+#: config/aarch64/aarch64.cc:23698 config/aarch64/aarch64.cc:23701
 #, gcc-internal-format
 msgid "lane %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28634 config/i386/i386.cc:25115
-#: config/i386/i386.cc:25246
+#: config/aarch64/aarch64.cc:29228 config/i386/i386.cc:25589
+#: config/i386/i386.cc:25720
 #, gcc-internal-format
 msgid "unsupported simdlen %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28648
+#: config/aarch64/aarch64.cc:29242
 #, gcc-internal-format
 msgid "GCC does not currently support return type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28652 config/i386/i386.cc:25137
+#: config/aarch64/aarch64.cc:29246 config/i386/i386.cc:25611
 #, gcc-internal-format
 msgid "unsupported return type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28682
+#: config/aarch64/aarch64.cc:29280
 #, gcc-internal-format
 msgid "GCC does not currently support argument type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28686 config/i386/i386.cc:25168
+#: config/aarch64/aarch64.cc:29284 config/i386/i386.cc:25642
 #, gcc-internal-format
 msgid "unsupported argument type %qT for simd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28735
+#: config/aarch64/aarch64.cc:29355
 #, gcc-internal-format
 msgid "GCC does not currently support simdlen %wd for type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28756
+#: config/aarch64/aarch64.cc:29375
 #, gcc-internal-format
 msgid ""
 "GCC does not currently support a simdclone with simdlens %wd and %wd for "
 "these types."
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28846
+#: config/aarch64/aarch64.cc:29563
 #, gcc-internal-format
 msgid "cannot apply attribute %qs to %q+D after the function has been defined"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:28848
+#: config/aarch64/aarch64.cc:29565
 #, gcc-internal-format
 msgid "%q+D defined here"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:29306
+#: config/aarch64/aarch64.cc:30045
 #, gcc-internal-format
 msgid "non-local gotos in functions with SME state"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:29615
+#: config/aarch64/aarch64.cc:30354
 #, gcc-internal-format
 msgid "catching non-call exceptions in functions with SME state"
 msgstr ""
 
+#: config/aarch64/aarch64.cc:30998 config/arm/arm-mve-builtins.cc:634
+#: config/riscv/riscv-vector-builtins.cc:4493
+#, gcc-internal-format
+msgid "argument %d of %qE must be an integer constant expression"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:31011
+#, gcc-internal-format
+msgid "passing %wd to argument %d of %qE, which expects the value %wd"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:31014 config/arm/arm-mve-builtins.cc:646
+#: config/riscv/riscv-vector-builtins.cc:4507
+#, gcc-internal-format
+msgid ""
+"passing %wd to argument %d of %qE, which expects a value in the range [%wd, "
+"%wd]"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:31027
+#, gcc-internal-format
+msgid "passing %wd to argument %d of %qE, which expects either %wd or %wd"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:31041 config/arm/arm-mve-builtins.cc:685
+#, gcc-internal-format
+msgid "passing %wd to argument %d of %qE, which expects %wd, %wd, %wd or %wd"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:31053 config/arm/arm-mve-builtins.cc:672
+#, gcc-internal-format
+msgid "passing %wd to argument %d of %qE, which expects a valid %qT value"
+msgstr ""
+
 #: config/alpha/alpha.cc:420
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtrap-precision%> switch"
@@ -41546,48 +41942,48 @@ msgstr ""
 msgid "bad value %qs for %<-mfp-trap-mode%> switch"
 msgstr ""
 
-#: config/alpha/alpha.cc:468
+#: config/alpha/alpha.cc:469
 #, gcc-internal-format
 msgid "bad value %qs for %<-mcpu%> switch"
 msgstr ""
 
-#: config/alpha/alpha.cc:483
+#: config/alpha/alpha.cc:484
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtune%> switch"
 msgstr ""
 
-#: config/alpha/alpha.cc:501
+#: config/alpha/alpha.cc:502
 #, gcc-internal-format
 msgid "fp software completion requires %<-mtrap-precision=i%>"
 msgstr ""
 
-#: config/alpha/alpha.cc:517
+#: config/alpha/alpha.cc:518
 #, gcc-internal-format
 msgid "rounding mode not supported for VAX floats"
 msgstr ""
 
-#: config/alpha/alpha.cc:522
+#: config/alpha/alpha.cc:523
 #, gcc-internal-format
 msgid "trap mode not supported for VAX floats"
 msgstr ""
 
-#: config/alpha/alpha.cc:526
+#: config/alpha/alpha.cc:527
 #, gcc-internal-format
 msgid "128-bit %<long double%> not supported for VAX floats"
 msgstr ""
 
-#: config/alpha/alpha.cc:554
+#: config/alpha/alpha.cc:555
 #, gcc-internal-format, gfc-internal-format
 msgid "L%d cache latency unknown for %s"
 msgstr ""
 
-#: config/alpha/alpha.cc:569
+#: config/alpha/alpha.cc:570
 #, gcc-internal-format
 msgid "bad value %qs for %<-mmemory-latency%>"
 msgstr ""
 
-#: config/alpha/alpha.cc:6659 config/alpha/alpha.cc:6662 config/arc/arc.cc:6981
-#: config/arc/arc.cc:7255 config/s390/s390.cc:959
+#: config/alpha/alpha.cc:6741 config/alpha/alpha.cc:6744 config/arc/arc.cc:6981
+#: config/arc/arc.cc:7255 config/s390/s390.cc:942
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
@@ -41637,8 +42033,8 @@ msgstr ""
 msgid "last register name %s must be an odd register"
 msgstr ""
 
-#: config/arc/arc.cc:1102 config/ia64/ia64.cc:6062 config/pa/pa.cc:488
-#: config/sh/sh.cc:8293
+#: config/arc/arc.cc:1102 config/ia64/ia64.cc:6066 config/pa/pa.cc:492
+#: config/sh/sh.cc:8306
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
 msgstr ""
@@ -41708,22 +42104,22 @@ msgstr ""
 msgid "argument of %qE attribute is not \"ilink\" or \"firq\""
 msgstr ""
 
-#: config/arc/arc.cc:2037 config/arm/arm.cc:7483 config/arm/arm.cc:7501
-#: config/arm/arm.cc:7680 config/avr/avr.cc:11244 config/avr/avr.cc:11258
+#: config/arc/arc.cc:2037 config/arm/arm.cc:7479 config/arm/arm.cc:7497
+#: config/arm/arm.cc:7676 config/avr/avr.cc:11275 config/avr/avr.cc:11289
 #: config/bfin/bfin.cc:4695 config/bfin/bfin.cc:4756 config/bfin/bfin.cc:4786
 #: config/bpf/bpf.cc:93 config/csky/csky.cc:6459 config/csky/csky.cc:6487
-#: config/epiphany/epiphany.cc:488 config/gcn/gcn.cc:379
-#: config/h8300/h8300.cc:4948 config/i386/i386-options.cc:3711
-#: config/i386/i386-options.cc:3888 config/i386/i386-options.cc:3944
-#: config/i386/i386-options.cc:3995 config/i386/i386-options.cc:4032
-#: config/m68k/m68k.cc:796 config/mcore/mcore.cc:3067
-#: config/nvptx/nvptx.cc:5801 config/riscv/riscv.cc:5772
-#: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889
-#: config/rs6000/rs6000.cc:20635 config/rx/rx.cc:2728 config/rx/rx.cc:2754
-#: config/s390/s390.cc:1174 config/s390/s390.cc:1261 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:2403
-#: config/v850/v850.cc:2010 config/visium/visium.cc:724
+#: config/epiphany/epiphany.cc:488 config/gcn/gcn.cc:356
+#: config/h8300/h8300.cc:4948 config/i386/i386-options.cc:3719
+#: config/i386/i386-options.cc:3896 config/i386/i386-options.cc:3952
+#: config/i386/i386-options.cc:4003 config/i386/i386-options.cc:4040
+#: config/m68k/m68k.cc:804 config/mcore/mcore.cc:3070
+#: config/nvptx/nvptx.cc:5855 config/riscv/riscv.cc:6523
+#: config/rl78/rl78.cc:821 config/rl78/rl78.cc:890
+#: config/rs6000/rs6000.cc:20628 config/rx/rx.cc:2727 config/rx/rx.cc:2753
+#: config/s390/s390.cc:1157 config/s390/s390.cc:1247 config/sh/sh.cc:8442
+#: config/sh/sh.cc:8460 config/sh/sh.cc:8484 config/sh/sh.cc:8555
+#: config/sh/sh.cc:8578 config/stormy16/stormy16.cc:2403
+#: config/v850/v850.cc:2010 config/visium/visium.cc:727
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr ""
@@ -41825,123 +42221,123 @@ msgstr ""
 msgid "insn addresses not freed"
 msgstr ""
 
-#: config/arc/arc.cc:10838
+#: config/arc/arc.cc:10830
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARCv2 architecture"
 msgstr ""
 
-#: config/arc/arc.cc:10846 config/arc/arc.cc:10885
+#: config/arc/arc.cc:10838 config/arc/arc.cc:10877
 #, gcc-internal-format
 msgid "argument of %qE attribute is missing"
 msgstr ""
 
-#: config/arc/arc.cc:10857 config/arc/arc.cc:10896 config/arc/arc.cc:11022
-#: config/avr/avr.cc:11318
+#: config/arc/arc.cc:10849 config/arc/arc.cc:10888 config/arc/arc.cc:11014
+#: config/avr/avr.cc:11349
 #, gcc-internal-format
 msgid "%qE attribute allows only an integer constant argument"
 msgstr ""
 
-#: config/arc/arc.cc:10877
+#: config/arc/arc.cc:10869
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARC EM architecture"
 msgstr ""
 
-#: config/arc/arc.cc:10932
+#: config/arc/arc.cc:10924
 #, gcc-internal-format
 msgid "%qE attribute only applies to types"
 msgstr ""
 
-#: config/arc/arc.cc:10938
+#: config/arc/arc.cc:10930
 #, gcc-internal-format
 msgid "argument of %qE attribute ignored"
 msgstr ""
 
-#: config/arc/arc.cc:11012 config/avr/avr.cc:11305 config/bfin/bfin.cc:4818
-#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5824
+#: config/arc/arc.cc:11004 config/avr/avr.cc:11336 config/bfin/bfin.cc:4818
+#: config/mingw/winnt.cc:63 config/nvptx/nvptx.cc:5878
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables"
 msgstr ""
 
-#: config/arm/aarch-common.cc:553 config/i386/i386.cc:23866
+#: config/arm/aarch-common.cc:553 config/i386/i386.cc:24256
 #, gcc-internal-format
 msgid "alternatives not allowed in %<asm%> flag output"
 msgstr ""
 
-#: config/arm/aarch-common.cc:614 config/i386/i386.cc:23930
+#: config/arm/aarch-common.cc:614 config/i386/i386.cc:24320
 #, gcc-internal-format
 msgid "unknown %<asm%> flag output %qs"
 msgstr ""
 
-#: config/arm/aarch-common.cc:624 config/i386/i386.cc:23959
+#: config/arm/aarch-common.cc:624 config/i386/i386.cc:24349
 #, gcc-internal-format
 msgid "invalid type for %<asm%> flag output"
 msgstr ""
 
 #: config/arm/aarch-common.cc:714
 #, gcc-internal-format
-msgid "missing feature or flag for %<%s%>"
+msgid "missing feature or flag for %qs"
 msgstr ""
 
 #: config/arm/aarch-common.cc:716
 #, gcc-internal-format
-msgid "invalid argument %<%s%> for %<%s%>"
+msgid "invalid argument %qs for %qs"
 msgstr ""
 
 #: config/arm/aarch-common.cc:727
 #, gcc-internal-format
-msgid "argument %<%s%> can only appear alone in %<%s%>"
+msgid "argument %qs can only appear alone in %qs"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3125
+#: config/arm/arm-builtins.cc:2928
 #, gcc-internal-format, gfc-internal-format
 msgid "coprocessor %d is not enabled with +cdecp%d"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3129
+#: config/arm/arm-builtins.cc:2932
 #, gcc-internal-format
 msgid ""
 "coproc must be a constant immediate in range [0-%d] enabled with "
 "%<+cdecp<N>%>"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3138
+#: config/arm/arm-builtins.cc:2941
 #, gcc-internal-format
 msgid "argument %d to %qE must be a constant immediate in range [0-%d]"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3257
+#: config/arm/arm-builtins.cc:3060
 #, gcc-internal-format
 msgid "this builtin is not supported for this target"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3372
+#: config/arm/arm-builtins.cc:3175
 #, gcc-internal-format
 msgid "saturation bit range must be in the range [%wd, %wd]"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3377
+#: config/arm/arm-builtins.cc:3180
 #, gcc-internal-format
 msgid "saturation bit range must be a constant immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3401
+#: config/arm/arm-builtins.cc:3204
 #, gcc-internal-format
 msgid "You must enable MVE instructions to use these intrinsics"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3423
+#: config/arm/arm-builtins.cc:3226
 #, gcc-internal-format
 msgid ""
 "You must enable NEON instructions (e.g. %<-mfloat-abi=softfp%> %<-"
 "mfpu=neon%>) to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3445
+#: config/arm/arm-builtins.cc:3248
 #, gcc-internal-format
 msgid "You must enable VFP instructions to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3516
+#: config/arm/arm-builtins.cc:3319
 #, gcc-internal-format
 msgid ""
 "You must enable crypto instructions (e.g. include %<-mfloat-abi=softfp%> %<-"
@@ -41949,59 +42345,59 @@ msgid ""
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm-builtins.cc:3594 config/arm/arm-builtins.cc:3698
+#: config/arm/arm-builtins.cc:3397 config/arm/arm-builtins.cc:3501
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3602 config/arm/arm-builtins.cc:3647
-#: config/arm/arm-builtins.cc:3705 config/arm/arm-builtins.cc:3714
+#: config/arm/arm-builtins.cc:3405 config/arm/arm-builtins.cc:3450
+#: config/arm/arm-builtins.cc:3508 config/arm/arm-builtins.cc:3517
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 7"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3607 config/arm/arm-builtins.cc:3716
+#: config/arm/arm-builtins.cc:3410 config/arm/arm-builtins.cc:3519
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 3"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3612 config/arm/arm-builtins.cc:3718
+#: config/arm/arm-builtins.cc:3415 config/arm/arm-builtins.cc:3521
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 1"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3784
+#: config/arm/arm-builtins.cc:3587
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3789
+#: config/arm/arm-builtins.cc:3592
 #, gcc-internal-format
 msgid "the range of mask should be in 0 to 255"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3977
+#: config/arm/arm-builtins.cc:3780
 #, gcc-internal-format
 msgid ""
 "the range of count should be in 0 to 32; please check the intrinsic %qs in "
 "code"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3985
+#: config/arm/arm-builtins.cc:3788
 #, gcc-internal-format
 msgid ""
 "the range of count should be in 0 to 16; please check the intrinsic %qs in "
 "code"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3993
+#: config/arm/arm-builtins.cc:3796
 #, gcc-internal-format
 msgid ""
 "the range of count should be in 0 to 64; please check the intrinsic %qs in "
 "code"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:4056
+#: config/arm/arm-builtins.cc:3859
 #, gcc-internal-format
 msgid ""
 "the count should be no less than 0; please check the intrinsic %qs in code"
@@ -42029,353 +42425,377 @@ msgstr ""
 msgid "unknown %<#pragma GCC arm%> option %qs"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:472
+#: config/arm/arm-mve-builtins.cc:528
 #, gcc-internal-format
 msgid "this definition requires the MVE ISA extension"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:560
+#: config/arm/arm-mve-builtins.cc:553
+#, gcc-internal-format
+msgid "this definition requires MVE types, please include %qs"
+msgstr ""
+
+#: config/arm/arm-mve-builtins.cc:623
 #, 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:1166
+#: config/arm/arm-mve-builtins.cc:660
+#, gcc-internal-format
+msgid ""
+"passing %wd to argument %d of %qE, which expects a value multiple of %wd in "
+"the range [%wd, %wd]"
+msgstr ""
+
+#: config/arm/arm-mve-builtins.cc:1275
 #, 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
+#: config/arm/arm-mve-builtins.cc:1309
 #, 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:1220
+#: config/arm/arm-mve-builtins.cc:1329
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an MVE vector type"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:1223
+#: config/arm/arm-mve-builtins.cc:1332
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an MVE tuple type"
 msgstr ""
 
-#: config/arm/arm-mve-builtins.cc:1290
+#: config/arm/arm-mve-builtins.cc:1409
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, but previous arguments had type %qT"
 msgstr ""
 
-#: config/arm/arm.cc:2980
+#: config/arm/arm-mve-builtins.cc:1699
+#, gcc-internal-format
+msgid "passing %qT to argument %d of %qE, which expects a pointer to %qT"
+msgstr ""
+
+#: config/arm/arm-mve-builtins.cc:2341
+#, gcc-internal-format
+msgid ""
+"constant predicate argument %d (%wx) does not map to %d lane numbers, "
+"converted to %wx"
+msgstr ""
+
+#: config/arm/arm.cc:2976
 #, gcc-internal-format
 msgid "iWMMXt and NEON are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:2986
+#: config/arm/arm.cc:2982
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr ""
 
-#: config/arm/arm.cc:2990
+#: config/arm/arm.cc:2986
 #, gcc-internal-format
 msgid ""
 "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2993
+#: config/arm/arm.cc:2989
 #, gcc-internal-format
 msgid ""
 "enabling callee interworking support is only meaningful when compiling for "
 "the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:3001
+#: config/arm/arm.cc:2997
 #, gcc-internal-format
 msgid "%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.cc:3006
+#: config/arm/arm.cc:3002
 #, gcc-internal-format
 msgid "iWMMXt unsupported under Thumb mode"
 msgstr ""
 
-#: config/arm/arm.cc:3009
+#: config/arm/arm.cc:3005
 #, gcc-internal-format
 msgid "cannot use %<-mtp=cp15%> with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:3013
+#: config/arm/arm.cc:3009
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:3026
-#, gcc-internal-format, gfc-internal-format
+#: config/arm/arm.cc:3022
+#, gcc-internal-format
 msgid ""
-"%s only supports non-pic code on M-profile targets with the MOVT instruction"
+"%qs only supports non-pic code on M-profile targets with the MOVT instruction"
 msgstr ""
 
-#: config/arm/arm.cc:3031
-#, gcc-internal-format, gfc-internal-format
-msgid "%s only supports non-pic code on M-profile targets"
+#: config/arm/arm.cc:3027
+#, gcc-internal-format
+msgid "%qs only supports non-pic code on M-profile targets"
 msgstr ""
 
-#: config/arm/arm.cc:3036
+#: config/arm/arm.cc:3032
 #, gcc-internal-format
-msgid "%s incompatible with %<-mword-relocations%>"
+msgid "%qs is incompatible with %<-mword-relocations%>"
 msgstr ""
 
-#: config/arm/arm.cc:3138
+#: config/arm/arm.cc:3134
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.cc:3188
+#: config/arm/arm.cc:3184
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr ""
 
-#: config/arm/arm.cc:3247 config/arm/arm.cc:33417
+#: config/arm/arm.cc:3243 config/arm/arm.cc:33499
 #, gcc-internal-format
 msgid "This architecture does not support branch protection instructions"
 msgstr ""
 
-#: config/arm/arm.cc:3250
+#: config/arm/arm.cc:3246
 #, gcc-internal-format
 msgid "Return address signing is not supported with %<-mtpcs-frame%>."
 msgstr ""
 
-#: config/arm/arm.cc:3388
+#: config/arm/arm.cc:3384
 #, gcc-internal-format
 msgid "switch %<-mcpu=%s%> conflicts with switch %<-march=%s%>"
 msgstr ""
 
-#: config/arm/arm.cc:3643
+#: config/arm/arm.cc:3639
 #, gcc-internal-format
 msgid "%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>"
 msgstr ""
 
-#: config/arm/arm.cc:3652
+#: config/arm/arm.cc:3648
 #, gcc-internal-format
 msgid "%<-fpic%> and %<-mapcs-reent%> are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3655
+#: config/arm/arm.cc:3651
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.cc:3678
+#: config/arm/arm.cc:3674
 #, gcc-internal-format
 msgid "option %<-mstructure-size-boundary%> is deprecated"
 msgstr ""
 
-#: config/arm/arm.cc:3686
+#: config/arm/arm.cc:3682
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.cc:3688
+#: config/arm/arm.cc:3684
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.cc:3713
+#: config/arm/arm.cc:3709
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with %<-msingle-pic-base%>"
 msgstr ""
 
-#: config/arm/arm.cc:3725 config/arm/arm.cc:33758
+#: config/arm/arm.cc:3721 config/arm/arm.cc:33849
 #, gcc-internal-format
 msgid "FDPIC mode is not supported in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:3733
+#: config/arm/arm.cc:3729
 #, gcc-internal-format
 msgid "%<-mpic-register=%> is useless without %<-fpic%>"
 msgstr ""
 
-#: config/arm/arm.cc:3742
+#: config/arm/arm.cc:3738
 #, gcc-internal-format
 msgid "unable to use %qs for PIC register"
 msgstr ""
 
-#: config/arm/arm.cc:3782 config/pru/pru.cc:612
+#: config/arm/arm.cc:3778 config/pru/pru.cc:627
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> not supported on this architecture"
 msgstr ""
 
-#: config/arm/arm.cc:3950
+#: config/arm/arm.cc:3946
 #, gcc-internal-format
 msgid "selected fp16 options are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3985
+#: config/arm/arm.cc:3981
 #, gcc-internal-format
 msgid "%<-mstack-protector-guard=tls%> needs a hardware TLS register"
 msgstr ""
 
-#: config/arm/arm.cc:4005
+#: config/arm/arm.cc:4001
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.cc:4008
+#: config/arm/arm.cc:4004
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.cc:4016
+#: config/arm/arm.cc:4012
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.cc:4029
+#: config/arm/arm.cc:4025
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcaller-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:4032
+#: config/arm/arm.cc:4028
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcallee-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:4037
+#: config/arm/arm.cc:4033
 #, gcc-internal-format
 msgid "%<__fp16%> and no ldrh"
 msgstr ""
 
-#: config/arm/arm.cc:4040
+#: config/arm/arm.cc:4036
 #, gcc-internal-format
 msgid "target CPU does not support ARMv8-M Security Extensions"
 msgstr ""
 
-#: config/arm/arm.cc:4045
+#: config/arm/arm.cc:4041
 #, gcc-internal-format
 msgid "ARMv8-M Security Extensions incompatible with selected FPU"
 msgstr ""
 
-#: config/arm/arm.cc:4057
+#: config/arm/arm.cc:4053
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%>: selected architecture lacks an FPU"
 msgstr ""
 
-#: config/arm/arm.cc:4065
+#: config/arm/arm.cc:4061
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%> and VFP"
 msgstr ""
 
-#: config/arm/arm.cc:6330
+#: config/arm/arm.cc:6326
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6332
+#: config/arm/arm.cc:6328
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6361
+#: config/arm/arm.cc:6357
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6636
+#: config/arm/arm.cc:6632
 #, gcc-internal-format
 msgid "Thumb-1 %<hard-float%> VFP ABI"
 msgstr ""
 
-#: config/arm/arm.cc:6731
+#: config/arm/arm.cc:6727
 #, gcc-internal-format
 msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7115 config/arm/arm.cc:7336 config/arm/arm.cc:7369
-#: config/arm/arm.cc:29480
+#: config/arm/arm.cc:7111 config/arm/arm.cc:7332 config/arm/arm.cc:7365
+#: config/arm/arm.cc:29585
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 7.1"
 msgstr ""
 
-#: config/arm/arm.cc:7507
+#: config/arm/arm.cc:7503
 #, gcc-internal-format
 msgid ""
 "FP registers might be clobbered despite %qE attribute: compile with %<-"
 "mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7629
+#: config/arm/arm.cc:7625
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with arguments passed on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7641
+#: config/arm/arm.cc:7637
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with variable number of arguments"
 msgstr ""
 
-#: config/arm/arm.cc:7650
+#: config/arm/arm.cc:7646
 #, gcc-internal-format
 msgid "%qE attribute not available to functions that return value on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7672 config/arm/arm.cc:7724
+#: config/arm/arm.cc:7668 config/arm/arm.cc:7720
 #, gcc-internal-format
 msgid "%qE attribute ignored without %<-mcmse%> option"
 msgstr ""
 
-#: config/arm/arm.cc:7691
+#: config/arm/arm.cc:7687
 #, gcc-internal-format
 msgid "%qE attribute has no effect on functions with static linkage"
 msgstr ""
 
-#: config/arm/arm.cc:7744
+#: config/arm/arm.cc:7740
 #, gcc-internal-format
 msgid "%qE attribute only applies to base type of a function pointer"
 msgstr ""
 
-#: config/arm/arm.cc:9737
+#: config/arm/arm.cc:9751
 #, gcc-internal-format
 msgid ""
 "accessing thread-local storage is not currently supported with %<-mpure-"
 "code%> or %<-mslow-flash-data%>"
 msgstr ""
 
-#: config/arm/arm.cc:13588 config/arm/arm.cc:13590
+#: config/arm/arm.cc:13583 config/arm/arm.cc:13585
 #, gcc-internal-format
 msgid "%s %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/arm/arm.cc:26067
+#: config/arm/arm.cc:26126
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.cc:26730
+#: config/arm/arm.cc:26789
 #, gcc-internal-format
 msgid "Unexpected thumb1 far jump"
 msgstr ""
 
-#: config/arm/arm.cc:26989
+#: config/arm/arm.cc:27044
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.cc:27242
+#: config/arm/arm.cc:27297
 #, gcc-internal-format
 msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:27488
+#: config/arm/arm.cc:27595
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> for Thumb-1"
 msgstr ""
 
-#: config/arm/arm.cc:33773
+#: config/arm/arm.cc:33864
 #, gcc-internal-format
 msgid "invalid fpu for target attribute or pragma %qs"
 msgstr ""
@@ -42383,22 +42803,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:33781
+#: config/arm/arm.cc:33872
 #, gcc-internal-format
 msgid "auto fpu selection not currently permitted here"
 msgstr ""
 
-#: config/arm/arm.cc:33794
+#: config/arm/arm.cc:33885
 #, gcc-internal-format
 msgid "invalid architecture for target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:33808
+#: config/arm/arm.cc:33899
 #, gcc-internal-format
 msgid "unknown target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:34771
+#: config/arm/arm.cc:36136
 #, gcc-internal-format
 msgid "%<asm%> flags not supported in thumb1 mode"
 msgstr ""
@@ -42447,59 +42867,69 @@ 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:1090
+#: config/avr/avr.cc:462
 #, gcc-internal-format
 msgid "unknown core architecture %qs specified with %qs"
 msgstr ""
 
-#: config/avr/avr.cc:1144 config/pru/pru.cc:601 config/visium/visium.cc:422
+#: config/avr/avr.cc:522 config/pru/pru.cc:616 config/visium/visium.cc:425
 #, gcc-internal-format
 msgid "%<-fpic%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1146 config/pru/pru.cc:603 config/visium/visium.cc:424
+#: config/avr/avr.cc:524 config/pru/pru.cc:618 config/visium/visium.cc:427
 #, gcc-internal-format
 msgid "%<-fPIC%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1148 config/pru/pru.cc:605
+#: config/avr/avr.cc:526 config/pru/pru.cc:620
 #, gcc-internal-format
 msgid "%<-fpie%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1150 config/pru/pru.cc:607
+#: config/avr/avr.cc:528 config/pru/pru.cc:622
 #, gcc-internal-format
 msgid "%<-fPIE%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1446 config/avr/avr.cc:1451 config/riscv/riscv.cc:9789
+#: config/avr/avr.cc:953 config/avr/avr.cc:958 config/riscv/riscv.cc:11221
 #, gcc-internal-format
 msgid "function attributes %qs and %qs are mutually exclusive"
 msgstr ""
 
-#: config/avr/avr.cc:1472 config/riscv/riscv.cc:9801
+#: config/avr/avr.cc:980 config/riscv/riscv.cc:11233
 #, gcc-internal-format
 msgid "%qs function cannot have arguments"
 msgstr ""
 
-#: config/avr/avr.cc:1475 config/riscv/riscv.cc:9798
+#: config/avr/avr.cc:982
+#, gcc-internal-format
+msgid "method %qs has an implicit %<this%> argument"
+msgstr ""
+
+#: config/avr/avr.cc:986 config/riscv/riscv.cc:11230
 #, gcc-internal-format
 msgid "%qs function cannot return a value"
 msgstr ""
 
-#: config/avr/avr.cc:1489
+#: config/avr/avr.cc:998
 #, gcc-internal-format
 msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix"
 msgstr ""
 
-#: config/avr/avr.cc:1500
+#: config/avr/avr.cc:1004
+#, gcc-internal-format
+msgid "%qs attribute ignored on non-ISR function"
+msgstr ""
+
+#: config/avr/avr.cc:1014
 #, 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:1507
+#: config/avr/avr.cc:1021
 #, gcc-internal-format
 msgid ""
 "%qs is a deprecated identifier in AVR-LibC.  Consider %<#include <avr/"
@@ -42507,111 +42937,127 @@ msgid ""
 "macro"
 msgstr ""
 
-#: config/avr/avr.cc:1728
+#: config/avr/avr.cc:1243
 #, gcc-internal-format
 msgid "%<builtin_return_address%> contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.cc:3716
+#: config/avr/avr.cc:2628
 #, gcc-internal-format
-msgid "pointer offset from symbol maybe incorrect"
+msgid "pointer offset from symbol may be incorrect"
 msgstr ""
 
-#: config/avr/avr.cc:3855
+#: config/avr/avr.cc:2809
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.cc:3916
+#: config/avr/avr.cc:2862
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.cc:4258
+#: config/avr/avr.cc:3208
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.cc:4518
+#: config/avr/avr.cc:3671
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.cc:11277
+#: config/avr/avr.cc:11308
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables in static storage"
 msgstr ""
 
-#: config/avr/avr.cc:11284
+#: config/avr/avr.cc:11315
 #, gcc-internal-format
 msgid "%qE attribute only supported for reduced Tiny cores"
 msgstr ""
 
-#: config/avr/avr.cc:11326
+#: config/avr/avr.cc:11357
 #, gcc-internal-format
 msgid "%qE attribute address out of range 0x%x%s0x%x"
 msgstr ""
 
-#: config/avr/avr.cc:11340
+#: config/avr/avr.cc:11371
 #, gcc-internal-format
 msgid "both %s and %qE attribute provide address"
 msgstr ""
 
-#: config/avr/avr.cc:11350
+#: config/avr/avr.cc:11381
 #, gcc-internal-format
 msgid "%qE attribute on non-volatile variable"
 msgstr ""
 
-#: config/avr/avr.cc:11426
+#: config/avr/avr.cc:11459
 #, gcc-internal-format
 msgid "address spaces are not supported for reduced Tiny devices"
 msgstr ""
 
-#: config/avr/avr.cc:11433
+#: config/avr/avr.cc:11466
 #, gcc-internal-format
 msgid ""
 "address space %qs not supported for devices with flash size up to %d KiB"
 msgstr ""
 
-#: config/avr/avr.cc:11613
+#: config/avr/avr.cc:11647
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.cc:11616
+#: config/avr/avr.cc:11650
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.cc:11637
+#: config/avr/avr.cc:11675
+#, gcc-internal-format
+msgid "attribute %qs expects a constant positive integer argument"
+msgstr ""
+
+#: config/avr/avr.cc:11679
+#, gcc-internal-format
+msgid "vector number %d of %q+D is out of range 1%s3 for compact vector table"
+msgstr ""
+
+#: config/avr/avr.cc:11704
 #, gcc-internal-format
 msgid "variable %q+D with attribute %qs must be located in static storage"
 msgstr ""
 
-#: config/avr/avr.cc:11688
+#: config/avr/avr.cc:11741
+#, gcc-internal-format
+msgid ""
+"%<section(\"%s\")%> attribute on main function inhibits %<-mno-call-main%>"
+msgstr ""
+
+#: config/avr/avr.cc:11797
 #, gcc-internal-format
 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:11849
+#: config/avr/avr.cc:11958
 #, gcc-internal-format
 msgid "static attribute %qs declaration for %q+D needs an address"
 msgstr ""
 
-#: config/avr/avr.cc:11938
+#: config/avr/avr.cc:12047
 #, 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:12015
+#: config/avr/avr.cc:12124
 #, gcc-internal-format
 msgid "variable %q+D with dynamic initialization put into program memory area"
 msgstr ""
 
-#: config/avr/avr.cc:12026
+#: config/avr/avr.cc:12135
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
@@ -42620,44 +43066,51 @@ msgstr ""
 #. 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:12091
+#: config/avr/avr.cc:12200
 #, gcc-internal-format
 msgid "variable %q+D with attribute %qs must not have an initializer"
 msgstr ""
 
-#: config/avr/avr.cc:12144
+#: config/avr/avr.cc:12253
 #, gcc-internal-format
 msgid "%q+D has incompatible attributes %qs and %qs"
 msgstr ""
 
-#: config/avr/avr.cc:12207
+#: config/avr/avr.cc:12317
 #, gcc-internal-format
 msgid "architecture %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.cc:14767
+#: config/avr/avr.cc:14956
 #, gcc-internal-format
 msgid "conversion from address space %qs to address space %qs"
 msgstr ""
 
-#: config/avr/avr.cc:15848 config/avr/avr.cc:15861
+#: config/avr/avr.cc:16106 config/avr/avr.cc:16119
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr ""
 
-#: config/avr/avr.cc:15875
+#: config/avr/avr.cc:16134
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"%s expects a compile time integer constant of 0x01, 0x7f, 0x80 or 0xfe as "
+"first argument"
+msgstr ""
+
+#: config/avr/avr.cc:16149
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr ""
 
-#: config/avr/avr.cc:15903
+#: config/avr/avr.cc:16177
 #, 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:15912
+#: config/avr/avr.cc:16186
 #, gcc-internal-format
 msgid "rounding result will always be 0"
 msgstr ""
@@ -42704,7 +43157,7 @@ msgstr ""
 msgid "ID shared libraries and FD-PIC mode cannot be used together"
 msgstr ""
 
-#: config/bfin/bfin.cc:2393 config/m68k/m68k.cc:594
+#: config/bfin/bfin.cc:2393 config/m68k/m68k.cc:602
 #, gcc-internal-format
 msgid "cannot specify both %<-msep-data%> and %<-mid-shared-library%>"
 msgstr ""
@@ -42766,67 +43219,66 @@ msgstr ""
 msgid "BPF CO-RE does not support LTO"
 msgstr ""
 
-#: config/bpf/bpf.cc:251
+#: config/bpf/bpf.cc:256
 #, gcc-internal-format
 msgid "%<-fstack-protector%> does not work on this architecture"
 msgstr ""
 
-#: config/bpf/bpf.cc:366
+#: config/bpf/bpf.cc:371
 #, gcc-internal-format
 msgid "eBPF stack limit exceeded"
 msgstr ""
 
-#: config/bpf/bpf.cc:685
+#: config/bpf/bpf.cc:690
 #, gcc-internal-format
 msgid "too many function arguments for eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:704 config/bpf/bpf.cc:706
+#: config/bpf/bpf.cc:709 config/bpf/bpf.cc:711
 #, gcc-internal-format
 msgid "no constructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:722 config/bpf/bpf.cc:724
+#: config/bpf/bpf.cc:727 config/bpf/bpf.cc:729
 #, gcc-internal-format
 msgid "no destructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:776
+#: config/bpf/bpf.cc:781
 #, gcc-internal-format
 msgid "indirect call in function, which are not supported by eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:1051 config/loongarch/loongarch-builtins.cc:3005
-#: config/mips/mips.cc:17394 config/nios2/nios2.cc:3602
-#: config/riscv/riscv-builtins.cc:344
-#: config/riscv/riscv-vector-builtins.cc:4226
+#: config/bpf/bpf.cc:1065 config/loongarch/loongarch-builtins.cc:2927
+#: config/mips/mips.cc:17557 config/riscv/riscv-builtins.cc:360
+#: config/riscv/riscv-vector-builtins.cc:4473
 #, gcc-internal-format
 msgid "invalid argument to built-in function"
 msgstr ""
 
-#: config/bpf/bpf.cc:1065
+#: config/bpf/bpf.cc:1079
 #, gcc-internal-format
 msgid "invalid built-in function at expansion"
 msgstr ""
 
-#: config/bpf/bpf.cc:1287 config/bpf/bpf.cc:1290
+#: config/bpf/bpf.cc:1302 config/bpf/bpf.cc:1305
 #, gcc-internal-format
 msgid "could not inline call to %<__builtin_%s%>: size must be constant"
 msgstr ""
 
-#: config/bpf/bpf.cc:1318 config/bpf/bpf.cc:1321
+#: config/bpf/bpf.cc:1333 config/bpf/bpf.cc:1336
 #, gcc-internal-format
 msgid ""
 "could not inline call to %<__builtin_%s%>: too many bytes, use %<-minline-"
 "memops-threshold%>"
 msgstr ""
 
-#: config/bpf/bpf.cc:1371 config/bpf/bpf.cc:1374
+#: config/bpf/bpf.cc:1386 config/bpf/bpf.cc:1389
 #, gcc-internal-format
 msgid "could not inline call to %<__builtin_memset%>: size must be constant"
 msgstr ""
 
-#: config/bpf/bpf.cc:1402 config/bpf/bpf.cc:1405
+#: config/bpf/bpf.cc:1417 config/bpf/bpf.cc:1420
 #, gcc-internal-format
 msgid ""
 "could not inline call to %<__builtin_memset%>: too many bytes, use %<-"
@@ -42842,33 +43294,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:732
+#: config/cris/cris.cc:736
 #, gcc-internal-format
 msgid "MULT case in %<cris_op_str%>"
 msgstr ""
 
-#: config/cris/cris.cc:1249 config/moxie/moxie.cc:186 config/or1k/or1k.cc:1294
+#: config/cris/cris.cc:1253 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:2272
+#: config/cris/cris.cc:2276
 #, gcc-internal-format
 msgid "internal error: %<cris_side_effect_mode_ok%> with bad operands"
 msgstr ""
 
-#: config/cris/cris.cc:2325
+#: config/cris/cris.cc:2329
 #, gcc-internal-format
 msgid "%<-max-stackframe=%d%> is not usable, not between 0 and %d"
 msgstr ""
 
-#: config/cris/cris.cc:2354
+#: config/cris/cris.cc:2358
 #, gcc-internal-format
 msgid "unknown CRIS version specification in %<-march=%> or %<-mcpu=%>: %s"
 msgstr ""
 
-#: config/cris/cris.cc:2390
+#: config/cris/cris.cc:2394
 #, gcc-internal-format
 msgid "unknown CRIS cpu version specification in %<-mtune=%>: %s"
 msgstr ""
@@ -42876,35 +43328,35 @@ 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:2406
+#: config/cris/cris.cc:2410
 #, gcc-internal-format
 msgid "%<-fPIC%> and %<-fpic%> are not supported on this target"
 msgstr ""
 
-#: config/cris/cris.cc:2607
+#: config/cris/cris.cc:2643
 #, gcc-internal-format
 msgid "unknown src"
 msgstr ""
 
-#: config/cris/cris.cc:2657
+#: config/cris/cris.cc:2693
 #, gcc-internal-format
 msgid "unknown dest"
 msgstr ""
 
-#: config/cris/cris.cc:3059
+#: config/cris/cris.cc:3095
 #, gcc-internal-format, gfc-internal-format
 msgid "stackframe too big: %d bytes"
 msgstr ""
 
 #: config/csky/csky.cc:2544
-#, gcc-internal-format, gfc-internal-format
-msgid "cpu %s is not based on arch %s, ignoring the arch"
+#, gcc-internal-format
+msgid "cpu %qs is not based on arch %qs, 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
 #, gcc-internal-format
-msgid "%qs is not supported by arch %s"
+msgid "%qs is not supported by arch %qs"
 msgstr ""
 
 #: config/csky/csky.cc:2651
@@ -42991,12 +43443,12 @@ msgstr ""
 msgid "invalid IACC argument"
 msgstr ""
 
-#: config/frv/frv.cc:8594 config/sparc/sparc.cc:11033
+#: config/frv/frv.cc:8594 config/sparc/sparc.cc:11037
 #, gcc-internal-format
 msgid "%qs expects a constant argument"
 msgstr ""
 
-#: config/frv/frv.cc:8599 config/sparc/sparc.cc:11039
+#: config/frv/frv.cc:8599 config/sparc/sparc.cc:11043
 #, gcc-internal-format
 msgid "constant argument out of range for %qs"
 msgstr ""
@@ -43046,86 +43498,79 @@ msgstr ""
 msgid "stack frame must be smaller than 64K"
 msgstr ""
 
-#: config/gcn/gcn.cc:175
+#: config/gcn/gcn.cc:171
 #, gcc-internal-format
 msgid "%<-mxnack=on%> is incompatible with %<-march=%s%>"
 msgstr ""
 
-#: config/gcn/gcn.cc:292
+#: config/gcn/gcn.cc:269
 #, gcc-internal-format
 msgid "%<amdgpu_hsa_kernel%> attribute requires string constant arguments"
 msgstr ""
 
-#: config/gcn/gcn.cc:305
+#: config/gcn/gcn.cc:282
 #, gcc-internal-format
 msgid "unknown specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:312
+#: config/gcn/gcn.cc:289
 #, gcc-internal-format
 msgid "duplicated parameter specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:364
+#: config/gcn/gcn.cc:341
 #, gcc-internal-format
 msgid "too many arguments passed in sgpr registers"
 msgstr ""
 
-#: config/gcn/gcn.cc:2523
+#: config/gcn/gcn.cc:2492
 #, gcc-internal-format
 msgid ""
 "A non-default set of initial values has been requested, which violates the "
 "ABI"
 msgstr ""
 
-#: config/gcn/gcn.cc:2791
+#: config/gcn/gcn.cc:2760
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong type of argument %s"
 msgstr ""
 
-#: config/gcn/gcn.cc:3802
-#, gcc-internal-format
-msgid ""
-"nested function trampolines not supported on GCN5 due to non-executable "
-"stacks"
-msgstr ""
-
-#: config/gcn/gcn.cc:3954
+#: config/gcn/gcn.cc:3889
 #, gcc-internal-format
 msgid "TLS is not implemented for GCN."
 msgstr ""
 
-#: config/gcn/gcn.cc:5046
+#: config/gcn/gcn.cc:4981
 #, gcc-internal-format
 msgid "Builtin not implemented"
 msgstr ""
 
-#: config/gcn/gcn.cc:5692
+#: config/gcn/gcn.cc:5627
 #, gcc-internal-format
 msgid "unsupported simdlen %wd (amdgcn)"
 msgstr ""
 
-#: config/gcn/gcn.cc:6402
+#: config/gcn/gcn.cc:6338
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:6403
+#: config/gcn/gcn.cc:6339
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/gcn/gcn.cc:6415 config/nvptx/nvptx.cc:6607
+#: config/gcn/gcn.cc:6351 config/nvptx/nvptx.cc:6708
 #, gcc-internal-format
 msgid "using %<num_workers (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:6442 config/gcn/gcn.cc:6471
+#: config/gcn/gcn.cc:6378 config/gcn/gcn.cc:6407
 #, gcc-internal-format, gfc-internal-format
 msgid "offload dimension out of range (%d)"
 msgstr ""
 
-#: config/gcn/gcn.cc:6980
+#: config/gcn/gcn.cc:6894
 #, gcc-internal-format
 msgid ""
 "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-"
@@ -43137,71 +43582,84 @@ msgstr ""
 msgid "deleting file %qs: %m"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:877
+#: config/gcn/mkoffload.cc:785
+#, gcc-internal-format
+msgid "%<-foffload-abi-host-opts%> not specified"
+msgstr ""
+
+#. else
+#: config/gcn/mkoffload.cc:810
 #, gcc-internal-format
 msgid "unrecognized argument in option %<-march=%s%>"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:901
+#: config/gcn/mkoffload.cc:834
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> are: %s"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:904
+#: config/gcn/mkoffload.cc:837
 #, gcc-internal-format
 msgid "valid argument to %<-march=%> is %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:940
+#: config/gcn/mkoffload.cc:923
+#, gcc-internal-format
+msgid ""
+"GCC was built without library support for %<-march=%s%>; consider compiling "
+"for the associated generic architecture %<-march=%s%> instead"
+msgstr ""
+
+#: config/gcn/mkoffload.cc:958
 #, gcc-internal-format
 msgid "%<COLLECT_GCC%> must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:986
+#: config/gcn/mkoffload.cc:1004
 #, gcc-internal-format
 msgid "offload compiler %qs not found"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1008
+#: config/gcn/mkoffload.cc:1026
 #, gcc-internal-format
 msgid "unrecognizable argument of option %<"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1060 config/nvptx/mkoffload.cc:753
+#: config/gcn/mkoffload.cc:1033 config/nvptx/mkoffload.cc:722
+#, gcc-internal-format
+msgid "%<-foffload-abi-host-opts%> specified multiple times"
+msgstr ""
+
+#: config/gcn/mkoffload.cc:1089 config/nvptx/mkoffload.cc:756
 #, gcc-internal-format
 msgid "either %<-fopenacc%> or %<-fopenmp%> must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1112
+#: config/gcn/mkoffload.cc:1118 config/gcn/mkoffload.cc:1135
 #, gcc-internal-format
 msgid "unhandled architecture"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1152 config/gcn/mkoffload.cc:1304
+#: config/gcn/mkoffload.cc:1185 config/gcn/mkoffload.cc:1337
 #, gcc-internal-format
 msgid "cannot open %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1290 config/nvptx/mkoffload.cc:843
+#: config/gcn/mkoffload.cc:1323 config/nvptx/mkoffload.cc:846
 #, gcc-internal-format
 msgid "cannot open omp_requires file %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1294 config/nvptx/mkoffload.cc:847
+#: config/gcn/mkoffload.cc:1327 config/nvptx/mkoffload.cc:850
 #, gcc-internal-format
 msgid "cannot read omp_requires file %qs"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1300
+#: config/gcn/mkoffload.cc:1333
 #, gcc-internal-format
 msgid "cannot open intermediate gcn asm file"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1317
-#, gcc-internal-format
-msgid "cannot open intermediate gcn obj file"
-msgstr ""
-
 #: config/h8300/h8300.cc:298
 #, gcc-internal-format
 msgid "%<-ms2600%> is used without %<-ms%>"
@@ -43227,6 +43685,14 @@ msgstr ""
 msgid "%<-mn%> is not supported for linux targets"
 msgstr ""
 
+#: config/i386/driver-i386.cc:659
+#, gcc-internal-format
+msgid ""
+"Xeon Phi ISA support has been removed since GCC 15, use GCC 14 for the Xeon "
+"Phi ISAs or %<-march=broadwell%> for all the other ISAs supported on this "
+"machine."
+msgstr ""
+
 #: config/i386/host-cygwin.cc:64
 #, gcc-internal-format
 msgid "cannot extend PCH file: %m"
@@ -43237,526 +43703,491 @@ msgstr ""
 msgid "cannot set position in PCH file: %m"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:1962
+#: config/i386/i386-builtins.cc:1939
 #, gcc-internal-format
 msgid "no dispatcher found for the versioning attributes"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2012
+#: config/i386/i386-builtins.cc:1989
 #, gcc-internal-format
 msgid "ISA %qs is not supported in %<target%> attribute, use %<arch=%> syntax"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2023
+#: config/i386/i386-builtins.cc:2000
 #, gcc-internal-format, gfc-internal-format
 msgid "no dispatcher found for the versioning attributes: %s"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2133
+#: config/i386/i386-builtins.cc:2110
 #, gcc-internal-format
 msgid "parameter to builtin must be a string constant or literal"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2157 config/i386/i386-builtins.cc:2206
+#: config/i386/i386-builtins.cc:2134 config/i386/i386-builtins.cc:2183
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter to builtin not valid: %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9752
+#: config/i386/i386-expand.cc:10110
 #, gcc-internal-format
 msgid "interrupt service routine cannot be called directly"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10223 config/i386/i386-expand.cc:11810
+#: config/i386/i386-expand.cc:10583 config/i386/i386-expand.cc:12243
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10697
+#: config/i386/i386-expand.cc:11083
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10792
+#: config/i386/i386-expand.cc:11178
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11739
+#: config/i386/i386-expand.cc:12172
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11754
+#: config/i386/i386-expand.cc:12187
 #, gcc-internal-format
 msgid "the last argument must be a 3-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11789
+#: config/i386/i386-expand.cc:12222
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11829
+#: config/i386/i386-expand.cc:12262
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11845
+#: config/i386/i386-expand.cc:12271
+#, gcc-internal-format, gfc-internal-format
+msgid "'%s' needs isa option %s"
+msgstr ""
+
+#: config/i386/i386-expand.cc:12284
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11855
+#: config/i386/i386-expand.cc:12294
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11860
+#: config/i386/i386-expand.cc:12299
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11997
+#: config/i386/i386-expand.cc:12438
 #, gcc-internal-format
 msgid "the third argument must be comparison constant"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12002
+#: config/i386/i386-expand.cc:12443
 #, gcc-internal-format
 msgid "incorrect comparison mode"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12008 config/i386/i386-expand.cc:12332
+#: config/i386/i386-expand.cc:12449 config/i386/i386-expand.cc:12912
 #, gcc-internal-format
 msgid "incorrect rounding operand"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12312
+#: config/i386/i386-expand.cc:12892
 #, gcc-internal-format
 msgid "the immediate argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12320
+#: config/i386/i386-expand.cc:12900
 #, gcc-internal-format
 msgid "the immediate argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12323
+#: config/i386/i386-expand.cc:12903
 #, gcc-internal-format
 msgid "the immediate argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12799
+#: config/i386/i386-expand.cc:13383
 #, gcc-internal-format
 msgid "the fourth argument must be one of enum %qs"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12869 config/rs6000/rs6000-builtin.cc:2378
+#: config/i386/i386-expand.cc:13453
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range [0, %wi]"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13120
+#: config/i386/i386-expand.cc:13710
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13124
+#: config/i386/i386-expand.cc:13714
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13612
+#: config/i386/i386-expand.cc:14214
 #, gcc-internal-format
 msgid "second, third and fourth argument must be a const"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13620
+#: config/i386/i386-expand.cc:14220
+#, gcc-internal-format
+msgid "invalid second argument to %<__builtin_ia32_prefetch%>; using zero"
+msgstr ""
+
+#: config/i386/i386-expand.cc:14229
 #, gcc-internal-format
 msgid "invalid third argument"
 msgstr ""
 
 #. Ignore the hint.
-#: config/i386/i386-expand.cc:13629 config/i386/i386-expand.cc:13684
+#: config/i386/i386-expand.cc:14238 config/i386/i386-expand.cc:14299
 #, 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:13646
+#: config/i386/i386-expand.cc:14248
+#, gcc-internal-format
+msgid "invalid forth argument to %<__builtin_ia32_prefetch%>; using zero"
+msgstr ""
+
+#: config/i386/i386-expand.cc:14259
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_ia32_prefetch%>; using zero"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13672
+#: config/i386/i386-expand.cc:14287
 #, gcc-internal-format
 msgid "second argument must be a const"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14218
+#: config/i386/i386-expand.cc:14833
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14251
+#: config/i386/i386-expand.cc:14866
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:15013 config/i386/i386-expand.cc:15225
+#: config/i386/i386-expand.cc:15604 config/i386/i386-expand.cc:15816
 #, gcc-internal-format
 msgid "the last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386-expand.cc:15278
-#, gcc-internal-format
-msgid "the forth argument must be scale 1, 2, 4, 8"
-msgstr ""
-
-#: config/i386/i386-expand.cc:15284
-#, gcc-internal-format
-msgid "incorrect hint operand"
-msgstr ""
-
-#: config/i386/i386-expand.cc:15303
+#: config/i386/i386-expand.cc:15834
 #, gcc-internal-format
 msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-features.cc:3516
+#: config/i386/i386-features.cc:3906
 #, gcc-internal-format
 msgid ""
 "function versions cannot be marked as %<gnu_inline%>, bodies have to be "
 "generated"
 msgstr ""
 
-#: config/i386/i386-options.cc:925 config/i386/i386-options.cc:2251
-#: config/i386/i386-options.cc:2260
+#: config/i386/i386-options.cc:929 config/i386/i386-options.cc:2272
+#: config/i386/i386-options.cc:2281
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:1208
+#: config/i386/i386-options.cc:1216
 #, gcc-internal-format
 msgid "attribute %qs argument is not a string"
 msgstr ""
 
-#: config/i386/i386-options.cc:1272
+#: config/i386/i386-options.cc:1280
 #, gcc-internal-format
 msgid "attribute %qs argument %qs is unknown"
 msgstr ""
 
-#: config/i386/i386-options.cc:1335
+#: config/i386/i386-options.cc:1343
 #, gcc-internal-format
 msgid "attribute value %qs was already specified in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1373
+#: config/i386/i386-options.cc:1381
 #, gcc-internal-format
 msgid "attribute value %qs is unknown in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1674
+#: config/i386/i386-options.cc:1682
 #, gcc-internal-format
 msgid "wrong argument %qs to option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1680
+#: config/i386/i386-options.cc:1688
 #, gcc-internal-format
 msgid "size ranges of option %qs should be increasing"
 msgstr ""
 
-#: config/i386/i386-options.cc:1690
+#: config/i386/i386-options.cc:1698
 #, 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:1716
+#: config/i386/i386-options.cc:1724
 #, gcc-internal-format
 msgid ""
 "strategy name %qs specified for option %qs not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:1729
+#: config/i386/i386-options.cc:1737
 #, gcc-internal-format
 msgid "unknown alignment %qs specified for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1739
+#: config/i386/i386-options.cc:1747
 #, gcc-internal-format
 msgid "the max value for the last size range should be -1 for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1746
+#: config/i386/i386-options.cc:1754
 #, gcc-internal-format
 msgid "too many size ranges specified in option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1824
+#: config/i386/i386-options.cc:1832
 #, gcc-internal-format
 msgid "unknown parameter to option %<-mtune-ctrl%>: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2047
+#: config/i386/i386-options.cc:2077
 #, gcc-internal-format
 msgid "Intel MCU psABI isn%'t supported in %s mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2101
+#: config/i386/i386-options.cc:2131
 #, gcc-internal-format
 msgid ""
 "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> "
 "instead as appropriate"
 msgstr ""
 
-#: config/i386/i386-options.cc:2103
+#: config/i386/i386-options.cc:2133
 #, 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:2109
-#, gcc-internal-format
-msgid "%<-mtune=knl%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2110
-#, gcc-internal-format
-msgid "%<target(\"tune=knl\")%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2115
-#, gcc-internal-format
-msgid "%<-mtune=knm%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2116
-#, 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:2143
+#: config/i386/i386-options.cc:2161
 #, gcc-internal-format
 msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2148
+#: config/i386/i386-options.cc:2167
 #, gcc-internal-format
 msgid "%<-mapxf%> is not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2150
+#: config/i386/i386-options.cc:2170
 #, gcc-internal-format
 msgid "%<-mapx-features=%> option is not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2153
+#: config/i386/i386-options.cc:2174
 #, gcc-internal-format
 msgid "%<-muintr%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2156
+#: config/i386/i386-options.cc:2177
 #, gcc-internal-format
 msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2171
+#: config/i386/i386-options.cc:2192
 #, gcc-internal-format
 msgid "address mode %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2182
+#: config/i386/i386-options.cc:2203
 #, gcc-internal-format
 msgid "%<-mabi=ms%> not supported with X32 ABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2188
+#: config/i386/i386-options.cc:2209
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2191
+#: config/i386/i386-options.cc:2212
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2195
+#: config/i386/i386-options.cc:2216
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2201
+#: config/i386/i386-options.cc:2222
 #, gcc-internal-format
 msgid ""
 "%<-mlam=u48%> is not compatible with Hardware-assisted AddressSanitizer, "
 "override to %<-mlam=u57%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2221 config/i386/i386-options.cc:2230
-#: config/i386/i386-options.cc:2242 config/i386/i386-options.cc:2253
-#: config/i386/i386-options.cc:2264
+#: config/i386/i386-options.cc:2242 config/i386/i386-options.cc:2251
+#: config/i386/i386-options.cc:2263 config/i386/i386-options.cc:2274
+#: config/i386/i386-options.cc:2285
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2233 config/i386/i386-options.cc:2245
+#: config/i386/i386-options.cc:2254 config/i386/i386-options.cc:2266
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2288
+#: config/i386/i386-options.cc:2309
 #, gcc-internal-format
 msgid "%<-masm=intel%> not supported in this configuration"
 msgstr ""
 
-#: config/i386/i386-options.cc:2293
+#: config/i386/i386-options.cc:2314
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386-options.cc:2305
+#: config/i386/i386-options.cc:2326
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2307
+#: config/i386/i386-options.cc:2328
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2314
+#: config/i386/i386-options.cc:2335
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2316
+#: config/i386/i386-options.cc:2337
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2324 config/i386/i386-options.cc:2477
+#: config/i386/i386-options.cc:2345 config/i386/i386-options.cc:2486
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386-options.cc:2332
-#, gcc-internal-format
-msgid "%<-march=knl%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2333
-#, gcc-internal-format
-msgid "%<target(\"arch=knl\")%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2338
-#, gcc-internal-format
-msgid "%<-march=knm%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2339
-#, gcc-internal-format
-msgid "%<target(\"arch=knm\")%> support will be removed in GCC 15"
-msgstr ""
-
-#: config/i386/i386-options.cc:2416
+#: config/i386/i386-options.cc:2425
 #, gcc-internal-format
 msgid "bad value %qs for %<-march=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2417
+#: config/i386/i386-options.cc:2426
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"arch=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2439
+#: config/i386/i386-options.cc:2448
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2441
+#: config/i386/i386-options.cc:2450
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"arch=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2446
+#: config/i386/i386-options.cc:2455
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2447
+#: config/i386/i386-options.cc:2456
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2496
+#: config/i386/i386-options.cc:2505
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2497
+#: config/i386/i386-options.cc:2506
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2518
+#: config/i386/i386-options.cc:2527
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2520
+#: config/i386/i386-options.cc:2529
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"tune=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2525
+#: config/i386/i386-options.cc:2534
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2526
+#: config/i386/i386-options.cc:2535
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2554
+#: config/i386/i386-options.cc:2566
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2556
+#: config/i386/i386-options.cc:2568
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored for Intel MCU psABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2559
+#: config/i386/i386-options.cc:2571
 #, gcc-internal-format
 msgid "%<-mregparm=%d%> is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2582
+#: config/i386/i386-options.cc:2597
 #, gcc-internal-format
 msgid "%<-m96bit-long-double%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2587
+#: config/i386/i386-options.cc:2602
 #, gcc-internal-format
 msgid "%<-mrtd%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2588
+#: config/i386/i386-options.cc:2603
 #, gcc-internal-format
 msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2681
+#: config/i386/i386-options.cc:2689
 #, gcc-internal-format
 msgid ""
 "%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable AVX10 instructions "
@@ -43766,7 +44197,7 @@ 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:2695
+#: config/i386/i386-options.cc:2703
 #, gcc-internal-format
 msgid ""
 "Using %<-mevex512%> without any AVX512 features enabled together with "
@@ -43774,441 +44205,442 @@ msgid ""
 "as max vector size"
 msgstr ""
 
-#: config/i386/i386-options.cc:2702 config/i386/i386-options.cc:2708
+#: config/i386/i386-options.cc:2710 config/i386/i386-options.cc:2716
 #, gcc-internal-format
 msgid ""
 "Vector size conflicts between AVX10.1 and AVX512, using 512 as max vector "
 "size"
 msgstr ""
 
-#: config/i386/i386-options.cc:2716
+#: config/i386/i386-options.cc:2724
 #, gcc-internal-format
 msgid ""
 "%<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10 is available"
 msgstr ""
 
-#: config/i386/i386-options.cc:2726
+#: config/i386/i386-options.cc:2734
 #, 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:2781
+#: config/i386/i386-options.cc:2780
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary%> is not supported for this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2784
+#: config/i386/i386-options.cc:2783
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2807
+#: config/i386/i386-options.cc:2806
 #, gcc-internal-format
 msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386-options.cc:2820
+#: config/i386/i386-options.cc:2819
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2823
+#: config/i386/i386-options.cc:2822
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2829
+#: config/i386/i386-options.cc:2828
 #, gcc-internal-format
 msgid "%<-msseregparm%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2830
+#: config/i386/i386-options.cc:2829
 #, gcc-internal-format
 msgid "%<target(\"sseregparm\")%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2840
+#: config/i386/i386-options.cc:2839
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2847
+#: config/i386/i386-options.cc:2846
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2897
+#: config/i386/i386-options.cc:2900
 #, gcc-internal-format
 msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2899
+#: config/i386/i386-options.cc:2902
 #, gcc-internal-format
 msgid ""
 "stack probing requires %<target(\"accumulate-outgoing-args\")%> for "
 "correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2913
+#: config/i386/i386-options.cc:2916
 #, gcc-internal-format
 msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2915
+#: config/i386/i386-options.cc:2918
 #, gcc-internal-format
 msgid "fixed ebp register requires %<target(\"accumulate-outgoing-args\")%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2975
+#: config/i386/i386-options.cc:2978
 #, gcc-internal-format
 msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2978
+#: config/i386/i386-options.cc:2981
 #, gcc-internal-format
 msgid "%<-mno-fentry%> isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:2982
+#: config/i386/i386-options.cc:2985
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:3104 config/loongarch/loongarch-opts.cc:898
+#: config/i386/i386-options.cc:3112 config/loongarch/loongarch-opts.cc:898
 #, gcc-internal-format
 msgid "unknown option for %<-mrecip=%s%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:3163
+#: config/i386/i386-options.cc:3171
 #, gcc-internal-format
 msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:3168
+#: config/i386/i386-options.cc:3176
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:3196
+#: config/i386/i386-options.cc:3204
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:3250
+#: config/i386/i386-options.cc:3258
 #, 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:3259
+#: config/i386/i386-options.cc:3267 config/riscv/riscv.cc:10638
+#: config/riscv/riscv.cc:10642
 #, gcc-internal-format
 msgid "%<-fcf-protection%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:3426
+#: config/i386/i386-options.cc:3434
 #, gcc-internal-format
 msgid "interrupt and naked attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3430 config/i386/i386-options.cc:3462
-#: config/i386/i386-options.cc:4006 config/i386/i386-options.cc:4016
+#: config/i386/i386-options.cc:3438 config/i386/i386-options.cc:3470
+#: config/i386/i386-options.cc:4014 config/i386/i386-options.cc:4024
 #, gcc-internal-format
 msgid "%qs and %qs attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3447
+#: config/i386/i386-options.cc:3455
 #, gcc-internal-format
 msgid "only DWARF debug format is supported for interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3508
+#: config/i386/i386-options.cc:3516
 #, gcc-internal-format
 msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3518
+#: config/i386/i386-options.cc:3526
 #, gcc-internal-format
 msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3553
+#: config/i386/i386-options.cc:3561
 #, gcc-internal-format
 msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3563
+#: config/i386/i386-options.cc:3571
 #, gcc-internal-format
 msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3671
+#: config/i386/i386-options.cc:3679
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an exception service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3673
+#: config/i386/i386-options.cc:3681
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3677
+#: config/i386/i386-options.cc:3685
 #, 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:3724 config/i386/i386-options.cc:3775
+#: config/i386/i386-options.cc:3732 config/i386/i386-options.cc:3783
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3729
+#: config/i386/i386-options.cc:3737
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3736 config/i386/i386-options.cc:3964
+#: config/i386/i386-options.cc:3744 config/i386/i386-options.cc:3972
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3742
+#: config/i386/i386-options.cc:3750
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:3767 config/i386/i386-options.cc:3810
+#: config/i386/i386-options.cc:3775 config/i386/i386-options.cc:3818
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3771
+#: config/i386/i386-options.cc:3779
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3779 config/i386/i386-options.cc:3828
+#: config/i386/i386-options.cc:3787 config/i386/i386-options.cc:3836
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3789 config/i386/i386-options.cc:3806
+#: config/i386/i386-options.cc:3797 config/i386/i386-options.cc:3814
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3793
+#: config/i386/i386-options.cc:3801
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3797 config/i386/i386-options.cc:3824
+#: config/i386/i386-options.cc:3805 config/i386/i386-options.cc:3832
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3814 config/i386/i386-options.cc:3832
+#: config/i386/i386-options.cc:3822 config/i386/i386-options.cc:3840
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3820
+#: config/i386/i386-options.cc:3828
 #, gcc-internal-format
 msgid "%qE attribute is used for non-class method"
 msgstr ""
 
-#: config/i386/i386-options.cc:3924 config/rs6000/rs6000.cc:20747
+#: config/i386/i386-options.cc:3932 config/rs6000/rs6000.cc:20740
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
 
-#: config/i386/i386-options.cc:3951
+#: config/i386/i386-options.cc:3959
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386-options.cc:3972
+#: config/i386/i386-options.cc:3980
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr ""
 
-#: config/i386/i386-options.cc:4043 config/i386/i386-options.cc:4065
-#: config/ia64/ia64.cc:822 config/s390/s390.cc:1271
+#: config/i386/i386-options.cc:4051 config/i386/i386-options.cc:4073
+#: config/ia64/ia64.cc:826 config/s390/s390.cc:1257
 #, gcc-internal-format
 msgid "%qE attribute requires a string constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:4053 config/i386/i386-options.cc:4075
-#: config/s390/s390.cc:1300
+#: config/i386/i386-options.cc:4061 config/i386/i386-options.cc:4083
+#: config/s390/s390.cc:1286
 #, gcc-internal-format
 msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)"
 msgstr ""
 
-#: config/i386/i386-options.cc:4107
+#: config/i386/i386-options.cc:4115
 #, gcc-internal-format
 msgid "interrupt service routine should have a pointer as the first argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:4114
+#: config/i386/i386-options.cc:4122
 #, gcc-internal-format
 msgid "interrupt service routine should have %qs as the second argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:4125
+#: config/i386/i386-options.cc:4133
 #, gcc-internal-format
 msgid ""
 "interrupt service routine can only have a pointer argument and an optional "
 "integer argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:4128
+#: config/i386/i386-options.cc:4136
 #, gcc-internal-format
 msgid "interrupt service routine must return %<void%>"
 msgstr ""
 
-#: config/i386/i386.cc:1281
+#: config/i386/i386.cc:1309
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1284
+#: config/i386/i386.cc:1312
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1588
+#: config/i386/i386.cc:1616
 #, gcc-internal-format
 msgid "X32 does not support %<ms_abi%> attribute"
 msgstr ""
 
-#: config/i386/i386.cc:1622
+#: config/i386/i386.cc:1650
 #, gcc-internal-format
 msgid "%<ms_hook_prologue%> attribute is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:1974
+#: config/i386/i386.cc:2002
 #, gcc-internal-format
 msgid "AVX512F vector argument without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1980
+#: config/i386/i386.cc:2008
 #, gcc-internal-format
 msgid "AVX512F vector return without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1994
+#: config/i386/i386.cc:2022
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2000
+#: config/i386/i386.cc:2028
 #, gcc-internal-format
 msgid "AVX vector return without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2016
+#: config/i386/i386.cc:2044
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2022
+#: config/i386/i386.cc:2050
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2038
+#: config/i386/i386.cc:2066
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2044
+#: config/i386/i386.cc:2072
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2243
+#: config/i386/i386.cc:2271
 #, 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:2372
+#: config/i386/i386.cc:2400
 #, gcc-internal-format
 msgid "the ABI of passing union with %<long double%> has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2507
+#: config/i386/i386.cc:2535
 #, gcc-internal-format
 msgid ""
 "the ABI of passing structure with %<complex float%> member has changed in "
 "GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2628
+#: config/i386/i386.cc:2656
 msgid ""
 "the ABI of passing C structures with zero-width bit-fields has changed in "
 "GCC %{12.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:2725 config/i386/i386.cc:4094 config/i386/i386.cc:4104
+#: config/i386/i386.cc:2753 config/i386/i386.cc:4122 config/i386/i386.cc:4132
 #, gcc-internal-format
 msgid "SSE register return with SSE2 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2727
+#: config/i386/i386.cc:2755
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2734
+#: config/i386/i386.cc:2762
 #, gcc-internal-format
 msgid "SSE register argument with SSE2 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2736
+#: config/i386/i386.cc:2764
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2756
+#: config/i386/i386.cc:2784
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:3084 config/i386/i386.cc:3329 config/i386/i386.cc:4122
+#: config/i386/i386.cc:3112 config/i386/i386.cc:3357 config/i386/i386.cc:4150
 #, gcc-internal-format
 msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:3086 config/i386/i386.cc:3331 config/i386/i386.cc:4124
+#: config/i386/i386.cc:3114 config/i386/i386.cc:3359 config/i386/i386.cc:4152
 #, 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:3734
+#: config/i386/i386.cc:3762
 #, 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:6790
+#: config/i386/i386.cc:6834
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s"
 msgstr ""
 
-#: config/i386/i386.cc:8808
+#: config/i386/i386.cc:8854
 #, gcc-internal-format
 msgid ""
 "%<ms_hook_prologue%> attribute is not compatible with %<-mfentry%> for 32-bit"
 msgstr ""
 
-#: config/i386/i386.cc:8898
+#: config/i386/i386.cc:8944
 #, gcc-internal-format
 msgid ""
 "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service "
@@ -44216,22 +44648,22 @@ msgid ""
 "return."
 msgstr ""
 
-#: config/i386/i386.cc:9951
+#: config/i386/i386.cc:10001
 #, gcc-internal-format
 msgid "Stack realignment not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:9956
+#: config/i386/i386.cc:10006
 #, gcc-internal-format
 msgid "regparm nested function not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:10347
+#: config/i386/i386.cc:10397
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:10367
+#: config/i386/i386.cc:10417
 #, gcc-internal-format
 msgid ""
 "%<-fsplit-stack%> does not support 2 register parameters for a nested "
@@ -44240,57 +44672,57 @@ msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.cc:10378
+#: config/i386/i386.cc:10428
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.cc:13564
+#: config/i386/i386.cc:13431
 #, gcc-internal-format
 msgid "%<V%> modifier on non-integer register"
 msgstr ""
 
-#: config/i386/i386.cc:13575 config/i386/i386.cc:13589
+#: config/i386/i386.cc:13442 config/i386/i386.cc:13456
 #, gcc-internal-format
 msgid "unsupported size for integer register"
 msgstr ""
 
-#: config/i386/i386.cc:13621
+#: config/i386/i386.cc:13488
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.cc:13636
+#: config/i386/i386.cc:13503
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.cc:13833 config/i386/i386.cc:13835
+#: config/i386/i386.cc:13701 config/i386/i386.cc:13703
 #, gcc-internal-format
 msgid "non-integer operand used with operand code %<z%>"
 msgstr ""
 
-#: config/i386/i386.cc:17996
+#: config/i386/i386.cc:17911
 #, gcc-internal-format
 msgid ""
 "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)"
 msgstr ""
 
-#: config/i386/i386.cc:22734
+#: config/i386/i386.cc:23124
 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:22815
+#: config/i386/i386.cc:23205
 #, gcc-internal-format
 msgid "no register available for profiling %<-mcmodel=large%s%>"
 msgstr ""
 
-#: config/i386/i386.cc:22911
+#: config/i386/i386.cc:23301
 #, gcc-internal-format
 msgid "profiling %<-mcmodel=large%> with PIC is not supported"
 msgstr ""
 
-#: config/i386/i386.cc:23624
+#: config/i386/i386.cc:24014
 #, gcc-internal-format
 msgid ""
 "%<__bfloat16%> is redefined from typedef %<short%> to real %<__bf16%> since "
@@ -44298,69 +44730,58 @@ msgid ""
 "%<short%>; an explicit bitcast may be needed here"
 msgstr ""
 
-#: config/i386/i386.cc:25074
+#: config/i386/i386.cc:25548
 #, gcc-internal-format
 msgid "unknown architecture specific memory model"
 msgstr ""
 
-#: config/i386/i386.cc:25081
+#: config/i386/i386.cc:25555
 #, gcc-internal-format
 msgid "%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:25088
+#: config/i386/i386.cc:25562
 #, gcc-internal-format
 msgid "%<HLE_RELEASE%> not used with %<RELEASE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:25775
+#: config/i386/i386.cc:26249
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>"
 msgstr ""
 
-#: config/i386/winnt.cc:83
-#, gcc-internal-format
-msgid ""
-"%qE attribute applies only to initialized variables with external linkage"
-msgstr ""
-
-#: config/i386/winnt.cc:156
-#, gcc-internal-format
-msgid "definition of static data member %q+D of dllimport%'d class"
-msgstr ""
-
 #: config/ia64/ia64-c.cc:50
 #, gcc-internal-format
 msgid "malformed %<#pragma builtin%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:761 config/loongarch/loongarch.cc:7974
-#: config/loongarch/loongarch.cc:7984
+#: config/ia64/ia64.cc:765 config/loongarch/loongarch.cc:8128
+#: config/loongarch/loongarch.cc:8138
 #, gcc-internal-format
 msgid "invalid argument of %qE attribute"
 msgstr ""
 
-#: config/ia64/ia64.cc:774
+#: config/ia64/ia64.cc:778
 #, gcc-internal-format
 msgid "an address area attribute cannot be specified for local variables"
 msgstr ""
 
-#: config/ia64/ia64.cc:781
+#: config/ia64/ia64.cc:785
 #, gcc-internal-format
 msgid "address area of %q+D conflicts with previous declaration"
 msgstr ""
 
-#: config/ia64/ia64.cc:789
+#: config/ia64/ia64.cc:793
 #, gcc-internal-format
 msgid "address area attribute cannot be specified for functions"
 msgstr ""
 
-#: config/ia64/ia64.cc:6035 config/pa/pa.cc:461 config/sh/sh.cc:8267
+#: config/ia64/ia64.cc:6039 config/pa/pa.cc:465 config/sh/sh.cc:8280
 #, gcc-internal-format
 msgid "value of %<-mfixed-range%> must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.cc:11312
+#: config/ia64/ia64.cc:11317
 #, gcc-internal-format
 msgid "version attribute is not a string"
 msgstr ""
@@ -44375,7 +44796,7 @@ msgstr ""
 msgid "argument %qd is not a constant"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:2890 config/xtensa/xtensa.cc:3158
+#: config/iq2000/iq2000.cc:2890 config/xtensa/xtensa.cc:3235
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND_ADDRESS%>, null pointer"
 msgstr ""
@@ -44385,22 +44806,22 @@ msgstr ""
 msgid "%<PRINT_OPERAND%>: Unknown punctuation %<%c%>"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3054 config/xtensa/xtensa.cc:3007
+#: config/iq2000/iq2000.cc:3054 config/xtensa/xtensa.cc:3075
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND%> null pointer"
 msgstr ""
 
-#: config/loongarch/loongarch-builtins.cc:2999 config/mips/mips.cc:17388
+#: config/loongarch/loongarch-builtins.cc:2921 config/mips/mips.cc:17551
 #, 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-builtins.cc:3077 config/mips/mips.cc:17508
+#: config/loongarch/loongarch-builtins.cc:3000 config/mips/mips.cc:17671
 #, gcc-internal-format
 msgid "failed to expand built-in function"
 msgstr ""
 
-#: config/loongarch/loongarch-builtins.cc:3116
+#: config/loongarch/loongarch-builtins.cc:3041
 #, gcc-internal-format
 msgid "built-in function %qD is not enabled"
 msgstr ""
@@ -44527,27 +44948,33 @@ msgstr ""
 msgid "%qs is not supported, now cmodel is set to %qs"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:1023
+#: config/loongarch/loongarch-opts.cc:1026
 #, gcc-internal-format
 msgid "code model %qs is not compatible with %s"
 msgstr ""
 
-#: config/loongarch/loongarch-opts.cc:1089
+#: config/loongarch/loongarch-opts.cc:1092
 #, gcc-internal-format
 msgid "%qs cannot be used for compiling a shared library"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:7946
+#: config/loongarch/loongarch-target-attr.cc:246 config/s390/s390.cc:16669
+#: config/s390/s390.cc:16719 config/s390/s390.cc:16736
+#, gcc-internal-format
+msgid "attribute %<target%> argument %qs is unknown"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:8100
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for thread-local variables"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:7964
+#: config/loongarch/loongarch.cc:8118
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for register variables"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:7992
+#: config/loongarch/loongarch.cc:8146
 #, gcc-internal-format
 msgid "multiple %qE attribute"
 msgstr ""
@@ -44588,7 +45015,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr ""
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.cc:2950 config/sh/sh.cc:8479 config/sh/sh.cc:8574
+#: config/m32c/m32c.cc:2950 config/sh/sh.cc:8492 config/sh/sh.cc:8587
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr ""
@@ -44608,57 +45035,57 @@ msgstr ""
 msgid "%<fast_interrupt%> attribute directive ignored"
 msgstr ""
 
-#: config/m32r/m32r.cc:412
+#: config/m32r/m32r.cc:415
 #, gcc-internal-format
 msgid "invalid argument of %qs attribute"
 msgstr ""
 
-#: config/m68k/m68k.cc:535
+#: config/m68k/m68k.cc:543
 #, gcc-internal-format
 msgid "%<-mcpu=%s%> conflicts with %<-march=%s%>"
 msgstr ""
 
-#: config/m68k/m68k.cc:606
+#: config/m68k/m68k.cc:614
 #, gcc-internal-format
 msgid "%<-mpcrel%> %<-fPIC%> is not currently supported on selected cpu"
 msgstr ""
 
-#: config/m68k/m68k.cc:670
+#: config/m68k/m68k.cc:678
 #, gcc-internal-format
 msgid "%<-falign-labels=%d%> is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:677
+#: config/m68k/m68k.cc:685
 #, gcc-internal-format
 msgid "%<-falign-loops=%d%> is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:685
+#: config/m68k/m68k.cc:693
 #, gcc-internal-format
 msgid "%<-fstack-limit-%> options are not supported on this cpu"
 msgstr ""
 
-#: config/m68k/m68k.cc:803
+#: config/m68k/m68k.cc:811
 #, gcc-internal-format
 msgid "multiple interrupt attributes not allowed"
 msgstr ""
 
-#: config/m68k/m68k.cc:810
+#: config/m68k/m68k.cc:818
 #, gcc-internal-format
 msgid "%<interrupt_thread%> is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.cc:1144 config/rs6000/rs6000-logue.cc:1749
+#: config/m68k/m68k.cc:1152 config/rs6000/rs6000-logue.cc:1742
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:7138 config/s390/s390.cc:17177
+#: config/m68k/m68k.cc:7175 config/s390/s390.cc:17359
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not supported on this target"
 msgstr ""
 
-#: config/mcore/mcore.cc:2960
+#: config/mcore/mcore.cc:2963
 #, gcc-internal-format
 msgid "initialized variable %q+D is marked dllimport"
 msgstr ""
@@ -44695,8 +45122,19 @@ msgstr ""
 msgid "%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"
 msgstr ""
 
+#: config/mingw/winnt.cc:83
+#, gcc-internal-format
+msgid ""
+"%qE attribute applies only to initialized variables with external linkage"
+msgstr ""
+
+#: config/mingw/winnt.cc:156
+#, gcc-internal-format
+msgid "definition of static data member %q+D of dllimport%'d class"
+msgstr ""
+
 #: config/mips/mips.cc:1332 config/mips/mips.cc:1593 config/mips/mips.cc:1647
-#: config/riscv/riscv.cc:5800
+#: config/riscv/riscv.cc:6551
 #, gcc-internal-format
 msgid "%qE attribute requires a string argument"
 msgstr ""
@@ -44716,7 +45154,7 @@ msgstr ""
 msgid "%qE cannot have both %qs and %qs attributes"
 msgstr ""
 
-#: config/mips/mips.cc:1555 config/mips/mips.cc:1561 config/nios2/nios2.cc:4489
+#: config/mips/mips.cc:1555 config/mips/mips.cc:1561
 #, gcc-internal-format
 msgid "%qE redeclared with conflicting %qs attributes"
 msgstr ""
@@ -44738,264 +45176,259 @@ msgstr ""
 msgid "argument to %qE attribute is not intstack"
 msgstr ""
 
-#: config/mips/mips.cc:6223
+#: config/mips/mips.cc:6362
 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:6668
+#: config/mips/mips.cc:6807
 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:6692
+#: config/mips/mips.cc:6831
 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:8039
+#: config/mips/mips.cc:8178
 #, gcc-internal-format
 msgid "cannot handle inconsistent calls to %qs"
 msgstr ""
 
-#: config/mips/mips.cc:11295
+#: config/mips/mips.cc:11434
 #, gcc-internal-format
 msgid "the %<interrupt%> attribute requires a MIPS32r2 processor or greater"
 msgstr ""
 
-#: config/mips/mips.cc:11297
+#: config/mips/mips.cc:11436
 #, gcc-internal-format
 msgid "interrupt handlers cannot be MIPS16 functions"
 msgstr ""
 
-#: config/mips/mips.cc:12301
+#: config/mips/mips.cc:12440
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> not implemented for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:17640
+#: config/mips/mips.cc:17803
 #, gcc-internal-format
 msgid "built-in function %qE not supported for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:18248
+#: config/mips/mips.cc:18411
 #, gcc-internal-format
 msgid "%qs does not support MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:20061
+#: config/mips/mips.cc:20224
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:20064
+#: config/mips/mips.cc:20227
 #, gcc-internal-format
 msgid "MIPS16 %<-mxgot%> code"
 msgstr ""
 
-#: config/mips/mips.cc:20067
+#: config/mips/mips.cc:20230
 #, gcc-internal-format
 msgid "%<hard-float%> MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:20070
+#: config/mips/mips.cc:20233
 #, gcc-internal-format
 msgid "MSA MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:20073
+#: config/mips/mips.cc:20236
 #, gcc-internal-format
 msgid "MIPS16 requires %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.cc:20264 config/mips/mips.cc:20269
-#: config/mips/mips.cc:20359 config/mips/mips.cc:20361
-#: config/mips/mips.cc:20391 config/mips/mips.cc:20401
-#: config/mips/mips.cc:20507 config/mips/mips.cc:20531
+#: config/mips/mips.cc:20427 config/mips/mips.cc:20432
+#: config/mips/mips.cc:20522 config/mips/mips.cc:20524
+#: config/mips/mips.cc:20554 config/mips/mips.cc:20562
+#: config/mips/mips.cc:20668 config/mips/mips.cc:20692
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.cc:20304
+#: config/mips/mips.cc:20467
 #, gcc-internal-format
 msgid ""
 "%<-%s%> conflicts with the other architecture options, which specify a %s "
 "processor"
 msgstr ""
 
-#: config/mips/mips.cc:20314
+#: config/mips/mips.cc:20477
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20329
+#: config/mips/mips.cc:20492
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.cc:20331
+#: config/mips/mips.cc:20494
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20333
+#: config/mips/mips.cc:20496
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20356
+#: config/mips/mips.cc:20519
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20365
+#: config/mips/mips.cc:20528
 #, 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:20368
+#: config/mips/mips.cc:20531
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20389
+#: config/mips/mips.cc:20552
 #, gcc-internal-format
 msgid "%<-mfpxx%> can only be used with the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20393
+#: config/mips/mips.cc:20556
 #, gcc-internal-format
 msgid "%<-march=%s%> requires %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20395
-#, gcc-internal-format
-msgid "%<-mfpxx%> requires %<-mlra%>"
-msgstr ""
-
 #. We have traditionally allowed non-abicalls code to use
 #. an LP64 form of o64.  However, it would take a bit more
 #. 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:20420
+#: config/mips/mips.cc:20581
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20473
+#: config/mips/mips.cc:20634
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20488
+#: config/mips/mips.cc:20649
 #, gcc-internal-format
 msgid "the %qs architecture does not support madd or msub instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20502
+#: config/mips/mips.cc:20663
 #, gcc-internal-format
 msgid "the %qs architecture does not support odd single-precision registers"
 msgstr ""
 
-#: config/mips/mips.cc:20515
+#: config/mips/mips.cc:20676
 #, gcc-internal-format
 msgid "unsupported combination: %qs%s %s"
 msgstr ""
 
-#: config/mips/mips.cc:20524
+#: config/mips/mips.cc:20685
 #, gcc-internal-format
 msgid "unsupported combination: %qs %s"
 msgstr ""
 
-#: config/mips/mips.cc:20539
+#: config/mips/mips.cc:20700
 #, gcc-internal-format
 msgid "cannot generate position-independent code for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20542
+#: config/mips/mips.cc:20703
 #, gcc-internal-format
 msgid "position-independent code requires %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20575
+#: config/mips/mips.cc:20736
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.cc:20583 config/mips/mips.cc:20586
+#: config/mips/mips.cc:20744 config/mips/mips.cc:20747
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20603
+#: config/mips/mips.cc:20764
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=legacy%>"
 msgstr ""
 
-#: config/mips/mips.cc:20610
+#: config/mips/mips.cc:20771
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=2008%>"
 msgstr ""
 
-#: config/mips/mips.cc:20628
+#: config/mips/mips.cc:20789
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.cc:20638
+#: config/mips/mips.cc:20799
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20648
+#: config/mips/mips.cc:20809
 #, gcc-internal-format
 msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20655
+#: config/mips/mips.cc:20816
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20664
+#: config/mips/mips.cc:20825
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.cc:20675
+#: config/mips/mips.cc:20836
 #, gcc-internal-format
 msgid "the %qs architecture does not support DSP instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20685
+#: config/mips/mips.cc:20846
 #, gcc-internal-format
 msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20695
+#: config/mips/mips.cc:20856
 #, gcc-internal-format
 msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>"
 msgstr ""
 
-#: config/mips/mips.cc:20790
+#: config/mips/mips.cc:20951
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20794
+#: config/mips/mips.cc:20955
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.cc:21630
+#: config/mips/mips.cc:21791
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -45022,33 +45455,33 @@ msgstr ""
 msgid "%<function_profiler%> support for MMIX"
 msgstr ""
 
-#: config/mmix/mmix.cc:1002
+#: config/mmix/mmix.cc:1010
 #, gcc-internal-format
 msgid "MMIX Internal: Last named vararg would not fit in a register"
 msgstr ""
 
-#: config/mmix/mmix.cc:1643 config/mmix/mmix.cc:1667 config/mmix/mmix.cc:1774
+#: config/mmix/mmix.cc:1680 config/mmix/mmix.cc:1704 config/mmix/mmix.cc:1811
 #, 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:1766
+#: config/mmix/mmix.cc:1803
 #, gcc-internal-format
 msgid "MMIX Internal: Missing %qc case in %<mmix_print_operand%>"
 msgstr ""
 
-#: config/mmix/mmix.cc:2055
+#: config/mmix/mmix.cc:2092
 #, gcc-internal-format
 msgid "stack frame not a multiple of 8 bytes: %wd"
 msgstr ""
 
-#: config/mmix/mmix.cc:2308
+#: config/mmix/mmix.cc:2345
 #, gcc-internal-format
 msgid "stack frame not a multiple of octabyte: %wd"
 msgstr ""
 
-#: config/mmix/mmix.cc:2594 config/mmix/mmix.cc:2653
+#: config/mmix/mmix.cc:2631 config/mmix/mmix.cc:2690
 #, gcc-internal-format, gfc-internal-format
 msgid "MMIX Internal: %s is not a shiftable integer"
 msgstr ""
@@ -45300,17 +45733,17 @@ msgstr ""
 msgid "argument to interrupt attribute is unsupported for weak functions"
 msgstr ""
 
-#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2989
+#: config/msp430/msp430.cc:2747 config/pru/pru.cc:3028
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes constant arguments"
 msgstr ""
 
-#: config/msp430/msp430.cc:2757 config/pru/pru.cc:2998
+#: config/msp430/msp430.cc:2757 config/pru/pru.cc:3037
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes non-negative cycle counts"
 msgstr ""
 
-#: config/msp430/msp430.cc:2778 config/pru/pru.cc:3011
+#: config/msp430/msp430.cc:2778 config/pru/pru.cc:3050
 #, gcc-internal-format
 msgid "%<__delay_cycles%> is limited to 32-bit loop counts"
 msgstr ""
@@ -45320,13 +45753,13 @@ msgstr ""
 msgid "MSP430 built-in functions only work inside interrupt handlers"
 msgstr ""
 
-#: 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
+#: config/msp430/msp430.cc:2861 config/pru/pru.cc:3118 config/rx/rx.cc:2666
+#: config/xtensa/xtensa.cc:4274 config/xtensa/xtensa.cc:4300
 #, gcc-internal-format
 msgid "bad builtin code"
 msgstr ""
 
-#: config/nds32/nds32-intrinsic.cc:126 config/nios2/nios2.cc:3840
+#: config/nds32/nds32-intrinsic.cc:126
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument to built-in function %s"
 msgstr ""
@@ -45486,177 +45919,17 @@ msgid ""
 "mext-fpu-sp%> or %<-mext-fpu-dp%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:574
-#, gcc-internal-format
-msgid "Unknown form for stack limit expression"
-msgstr ""
-
-#: config/nios2/nios2.cc:1183
-#, gcc-internal-format
-msgid "switch %<-mcustom-%s%> is required for double-precision floating-point"
-msgstr ""
-
-#: config/nios2/nios2.cc:1192
-#, gcc-internal-format
-msgid ""
-"conflicting use of %<-mcustom%> switches, target attributes, and/or "
-"%<__builtin_custom_%> functions"
-msgstr ""
-
-#: config/nios2/nios2.cc:1316
-#, gcc-internal-format
-msgid "ignoring unrecognized switch %<-mcustom-fpu-cfg%> value %<%s%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:1335
-#, gcc-internal-format
-msgid "switch %<-mcustom-%s%> value %d must be between 0 and 255"
-msgstr ""
-
-#: config/nios2/nios2.cc:1358
-#, gcc-internal-format
-msgid "position-independent code requires the Linux ABI"
-msgstr ""
-
-#: config/nios2/nios2.cc:1361
-#, gcc-internal-format
-msgid "PIC support for %<-fstack-limit-symbol%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:1383
-#, gcc-internal-format
-msgid "%<-mgpopt%> not supported with PIC"
-msgstr ""
-
-#: config/nios2/nios2.cc:1385
-#, gcc-internal-format
-msgid "%<-mgprel-sec=%> not supported with PIC"
-msgstr ""
-
-#: config/nios2/nios2.cc:1387
-#, gcc-internal-format
-msgid "%<-mr0rel-sec=%> not supported with PIC"
-msgstr ""
-
-#: config/nios2/nios2.cc:1395
-#, gcc-internal-format
-msgid "%<-mgprel-sec=%> argument is not a valid regular expression"
-msgstr ""
-
-#: config/nios2/nios2.cc:1401
-#, gcc-internal-format
-msgid "%<-mr0rel-sec=%> argument is not a valid regular expression"
-msgstr ""
-
-#: config/nios2/nios2.cc:1412
-#, gcc-internal-format
-msgid "BMX instructions are only supported with R2 architecture"
-msgstr ""
-
-#: config/nios2/nios2.cc:1414
-#, gcc-internal-format
-msgid "CDX instructions are only supported with R2 architecture"
-msgstr ""
-
-#: config/nios2/nios2.cc:1419
-#, gcc-internal-format
-msgid "R2 architecture is little-endian only"
-msgstr ""
-
-#: config/nios2/nios2.cc:3585
-#, gcc-internal-format
-msgid ""
-"cannot call %<__builtin_custom_%s%> without specifying switch %<-mcustom-%s%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:3694
-#, 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:3899
-#, gcc-internal-format, gfc-internal-format
-msgid "control register number must be in range 0-31 for %s"
-msgstr ""
-
-#: config/nios2/nios2.cc:3927
-#, gcc-internal-format, gfc-internal-format
-msgid "register number must be in range 0-31 for %s"
-msgstr ""
-
-#: config/nios2/nios2.cc:3934
-#, gcc-internal-format, gfc-internal-format
-msgid "immediate value must fit into a %d-bit integer for %s"
-msgstr ""
-
-#: config/nios2/nios2.cc:3984
-#, gcc-internal-format
-msgid "the ENI instruction operand must be either 0 or 1"
-msgstr ""
-
-#: config/nios2/nios2.cc:4012
-#, gcc-internal-format, gfc-internal-format
-msgid "built-in function %s requires Nios II R%d"
-msgstr ""
-
-#: config/nios2/nios2.cc:4092
-#, gcc-internal-format
-msgid "switch %<-mcustom-%s%> conflicts with switch %<-mcustom-%s%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:4099 config/nios2/nios2.cc:4110
-#, gcc-internal-format
-msgid "call to %<__builtin_custom_%s%> conflicts with switch %<-mcustom-%s%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:4253
-#, gcc-internal-format
-msgid "%<custom-fpu-cfg%> option does not support %<no-%>"
-msgstr ""
-
-#: config/nios2/nios2.cc:4258
-#, gcc-internal-format
-msgid "%<custom-fpu-cfg%> option requires configuration argument"
-msgstr ""
-
-#: config/nios2/nios2.cc:4286
-#, gcc-internal-format
-msgid "%<no-custom-%s%> does not accept arguments"
-msgstr ""
-
-#: config/nios2/nios2.cc:4301
-#, gcc-internal-format
-msgid "%<custom-%s=%> requires argument"
-msgstr ""
-
-#: config/nios2/nios2.cc:4311
-#, gcc-internal-format
-msgid "%<custom-%s=%> argument should be a non-negative integer"
-msgstr ""
-
-#: config/nios2/nios2.cc:4323
-#, gcc-internal-format
-msgid "%<custom-%s=%> is not recognized as FPU instruction"
-msgstr ""
-
-#: config/nios2/nios2.cc:4330
-#, gcc-internal-format
-msgid "invalid custom instruction option %qs"
-msgstr ""
-
-#: config/nvptx/mkoffload.cc:93
+#: config/nvptx/mkoffload.cc:94
 #, gcc-internal-format
 msgid "deleting file %s: %m"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:118
+#: config/nvptx/mkoffload.cc:119
 #, gcc-internal-format
 msgid "malformed ptx file"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:335
+#: config/nvptx/mkoffload.cc:336
 #, gcc-internal-format
 msgid ""
 "%<omp requires reverse_offload%> requires at least %<sm_35%> for %<-foffload-"
@@ -45664,37 +45937,42 @@ msgid ""
 "device type"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:419 config/nvptx/mkoffload.cc:491
+#: config/nvptx/mkoffload.cc:420 config/nvptx/mkoffload.cc:492
 #, gcc-internal-format
 msgid "Cannot find function declaration for %qs"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:591
+#: config/nvptx/mkoffload.cc:592
 #, gcc-internal-format
 msgid "environment variable COLLECT_GCC_OPTIONS must be set"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:650
+#: config/nvptx/mkoffload.cc:613
+#, gcc-internal-format
+msgid "%<-foffload-abi-host-opts%> not specified."
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:644
 #, gcc-internal-format
 msgid "COLLECT_GCC must be set."
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:698
+#: config/nvptx/mkoffload.cc:692
 #, gcc-internal-format
 msgid "offload compiler %s not found (consider using %<-B%>)"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:721
+#: config/nvptx/mkoffload.cc:715
 #, gcc-internal-format
 msgid "unrecognizable argument of option "
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:797
+#: config/nvptx/mkoffload.cc:800
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:853
+#: config/nvptx/mkoffload.cc:856
 #, gcc-internal-format
 msgid "cannot open intermediate ptx file"
 msgstr ""
@@ -45704,87 +45982,87 @@ msgstr ""
 msgid "option %s is not supported together with %<-fopenacc%>"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:325
+#: config/nvptx/nvptx.cc:339
 #, gcc-internal-format
 msgid ""
 "PTX version (%<-mptx%>) needs to be at least %s to support selected %<-"
 "misa%> (sm_%s)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:340
+#: config/nvptx/nvptx.cc:356
 #, gcc-internal-format
 msgid "%<-march=%> must be specified"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:363
+#: config/nvptx/nvptx.cc:379
 #, gcc-internal-format
 msgid "not generating patch area, nops not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:462
+#: config/nvptx/nvptx.cc:478
 #, gcc-internal-format
 msgid ""
 "static initialization of variable %q+D in %<.shared%> memory is not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2340
+#: config/nvptx/nvptx.cc:2369
 #, gcc-internal-format
 msgid "cannot emit unaligned pointers in ptx assembly"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2565
+#: config/nvptx/nvptx.cc:2619
 #, gcc-internal-format
 msgid "PTX does not support weak declarations (only weak definitions)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5806
+#: config/nvptx/nvptx.cc:5860
 #, gcc-internal-format
 msgid "%qE attribute requires a void return type"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5829
+#: config/nvptx/nvptx.cc:5883
 #, gcc-internal-format
 msgid "%qE attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6227
+#: config/nvptx/nvptx.cc:6328
 #, gcc-internal-format
 msgid "barrier value must be within [0,15]"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6240
+#: config/nvptx/nvptx.cc:6341
 #, gcc-internal-format
 msgid "complement argument must be constant"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6580
+#: config/nvptx/nvptx.cc:6681
 #, gcc-internal-format
 msgid ""
 "using %<vector_length (%d)%> due to call to vector-partitionable routine, "
 "ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6588
+#: config/nvptx/nvptx.cc:6689
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6602
+#: config/nvptx/nvptx.cc:6703
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7488
+#: config/nvptx/nvptx.cc:7589
 #, gcc-internal-format
 msgid "variable %qD adjusted for OpenACC privatization level: %qs"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7602
+#: config/nvptx/nvptx.cc:7704
 #, gcc-internal-format
 msgid "weak alias definitions not supported in this configuration"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7615
+#: config/nvptx/nvptx.cc:7717
 #, gcc-internal-format
 msgid "non-function alias definitions not supported in this configuration"
 msgstr ""
@@ -45794,22 +46072,22 @@ msgstr ""
 msgid "unexpected operand: %d"
 msgstr ""
 
-#: config/pa/pa.cc:537
+#: config/pa/pa.cc:541
 #, gcc-internal-format
 msgid "PIC code generation is not supported in the portable runtime model"
 msgstr ""
 
-#: config/pa/pa.cc:542
+#: config/pa/pa.cc:546
 #, gcc-internal-format
 msgid "PIC code generation is not compatible with fast indirect calls"
 msgstr ""
 
-#: config/pa/pa.cc:547
+#: config/pa/pa.cc:551
 #, gcc-internal-format
 msgid "%<-g%> is only supported when using GAS on this processor"
 msgstr ""
 
-#: config/pa/pa.cc:548
+#: config/pa/pa.cc:552
 #, gcc-internal-format
 msgid "%<-g%> option disabled"
 msgstr ""
@@ -45825,6 +46103,17 @@ msgstr ""
 msgid "function pointers not supported with %<-mabi=ti%> option"
 msgstr ""
 
+#: config/pru/pru-passes.cc:266
+#, gcc-internal-format
+msgid ""
+"function %<main%> must have no arguments when using the %<-minrt%> option"
+msgstr ""
+
+#: config/pru/pru-passes.cc:273
+#, gcc-internal-format
+msgid "function %<main%> must never return when using the %<-minrt%> option"
+msgstr ""
+
 #: config/pru/pru-pragma.cc:59
 #, gcc-internal-format
 msgid "junk at end of %<#pragma CTABLE_ENTRY%>"
@@ -45848,398 +46137,464 @@ msgstr ""
 msgid "malformed %<#pragma CTABLE_ENTRY%> variable address"
 msgstr ""
 
-#: config/pru/pru.cc:2168
+#: config/pru/pru.cc:2208
 #, gcc-internal-format
 msgid "aggregate types are prohibited in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2175
+#: config/pru/pru.cc:2215
 #, gcc-internal-format
 msgid "variables in %<__regio_symbol%> address space cannot have initial value"
 msgstr ""
 
-#: config/pru/pru.cc:2178
+#: config/pru/pru.cc:2218
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space cannot be declared %<register%>"
 msgstr ""
 
-#: config/pru/pru.cc:2181
+#: config/pru/pru.cc:2221
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<volatile%>"
 msgstr ""
 
-#: config/pru/pru.cc:2184
+#: config/pru/pru.cc:2224
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<extern%>"
 msgstr ""
 
-#: config/pru/pru.cc:2187
+#: config/pru/pru.cc:2227
 #, gcc-internal-format
 msgid "only 32-bit access is supported for %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2190
+#: config/pru/pru.cc:2230
 #, gcc-internal-format
-msgid "register name %<%s%> not recognized in %<__regio_symbol%> address space"
+msgid "register name %qs not recognized in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2215
+#: config/pru/pru.cc:2255
 #, gcc-internal-format
 msgid "pointers to %<__regio_symbol%> address space are prohibited"
 msgstr ""
 
-#: config/riscv/riscv-c.cc:261
+#: config/riscv/riscv-c.cc:275
 #, gcc-internal-format
 msgid "%<#pragma riscv intrinsic%> requires a string parameter"
 msgstr ""
 
-#: config/riscv/riscv-c.cc:286
+#: config/riscv/riscv-c.cc:300
 #, gcc-internal-format
 msgid "unknown %<#pragma riscv intrinsic%> option %qs"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:124
+#: config/riscv/riscv-target-attr.cc:131
 #, gcc-internal-format
 msgid "unexpected arch for %<target()%> attribute: must start with + or rv"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:136
+#: config/riscv/riscv-target-attr.cc:142
 #, gcc-internal-format
-msgid "unexpected arch for %<target()%> attribute: bad string found %<%s%>"
+msgid "unexpected arch for %<target()%> attribute: bad string found %qs"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:162
+#: config/riscv/riscv-target-attr.cc:169
 #, gcc-internal-format
 msgid "%<target()%> attribute: arch appears more than once"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:173
+#: config/riscv/riscv-target-attr.cc:180
 #, gcc-internal-format
 msgid "%<target()%> attribute: cpu appears more than once"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:180
+#: config/riscv/riscv-target-attr.cc:187
 #, gcc-internal-format
 msgid "%<target()%> attribute: unknown CPU %qs"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:201
+#: config/riscv/riscv-target-attr.cc:208
 #, gcc-internal-format
 msgid "%<target()%> attribute: tune appears more than once"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:207
+#: config/riscv/riscv-target-attr.cc:214
 #, gcc-internal-format
 msgid "%<target()%> attribute: unknown TUNE %qs"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:246
+#: config/riscv/riscv-target-attr.cc:227
+#, gcc-internal-format
+msgid "%<target()%> attribute: priority appears more than once"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:232
+#, gcc-internal-format
+msgid "%<target()%> attribute: invalid priority %qs"
+msgstr ""
+
+#: config/riscv/riscv-target-attr.cc:283
 #, gcc-internal-format
 msgid "malformed %<target()%> attribute"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:260
+#: config/riscv/riscv-target-attr.cc:297
 #, gcc-internal-format
 msgid "attribute %<target(\"%s\")%> does not accept an argument"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:277
+#: config/riscv/riscv-target-attr.cc:317
 #, gcc-internal-format
 msgid "Got unknown attribute %<target(\"%s\")%>"
 msgstr ""
 
-#: config/riscv/riscv-target-attr.cc:359
+#: config/riscv/riscv-target-attr.cc:380
 #, gcc-internal-format
 msgid "malformed %<target(\"%s\")%> attribute"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4276
+#: config/riscv/riscv-v.cc:300
+#, gcc-internal-format, gfc-internal-format
+msgid "expected mode %s for operand %d of insn %s but got mode %s.\n"
+msgstr ""
+
+#: config/riscv/riscv-v.cc:359
+#, gcc-internal-format, gfc-internal-format
+msgid "invalid number of operands for insn %s, expected %d but got %d.\n"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4523
 #, 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:4488
+#: config/riscv/riscv-vector-builtins.cc:4735
 #, gcc-internal-format
 msgid "RVV type %qT does not have a fixed size"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4494
+#: config/riscv/riscv-vector-builtins.cc:4741
 #, gcc-internal-format
 msgid "RVV type %qT does not have a defined alignment"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4509
+#: config/riscv/riscv-vector-builtins.cc:4756
 #, gcc-internal-format
 msgid "arithmetic on pointer to RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4517
+#: config/riscv/riscv-vector-builtins.cc:4764
 #, gcc-internal-format
 msgid "member variables cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4519
+#: config/riscv/riscv-vector-builtins.cc:4766
 #, gcc-internal-format
 msgid "fields cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4525
+#: config/riscv/riscv-vector-builtins.cc:4772
 #, gcc-internal-format
 msgid "array elements cannot have RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4531
+#: config/riscv/riscv-vector-builtins.cc:4778
 #, gcc-internal-format
 msgid "cannot allocate objects with RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4537
+#: config/riscv/riscv-vector-builtins.cc:4784
 #, gcc-internal-format
 msgid "cannot delete objects with RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4543
+#: config/riscv/riscv-vector-builtins.cc:4790
 #, gcc-internal-format
 msgid "cannot throw or catch RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4549
+#: config/riscv/riscv-vector-builtins.cc:4796
 #, gcc-internal-format
 msgid "capture by copy of RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4646
+#: config/riscv/riscv-vector-builtins.cc:4890
+#, gcc-internal-format
+msgid "built-in function %qE requires the zvfbfmin or zvfbfwma ISA extension"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4900
+#, gcc-internal-format
+msgid "built-in function %qE requires the zvfhmin or zvfh ISA extension"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4910
+#, gcc-internal-format
+msgid ""
+"built-in function %qE requires the zve32f, zve64f, zve64d or v ISA extension"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4920
+#, gcc-internal-format
+msgid "built-in function %qE requires the zve64d or v ISA extension"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4929
+#, gcc-internal-format
+msgid ""
+"built-in function %qE requires the zve64x, zve64f, zve64d or v ISA extension"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4949
 #, gcc-internal-format
 msgid "built-in function %qE requires the %qs ISA extension"
 msgstr ""
 
-#: config/riscv/riscv-vector-builtins.cc:4696
+#: config/riscv/riscv-vector-builtins.cc:5002
 #, gcc-internal-format
 msgid "no matching function call to %qE with empty arguments"
 msgstr ""
 
-#: config/riscv/riscv.cc:714
+#: config/riscv/riscv.cc:820
 #, gcc-internal-format
 msgid "unknown cpu %qs for %<-mtune%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:2537
+#: config/riscv/riscv.cc:3239
 #, gcc-internal-format
 msgid "this operation requires the RVV ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:2538
+#: config/riscv/riscv.cc:3240
 #, 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:4969 config/riscv/riscv.cc:5011
+#: config/riscv/riscv.cc:5714 config/riscv/riscv.cc:5756
 #, gcc-internal-format
 msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
 msgstr ""
 
-#: config/riscv/riscv.cc:5358
+#: config/riscv/riscv.cc:6103
 #, gcc-internal-format
 msgid "RVV type %qT cannot be passed to an unprototyped function"
 msgstr ""
 
-#: config/riscv/riscv.cc:5611
+#: config/riscv/riscv.cc:6359
 #, gcc-internal-format
 msgid "%s %qT requires the V ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5623
+#: config/riscv/riscv.cc:6371
 #, gcc-internal-format
 msgid "%s %qT requires the zve64x, zve64f, zve64d or v ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5634
+#: config/riscv/riscv.cc:6385
 #, gcc-internal-format
 msgid "%s %qT requires the zvfhmin or zvfh ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5643
+#: config/riscv/riscv.cc:6394
 #, gcc-internal-format
 msgid "%s %qT requires the zve32f, zve64f, zve64d or v ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5652
+#: config/riscv/riscv.cc:6403
 #, gcc-internal-format
 msgid "%s %qT requires the zve64d or v ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5662
+#: config/riscv/riscv.cc:6413
 #, gcc-internal-format
 msgid "%s %qT requires the minimal vector length %qd but %qd is given"
 msgstr ""
 
-#: config/riscv/riscv.cc:5717
+#: config/riscv/riscv.cc:6468
 #, gcc-internal-format
 msgid "function attribute %qs requires the V ISA extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5811
+#: config/riscv/riscv.cc:6562
 #, gcc-internal-format
 msgid ""
 "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or "
 "%<\"machine\"%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:5834
+#: config/riscv/riscv.cc:6585
 #, gcc-internal-format
 msgid "%qs is only supported when %<-mrvv-vector-bits=zvl%> is specified"
 msgstr ""
 
-#: config/riscv/riscv.cc:5843
+#: config/riscv/riscv.cc:6594
 #, gcc-internal-format
 msgid "%qs applied to non-RVV type %qT"
 msgstr ""
 
-#: config/riscv/riscv.cc:5851
+#: config/riscv/riscv.cc:6602
 #, gcc-internal-format
 msgid "%qs requires an integer constant"
 msgstr ""
 
-#: config/riscv/riscv.cc:5861
+#: config/riscv/riscv.cc:6612
 #, gcc-internal-format
 msgid ""
 "invalid RVV vector size %qd, expected size is %qd based on LMUL of type and "
 "%qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:9272
+#: config/riscv/riscv.cc:10558
 #, gcc-internal-format
 msgid "%<-mdiv%> requires %<-march%> to subsume the %<M%> extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:9314
+#: config/riscv/riscv.cc:10563
+#, gcc-internal-format
+msgid "Currently the %<V%> implementation requires the %<M%> extension"
+msgstr ""
+
+#: config/riscv/riscv.cc:10623
 #, gcc-internal-format
 msgid ""
 "Current RISC-V GCC does not support VLEN greater than 4096bit for 'V' "
 "Extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:9320
+#: config/riscv/riscv.cc:10629
 #, gcc-internal-format
 msgid "Current RISC-V GCC does not support RVV in big-endian mode"
 msgstr ""
 
-#: config/riscv/riscv.cc:9346 config/riscv/riscv.cc:9349
+#: config/riscv/riscv.cc:10669 config/riscv/riscv.cc:10672
 #, gcc-internal-format
 msgid "code model %qs with %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:9378
+#: config/riscv/riscv.cc:10701
 #, gcc-internal-format
 msgid "requested ABI requires %<-march%> to subsume the %qc extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:9385
+#: config/riscv/riscv.cc:10708
 #, gcc-internal-format
 msgid "rv32e requires ilp32e ABI"
 msgstr ""
 
-#: config/riscv/riscv.cc:9387
+#: config/riscv/riscv.cc:10710
 #, gcc-internal-format
 msgid "rv64e requires lp64e ABI"
 msgstr ""
 
-#: config/riscv/riscv.cc:9394
+#: config/riscv/riscv.cc:10715
+#, gcc-internal-format
+msgid "ILP32E ABI does not support the %qc extension"
+msgstr ""
+
+#: config/riscv/riscv.cc:10720
+#, gcc-internal-format
+msgid "LP64E ABI is marked for deprecation in GCC"
+msgstr ""
+
+#: config/riscv/riscv.cc:10721
+msgid "if you need LP64E please notify the GCC project via %{PR116152%}"
+msgstr ""
+
+#: config/riscv/riscv.cc:10729
 #, gcc-internal-format
 msgid "z*inx requires ABI ilp32, ilp32e, lp64 or lp64e"
 msgstr ""
 
-#: config/riscv/riscv.cc:9398
+#: config/riscv/riscv.cc:10733
 #, gcc-internal-format
 msgid "ABI requires %<-march=rv%d%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:9408
+#: config/riscv/riscv.cc:10743
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d"
 msgstr ""
 
-#: config/riscv/riscv.cc:9421
+#: config/riscv/riscv.cc:10756
 #, gcc-internal-format
 msgid ""
 "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-"
 "attribute%>]"
 msgstr ""
 
-#: config/riscv/riscv.cc:9448 config/rs6000/rs6000.cc:4509
+#: config/riscv/riscv.cc:10783 config/rs6000/rs6000.cc:4530
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:9462 config/rs6000/rs6000.cc:4492
+#: config/riscv/riscv.cc:10797 config/rs6000/rs6000.cc:4513
 #, gcc-internal-format
 msgid "%qs is not a valid number in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:9860
+#: config/riscv/riscv.cc:11292
 #, gcc-internal-format
 msgid "%qs function cannot have different interrupt type"
 msgstr ""
 
-#: config/riscv/riscv.cc:10386
+#: config/riscv/riscv.cc:11867
 #, gcc-internal-format
 msgid "cannot allocate vl register for %qs on this target"
 msgstr ""
 
 #. Address spaces are currently only supported by C.
-#: config/rl78/rl78.cc:375
+#: config/rl78/rl78.cc:376
 #, gcc-internal-format
 msgid "%<-mes0%> can only be used with C"
 msgstr ""
 
-#: config/rl78/rl78.cc:378
+#: config/rl78/rl78.cc:379
 #, gcc-internal-format
 msgid "mduc registers only saved for G13 target"
 msgstr ""
 
-#: config/rl78/rl78.cc:393
+#: config/rl78/rl78.cc:394
 #, gcc-internal-format
 msgid "%<-mmul=g13%> cannot be used with %<-mcpu=g10%>"
 msgstr ""
 
-#: config/rl78/rl78.cc:395
+#: config/rl78/rl78.cc:396
 #, gcc-internal-format
 msgid "%<-mmul=g14%> cannot be used with %<-mcpu=g10%>"
 msgstr ""
 
 #. The S2 core does not have mul/div instructions.
-#: config/rl78/rl78.cc:407
+#: config/rl78/rl78.cc:408
 #, gcc-internal-format
 msgid "%<-mmul=g14%> cannot be used with %<-mcpu=g13%>"
 msgstr ""
 
 #. The G14 core does not have the hardware multiply peripheral used by the
 #. G13 core, hence you cannot use G13 multipliy routines on G14 hardware.
-#: config/rl78/rl78.cc:420
+#: config/rl78/rl78.cc:421
 #, gcc-internal-format
 msgid "%<-mmul=g13%> cannot be used with %<-mcpu=g14%>"
 msgstr ""
 
-#: config/rl78/rl78.cc:843
+#: config/rl78/rl78.cc:844
 #, gcc-internal-format
 msgid "naked attribute only applies to functions"
 msgstr ""
 
-#: config/rl78/rl78.cc:867
+#: config/rl78/rl78.cc:868
 #, gcc-internal-format
 msgid "%qE attribute doesn%'t apply to functions"
 msgstr ""
 
 #. This is unpredictable, as we're truncating off usable address
 #. bits.
-#: config/rl78/rl78.cc:1233
+#: config/rl78/rl78.cc:1234
 #, gcc-internal-format
 msgid "converting far pointer to near pointer"
 msgstr ""
@@ -46301,97 +46656,97 @@ msgstr ""
 msgid "%qs requires quad-precision floating-point arithmetic"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2264
+#: config/rs6000/rs6000-builtin.cc:2250
 #, gcc-internal-format
 msgid "argument 1 of %qs must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2322
+#: config/rs6000/rs6000-builtin.cc:2308
 #, gcc-internal-format
 msgid "argument 1 of %qs is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2594
+#: config/rs6000/rs6000-builtin.cc:2494
 #, gcc-internal-format
 msgid "builtin %qs only accepts a string argument"
 msgstr ""
 
 #. Invalid CPU argument.
-#: config/rs6000/rs6000-builtin.cc:2613
+#: config/rs6000/rs6000-builtin.cc:2513
 #, gcc-internal-format
 msgid "cpu %qs is an invalid argument to builtin %qs"
 msgstr ""
 
 #. Invalid HWCAP argument.
-#: config/rs6000/rs6000-builtin.cc:2641
+#: config/rs6000/rs6000-builtin.cc:2541
 #, gcc-internal-format
 msgid "%s %qs is an invalid argument to builtin %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2670
+#: config/rs6000/rs6000-builtin.cc:2570
 #, gcc-internal-format
 msgid ""
 "builtin %qs needs GLIBC (2.23 and newer) that exports hardware capability "
 "bits"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3017 config/rs6000/rs6000-builtin.cc:3171
+#: config/rs6000/rs6000-builtin.cc:2917 config/rs6000/rs6000-builtin.cc:3071
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be an unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3019 config/rs6000/rs6000-builtin.cc:3173
+#: config/rs6000/rs6000-builtin.cc:2919 config/rs6000/rs6000-builtin.cc:3073
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d is an unsigned literal that is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3124
+#: config/rs6000/rs6000-builtin.cc:3024
 #, gcc-internal-format
 msgid "builtin %qs is only valid in 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3287
+#: config/rs6000/rs6000-builtin.cc:3187
 #, gcc-internal-format
 msgid "unresolved overload for builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3390
+#: config/rs6000/rs6000-builtin.cc:3290
 #, gcc-internal-format
 msgid "%qs not supported with %<-msoft-float%>"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3397
+#: config/rs6000/rs6000-builtin.cc:3297
 #, gcc-internal-format
 msgid "%qs is not supported in 32-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3403
+#: config/rs6000/rs6000-builtin.cc:3303
 #, gcc-internal-format
 msgid "%qs requires %<long double%> to be IBM 128-bit format"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3410
+#: config/rs6000/rs6000-builtin.cc:3310
 #, gcc-internal-format
 msgid "%qs requires %<__ibm128%> type support"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3565
+#: config/rs6000/rs6000-builtin.cc:3459
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a literal between 0 and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3581
+#: config/rs6000/rs6000-builtin.cc:3475
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a literal between %d and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3598
+#: config/rs6000/rs6000-builtin.cc:3492
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "argument %d must be a variable or a literal between %d and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3614
+#: config/rs6000/rs6000-builtin.cc:3508
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be either a literal %d or a literal %d"
 msgstr ""
@@ -46426,52 +46781,52 @@ msgstr ""
 msgid "junk at end of %<#pragma longcall%>"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1237 config/rs6000/rs6000-c.cc:1638
+#: config/rs6000/rs6000-c.cc:1239 config/rs6000/rs6000-c.cc:1600
 #, gcc-internal-format
 msgid "builtin %qs only accepts 1 argument"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1244 config/rs6000/rs6000-c.cc:1330
+#: config/rs6000/rs6000-c.cc:1246 config/rs6000/rs6000-c.cc:1332
 #, gcc-internal-format
 msgid "builtin %qs only accepts 2 arguments"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1508
+#: config/rs6000/rs6000-c.cc:1510
 #, gcc-internal-format
 msgid "builtin %qs only accepts 3 arguments"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1734
+#: config/rs6000/rs6000-c.cc:1699
 #, gcc-internal-format
 msgid ""
 "%<vec_lvsl%> is deprecated for little endian; use assignment for unaligned "
 "loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1738
+#: config/rs6000/rs6000-c.cc:1703
 #, gcc-internal-format
 msgid ""
 "%<vec_lvsr%> is deprecated for little endian; use assignment for unaligned "
 "loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1824
+#: config/rs6000/rs6000-c.cc:1789
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE discards %qs qualifier from pointer target type"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1880 config/rs6000/rs6000-c.cc:2063
+#: config/rs6000/rs6000-c.cc:1845 config/rs6000/rs6000-c.cc:2029
 #, gcc-internal-format
 msgid "invalid parameter combination for AltiVec intrinsic %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2052
+#: config/rs6000/rs6000-c.cc:2018
 #, gcc-internal-format
 msgid "overloaded builtin %qs is implemented by builtin %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2056
+#: config/rs6000/rs6000-c.cc:2022
 #, gcc-internal-format
 msgid "%qs is not supported in this compiler configuration"
 msgstr ""
@@ -46521,72 +46876,80 @@ msgid ""
 "compatibility guarantee"
 msgstr ""
 
-#. We can't check this in rs6000_option_override_internal since
-#. DEFAULT_ABI isn't established yet.
-#: config/rs6000/rs6000-logue.cc:728
-#, gcc-internal-format
-msgid "%qs requires the ELFv2 ABI"
-msgstr ""
-
-#: config/rs6000/rs6000-logue.cc:1712
+#: config/rs6000/rs6000-logue.cc:1705
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:4029
+#: config/rs6000/rs6000-logue.cc:4026
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported number of nops before function entry (%u)"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:5577
+#: config/rs6000/rs6000-logue.cc:5570
 #, gcc-internal-format
 msgid "%qs uses register r29"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:5585
+#: config/rs6000/rs6000-logue.cc:5578
 #, gcc-internal-format
 msgid "Stack frame larger than 2G is not supported for %<-fsplit-stack%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3228 config/rs6000/rs6000.cc:3231
-#: config/rs6000/rs6000.cc:3234
+#: config/rs6000/rs6000.cc:3237 config/rs6000/rs6000.cc:3240
+#: config/rs6000/rs6000.cc:3243
 #, gcc-internal-format
 msgid "%qs requires %qs or %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3335
+#: config/rs6000/rs6000.cc:3344
 #, gcc-internal-format
 msgid "%qs requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3451
+#: config/rs6000/rs6000.cc:3464
 #, gcc-internal-format
 msgid "%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3500
+#: config/rs6000/rs6000.cc:3513
 #, gcc-internal-format
 msgid "%qs unsupported for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3628
+#: config/rs6000/rs6000.cc:3641
 #, 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:3789
+#: config/rs6000/rs6000.cc:3802
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3806
+#: config/rs6000/rs6000.cc:3819
 #, gcc-internal-format
 msgid "%qs is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3886
+#: config/rs6000/rs6000.cc:3838
+#, gcc-internal-format
+msgid "%<-mvsx%> and %<-msoft-float%> are incompatible"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:3848
+#, gcc-internal-format
+msgid "%<-mvsx%> and %<-mavoid-indexed-addresses%> are incompatible"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:3859
+#, gcc-internal-format
+msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:3904
 #, gcc-internal-format
 msgid ""
 "power9 target option is incompatible with %<%s=<xxx>%> for <xxx> less than "
@@ -46595,189 +46958,199 @@ msgstr ""
 
 #. Enforce that none of the ISA_3_0_MASKS_SERVER flags
 #. were explicitly cleared.
-#: config/rs6000/rs6000.cc:3894
+#: config/rs6000/rs6000.cc:3912
 #, gcc-internal-format
 msgid "%qs incompatible with explicitly disabled options"
 msgstr ""
 
 #. TARGET_VSX = 1 implies Power 7 and newer
-#: config/rs6000/rs6000.cc:3928 config/rs6000/rs6000.cc:3936
-#: config/rs6000/rs6000.cc:3949 config/rs6000/rs6000.cc:4011
-#: config/rs6000/rs6000.cc:4044 config/rs6000/rs6000.cc:4059
-#: config/rs6000/rs6000.cc:4067 config/rs6000/rs6000.cc:4191
-#: config/rs6000/rs6000.cc:4204 config/rs6000/rs6000.cc:4213
-#: config/rs6000/rs6000.cc:4351 config/rs6000/rs6000.cc:4364
-#: config/rs6000/rs6000.cc:4385
+#: config/rs6000/rs6000.cc:3950 config/rs6000/rs6000.cc:3958
+#: config/rs6000/rs6000.cc:3972 config/rs6000/rs6000.cc:4034
+#: config/rs6000/rs6000.cc:4067 config/rs6000/rs6000.cc:4082
+#: config/rs6000/rs6000.cc:4090 config/rs6000/rs6000.cc:4209
+#: config/rs6000/rs6000.cc:4222 config/rs6000/rs6000.cc:4231
+#: config/rs6000/rs6000.cc:4369 config/rs6000/rs6000.cc:4382
+#: config/rs6000/rs6000.cc:4404
 #, gcc-internal-format
 msgid "%qs requires %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4095
+#: config/rs6000/rs6000.cc:4118
 #, gcc-internal-format
 msgid "target attribute or pragma changes %<long double%> size"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4116
+#: config/rs6000/rs6000.cc:4135
 #, gcc-internal-format
 msgid "%qs requires full ISA 2.06 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4129
+#: config/rs6000/rs6000.cc:4148
 #, gcc-internal-format
 msgid "Using IEEE extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4132
+#: config/rs6000/rs6000.cc:4151
 #, gcc-internal-format
 msgid "Using IBM extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4151
+#: config/rs6000/rs6000.cc:4170
 #, gcc-internal-format
 msgid "%qs requires VSX support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4160
+#: config/rs6000/rs6000.cc:4179
 #, gcc-internal-format
 msgid "The %<-mfloat128%> option may not be fully supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4183
+#: config/rs6000/rs6000.cc:4201
 #, gcc-internal-format
 msgid "%qs requires full ISA 3.0 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4270
+#: config/rs6000/rs6000.cc:4288
 #, gcc-internal-format
 msgid "unknown vectorization library ABI type in %<-mveclibabi=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4283 config/rs6000/rs6000.cc:4298
+#: config/rs6000/rs6000.cc:4301 config/rs6000/rs6000.cc:4316
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4311
+#: config/rs6000/rs6000.cc:4329
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4517
+#: config/rs6000/rs6000.cc:4538
 #, gcc-internal-format
 msgid "%qs needs a valid base register"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4814
+#: config/rs6000/rs6000.cc:4836
 #, gcc-internal-format
 msgid "unknown option for %<%s=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4843
+#: config/rs6000/rs6000.cc:4855
+#, gcc-internal-format
+msgid "%<-mrop-protect%> requires %<-mcpu=power8%> or later"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:4859
+#, gcc-internal-format
+msgid "%<-mrop-protect%> requires the ELFv2 ABI"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:4877
 #, gcc-internal-format
 msgid "%qs is deprecated and not recommended in any circumstances"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:11169
+#: config/rs6000/rs6000.cc:11209
 #, gcc-internal-format
 msgid "%qs is an opaque type, and you cannot set it to other values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:18014
+#: config/rs6000/rs6000.cc:18000
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20410
+#: config/rs6000/rs6000.cc:20403
 #, gcc-internal-format
 msgid ""
 "you cannot take the address of a nested function if you use the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20492
+#: config/rs6000/rs6000.cc:20485
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20494
+#: config/rs6000/rs6000.cc:20487
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20496
+#: config/rs6000/rs6000.cc:20489
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20498
+#: config/rs6000/rs6000.cc:20491
 #, gcc-internal-format
 msgid "use of decimal floating-point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20504
+#: config/rs6000/rs6000.cc:20497
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20507
+#: config/rs6000/rs6000.cc:20500
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20512
+#: config/rs6000/rs6000.cc:20505
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20515
+#: config/rs6000/rs6000.cc:20508
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24656
+#: config/rs6000/rs6000.cc:24667
 #, gcc-internal-format
 msgid "invalid cpu %qs for %s%qs%s"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24659
+#: config/rs6000/rs6000.cc:24670
 #, gcc-internal-format
 msgid "%s%qs%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24661
+#: config/rs6000/rs6000.cc:24672
 #, gcc-internal-format
 msgid "%s%qs%s is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25182
+#: config/rs6000/rs6000.cc:25193
 #, gcc-internal-format
 msgid "%<-mno-%s%> turns off %<-m%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25341
+#: config/rs6000/rs6000.cc:25352
 #, gcc-internal-format
 msgid ""
 "%<target_clones%> attribute needs GLIBC (2.23 and newer) that exports "
 "hardware capability bits"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25630
+#: config/rs6000/rs6000.cc:25641
 #, gcc-internal-format
 msgid "Virtual function multiversioning not supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28768
+#: config/rs6000/rs6000.cc:28779
 #, gcc-internal-format
 msgid ""
 "the result for the xxspltidp instruction is undefined for subnormal input "
 "values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:29246
+#: config/rs6000/rs6000.cc:29257
 #, gcc-internal-format
 msgid "type %<__vector_quad%> requires the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:29251
+#: config/rs6000/rs6000.cc:29262
 #, gcc-internal-format
 msgid "type %<__vector_pair%> requires the %qs option"
 msgstr ""
@@ -46792,186 +47165,201 @@ msgstr ""
 msgid "multiple fast interrupt routines seen: %qE and %qE"
 msgstr ""
 
-#: config/rx/rx.cc:2481
+#: config/rx/rx.cc:2480
 #, gcc-internal-format
 msgid "invalid control register %d for mvtc; using %<psw%>"
 msgstr ""
 
-#: config/rx/rx.cc:2603
+#: config/rx/rx.cc:2602
 #, gcc-internal-format
 msgid "%<__builtin_rx_%s%> takes %<C%>, %<Z%>, %<S%>, %<O%>, %<I%>, or %<U%>"
 msgstr ""
 
-#: config/rx/rx.cc:2606
+#: config/rx/rx.cc:2605
 #, gcc-internal-format
 msgid "use %<__builtin_rx_mvtc (0, ... )%> to write arbitrary values to PSW"
 msgstr ""
 
-#: config/rx/rx.cc:2653
+#: config/rx/rx.cc:2652
 #, gcc-internal-format
 msgid ""
 "%<-mno-allow-string-insns%> forbids the generation of the RMPA instruction"
 msgstr ""
 
-#: config/rx/rx.cc:2800
+#: config/rx/rx.cc:2799
 #, gcc-internal-format
 msgid "RX FPU instructions do not support NaNs and infinities"
 msgstr ""
 
-#: config/s390/s390-c.cc:490
+#: config/s390/s390-c.cc:507
 #, gcc-internal-format
 msgid "builtin %qs can only be used on vector types"
 msgstr ""
 
-#: config/s390/s390-c.cc:722 config/s390/s390.cc:999
+#: config/s390/s390-c.cc:741 config/s390/s390.cc:982
 #, gcc-internal-format
 msgid "constant value required for builtin %qF argument %d"
 msgstr ""
 
-#: config/s390/s390-c.cc:737
+#: config/s390/s390-c.cc:756
 #, 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:917
+#: config/s390/s390-c.cc:935
 #, gcc-internal-format
 msgid "builtin %qF is for GCC internal use only"
 msgstr ""
 
-#: config/s390/s390-c.cc:925
+#: config/s390/s390-c.cc:943
 #, gcc-internal-format
 msgid "builtin %qF is deprecated"
 msgstr ""
 
-#: config/s390/s390-c.cc:929
+#: config/s390/s390-c.cc:947
 #, gcc-internal-format
 msgid "%qF requires %<-mvx%>"
 msgstr ""
 
-#: config/s390/s390-c.cc:935
+#: config/s390/s390-c.cc:953
 #, gcc-internal-format
 msgid "%qF requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:941
+#: config/s390/s390-c.cc:959
 #, gcc-internal-format
 msgid "%qF requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:955
+#: config/s390/s390-c.cc:965
+#, gcc-internal-format
+msgid "%qF requires arch15 or higher"
+msgstr ""
+
+#: config/s390/s390-c.cc:979
 #, gcc-internal-format
 msgid "mismatch in number of arguments for builtin %qF. Expected: %d got %d"
 msgstr ""
 
-#: config/s390/s390-c.cc:1004
+#: config/s390/s390-c.cc:1028
 #, gcc-internal-format
 msgid "invalid parameter combination for intrinsic %qs"
 msgstr ""
 
-#: config/s390/s390-c.cc:1010
+#: config/s390/s390-c.cc:1034
 #, gcc-internal-format
 msgid "ambiguous overload for intrinsic %qs"
 msgstr ""
 
-#: config/s390/s390-c.cc:1018
+#: config/s390/s390-c.cc:1042
 #, gcc-internal-format
 msgid "%qs matching variant requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:1027
+#: config/s390/s390-c.cc:1051
 #, gcc-internal-format
 msgid "%qs matching variant requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390-c.cc:1033
+#: config/s390/s390-c.cc:1059
+#, gcc-internal-format
+msgid "%qs matching variant requires arch15 or higher"
+msgstr ""
+
+#: config/s390/s390-c.cc:1065
 #, gcc-internal-format
 msgid "%qs matching variant is deprecated"
 msgstr ""
 
-#: config/s390/s390-c.cc:1073
+#: config/s390/s390-c.cc:1105
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range for target type"
 msgstr ""
 
-#: config/s390/s390.cc:848
+#: config/s390/s390.cc:825
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is invalid (%s)"
 msgstr ""
 
-#: config/s390/s390.cc:852
+#: config/s390/s390.cc:829
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range (0-%wu)"
 msgstr ""
 
-#: config/s390/s390.cc:868
+#: config/s390/s390.cc:845
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range (%wd-%wd)"
 msgstr ""
 
-#: config/s390/s390.cc:917
+#: config/s390/s390.cc:894
 #, gcc-internal-format
 msgid ""
 "builtin %qF is not supported without %<-mhtm%> (default with %<-"
 "march=zEC12%> and higher)"
 msgstr ""
 
-#: config/s390/s390.cc:923
+#: config/s390/s390.cc:900
 #, gcc-internal-format
 msgid "builtin %qF requires %<-mvx%> (default with %<-march=z13%> and higher)"
 msgstr ""
 
-#: config/s390/s390.cc:930
+#: config/s390/s390.cc:907
 #, gcc-internal-format
 msgid "Builtin %qF requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390.cc:936
+#: config/s390/s390.cc:913
 #, gcc-internal-format
 msgid "Builtin %qF requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390.cc:955
+#: config/s390/s390.cc:919
+#, gcc-internal-format
+msgid "Builtin %qF requires arch15 or higher"
+msgstr ""
+
+#: config/s390/s390.cc:938
 #, gcc-internal-format
 msgid "unresolved overloaded builtin"
 msgstr ""
 
-#: config/s390/s390.cc:962
+#: config/s390/s390.cc:945
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/s390/s390.cc:1096
+#: config/s390/s390.cc:1079
 #, gcc-internal-format
 msgid "invalid argument %d for builtin %qF"
 msgstr ""
 
-#: config/s390/s390.cc:1197
+#: config/s390/s390.cc:1180
 #, gcc-internal-format
 msgid ""
 "requested %qE attribute is not a comma separated pair of non-negative "
 "integer constants or too large (max. %d)"
 msgstr ""
 
-#: config/s390/s390.cc:1287
+#: config/s390/s390.cc:1273
 #, gcc-internal-format
 msgid "argument to %qE attribute is not (keep|thunk|thunk-extern)"
 msgstr ""
 
-#: config/s390/s390.cc:10593
+#: config/s390/s390.cc:10780
 #, gcc-internal-format
 msgid "total size of local variables exceeds architecture limit"
 msgstr ""
 
-#: config/s390/s390.cc:12000
+#: config/s390/s390.cc:12180
 #, 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:12016
+#: config/s390/s390.cc:12196
 #, gcc-internal-format
 msgid ""
 "frame size of function %qs is %wd bytes which is more than half the stack "
@@ -46979,218 +47367,212 @@ msgid ""
 "function"
 msgstr ""
 
-#: config/s390/s390.cc:12044
+#: config/s390/s390.cc:12224
 #, gcc-internal-format
 msgid "frame size of %qs is %wd bytes"
 msgstr ""
 
-#: config/s390/s390.cc:12048
+#: config/s390/s390.cc:12228
 #, gcc-internal-format
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/s390/s390.cc:12795
+#: config/s390/s390.cc:12975
 #, 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:13754
+#: config/s390/s390.cc:13934
 #, gcc-internal-format
 msgid "nested functions cannot be profiled with %<-mfentry%> on s390"
 msgstr ""
 
-#: config/s390/s390.cc:16056
+#: config/s390/s390.cc:16238
 #, gcc-internal-format
 msgid "64-bit ABI not supported in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:16063
+#: config/s390/s390.cc:16245
 #, gcc-internal-format
 msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>"
 msgstr ""
 
-#: config/s390/s390.cc:16098
+#: config/s390/s390.cc:16280
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware vector support not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:16101
+#: config/s390/s390.cc:16283
 #, gcc-internal-format
 msgid "hardware vector support not available with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:16130
+#: config/s390/s390.cc:16312
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware decimal floating-point instructions not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:16134
+#: config/s390/s390.cc:16316
 #, gcc-internal-format
 msgid ""
 "hardware decimal floating-point instructions not available in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:16146
+#: config/s390/s390.cc:16328
 #, gcc-internal-format
 msgid "%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:16155
+#: config/s390/s390.cc:16337
 #, gcc-internal-format
 msgid ""
 "%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in "
 "combination"
 msgstr ""
 
-#: config/s390/s390.cc:16161
+#: config/s390/s390.cc:16343
 #, gcc-internal-format
 msgid "stack size must be greater than the stack guard value"
 msgstr ""
 
-#: config/s390/s390.cc:16163
+#: config/s390/s390.cc:16345
 #, gcc-internal-format
 msgid "stack size must not be greater than 64k"
 msgstr ""
 
-#: config/s390/s390.cc:16166
+#: config/s390/s390.cc:16348
 #, gcc-internal-format
 msgid "%<-mstack-guard%> implies use of %<-mstack-size%>"
 msgstr ""
 
-#: config/s390/s390.cc:16179
+#: config/s390/s390.cc:16361
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16182
+#: config/s390/s390.cc:16364
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16185
+#: config/s390/s390.cc:16367
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16188
+#: config/s390/s390.cc:16370
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:16252
+#: config/s390/s390.cc:16434
 #, gcc-internal-format
 msgid "%<-mfentry%> is supported only for 64-bit CPUs"
 msgstr ""
 
 #. argument is not a plain number
-#: config/s390/s390.cc:16288
+#: config/s390/s390.cc:16470
 #, gcc-internal-format
 msgid "arguments to %qs should be non-negative integers"
 msgstr ""
 
-#: config/s390/s390.cc:16295
+#: config/s390/s390.cc:16477
 #, gcc-internal-format
 msgid "argument to %qs is too large (max. %d)"
 msgstr ""
 
-#: config/s390/s390.cc:16326
+#: config/s390/s390.cc:16508
 #, gcc-internal-format
 msgid ""
 "%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>"
 msgstr ""
 
-#: config/s390/s390.cc:16487 config/s390/s390.cc:16537
-#: config/s390/s390.cc:16554
-#, gcc-internal-format
-msgid "attribute %<target%> argument %qs is unknown"
-msgstr ""
-
 #. Value is not allowed for the target attribute.
-#: config/s390/s390.cc:16493
+#: config/s390/s390.cc:16675
 #, gcc-internal-format
 msgid "value %qs is not supported by attribute %<target%>"
 msgstr ""
 
-#: config/s390/s390.cc:17552
+#: config/s390/s390.cc:17734
 #, gcc-internal-format
 msgid "invalid cc output constraint: %qs"
 msgstr ""
 
-#: config/s390/s390.cc:17557
+#: config/s390/s390.cc:17739
 #, gcc-internal-format
 msgid "multiple cc output constraints not supported"
 msgstr ""
 
-#: config/s390/s390.cc:17562
+#: config/s390/s390.cc:17744
 #, gcc-internal-format
 msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
 msgstr ""
 
-#: config/s390/s390.cc:17568
+#: config/s390/s390.cc:17750
 #, gcc-internal-format
 msgid "invalid type for cc output constraint"
 msgstr ""
 
-#: config/sh/sh.cc:936
+#: config/sh/sh.cc:943
 #, gcc-internal-format
 msgid "ignoring %<-fschedule-insns%> because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.cc:953
+#: config/sh/sh.cc:960
 #, gcc-internal-format
 msgid ""
 "unwind tables currently require either a frame pointer or %<-maccumulate-"
 "outgoing-args%> for correctness"
 msgstr ""
 
-#: config/sh/sh.cc:7416
+#: config/sh/sh.cc:7429
 #, gcc-internal-format
 msgid "%<__builtin_saveregs%> not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.cc:8353
+#: config/sh/sh.cc:8366
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr ""
 
-#: config/sh/sh.cc:8423
+#: config/sh/sh.cc:8436
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr ""
 
-#: config/sh/sh.cc:8465
+#: config/sh/sh.cc:8478
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr ""
 
-#: config/sh/sh.cc:8487
+#: config/sh/sh.cc:8500
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr ""
 
-#: config/sh/sh.cc:10832
+#: config/sh/sh.cc:10859
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sparc/sparc.cc:1834
+#: config/sparc/sparc.cc:1850
 #, gcc-internal-format, gfc-internal-format
 msgid "%s is not supported by this configuration"
 msgstr ""
 
-#: config/sparc/sparc.cc:1841
+#: config/sparc/sparc.cc:1857
 #, gcc-internal-format
 msgid "%<-mlong-double-64%> not allowed with %<-m64%>"
 msgstr ""
 
-#: config/sparc/sparc.cc:1849
+#: config/sparc/sparc.cc:1865
 #, gcc-internal-format
 msgid "%<-fcall-saved-REG%> is not supported for out registers"
 msgstr ""
 
-#: config/sparc/sparc.cc:1973
+#: config/sparc/sparc.cc:1989
 #, gcc-internal-format
 msgid "%<-mcmodel=%> is not supported in 32-bit mode"
 msgstr ""
@@ -47340,7 +47722,7 @@ msgstr ""
 msgid "too much stack space to prepare: %d"
 msgstr ""
 
-#: config/visium/visium.cc:730
+#: config/visium/visium.cc:733
 #, gcc-internal-format
 msgid "an interrupt handler cannot be compiled with %<-muser-mode%>"
 msgstr ""
@@ -47440,121 +47822,121 @@ msgstr ""
 msgid "%qs is defined but plugin support is disabled"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2864
+#: config/xtensa/xtensa.cc:2913
 #, gcc-internal-format
 msgid "boolean registers required for the floating-point option"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2899
+#: config/xtensa/xtensa.cc:2948
 #, gcc-internal-format
 msgid "%<-f%s%> is not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2906
+#: config/xtensa/xtensa.cc:2955
 #, gcc-internal-format
 msgid "PIC is required but not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:4349
+#: config/xtensa/xtensa.cc:4409
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in a %<.bss%> section"
 msgstr ""
 
-#: ada/gcc-interface/misc.cc:155
+#: ada/gcc-interface/misc.cc:157
 #, gcc-internal-format
 msgid "%<-gnat%> misspelled as %<-gant%>"
 msgstr ""
 
-#: ada/gcc-interface/misc.cc:258
+#: ada/gcc-interface/misc.cc:260
 #, gcc-internal-format
 msgid "%<-fexcess-precision=standard%> for Ada"
 msgstr ""
 
-#: ada/gcc-interface/misc.cc:260
+#: ada/gcc-interface/misc.cc:262
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> for Ada"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:348
+#: ada/gcc-interface/trans.cc:352
 #, gcc-internal-format, gfc-internal-format
 msgid "%s contains too many lines"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1640
+#: ada/gcc-interface/trans.cc:1666
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline_Always%>"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1642 ada/gcc-interface/trans.cc:1648
+#: ada/gcc-interface/trans.cc:1668 ada/gcc-interface/trans.cc:1674
 #, gcc-internal-format
 msgid "parent subprogram cannot be inlined"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1646
+#: ada/gcc-interface/trans.cc:1672
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline%>"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4291
+#: ada/gcc-interface/utils.cc:4427
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4315
+#: ada/gcc-interface/utils.cc:4451
 #, gcc-internal-format
 msgid "number of components of vector not a power of two"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6551 ada/gcc-interface/utils.cc:6729
-#: ada/gcc-interface/utils.cc:6969
+#: ada/gcc-interface/utils.cc:6690 ada/gcc-interface/utils.cc:6868
+#: ada/gcc-interface/utils.cc:7108
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6606
+#: ada/gcc-interface/utils.cc:6745
 #, gcc-internal-format
 msgid "%qs attribute without arguments on a non-prototype"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6621
+#: ada/gcc-interface/utils.cc:6760
 #, gcc-internal-format
 msgid "%qs argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6643
+#: ada/gcc-interface/utils.cc:6782
 #, gcc-internal-format
 msgid ""
 "%qs argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6652
+#: ada/gcc-interface/utils.cc:6791
 #, gcc-internal-format
 msgid "%qs argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6673
+#: ada/gcc-interface/utils.cc:6812
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6682
+#: ada/gcc-interface/utils.cc:6821
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6929 d/d-attribs.cc:362 d/d-attribs.cc:488
+#: ada/gcc-interface/utils.cc:7068 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:7240
+#: ada/gcc-interface/utils.cc:7403
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: c/c-convert.cc:104 c/c-typeck.cc:2353 c/c-typeck.cc:13558 cp/typeck.cc:2498
-#: cp/typeck.cc:9512 cp/typeck.cc:10300 d/d-convert.cc:262
+#: c/c-convert.cc:104 c/c-typeck.cc:2713 c/c-typeck.cc:14775 cp/typeck.cc:2520
+#: cp/typeck.cc:9603 cp/typeck.cc:10396 d/d-convert.cc:262
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
@@ -47574,590 +47956,603 @@ msgstr ""
 msgid "conversion to non-scalar type requested"
 msgstr ""
 
-#: c/c-decl.cc:915
+#: c/c-decl.cc:913
 #, gcc-internal-format
 msgid "array %q+D assumed to have one element"
 msgstr ""
 
-#: c/c-decl.cc:956
+#: c/c-decl.cc:954
 #, gcc-internal-format
 msgid "%qD is static but used in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:961
+#: c/c-decl.cc:959
 #, gcc-internal-format
 msgid "%q+D is static but declared in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:1157
+#: c/c-decl.cc:1155
 #, gcc-internal-format, gfc-internal-format
 msgid "GCC supports only %u nested scopes"
 msgstr ""
 
-#: c/c-decl.cc:1299 cp/decl.cc:378
+#: c/c-decl.cc:1297 cp/decl.cc:382
 #, gcc-internal-format
 msgid "label %q+D used but not defined"
 msgstr ""
 
-#: c/c-decl.cc:1344
+#: c/c-decl.cc:1342
 #, gcc-internal-format
 msgid "nested function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1358
+#: c/c-decl.cc:1356
 #, gcc-internal-format
 msgid "inline function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1376
+#: c/c-decl.cc:1374
 #, gcc-internal-format
 msgid "unused variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:1382 cp/decl.cc:733
+#: c/c-decl.cc:1380 cp/decl.cc:755
 #, gcc-internal-format
 msgid "variable %qD set but not used"
 msgstr ""
 
-#: c/c-decl.cc:1387
+#: c/c-decl.cc:1385
 #, gcc-internal-format
 msgid "type of array %q+D completed incompatibly with implicit initialization"
 msgstr ""
 
-#: c/c-decl.cc:1562
+#: c/c-decl.cc:1560
 #, gcc-internal-format
 msgid ""
 "underspecified declaration of %qE, which is already declared in this scope"
 msgstr ""
 
-#: c/c-decl.cc:1733 c/c-decl.cc:7890 c/c-decl.cc:8894 c/c-decl.cc:9946
+#: c/c-decl.cc:1731 c/c-decl.cc:7921 c/c-decl.cc:8920 c/c-decl.cc:9855
+#: c/c-decl.cc:9861 c/c-decl.cc:10088
 #, gcc-internal-format
 msgid "originally defined here"
 msgstr ""
 
-#: c/c-decl.cc:1956
+#: c/c-decl.cc:1954
 #, gcc-internal-format
 msgid ""
 "a parameter list with an ellipsis cannot match an empty parameter name list "
 "declaration"
 msgstr ""
 
-#: c/c-decl.cc:1964
+#: c/c-decl.cc:1962
 #, 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:2012
+#: c/c-decl.cc:2010
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares more arguments than previous old-style definition"
 msgstr ""
 
-#: c/c-decl.cc:2018
+#: c/c-decl.cc:2016
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares fewer arguments than previous old-style "
 "definition"
 msgstr ""
 
-#: c/c-decl.cc:2027
+#: c/c-decl.cc:2025
 #, 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:2040
+#: c/c-decl.cc:2038
 #, gcc-internal-format
 msgid "prototype for %q+D follows non-prototype definition"
 msgstr ""
 
-#: c/c-decl.cc:2058
+#: c/c-decl.cc:2056
 #, gcc-internal-format
 msgid "previous definition of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:2062
+#: c/c-decl.cc:2060
 #, gcc-internal-format
 msgid "previous implicit declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:2066
+#: c/c-decl.cc:2064
 #, gcc-internal-format
 msgid "previous declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:2128
+#: c/c-decl.cc:2126
 #, gcc-internal-format
 msgid "%q+D redeclared as different kind of symbol"
 msgstr ""
 
-#: c/c-decl.cc:2133
+#: c/c-decl.cc:2131
 #, gcc-internal-format
 msgid "built-in function %q+D declared as non-function"
 msgstr ""
 
-#: c/c-decl.cc:2136 c/c-decl.cc:3273
+#: c/c-decl.cc:2134 c/c-decl.cc:3271
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:2153
+#: c/c-decl.cc:2151
 #, gcc-internal-format
 msgid "conflicting redeclaration of enumerator %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2160
+#: c/c-decl.cc:2158
 #, gcc-internal-format
 msgid "redeclaration of enumerator %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2200
+#: c/c-decl.cc:2198
 #, gcc-internal-format
 msgid "conflicting types for built-in function %q+D; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2210 c/c-decl.cc:2235
+#: c/c-decl.cc:2208 c/c-decl.cc:2233
 #, gcc-internal-format
 msgid "%qD is declared in header %qs"
 msgstr ""
 
-#: c/c-decl.cc:2221
+#: c/c-decl.cc:2219
 #, gcc-internal-format
 msgid "mismatch in argument %u type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2226
+#: c/c-decl.cc:2224
 #, gcc-internal-format
 msgid "mismatch in return type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2259
+#: c/c-decl.cc:2257
 #, gcc-internal-format
 msgid "conflicting types for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2272 c/c-decl.cc:2309
+#: c/c-decl.cc:2270 c/c-decl.cc:2307
 #, gcc-internal-format
 msgid "conflicting types for %q+D; have %qT"
 msgstr ""
 
-#: c/c-decl.cc:2289
+#: c/c-decl.cc:2287
 #, gcc-internal-format
 msgid "conflicting named address spaces (generic vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2293
+#: c/c-decl.cc:2291
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs generic) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2297
+#: c/c-decl.cc:2295
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2306
+#: c/c-decl.cc:2304
 #, gcc-internal-format
 msgid "conflicting type qualifiers for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2327
+#: c/c-decl.cc:2325
 #, gcc-internal-format
 msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT"
 msgstr ""
 
-#: c/c-decl.cc:2344
+#: c/c-decl.cc:2342
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with different type"
 msgstr ""
 
-#: c/c-decl.cc:2357
+#: c/c-decl.cc:2355
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:2362
+#: c/c-decl.cc:2360
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2390
+#: c/c-decl.cc:2388
 #, gcc-internal-format
 msgid "declaration of %qD shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:2406
+#: c/c-decl.cc:2404
 #, gcc-internal-format
 msgid "declaration of built-in function %qD without a prototype; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2430 c/c-decl.cc:2553
+#: c/c-decl.cc:2428 c/c-decl.cc:2551
 #, gcc-internal-format
 msgid "redefinition of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2469 c/c-decl.cc:2593
+#: c/c-decl.cc:2467 c/c-decl.cc:2591
 #, gcc-internal-format
 msgid "static declaration of %q+D follows non-static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2480 c/c-decl.cc:2488 c/c-decl.cc:2582 c/c-decl.cc:2590
+#: c/c-decl.cc:2478 c/c-decl.cc:2486 c/c-decl.cc:2580 c/c-decl.cc:2588
 #, gcc-internal-format
 msgid "non-static declaration of %q+D follows static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2505
+#: c/c-decl.cc:2503
 #, gcc-internal-format
 msgid "%<gnu_inline%> attribute present on %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2508
+#: c/c-decl.cc:2506
 #, gcc-internal-format
 msgid "but not here"
 msgstr ""
 
-#: c/c-decl.cc:2527
+#: c/c-decl.cc:2525
 #, gcc-internal-format
 msgid "thread-local declaration of %q+D follows non-thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2530
+#: c/c-decl.cc:2528
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q+D follows thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2574
+#: c/c-decl.cc:2572
 #, gcc-internal-format
 msgid "extern declaration of %q+D follows declaration with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2612
+#: c/c-decl.cc:2610
 #, gcc-internal-format
 msgid "declaration of %q+D with no linkage follows extern declaration"
 msgstr ""
 
-#: c/c-decl.cc:2619
+#: c/c-decl.cc:2617
 #, gcc-internal-format
 msgid "redeclaration of %q+D with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2645
+#: c/c-decl.cc:2643
 #, gcc-internal-format
 msgid ""
 "redeclaration of %q+D with different visibility (old visibility preserved)"
 msgstr ""
 
-#: c/c-decl.cc:2666
+#: c/c-decl.cc:2664
 #, gcc-internal-format
 msgid "redefinition of parameter %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2693
+#: c/c-decl.cc:2691
 #, gcc-internal-format
 msgid "redundant redeclaration of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:3231
+#: c/c-decl.cc:3229
 #, gcc-internal-format
 msgid "declaration of %q+D shadows previous non-variable"
 msgstr ""
 
-#: c/c-decl.cc:3253
+#: c/c-decl.cc:3251
 #, gcc-internal-format
 msgid "declaration of %qD shadows a parameter"
 msgstr ""
 
-#: c/c-decl.cc:3266 cp/name-lookup.cc:3547
+#: c/c-decl.cc:3264 cp/name-lookup.cc:3569
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr ""
 
-#: c/c-decl.cc:3292
+#: c/c-decl.cc:3290
 #, gcc-internal-format
 msgid "declaration of %qD shadows a previous local"
 msgstr ""
 
-#: c/c-decl.cc:3298 cp/name-lookup.cc:3264
+#: c/c-decl.cc:3296 cp/name-lookup.cc:3286
 #, gcc-internal-format
 msgid "shadowed declaration is here"
 msgstr ""
 
-#: c/c-decl.cc:3431
+#: c/c-decl.cc:3429
 #, gcc-internal-format
 msgid "nested extern declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3587 c/c-decl.cc:3601
+#: c/c-decl.cc:3585 c/c-decl.cc:3599
 #, gcc-internal-format
 msgid "implicit declaration of function %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3593 c/c-decl.cc:3606
+#: c/c-decl.cc:3591 c/c-decl.cc:3604
 #, gcc-internal-format
 msgid "implicit declaration of function %qE"
 msgstr ""
 
-#: c/c-decl.cc:3625
+#: c/c-decl.cc:3623
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:3896
+#: c/c-decl.cc:3894
 #, gcc-internal-format
 msgid "incompatible implicit declaration of built-in function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3906
+#: c/c-decl.cc:3904
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3917
+#: c/c-decl.cc:3915
 #, gcc-internal-format
 msgid "incompatible implicit declaration of function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3978
+#: c/c-decl.cc:3976
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3983
+#: c/c-decl.cc:3981
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function)"
 msgstr ""
 
-#: c/c-decl.cc:3996
+#: c/c-decl.cc:3994
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:4001
+#: c/c-decl.cc:3999
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function)"
 msgstr ""
 
-#: c/c-decl.cc:4005
+#: c/c-decl.cc:4003
 #, gcc-internal-format
 msgid ""
 "each undeclared identifier is reported only once for each function it "
 "appears in"
 msgstr ""
 
-#: c/c-decl.cc:4053 cp/decl.cc:3588
+#: c/c-decl.cc:4051 cp/decl.cc:3630
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr ""
 
-#: c/c-decl.cc:4090
+#: c/c-decl.cc:4088
 #, gcc-internal-format
 msgid "jump into scope of identifier with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:4093
+#: c/c-decl.cc:4091
 #, gcc-internal-format
 msgid "jump skips OpenMP %<allocate%> allocation"
 msgstr ""
 
-#: c/c-decl.cc:4096
+#: c/c-decl.cc:4094
 #, gcc-internal-format
 msgid "jump skips variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:4098 c/c-decl.cc:4154 c/c-decl.cc:4245
+#: c/c-decl.cc:4096 c/c-decl.cc:4152 c/c-decl.cc:4243
 #, gcc-internal-format
 msgid "label %qD defined here"
 msgstr ""
 
-#: c/c-decl.cc:4153 c/c-decl.cc:4244
+#: c/c-decl.cc:4151 c/c-decl.cc:4242
 #, gcc-internal-format
 msgid "jump into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:4176
+#: c/c-decl.cc:4174
 #, gcc-internal-format
 msgid "duplicate label declaration %qE"
 msgstr ""
 
-#: c/c-decl.cc:4276 cp/decl.cc:4089
+#: c/c-decl.cc:4274 cp/decl.cc:4133
 #, gcc-internal-format
 msgid "duplicate label %qD"
 msgstr ""
 
-#: c/c-decl.cc:4307
+#: c/c-decl.cc:4305
 #, gcc-internal-format
 msgid ""
 "traditional C lacks a separate namespace for labels, identifier %qE conflicts"
 msgstr ""
 
-#: c/c-decl.cc:4379
+#: c/c-decl.cc:4377
 #, gcc-internal-format
 msgid "switch jumps over OpenMP %<allocate%> allocation"
 msgstr ""
 
-#: c/c-decl.cc:4385
+#: c/c-decl.cc:4383
 #, gcc-internal-format
 msgid "switch jumps over variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:4388 c/c-decl.cc:4401
+#: c/c-decl.cc:4386 c/c-decl.cc:4399
 #, gcc-internal-format
 msgid "switch starts here"
 msgstr ""
 
-#: c/c-decl.cc:4400
+#: c/c-decl.cc:4398
 #, gcc-internal-format
 msgid "switch jumps into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:4483
+#: c/c-decl.cc:4481
 #, gcc-internal-format
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c/c-decl.cc:4669 cp/tree.cc:5036
+#: c/c-decl.cc:4678 cp/tree.cc:5088
 #, gcc-internal-format
 msgid "%qE attribute applied to %qD with void return type"
 msgstr ""
 
-#: c/c-decl.cc:4678
+#: c/c-decl.cc:4687
 #, gcc-internal-format
 msgid ""
 "%qE attribute can only be applied to functions or to structure, union or "
 "enumeration types"
 msgstr ""
 
-#: c/c-decl.cc:4698
+#: c/c-decl.cc:4707
 #, gcc-internal-format
 msgid "standard %qE attribute can only be applied to functions"
 msgstr ""
 
+#: c/c-decl.cc:4727
+#, gcc-internal-format
+msgid ""
+"standard %qE attribute can only be applied to function declarators or type "
+"specifiers with function type"
+msgstr ""
+
+#: c/c-decl.cc:4729
+#, gcc-internal-format
+msgid "did you mean to specify it after %<)%> following function parameters?"
+msgstr ""
+
 #. This can only occur with extensions such as statement
 #. 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:4976 c/c-decl.cc:8833
+#: c/c-decl.cc:5034 c/c-decl.cc:8859
 #, gcc-internal-format
 msgid "%qT declared in underspecified object initializer"
 msgstr ""
 
-#: c/c-decl.cc:4987
+#: c/c-decl.cc:5045
 #, gcc-internal-format
 msgid "unnamed struct/union that defines no instances"
 msgstr ""
 
-#: c/c-decl.cc:4998
+#: c/c-decl.cc:5056
 #, gcc-internal-format
 msgid "empty declaration with storage class specifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:5014
+#: c/c-decl.cc:5072
 #, gcc-internal-format
 msgid "empty declaration with type qualifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:5026
+#: c/c-decl.cc:5084
 #, gcc-internal-format
 msgid "empty declaration with %<_Alignas%> does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:5040
+#: c/c-decl.cc:5098
 #, gcc-internal-format
 msgid "empty declaration of %<enum%> type does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:5065 c/c-decl.cc:5073
+#: c/c-decl.cc:5123 c/c-decl.cc:5131
 #, gcc-internal-format
 msgid "useless type name in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5081
+#: c/c-decl.cc:5139
 #, gcc-internal-format
 msgid "%<inline%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5087
+#: c/c-decl.cc:5145
 #, gcc-internal-format
 msgid "%<_Noreturn%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5093
+#: c/c-decl.cc:5151
 #, gcc-internal-format
 msgid "%<constexpr%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5099
+#: c/c-decl.cc:5157
 #, gcc-internal-format
 msgid "%<auto%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5105
+#: c/c-decl.cc:5163
 #, gcc-internal-format
 msgid "%<register%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5113
+#: c/c-decl.cc:5171
 #, gcc-internal-format
 msgid ""
 "storage class specifier in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5119
+#: c/c-decl.cc:5177
 #, gcc-internal-format
 msgid "%qs in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5129
+#: c/c-decl.cc:5187
 #, gcc-internal-format
 msgid "type qualifier in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5135
+#: c/c-decl.cc:5193
 #, gcc-internal-format
 msgid "%<alignas%> in empty declaration with %<enum%> underlying type"
 msgstr ""
 
-#: c/c-decl.cc:5144
+#: c/c-decl.cc:5202
 #, gcc-internal-format
 msgid "useless storage class specifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5150
+#: c/c-decl.cc:5208
 #, gcc-internal-format
 msgid "useless %qs in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5163
+#: c/c-decl.cc:5221
 #, gcc-internal-format
 msgid "useless type qualifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5170
+#: c/c-decl.cc:5228
 #, gcc-internal-format
 msgid "useless %<_Alignas%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5188
+#: c/c-decl.cc:5246
 #, gcc-internal-format
 msgid "invalid use of attributes in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5202 c/c-parser.cc:2403
+#: c/c-decl.cc:5260 c/c-parser.cc:2512
 #, gcc-internal-format
 msgid "empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:5274
+#: c/c-decl.cc:5332
 #, gcc-internal-format
 msgid ""
 "ISO C90 does not support %<static%> or type qualifiers in parameter array "
 "declarators"
 msgstr ""
 
-#: c/c-decl.cc:5278
+#: c/c-decl.cc:5336
 #, gcc-internal-format
 msgid "ISO C90 does not support %<[*]%> array declarators"
 msgstr ""
@@ -48165,313 +48560,318 @@ 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:5284 c/c-decl.cc:8413 c/c-decl.cc:10791
+#: c/c-decl.cc:5342 c/c-decl.cc:8444 c/c-decl.cc:10982
 #, gcc-internal-format
 msgid "%<[*]%> not allowed in other than function prototype scope"
 msgstr ""
 
-#: c/c-decl.cc:5477 cp/decl2.cc:1856 cp/name-lookup.cc:8857
+#: c/c-decl.cc:5535 cp/decl2.cc:1960 cp/name-lookup.cc:8988
 #, gcc-internal-format
 msgid "%<omp::%s%> not allowed to be specified in this context"
 msgstr ""
 
-#: c/c-decl.cc:5557
+#: c/c-decl.cc:5618
 #, gcc-internal-format
 msgid "%q+D is usually a function"
 msgstr ""
 
-#: c/c-decl.cc:5562 c/c-decl.cc:10622 cp/decl.cc:17943
+#: c/c-decl.cc:5623 c/c-decl.cc:10812 cp/decl.cc:18555
 #, gcc-internal-format
 msgid "no previous declaration for %qD"
 msgstr ""
 
-#: c/c-decl.cc:5571
+#: c/c-decl.cc:5632
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %<__typeof__%> instead)"
 msgstr ""
 
-#: c/c-decl.cc:5576
+#: c/c-decl.cc:5637
 #, 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:5582
+#: c/c-decl.cc:5643
 #, gcc-internal-format
 msgid "parameter %qD is initialized"
 msgstr ""
 
-#: c/c-decl.cc:5602
+#: c/c-decl.cc:5663
 #, gcc-internal-format
 msgid "variable %qD has initializer but incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:5682
+#: c/c-decl.cc:5745
 #, gcc-internal-format
 msgid "inline function %q+D given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:5738
+#: c/c-decl.cc:5802
 #, gcc-internal-format
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:5740
+#: c/c-decl.cc:5804
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr ""
 
-#: c/c-decl.cc:5821
+#: c/c-decl.cc:5885
 #, gcc-internal-format
 msgid "initializer fails to determine size of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5826
+#: c/c-decl.cc:5890
 #, gcc-internal-format
 msgid "array size missing in %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5830
+#: c/c-decl.cc:5894
 #, gcc-internal-format
 msgid "zero or negative size array %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5921 m2/gm2-gcc/m2type.cc:1250
+#: c/c-decl.cc:5985 m2/gm2-gcc/m2type.cc:1258
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t constant"
 msgstr ""
 
-#: c/c-decl.cc:5971
+#: c/c-decl.cc:6035
 #, gcc-internal-format
 msgid "ignoring %<asm%> specifier for non-static local variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:6009
+#: c/c-decl.cc:6073
 #, gcc-internal-format
 msgid "cannot put object with volatile field into register"
 msgstr ""
 
-#: c/c-decl.cc:6095
+#: c/c-decl.cc:6159
 #, gcc-internal-format
 msgid "uninitialized %<const %D%> is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:6110 cp/decl.cc:9055
+#: c/c-decl.cc:6174 cp/decl.cc:9532
 #, gcc-internal-format
 msgid "%q+D in declare target directive does not have mappable type"
 msgstr ""
 
-#: c/c-decl.cc:6373
+#: c/c-decl.cc:6437
 #, gcc-internal-format
 msgid "ISO C forbids forward parameter declarations"
 msgstr ""
 
-#: c/c-decl.cc:6413
+#: c/c-decl.cc:6477
 #, gcc-internal-format
 msgid "file-scope compound literal specifies %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6419
+#: c/c-decl.cc:6483
 #, gcc-internal-format
 msgid "compound literal implicitly auto and declared %qs"
 msgstr ""
 
-#: c/c-decl.cc:6519
+#: c/c-decl.cc:6534
+#, gcc-internal-format
+msgid "array of unknown size with empty initializer"
+msgstr ""
+
+#: c/c-decl.cc:6588
 #, gcc-internal-format
 msgid "defining a type in a compound literal is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:6540 c/c-decl.cc:6555
+#: c/c-decl.cc:6609 c/c-decl.cc:6624
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:6550
+#: c/c-decl.cc:6619
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:6561
+#: c/c-decl.cc:6630
 #, gcc-internal-format
 msgid "negative width in bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6566
+#: c/c-decl.cc:6635
 #, gcc-internal-format
 msgid "zero width for bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6577
+#: c/c-decl.cc:6646
 #, gcc-internal-format
 msgid "bit-field %qs has invalid type"
 msgstr ""
 
-#: c/c-decl.cc:6583
+#: c/c-decl.cc:6652
 #, gcc-internal-format
 msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: c/c-decl.cc:6594
+#: c/c-decl.cc:6663
 #, gcc-internal-format
 msgid "type of bit-field %qs is a GCC extension"
 msgstr ""
 
-#: c/c-decl.cc:6600
+#: c/c-decl.cc:6669
 #, gcc-internal-format
 msgid "width of %qs exceeds its type"
 msgstr ""
 
-#: c/c-decl.cc:6619
+#: c/c-decl.cc:6688
 #, gcc-internal-format
 msgid "%qs is narrower than values of its type"
 msgstr ""
 
-#: c/c-decl.cc:6634
+#: c/c-decl.cc:6703
 #, gcc-internal-format
 msgid "ISO C90 forbids array %qE whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6637
+#: c/c-decl.cc:6706
 #, gcc-internal-format
 msgid "ISO C90 forbids array whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6644
+#: c/c-decl.cc:6713
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array %qE"
 msgstr ""
 
-#: c/c-decl.cc:6646
+#: c/c-decl.cc:6715
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array"
 msgstr ""
 
-#: c/c-decl.cc:6889
+#: c/c-decl.cc:6958
 #, gcc-internal-format
 msgid "%<enum%> underlying type may not be specified here"
 msgstr ""
 
-#: c/c-decl.cc:6917 c/c-decl.cc:7326 c/c-decl.cc:7336
+#: c/c-decl.cc:6986 c/c-decl.cc:7393 c/c-decl.cc:7403
 #, gcc-internal-format
 msgid "variably modified %qE at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6919
+#: c/c-decl.cc:6988
 #, gcc-internal-format
 msgid "variably modified field at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6939
+#: c/c-decl.cc:7008
 #, gcc-internal-format
 msgid "type defaults to %<int%> in declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:6943
+#: c/c-decl.cc:7012
 #, gcc-internal-format
 msgid "type defaults to %<int%> in type name"
 msgstr ""
 
-#: c/c-decl.cc:6975
+#: c/c-decl.cc:7044
 #, gcc-internal-format
 msgid "duplicate %<const%>"
 msgstr ""
 
-#: c/c-decl.cc:6977
+#: c/c-decl.cc:7046
 #, gcc-internal-format
 msgid "duplicate %<restrict%>"
 msgstr ""
 
-#: c/c-decl.cc:6979
+#: c/c-decl.cc:7048
 #, gcc-internal-format
 msgid "duplicate %<volatile%>"
 msgstr ""
 
-#: c/c-decl.cc:6981
+#: c/c-decl.cc:7050
 #, gcc-internal-format
 msgid "duplicate %<_Atomic%>"
 msgstr ""
 
-#: c/c-decl.cc:6984
+#: c/c-decl.cc:7053
 #, gcc-internal-format, gfc-internal-format
 msgid "conflicting named address spaces (%s vs %s)"
 msgstr ""
 
-#: c/c-decl.cc:7007 c/c-parser.cc:3573
+#: c/c-decl.cc:7076 c/c-parser.cc:3767
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified array type"
 msgstr ""
 
-#: c/c-decl.cc:7022
+#: c/c-decl.cc:7091
 #, gcc-internal-format
 msgid "function definition declared %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:7024
+#: c/c-decl.cc:7093
 #, gcc-internal-format
 msgid "function definition declared %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:7026
+#: c/c-decl.cc:7095
 #, gcc-internal-format
 msgid "function definition declared %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:7028
+#: c/c-decl.cc:7097
 #, gcc-internal-format
 msgid "function definition declared %qs"
 msgstr ""
 
-#: c/c-decl.cc:7055
+#: c/c-decl.cc:7124
 #, gcc-internal-format
 msgid "storage class specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7058
+#: c/c-decl.cc:7127
 #, gcc-internal-format
 msgid "storage class specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:7062
+#: c/c-decl.cc:7131
 #, gcc-internal-format
 msgid "storage class specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7065
+#: c/c-decl.cc:7134
 #, gcc-internal-format
 msgid "storage class specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7068 cp/decl.cc:13146
+#: c/c-decl.cc:7137 cp/decl.cc:13697
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr ""
 
-#: c/c-decl.cc:7086
+#: c/c-decl.cc:7155
 #, gcc-internal-format
 msgid "%qE initialized and declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:7090
+#: c/c-decl.cc:7159
 #, gcc-internal-format
 msgid "%qE has both %<extern%> and initializer"
 msgstr ""
 
-#: c/c-decl.cc:7095
+#: c/c-decl.cc:7164
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:7099
+#: c/c-decl.cc:7168
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:7104
+#: c/c-decl.cc:7173
 #, gcc-internal-format
 msgid "nested function %qE declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:7107
+#: c/c-decl.cc:7176
 #, gcc-internal-format
 msgid "function-scope %qE implicitly auto and declared %qs"
 msgstr ""
@@ -48479,1257 +48879,1350 @@ 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:7154 c/c-decl.cc:7550
+#: c/c-decl.cc:7223 c/c-decl.cc:7583
 #, gcc-internal-format
 msgid "static or type qualifiers in non-parameter array declarator"
 msgstr ""
 
-#: c/c-decl.cc:7217
+#: c/c-decl.cc:7284
 #, gcc-internal-format
 msgid "declaration of %qE as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:7219
+#: c/c-decl.cc:7286
 #, gcc-internal-format
 msgid "declaration of type name as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:7226
+#: c/c-decl.cc:7293
 #, gcc-internal-format
 msgid "declaration of %qE as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:7229
+#: c/c-decl.cc:7296
 #, gcc-internal-format
 msgid "declaration of type name as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:7237 c/c-decl.cc:9542
+#: c/c-decl.cc:7304 c/c-decl.cc:9658
 #, gcc-internal-format
 msgid "invalid use of structure with flexible array member"
 msgstr ""
 
-#: c/c-decl.cc:7269
+#: c/c-decl.cc:7336
 #, gcc-internal-format
 msgid "size of array %qE has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:7273
+#: c/c-decl.cc:7340
 #, gcc-internal-format
 msgid "size of unnamed array has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:7281
+#: c/c-decl.cc:7348
 #, gcc-internal-format
 msgid "size of array %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7284
+#: c/c-decl.cc:7351
 #, gcc-internal-format
 msgid "size of unnamed array has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7296
+#: c/c-decl.cc:7363
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array %qE"
 msgstr ""
 
-#: c/c-decl.cc:7299
+#: c/c-decl.cc:7366
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array"
 msgstr ""
 
-#: c/c-decl.cc:7308
+#: c/c-decl.cc:7375
 #, gcc-internal-format
 msgid "size of array %qE is negative"
 msgstr ""
 
-#: c/c-decl.cc:7310
+#: c/c-decl.cc:7377
 #, gcc-internal-format
 msgid "size of unnamed array is negative"
 msgstr ""
 
-#: c/c-decl.cc:7396
+#: c/c-decl.cc:7463
 #, gcc-internal-format
 msgid "size of array %qE is too large"
 msgstr ""
 
-#: c/c-decl.cc:7399
+#: c/c-decl.cc:7466
 #, gcc-internal-format
 msgid "size of unnamed array is too large"
 msgstr ""
 
-#: c/c-decl.cc:7438 c/c-decl.cc:8070
+#: c/c-decl.cc:7505 c/c-decl.cc:8101
 #, gcc-internal-format
 msgid "ISO C90 does not support flexible array members"
 msgstr ""
 
-#. C99 6.7.5.2p4
-#: c/c-decl.cc:7460
+#: c/c-decl.cc:7518
 #, gcc-internal-format
 msgid "%<[*]%> not in a declaration"
 msgstr ""
 
-#: c/c-decl.cc:7474
+#: c/c-decl.cc:7526
 #, gcc-internal-format
 msgid "array type has incomplete element type %qT"
 msgstr ""
 
-#: c/c-decl.cc:7480
+#: c/c-decl.cc:7532
 #, gcc-internal-format
 msgid ""
 "declaration of %qE as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: c/c-decl.cc:7484
+#: c/c-decl.cc:7536
 #, gcc-internal-format
 msgid ""
 "declaration of multidimensional array must have bounds for all dimensions "
 "except the first"
 msgstr ""
 
-#: c/c-decl.cc:7586
+#: c/c-decl.cc:7619
 #, gcc-internal-format
 msgid "%qE declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7589
+#: c/c-decl.cc:7622
 #, gcc-internal-format
 msgid "type name declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7596
+#: c/c-decl.cc:7629
 #, gcc-internal-format
 msgid "%qE declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7599
+#: c/c-decl.cc:7632
 #, gcc-internal-format
 msgid "type name declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7643
+#: c/c-decl.cc:7676
 #, gcc-internal-format
 msgid "function definition has qualified void return type"
 msgstr ""
 
-#: c/c-decl.cc:7647 cp/decl.cc:13555
+#: c/c-decl.cc:7680 cp/decl.cc:14109
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr ""
 
-#: c/c-decl.cc:7686 c/c-decl.cc:7856 c/c-decl.cc:7910 c/c-decl.cc:8004
-#: c/c-decl.cc:8126 c/c-parser.cc:3575
+#: c/c-decl.cc:7719 c/c-decl.cc:7887 c/c-decl.cc:7941 c/c-decl.cc:8035
+#: c/c-decl.cc:8157 c/c-parser.cc:3769
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified function type"
 msgstr ""
 
-#: c/c-decl.cc:7692 c/c-decl.cc:7862 c/c-decl.cc:8009 c/c-decl.cc:8131
+#: c/c-decl.cc:7725 c/c-decl.cc:7893 c/c-decl.cc:8040 c/c-decl.cc:8162
 #, gcc-internal-format
 msgid "ISO C forbids qualified function types"
 msgstr ""
 
-#: c/c-decl.cc:7747
+#: c/c-decl.cc:7778
 #, gcc-internal-format
 msgid "%qs combined with %<auto%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7751
+#: c/c-decl.cc:7782
 #, gcc-internal-format
 msgid "%qs combined with %<register%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7757
+#: c/c-decl.cc:7788
 #, gcc-internal-format
 msgid "%qs specified for auto variable %qE"
 msgstr ""
 
-#: c/c-decl.cc:7773
+#: c/c-decl.cc:7804
 #, gcc-internal-format
 msgid "%qs specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7776
+#: c/c-decl.cc:7807
 #, gcc-internal-format
 msgid "%qs specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7782
+#: c/c-decl.cc:7813
 #, gcc-internal-format
 msgid "%qs specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7785
+#: c/c-decl.cc:7816
 #, gcc-internal-format
 msgid "%qs specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:7800
+#: c/c-decl.cc:7831
 #, gcc-internal-format
 msgid "bit-field %qE has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7802
+#: c/c-decl.cc:7833
 #, gcc-internal-format
 msgid "bit-field has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7811
+#: c/c-decl.cc:7842
 #, gcc-internal-format
 msgid "alignment specified for typedef %qE"
 msgstr ""
 
-#: c/c-decl.cc:7813
+#: c/c-decl.cc:7844
 #, gcc-internal-format
 msgid "alignment specified for %<register%> object %qE"
 msgstr ""
 
-#: c/c-decl.cc:7818
+#: c/c-decl.cc:7849
 #, gcc-internal-format
 msgid "alignment specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7820
+#: c/c-decl.cc:7851
 #, gcc-internal-format
 msgid "alignment specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7825
+#: c/c-decl.cc:7856
 #, gcc-internal-format
 msgid "alignment specified for bit-field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7827
+#: c/c-decl.cc:7858
 #, gcc-internal-format
 msgid "alignment specified for unnamed bit-field"
 msgstr ""
 
-#: c/c-decl.cc:7830
+#: c/c-decl.cc:7861
 #, gcc-internal-format
 msgid "alignment specified for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:7837
+#: c/c-decl.cc:7868
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE"
 msgstr ""
 
-#: c/c-decl.cc:7840
+#: c/c-decl.cc:7871
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field"
 msgstr ""
 
-#: c/c-decl.cc:7871
+#: c/c-decl.cc:7902
 #, gcc-internal-format
 msgid "typedef %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7873
+#: c/c-decl.cc:7904
 #, gcc-internal-format
 msgid "typedef %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7916
+#: c/c-decl.cc:7947
 #, gcc-internal-format
 msgid "ISO C forbids const or volatile function types"
 msgstr ""
 
 #. C99 6.7.2.1p8
-#: c/c-decl.cc:7927
+#: c/c-decl.cc:7958
 #, gcc-internal-format
 msgid "a member of a structure or union cannot have a variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:7944 cp/decl.cc:12026
+#: c/c-decl.cc:7975 cp/decl.cc:12564
 #, gcc-internal-format
 msgid "variable or field %qE declared void"
 msgstr ""
 
-#: c/c-decl.cc:7994
+#: c/c-decl.cc:8025
 #, gcc-internal-format
 msgid "attributes in parameter array declarator ignored"
 msgstr ""
 
-#: c/c-decl.cc:8036
+#: c/c-decl.cc:8067
 #, gcc-internal-format
 msgid "parameter %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:8038
+#: c/c-decl.cc:8069
 #, gcc-internal-format
 msgid "parameter %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8051
+#: c/c-decl.cc:8082
 #, gcc-internal-format
 msgid "field %qE declared as a function"
 msgstr ""
 
-#: c/c-decl.cc:8058
+#: c/c-decl.cc:8089
 #, gcc-internal-format
 msgid "field %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8060
+#: c/c-decl.cc:8091
 #, gcc-internal-format
 msgid "unnamed field has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8097 c/c-decl.cc:8108 c/c-decl.cc:8111
+#: c/c-decl.cc:8128 c/c-decl.cc:8139 c/c-decl.cc:8142
 #, gcc-internal-format
 msgid "invalid storage class for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:8168
+#: c/c-decl.cc:8199
 #, gcc-internal-format
 msgid "cannot inline function %<main%>"
 msgstr ""
 
-#: c/c-decl.cc:8170
+#: c/c-decl.cc:8201
 #, gcc-internal-format
 msgid "%<main%> declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8181
+#: c/c-decl.cc:8212
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8184
+#: c/c-decl.cc:8215
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8206
+#: c/c-decl.cc:8237
 #, gcc-internal-format
 msgid "function previously declared %<static%> redeclared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:8224
+#: c/c-decl.cc:8255
 #, gcc-internal-format
 msgid "%<constexpr%> object has variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:8228 c/c-parser.cc:12277
+#: c/c-decl.cc:8259 c/c-parser.cc:13322
 #, gcc-internal-format
 msgid "invalid qualifiers for %<constexpr%> object"
 msgstr ""
 
-#: c/c-decl.cc:8234 c/c-parser.cc:12280
+#: c/c-decl.cc:8265 c/c-parser.cc:13325
 #, gcc-internal-format
 msgid "invalid qualifiers for field of %<constexpr%> object"
 msgstr ""
 
-#: c/c-decl.cc:8260
+#: c/c-decl.cc:8291
 #, gcc-internal-format
 msgid "variable previously declared %<static%> redeclared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:8272
+#: c/c-decl.cc:8303
 #, gcc-internal-format
 msgid "variable %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:8274
+#: c/c-decl.cc:8305
 #, gcc-internal-format
 msgid "variable %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:8309
+#: c/c-decl.cc:8340
 #, gcc-internal-format
 msgid "non-nested function with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:8311
+#: c/c-decl.cc:8342
 #, gcc-internal-format
 msgid "object with variably modified type must have no linkage"
 msgstr ""
 
-#: c/c-decl.cc:8419 c/c-decl.cc:10596
+#: c/c-decl.cc:8450 c/c-decl.cc:10786
 #, gcc-internal-format
 msgid "function declaration isn%'t a prototype"
 msgstr ""
 
-#: c/c-decl.cc:8431
+#: c/c-decl.cc:8462
 #, gcc-internal-format
 msgid "parameter names (without types) in function declaration"
 msgstr ""
 
-#: c/c-decl.cc:8476
+#: c/c-decl.cc:8510
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8480
+#: c/c-decl.cc:8514
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter %u has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:8491
-#, gcc-internal-format
-msgid "parameter %u (%q+D) has void type"
-msgstr ""
-
-#: c/c-decl.cc:8495
-#, gcc-internal-format, gfc-internal-format
-msgid "parameter %u has void type"
-msgstr ""
-
-#: c/c-decl.cc:8570
+#: c/c-decl.cc:8594
 #, gcc-internal-format
 msgid "%<void%> as only parameter may not be qualified"
 msgstr ""
 
-#: c/c-decl.cc:8574 c/c-decl.cc:8610
+#: c/c-decl.cc:8598
 #, gcc-internal-format
 msgid "%<void%> must be the only parameter"
 msgstr ""
 
-#: c/c-decl.cc:8604
+#: c/c-decl.cc:8628
 #, gcc-internal-format
 msgid "parameter %q+D has just a forward declaration"
 msgstr ""
 
-#: c/c-decl.cc:8652
+#: c/c-decl.cc:8636
+#, gcc-internal-format
+msgid "%<void%> must be the only parameter and unnamed"
+msgstr ""
+
+#: c/c-decl.cc:8678
 #, 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:8659
+#: c/c-decl.cc:8685
 #, 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:8785
+#: c/c-decl.cc:8811
 #, gcc-internal-format
 msgid "enum type defined here"
 msgstr ""
 
-#: c/c-decl.cc:8791
+#: c/c-decl.cc:8817
 #, gcc-internal-format
 msgid "struct defined here"
 msgstr ""
 
-#: c/c-decl.cc:8797
+#: c/c-decl.cc:8823
 #, gcc-internal-format
 msgid "union defined here"
 msgstr ""
 
-#: c/c-decl.cc:8890
+#: c/c-decl.cc:8916
 #, gcc-internal-format
 msgid "redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8892
+#: c/c-decl.cc:8918
 #, gcc-internal-format
 msgid "redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8901
+#: c/c-decl.cc:8927
 #, gcc-internal-format
 msgid "nested redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8903
+#: c/c-decl.cc:8929
 #, gcc-internal-format
 msgid "nested redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8935 c/c-decl.cc:9974
+#: c/c-decl.cc:8962 c/c-decl.cc:10116
 #, gcc-internal-format
 msgid "defining type in %qs expression is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:8941 c/c-decl.cc:9980
+#: c/c-decl.cc:8968 c/c-decl.cc:10122
 #, gcc-internal-format
 msgid "%qT defined in underspecified object initializer"
 msgstr ""
 
-#: c/c-decl.cc:9005 cp/decl.cc:5670
+#: c/c-decl.cc:9032 cp/decl.cc:5717 cp/parser.cc:28790
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr ""
 
-#: c/c-decl.cc:9010
+#: c/c-decl.cc:9037
 #, gcc-internal-format
 msgid "ISO C99 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:9013
+#: c/c-decl.cc:9040
 #, gcc-internal-format
 msgid "ISO C90 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:9106 c/c-decl.cc:9124 c/c-decl.cc:9185
+#: c/c-decl.cc:9133 c/c-decl.cc:9151 c/c-decl.cc:9212
 #, gcc-internal-format
 msgid "duplicate member %q+D"
 msgstr ""
 
-#: c/c-decl.cc:9211
+#: c/c-decl.cc:9238
 #, gcc-internal-format
 msgid "empty struct has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:9214
+#: c/c-decl.cc:9241
 #, gcc-internal-format
 msgid "empty union has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:9434
+#: c/c-decl.cc:9475
+#, gcc-internal-format
+msgid ""
+"argument %qE to the %<counted_by%> attribute is not a field declaration in "
+"the same structure as %qD"
+msgstr ""
+
+#: c/c-decl.cc:9491
+#, gcc-internal-format
+msgid ""
+"argument %qE to the %<counted_by%> attribute is not a field declaration with "
+"an integer type"
+msgstr ""
+
+#: c/c-decl.cc:9549
 #, gcc-internal-format
 msgid "union has no named members"
 msgstr ""
 
-#: c/c-decl.cc:9436
+#: c/c-decl.cc:9551
 #, gcc-internal-format
 msgid "union has no members"
 msgstr ""
 
-#: c/c-decl.cc:9441
+#: c/c-decl.cc:9556
 #, gcc-internal-format
 msgid "struct has no named members"
 msgstr ""
 
-#: c/c-decl.cc:9443
+#: c/c-decl.cc:9558
 #, gcc-internal-format
 msgid "struct has no members"
 msgstr ""
 
-#: c/c-decl.cc:9521 cp/decl.cc:14588
+#: c/c-decl.cc:9636 cp/decl.cc:15141
 #, gcc-internal-format
-msgid "flexible array member in union"
+msgid "flexible array member in union is a GCC extension"
 msgstr ""
 
-#: c/c-decl.cc:9527
+#: c/c-decl.cc:9640
 #, gcc-internal-format
 msgid "flexible array member not at end of struct"
 msgstr ""
 
-#: c/c-decl.cc:9533
+#: c/c-decl.cc:9645
 #, gcc-internal-format
-msgid "flexible array member in a struct with no named members"
+msgid ""
+"flexible array member in a struct with no named members is a GCC extension"
 msgstr ""
 
-#: c/c-decl.cc:9564
+#: c/c-decl.cc:9680
 #, gcc-internal-format
 msgid ""
 "structure containing a flexible array member is not at the end of another "
 "structure"
 msgstr ""
 
-#: c/c-decl.cc:9587
+#: c/c-decl.cc:9707
 #, gcc-internal-format
 msgid "type %qT is too large"
 msgstr ""
 
-#: c/c-decl.cc:9651
+#: c/c-decl.cc:9771
 #, gcc-internal-format
 msgid "type punning toggles scalar storage order"
 msgstr ""
 
-#: c/c-decl.cc:9718
+#: c/c-decl.cc:9838
 #, gcc-internal-format
 msgid "union cannot be made transparent"
 msgstr ""
 
-#: c/c-decl.cc:9731
+#: c/c-decl.cc:9852
 #, gcc-internal-format
 msgid "redefinition of struct or union %qT with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:9734
+#: c/c-decl.cc:9859
 #, gcc-internal-format
 msgid "redefinition of struct or union %qT"
 msgstr ""
 
-#: c/c-decl.cc:9899
+#: c/c-decl.cc:10038
 #, gcc-internal-format
 msgid "nested redefinition of %<enum %E%>"
 msgstr ""
 
-#: c/c-decl.cc:9944
+#: c/c-decl.cc:10086
 #, gcc-internal-format
 msgid "redeclaration of %<enum %E%>"
 msgstr ""
 
-#: c/c-decl.cc:9956
+#: c/c-decl.cc:10098
 #, gcc-internal-format
 msgid "%<enum%> declared with but defined without fixed underlying type"
 msgstr ""
 
-#: c/c-decl.cc:10043 cp/decl.cc:17217 m2/gm2-gcc/m2type.cc:2073
+#: c/c-decl.cc:10185 cp/decl.cc:17813 m2/gm2-gcc/m2type.cc:2079
 #, gcc-internal-format
 msgid "specified mode too small for enumerated values"
 msgstr ""
 
-#: c/c-decl.cc:10062
+#: c/c-decl.cc:10204
 #, gcc-internal-format
 msgid "enumeration values exceed range of largest integer"
 msgstr ""
 
-#: c/c-decl.cc:10071
+#: c/c-decl.cc:10213
 #, gcc-internal-format
 msgid "enumeration values exceed range of %qs"
 msgstr ""
 
-#: c/c-decl.cc:10180
+#: c/c-decl.cc:10326
 #, gcc-internal-format
 msgid "conflicting redefinition of enum %qT"
 msgstr ""
 
-#: c/c-decl.cc:10212 c/c-decl.cc:10228
+#: c/c-decl.cc:10359 c/c-decl.cc:10375
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:10223
+#: c/c-decl.cc:10370
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:10247
+#: c/c-decl.cc:10394
 #, gcc-internal-format
 msgid "overflow in enumeration values"
 msgstr ""
 
-#: c/c-decl.cc:10254
+#: c/c-decl.cc:10401
 #, gcc-internal-format
 msgid "enumerator value outside the range of underlying type"
 msgstr ""
 
-#: c/c-decl.cc:10282
+#: c/c-decl.cc:10418
+#, gcc-internal-format
+msgid "value of redeclared enumerator outside the range of %qT"
+msgstr ""
+
+#: c/c-decl.cc:10446
 #, gcc-internal-format
 msgid "enumerator value outside the range of %qs"
 msgstr ""
 
-#: c/c-decl.cc:10288
+#: c/c-decl.cc:10452
 #, gcc-internal-format
 msgid "ISO C restricts enumerator values to range of %<int%> before C23"
 msgstr ""
 
-#: c/c-decl.cc:10489 cp/decl.cc:5990 cp/decl.cc:17802
+#: c/c-decl.cc:10660 cp/decl.cc:6051 cp/decl.cc:18413
 #, gcc-internal-format
 msgid "inline function %qD given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:10507
+#: c/c-decl.cc:10679
 #, gcc-internal-format
 msgid "return type is an incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:10519
+#: c/c-decl.cc:10691
 #, gcc-internal-format
 msgid "return type defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10547
+#: c/c-decl.cc:10719
 #, gcc-internal-format
 msgid "%q+D defined as variadic function without prototype"
 msgstr ""
 
-#: c/c-decl.cc:10605
+#: c/c-decl.cc:10772
+#, gcc-internal-format
+msgid ""
+"ISO C23 does not allow defining parameters for function %qE declared without "
+"parameters"
+msgstr ""
+
+#: c/c-decl.cc:10795
 #, gcc-internal-format
 msgid "no previous prototype for %qD"
 msgstr ""
 
-#: c/c-decl.cc:10614
+#: c/c-decl.cc:10804
 #, gcc-internal-format
 msgid "%qD was used with no prototype before its definition"
 msgstr ""
 
-#: c/c-decl.cc:10632
+#: c/c-decl.cc:10822
 #, gcc-internal-format
 msgid "%qD was used with no declaration before its definition"
 msgstr ""
 
-#: c/c-decl.cc:10651
+#: c/c-decl.cc:10841
 #, gcc-internal-format
 msgid "return type of %qD is not %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10653
+#: c/c-decl.cc:10843
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified return type of %qD"
 msgstr ""
 
-#: c/c-decl.cc:10660
+#: c/c-decl.cc:10850
 #, gcc-internal-format
 msgid "%qD is normally a non-static function"
 msgstr ""
 
-#: c/c-decl.cc:10711
+#: c/c-decl.cc:10901
 #, gcc-internal-format
 msgid "old-style parameter declarations in prototyped function definition"
 msgstr ""
 
-#: c/c-decl.cc:10726
+#: c/c-decl.cc:10917
 #, gcc-internal-format
 msgid "traditional C rejects ISO C style function definitions"
 msgstr ""
 
-#: c/c-decl.cc:10743
+#: c/c-decl.cc:10934
 #, gcc-internal-format
 msgid ""
 "ISO C does not support omitting parameter names in function definitions "
 "before C23"
 msgstr ""
 
-#: c/c-decl.cc:10783 c/c-decl.cc:10787
+#: c/c-decl.cc:10974 c/c-decl.cc:10978
 #, gcc-internal-format
 msgid "old-style function definition"
 msgstr ""
 
-#: c/c-decl.cc:10800
+#: c/c-decl.cc:10991
 #, gcc-internal-format
 msgid "parameter name missing from parameter list"
 msgstr ""
 
-#: c/c-decl.cc:10816
+#: c/c-decl.cc:11007
 #, gcc-internal-format
 msgid "%qD declared as a non-parameter"
 msgstr ""
 
-#: c/c-decl.cc:10824
+#: c/c-decl.cc:11015
 #, gcc-internal-format
 msgid "multiple parameters named %qD"
 msgstr ""
 
-#: c/c-decl.cc:10833
+#: c/c-decl.cc:11024
 #, gcc-internal-format
 msgid "parameter %qD declared with void type"
 msgstr ""
 
-#: c/c-decl.cc:10862 c/c-decl.cc:10867
+#: c/c-decl.cc:11053 c/c-decl.cc:11058
 #, gcc-internal-format
 msgid "type of %qD defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:10887
+#: c/c-decl.cc:11078
 #, gcc-internal-format
 msgid "parameter %qD has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:10894
+#: c/c-decl.cc:11085
 #, gcc-internal-format
 msgid "declaration for parameter %qD but no such parameter"
 msgstr ""
 
-#: c/c-decl.cc:10947
+#: c/c-decl.cc:11138
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10958
+#: c/c-decl.cc:11149
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10961 c/c-decl.cc:11008 c/c-decl.cc:11022
+#: c/c-decl.cc:11152 c/c-decl.cc:11199 c/c-decl.cc:11213
 #, gcc-internal-format
 msgid "prototype declaration"
 msgstr ""
 
-#: c/c-decl.cc:11000
+#: c/c-decl.cc:11191
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:11005
+#: c/c-decl.cc:11196
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:11015
+#: c/c-decl.cc:11206
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:11020
+#: c/c-decl.cc:11211
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:11278 cp/decl.cc:18745
+#: c/c-decl.cc:11469 cp/decl.cc:19336
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
 
-#: c/c-decl.cc:11297 cp/decl.cc:18816
+#: c/c-decl.cc:11488 cp/decl.cc:19407
 #, gcc-internal-format
 msgid "parameter %qD set but not used"
 msgstr ""
 
-#: c/c-decl.cc:11394
+#: c/c-decl.cc:11585
 #, gcc-internal-format
 msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
 msgstr ""
 
-#: c/c-decl.cc:11399
+#: c/c-decl.cc:11590
 #, gcc-internal-format
 msgid ""
 "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to "
 "compile your code"
 msgstr ""
 
-#: c/c-decl.cc:11406
+#: c/c-decl.cc:11597
 #, gcc-internal-format
 msgid "ISO C90 does not support %<for%> loop initial declarations"
 msgstr ""
 
-#: c/c-decl.cc:11440
+#: c/c-decl.cc:11631
 #, gcc-internal-format
 msgid "declaration of static variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11444
+#: c/c-decl.cc:11635
 #, gcc-internal-format
 msgid ""
 "declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11451
+#: c/c-decl.cc:11642
 #, gcc-internal-format
 msgid "%<struct %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11456
+#: c/c-decl.cc:11647
 #, gcc-internal-format
 msgid "%<union %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11462
+#: c/c-decl.cc:11653
 #, gcc-internal-format
 msgid "%<enum %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11466
+#: c/c-decl.cc:11657
 #, gcc-internal-format
 msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:11753
+#: c/c-decl.cc:11957
 #, gcc-internal-format
 msgid "incompatible address space qualifiers %qs and %qs"
 msgstr ""
 
-#: c/c-decl.cc:11812 c/c-decl.cc:11819
+#: c/c-decl.cc:12016 c/c-decl.cc:12023
 #, gcc-internal-format
 msgid "duplicate %qE declaration specifier"
 msgstr ""
 
-#: c/c-decl.cc:11847 c/c-decl.cc:12925
+#: c/c-decl.cc:12051 c/c-decl.cc:13172
 #, gcc-internal-format
 msgid "multiple storage classes in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:11849
+#: c/c-decl.cc:12053
 #, 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:11854
+#: c/c-decl.cc:12058
 #, gcc-internal-format
 msgid "%<auto%> used with %<constexpr%>"
 msgstr ""
 
-#: c/c-decl.cc:11867 c/c-decl.cc:12267 c/c-decl.cc:12720
+#: c/c-decl.cc:12071 c/c-decl.cc:12509 c/c-decl.cc:12967
 #, gcc-internal-format
 msgid "two or more data types in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:11879 cp/parser.cc:34390
+#: c/c-decl.cc:12083 cp/parser.cc:35063
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr ""
 
-#: c/c-decl.cc:11892
+#: c/c-decl.cc:12096
 #, gcc-internal-format
 msgid "ISO C90 does not support %<long long%>"
 msgstr ""
 
-#: c/c-decl.cc:12129 c/c-parser.cc:11619
+#: c/c-decl.cc:12349 c/c-parser.cc:12496
 #, gcc-internal-format
 msgid "ISO C90 does not support complex types"
 msgstr ""
 
-#: c/c-decl.cc:12179
+#: c/c-decl.cc:12403
 #, gcc-internal-format
 msgid "ISO C does not support saturating types"
 msgstr ""
 
-#: c/c-decl.cc:12254 c/c-decl.cc:12860 c/c-decl.cc:12919
+#: c/c-decl.cc:12482 c/c-decl.cc:13107 c/c-decl.cc:13166
 #, gcc-internal-format
 msgid "duplicate %qE"
 msgstr ""
 
-#: c/c-decl.cc:12314
+#: c/c-decl.cc:12499
+#, gcc-internal-format
+msgid "%qs cannot be defined via %<typedef%>"
+msgstr ""
+
+#: c/c-decl.cc:12503
+#, gcc-internal-format
+msgid "%qs cannot be used here"
+msgstr ""
+
+#: c/c-decl.cc:12556
 #, gcc-internal-format
 msgid "ISO C does not support %<__int%d%> types"
 msgstr ""
 
-#: c/c-decl.cc:12336
+#: c/c-decl.cc:12578
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:12379
+#: c/c-decl.cc:12621
 #, gcc-internal-format
 msgid "ISO C90 does not support boolean types"
 msgstr ""
 
-#: c/c-decl.cc:12498
+#: c/c-decl.cc:12740
 #, gcc-internal-format
 msgid "ISO C does not support the %<_Float%d%s%> type before C23"
 msgstr ""
 
-#: c/c-decl.cc:12549 cp/parser.cc:20370
+#: c/c-decl.cc:12791 cp/parser.cc:20869
 #, gcc-internal-format
 msgid "%<_Float%d%s%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:12620
+#: c/c-decl.cc:12867
 #, gcc-internal-format
 msgid "ISO C does not support decimal floating-point before C23"
 msgstr ""
 
-#: c/c-decl.cc:12644 c/c-decl.cc:13021 c/c-parser.cc:10626
+#: c/c-decl.cc:12891 c/c-decl.cc:13268 c/c-parser.cc:11397
 #, gcc-internal-format
 msgid "fixed-point types not supported for this target"
 msgstr ""
 
-#: c/c-decl.cc:12646
+#: c/c-decl.cc:12893
 #, gcc-internal-format
 msgid "ISO C does not support fixed-point types"
 msgstr ""
 
-#: c/c-decl.cc:12675
+#: c/c-decl.cc:12922
 #, gcc-internal-format
 msgid "%<_BitInt%> argument is not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:12681
+#: c/c-decl.cc:12928
 #, gcc-internal-format
 msgid "%<_BitInt%> argument %qE is not a positive integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:12688
+#: c/c-decl.cc:12935
 #, gcc-internal-format
 msgid "%<_BitInt%> argument %qE is larger than %<BITINT_MAXWIDTH%> %qd"
 msgstr ""
 
-#: c/c-decl.cc:12736
+#: c/c-decl.cc:12983
 #, gcc-internal-format
 msgid "C++ lookup of %qD would return a field, not a type"
 msgstr ""
 
-#: c/c-decl.cc:12749
+#: c/c-decl.cc:12996
 #, gcc-internal-format
 msgid "%qE fails to be a typedef or built in type"
 msgstr ""
 
-#: c/c-decl.cc:12804
+#: c/c-decl.cc:13051
 #, 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:12825 c/c-decl.cc:12902
+#: c/c-decl.cc:13072 c/c-decl.cc:13149
 #, gcc-internal-format
 msgid "%qE used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:12827
+#: c/c-decl.cc:13074
 #, gcc-internal-format
 msgid "%qE used with %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:12829 c/c-decl.cc:12898
+#: c/c-decl.cc:13076 c/c-decl.cc:13145
 #, gcc-internal-format
 msgid "%qE used with %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:12831 c/c-decl.cc:12868
+#: c/c-decl.cc:13078 c/c-decl.cc:13115
 #, gcc-internal-format
 msgid "%qE used with %<constexpr%>"
 msgstr ""
 
-#: c/c-decl.cc:12845 c/c-parser.cc:3100 c/c-parser.cc:4427 c/c-parser.cc:9960
+#: c/c-decl.cc:13092 c/c-parser.cc:3293 c/c-parser.cc:4664 c/c-parser.cc:10661
 #, gcc-internal-format
 msgid "ISO C99 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:12848 c/c-parser.cc:3103 c/c-parser.cc:4430 c/c-parser.cc:9963
+#: c/c-decl.cc:13095 c/c-parser.cc:3296 c/c-parser.cc:4667 c/c-parser.cc:10664
 #, gcc-internal-format
 msgid "ISO C90 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:12874
+#: c/c-decl.cc:13121
 #, gcc-internal-format
 msgid "%<__thread%> before %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:12883
+#: c/c-decl.cc:13130
 #, gcc-internal-format
 msgid "%<__thread%> before %<static%>"
 msgstr ""
 
-#: c/c-decl.cc:12889
+#: c/c-decl.cc:13136
 #, gcc-internal-format
 msgid "%<typedef%> used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:12896
+#: c/c-decl.cc:13143
 #, gcc-internal-format
 msgid "%qE used with %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:12904
+#: c/c-decl.cc:13151
 #, gcc-internal-format
 msgid "%qE used with %qs"
 msgstr ""
 
-#: c/c-decl.cc:12917
+#: c/c-decl.cc:13164
 #, gcc-internal-format
 msgid "duplicate %<_Thread_local%> or %<__thread%>"
 msgstr ""
 
-#: c/c-decl.cc:12933
+#: c/c-decl.cc:13180
 #, gcc-internal-format
 msgid "%qs used with %qE"
 msgstr ""
 
-#: c/c-decl.cc:12941
+#: c/c-decl.cc:13188
 #, gcc-internal-format
 msgid "%<constexpr%> used with %qE"
 msgstr ""
 
-#: c/c-decl.cc:13018
+#: c/c-decl.cc:13265
 #, gcc-internal-format
 msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
 msgstr ""
 
-#: c/c-decl.cc:13033
+#: c/c-decl.cc:13280
 #, gcc-internal-format
 msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: c/c-decl.cc:13044
+#: c/c-decl.cc:13291
 #, gcc-internal-format
 msgid "ISO C does not support %<auto%> type deduction before C23"
 msgstr ""
 
-#: c/c-decl.cc:13073
+#: c/c-decl.cc:13320
 #, gcc-internal-format
 msgid "%<__auto_type%> followed by %<[[]]%> attributes"
 msgstr ""
 
-#: c/c-decl.cc:13099 c/c-decl.cc:13115 c/c-decl.cc:13141
+#: c/c-decl.cc:13346 c/c-decl.cc:13362 c/c-decl.cc:13388
 #, gcc-internal-format
 msgid "ISO C does not support complex integer types"
 msgstr ""
 
-#: c/c-decl.cc:13284
+#: c/c-decl.cc:13534
 #, gcc-internal-format
 msgid "%<signed _BitInt%> argument must be at least 2"
 msgstr ""
 
-#: c/c-decl.cc:13293
+#: c/c-decl.cc:13543
 #, gcc-internal-format
 msgid "ISO C does not support %<%s_BitInt(%d)%> before C23"
 msgstr ""
 
-#: c/c-decl.cc:13592 cp/semantics.cc:6385
+#: c/c-decl.cc:13843 cp/semantics.cc:6785
 #, 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:13596 cp/semantics.cc:6389
+#: c/c-decl.cc:13847 cp/semantics.cc:6789
 #, 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:389 c/c-typeck.cc:12832 cp/typeck.cc:5736
+#: c/c-decl.cc:13971
+#, gcc-internal-format
+msgid ""
+"ISO C does not support %qs statement with an identifier operand before C2Y"
+msgstr ""
+
+#: c/c-decl.cc:14023
+#, gcc-internal-format
+msgid ""
+"%<break%> statement operand %qE does not refer to a named loop or "
+"%<switch%>; did you mean %qs?"
+msgstr ""
+
+#: c/c-decl.cc:14027
+#, gcc-internal-format
+msgid ""
+"%<continue%> statement operand %qE does not refer to a named loop; did you "
+"mean %qs?"
+msgstr ""
+
+#: c/c-decl.cc:14032
+#, gcc-internal-format
+msgid ""
+"%<break%> statement operand %qE does not refer to a named loop or %<switch%>"
+msgstr ""
+
+#: c/c-decl.cc:14035
+#, gcc-internal-format
+msgid "%<continue%> statement operand %qE does not refer to a named loop"
+msgstr ""
+
+#: c/c-decl.cc:14041
+#, gcc-internal-format
+msgid "%<continue%> statement operand %qE refers to a named %<switch%>"
+msgstr ""
+
+#: c/c-decl.cc:14043 c/c-decl.cc:14060
+#, gcc-internal-format
+msgid "%<switch%> name defined here"
+msgstr ""
+
+#: c/c-decl.cc:14051
+#, gcc-internal-format
+msgid "%qs statement operand %qE refers to a loop outside of its body"
+msgstr ""
+
+#: c/c-decl.cc:14053
+#, gcc-internal-format
+msgid "loop name defined here"
+msgstr ""
+
+#: c/c-decl.cc:14057
+#, gcc-internal-format
+msgid ""
+"%<break%> statement operand %qE refers to a %<switch%> outside of its body"
+msgstr ""
+
+#: c/c-errors.cc:251
+#, gcc-internal-format
+msgid "%qs is a keyword with %qs onwards"
+msgstr ""
+
+#: c/c-fold.cc:392 c/c-typeck.cc:14049 cp/typeck.cc:5803
 #, gcc-internal-format
 msgid "left shift of negative value"
 msgstr ""
 
-#: c/c-fold.cc:399 c/c-typeck.cc:12841 cp/typeck.cc:5744
+#: c/c-fold.cc:405 c/c-typeck.cc:14058 cp/typeck.cc:5811
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:400 c/c-typeck.cc:12768 cp/typeck.cc:5683
+#: c/c-fold.cc:406 c/c-typeck.cc:13985 cp/typeck.cc:5750
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:409 c/c-typeck.cc:12860 cp/typeck.cc:5752
+#: c/c-fold.cc:416 c/c-typeck.cc:14077 cp/typeck.cc:5819
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:410 c/c-typeck.cc:12792 cp/typeck.cc:5694
+#: c/c-fold.cc:417 c/c-typeck.cc:14009 cp/typeck.cc:5761
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:417 c/c-typeck.cc:12852
+#: c/c-fold.cc:424 c/c-typeck.cc:14069
 #, gcc-internal-format
 msgid "left shift count >= width of vector element"
 msgstr ""
 
-#: c/c-fold.cc:418 c/c-typeck.cc:12779
+#: c/c-fold.cc:425 c/c-typeck.cc:13996
 #, gcc-internal-format
 msgid "right shift count >= width of vector element"
 msgstr ""
 
-#: c/c-parser.cc:353
+#: c/c-parser.cc:371
 #, gcc-internal-format
 msgid "identifier %qE conflicts with C++ keyword"
 msgstr ""
 
-#: c/c-parser.cc:1036 cp/parser.cc:3241
+#: c/c-parser.cc:1056 cp/parser.cc:3374
 #, gcc-internal-format
 msgid "version control conflict marker in file"
 msgstr ""
 
-#: c/c-parser.cc:1257 cp/parser.cc:3322
+#: c/c-parser.cc:1277 cp/parser.cc:3456
 #, gcc-internal-format
 msgid "to match this %qs"
 msgstr ""
 
-#: c/c-parser.cc:1409 cp/parser.cc:34627
+#: c/c-parser.cc:1431 cp/parser.cc:35300
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr ""
 
-#: c/c-parser.cc:1891
+#: c/c-parser.cc:1949
 #, gcc-internal-format
 msgid "ISO C forbids an empty translation unit"
 msgstr ""
 
-#: c/c-parser.cc:1917 c/c-parser.cc:1926 c/c-parser.cc:25405 cp/parser.cc:49217
-#: cp/semantics.cc:3633 cp/semantics.cc:3642
+#: c/c-parser.cc:1975 c/c-parser.cc:1984 c/c-parser.cc:27742 cp/parser.cc:51238
+#: cp/semantics.cc:4007 cp/semantics.cc:4016
 #, gcc-internal-format
 msgid "%qs without corresponding %qs"
 msgstr ""
 
-#: c/c-parser.cc:2022 c/c-parser.cc:13395
+#: c/c-parser.cc:2080 c/c-parser.cc:14487
 #, gcc-internal-format
 msgid "ISO C does not allow extra %<;%> outside of a function"
 msgstr ""
 
-#: c/c-parser.cc:2105
+#: c/c-parser.cc:2164
 #, gcc-internal-format
 msgid "%<assume%> attribute at top level"
 msgstr ""
 
-#: c/c-parser.cc:2255
+#: c/c-parser.cc:2363
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<struct%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2263
+#: c/c-parser.cc:2371
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<union%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2271
+#: c/c-parser.cc:2379
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<enum%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:2284 c/c-parser.cc:3368 c/c-parser.cc:5034
+#: c/c-parser.cc:2392 c/c-parser.cc:3561 c/c-parser.cc:5268
 #, gcc-internal-format
 msgid "unknown type name %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-parser.cc:2288 c/c-parser.cc:3372 c/c-parser.cc:5038
+#: c/c-parser.cc:2396 c/c-parser.cc:3565 c/c-parser.cc:5272
 #, gcc-internal-format
 msgid "unknown type name %qE"
 msgstr ""
 
-#: c/c-parser.cc:2315 c/c-parser.cc:14755 c/c-parser.cc:23035
-#: c/c-parser.cc:23634 c/c-parser.cc:24220 cp/parser.cc:46555
-#: cp/parser.cc:51303
+#: c/c-parser.cc:2423 c/c-parser.cc:15865 c/c-parser.cc:24905
+#: c/c-parser.cc:25648 c/c-parser.cc:26234 cp/parser.cc:48085
+#: cp/parser.cc:53859
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr ""
 
-#: c/c-parser.cc:2339
+#: c/c-parser.cc:2447
 #, gcc-internal-format
 msgid "%qT declared in underspecified object declaration"
 msgstr ""
 
-#: c/c-parser.cc:2344
+#: c/c-parser.cc:2452
 #, gcc-internal-format
 msgid "%qT defined in underspecified object declaration"
 msgstr ""
 
-#: c/c-parser.cc:2379
+#: c/c-parser.cc:2488
 #, gcc-internal-format
 msgid "%qs in empty declaration"
 msgstr ""
 
-#: c/c-parser.cc:2393
+#: c/c-parser.cc:2502
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute at top level"
 msgstr ""
 
-#: c/c-parser.cc:2421 c/c-parser.cc:4230
+#: c/c-parser.cc:2530 c/c-parser.cc:4456
 #, gcc-internal-format
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:2439 cp/parser.cc:36881 cp/parser.cc:36953
+#: c/c-parser.cc:2548 cp/parser.cc:37558 cp/parser.cc:37630
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
 
-#: c/c-parser.cc:2474
+#: c/c-parser.cc:2583
 #, gcc-internal-format
 msgid "prefix attributes are ignored for implementations"
 msgstr ""
 
-#: c/c-parser.cc:2495
+#: c/c-parser.cc:2604
 #, gcc-internal-format
 msgid "unexpected attribute"
 msgstr ""
 
-#: c/c-parser.cc:2505 c/c-parser.cc:7725 cp/parser.cc:12971 cp/parser.cc:13195
+#: c/c-parser.cc:2614 c/c-parser.cc:8270 cp/parser.cc:13343 cp/parser.cc:13604
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute not followed by %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:2508 c/c-parser.cc:7708 cp/cp-gimplify.cc:3647
+#: c/c-parser.cc:2617 c/c-parser.cc:8251 cp/cp-gimplify.cc:3671
 #, gcc-internal-format
 msgid "%<assume%> attribute not followed by %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:2555
+#: c/c-parser.cc:2667
 #, gcc-internal-format
 msgid "%<__auto_type%> requires a plain identifier as declarator"
 msgstr ""
 
-#: c/c-parser.cc:2568
+#: c/c-parser.cc:2680
 #, gcc-internal-format
 msgid ""
 "%<auto%> requires a plain identifier, possibly with attributes, as declarator"
 msgstr ""
 
-#: c/c-parser.cc:2594
+#: c/c-parser.cc:2706
 #, gcc-internal-format
 msgid "data definition has no type or storage class"
 msgstr ""
@@ -49737,321 +50230,350 @@ 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:2609
+#: c/c-parser.cc:2721
 #, gcc-internal-format
 msgid ""
 "attributes should be specified before the declarator in a function definition"
 msgstr ""
 
-#: c/c-parser.cc:2648
+#: c/c-parser.cc:2760
 #, gcc-internal-format
 msgid "%<__auto_type%> used with a bit-field initializer"
 msgstr ""
 
-#: c/c-parser.cc:2758 c/c-parser.cc:2894
+#: c/c-parser.cc:2872 c/c-parser.cc:3017
 #, gcc-internal-format
 msgid "%qs requires an initialized data declaration"
 msgstr ""
 
-#: c/c-parser.cc:2857
+#: c/c-parser.cc:2972
 #, gcc-internal-format
 msgid "%qs may only be used with a single declarator"
 msgstr ""
 
-#: c/c-parser.cc:2886 cp/parser.cc:16062
+#: c/c-parser.cc:3004 cp/parser.cc:16614
 #, gcc-internal-format
 msgid "expected %<,%> or %<;%>"
 msgstr ""
 
+#: c/c-parser.cc:3009
+#, gcc-internal-format
+msgid "declaration in condition can only declare a single object"
+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:2901 c/c-parser.cc:2942
+#: c/c-parser.cc:3028 c/c-parser.cc:3070
 #, gcc-internal-format
 msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:2909
+#: c/c-parser.cc:3037
 #, gcc-internal-format
 msgid "ISO C forbids nested functions"
 msgstr ""
 
-#: c/c-parser.cc:3126 c/c-parser.cc:8887 c/c-parser.cc:14828
+#: c/c-parser.cc:3319 c/c-parser.cc:9590 c/c-parser.cc:15938
+#: c/c-parser.cc:20665 cp/parser.cc:42955
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
 
-#: c/c-parser.cc:3135
+#: c/c-parser.cc:3328
 #, gcc-internal-format
 msgid "ISO C11 does not support omitting the string in %qE"
 msgstr ""
 
-#: c/c-parser.cc:3141
+#: c/c-parser.cc:3334
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer"
 msgstr ""
 
-#: c/c-parser.cc:3150
+#: c/c-parser.cc:3343
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer constant expression"
 msgstr ""
 
-#: c/c-parser.cc:3155
+#: c/c-parser.cc:3348
 #, gcc-internal-format
 msgid "expression in static assertion is not constant"
 msgstr ""
 
-#: c/c-parser.cc:3162
+#: c/c-parser.cc:3355
 #, gcc-internal-format
 msgid "static assertion failed: %E"
 msgstr ""
 
-#: c/c-parser.cc:3164 cp/semantics.cc:11747
+#: c/c-parser.cc:3357 cp/semantics.cc:12469
 #, gcc-internal-format
 msgid "static assertion failed"
 msgstr ""
 
-#: c/c-parser.cc:3543
+#: c/c-parser.cc:3737
 #, gcc-internal-format
 msgid "%<_Atomic%> in Objective-C"
 msgstr ""
 
-#: c/c-parser.cc:3546
+#: c/c-parser.cc:3740
 #, gcc-internal-format
 msgid "ISO C99 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3549
+#: c/c-parser.cc:3743
 #, gcc-internal-format
 msgid "ISO C90 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3577
+#: c/c-parser.cc:3771
 #, gcc-internal-format
 msgid "%<_Atomic%> applied to a qualified type"
 msgstr ""
 
-#: c/c-parser.cc:3607
+#: c/c-parser.cc:3801
 #, gcc-internal-format
 msgid "%<__GIMPLE%> only valid with %<-fgimple%>"
 msgstr ""
 
-#: c/c-parser.cc:3699
+#: c/c-parser.cc:3838
 #, gcc-internal-format
-msgid "ISO C does not support specifying %<enum%> underlying types before C23"
+msgid "empty enum is invalid"
 msgstr ""
 
-#: c/c-parser.cc:3708
+#: c/c-parser.cc:3849
 #, gcc-internal-format
-msgid "%<enum%> declared both with and without fixed underlying type"
+msgid "cannot use keyword %qs as enumeration constant"
 msgstr ""
 
-#: c/c-parser.cc:3731
+#. Otherwise, a more generic error message.
+#: c/c-parser.cc:3861 c/c-parser.cc:5093 c/c-parser.cc:5951 c/c-parser.cc:5968
+#: c/c-parser.cc:6553 c/c-parser.cc:7458 c/c-parser.cc:9457 c/c-parser.cc:9540
+#: c/c-parser.cc:10520 c/c-parser.cc:10835 c/c-parser.cc:10844
+#: c/c-parser.cc:11457 c/c-parser.cc:11745 c/c-parser.cc:11776
+#: c/c-parser.cc:13143 c/c-parser.cc:13717 c/c-parser.cc:13755
+#: c/c-parser.cc:14069 c/c-parser.cc:14120 c/c-parser.cc:14280
+#: c/c-parser.cc:14310 c/c-parser.cc:14318 c/c-parser.cc:14347
+#: c/c-parser.cc:14360 c/c-parser.cc:14666 c/c-parser.cc:14790
+#: c/c-parser.cc:15375 c/c-parser.cc:15428 c/c-parser.cc:15444
+#: c/c-parser.cc:15490 c/c-parser.cc:16509 c/c-parser.cc:16554
+#: c/c-parser.cc:19436 c/c-parser.cc:19573 c/c-parser.cc:20439
+#: c/c-parser.cc:23518 c/c-parser.cc:26716 c/c-parser.cc:26902
+#: c/gimple-parser.cc:1981 c/gimple-parser.cc:2028 cp/parser.cc:9871
+#: cp/parser.cc:35303 cp/parser.cc:38535 cp/parser.cc:41780 cp/parser.cc:41972
+#: cp/parser.cc:49782 cp/parser.cc:53086
 #, gcc-internal-format
-msgid "no %<enum%> underlying type specified"
+msgid "expected identifier"
 msgstr ""
 
-#: c/c-parser.cc:3735
+#: c/c-parser.cc:3934
 #, gcc-internal-format
-msgid "invalid %<enum%> underlying type"
+msgid "ISO C does not support specifying %<enum%> underlying types before C23"
 msgstr ""
 
-#: c/c-parser.cc:3765
+#: c/c-parser.cc:3943
 #, gcc-internal-format
-msgid "%<enum%> underlying type incompatible with previous declaration"
+msgid "%<enum%> declared both with and without fixed underlying type"
 msgstr ""
 
-#: c/c-parser.cc:3801
+#: c/c-parser.cc:3966
 #, gcc-internal-format
-msgid "empty enum is invalid"
+msgid "no %<enum%> underlying type specified"
 msgstr ""
 
-#: c/c-parser.cc:3805 c/c-parser.cc:4859 c/c-parser.cc:5716 c/c-parser.cc:5733
-#: c/c-parser.cc:6261 c/c-parser.cc:6993 c/c-parser.cc:8754 c/c-parser.cc:8837
-#: c/c-parser.cc:9817 c/c-parser.cc:10134 c/c-parser.cc:10143
-#: c/c-parser.cc:10686 c/c-parser.cc:10876 c/c-parser.cc:10904
-#: c/c-parser.cc:12098 c/c-parser.cc:12671 c/c-parser.cc:12709
-#: c/c-parser.cc:12977 c/c-parser.cc:13028 c/c-parser.cc:13188
-#: c/c-parser.cc:13218 c/c-parser.cc:13226 c/c-parser.cc:13255
-#: c/c-parser.cc:13268 c/c-parser.cc:13574 c/c-parser.cc:13698
-#: c/c-parser.cc:14283 c/c-parser.cc:14336 c/c-parser.cc:14352
-#: c/c-parser.cc:14398 c/c-parser.cc:15386 c/c-parser.cc:15431
-#: c/c-parser.cc:18314 c/c-parser.cc:18451 c/c-parser.cc:19208
-#: c/c-parser.cc:21828 c/c-parser.cc:24698 c/c-parser.cc:24887
-#: c/gimple-parser.cc:1930 c/gimple-parser.cc:1977 cp/parser.cc:9529
-#: cp/parser.cc:34630 cp/parser.cc:37858 cp/parser.cc:40985 cp/parser.cc:41177
-#: cp/parser.cc:48150 cp/parser.cc:50569
+#: c/c-parser.cc:3970
 #, gcc-internal-format
-msgid "expected identifier"
+msgid "invalid %<enum%> underlying type"
 msgstr ""
 
-#: c/c-parser.cc:3850 cp/parser.cc:21918
+#: c/c-parser.cc:4000
+#, gcc-internal-format
+msgid "%<enum%> underlying type incompatible with previous declaration"
+msgstr ""
+
+#: c/c-parser.cc:4076 cp/parser.cc:22413
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr ""
 
-#: c/c-parser.cc:3856 go/gofrontend/embed.cc:424
+#: c/c-parser.cc:4082 c/c-parser.cc:20713 cp/parser.cc:43018
+#: go/gofrontend/embed.cc:424
 #, gcc-internal-format
 msgid "expected %<,%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:3899
+#: c/c-parser.cc:4125
 #, gcc-internal-format
 msgid "ISO C forbids forward references to %<enum%> types"
 msgstr ""
 
-#: c/c-parser.cc:4024
+#: c/c-parser.cc:4250
 #, gcc-internal-format
 msgid "expected class name"
 msgstr ""
 
-#: c/c-parser.cc:4046
+#: c/c-parser.cc:4272
 #, gcc-internal-format
 msgid "extra semicolon in struct or union specified"
 msgstr ""
 
-#: c/c-parser.cc:4075
+#: c/c-parser.cc:4301
 #, gcc-internal-format
 msgid "no semicolon at end of struct or union"
 msgstr ""
 
-#: c/c-parser.cc:4192 c/c-parser.cc:6027
+#: c/c-parser.cc:4418 c/c-parser.cc:6293
 #, gcc-internal-format
 msgid "expected specifier-qualifier-list"
 msgstr ""
 
-#: c/c-parser.cc:4203
+#: c/c-parser.cc:4429
 #, gcc-internal-format
 msgid "ISO C forbids member declarations with no members"
 msgstr ""
 
-#: c/c-parser.cc:4297
+#: c/c-parser.cc:4523
 #, gcc-internal-format
 msgid "expected %<,%>, %<;%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:4304
+#: c/c-parser.cc:4530
 #, gcc-internal-format
 msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:4376
+#: c/c-parser.cc:4602
 #, gcc-internal-format
 msgid "%<typeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:4687
+#: c/c-parser.cc:4924
 #, gcc-internal-format
 msgid "expected identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:4920
+#: c/c-parser.cc:4986
+#, gcc-internal-format
+msgid ""
+"%<static%> may not be used with an unspecified variable length array size"
+msgstr ""
+
+#: c/c-parser.cc:4994
+#, gcc-internal-format
+msgid "%<static%> may not be used without an array size"
+msgstr ""
+
+#: c/c-parser.cc:5154
 #, gcc-internal-format
 msgid "ISO C requires a named argument before %<...%> before C23"
 msgstr ""
 
-#: c/c-parser.cc:5045
+#: c/c-parser.cc:5279
 #, gcc-internal-format
 msgid "expected declaration specifiers or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:5274
+#: c/c-parser.cc:5509
 #, gcc-internal-format
 msgid "parentheses must be omitted if attribute argument list is empty"
 msgstr ""
 
-#: c/c-parser.cc:5562 cp/parser.cc:29953
+#: c/c-parser.cc:5797 cp/parser.cc:30715
 #, gcc-internal-format
 msgid "expected OpenMP directive name"
 msgstr ""
 
-#: c/c-parser.cc:5609 cp/parser.cc:30009
+#: c/c-parser.cc:5844 cp/parser.cc:30771
 #, gcc-internal-format
 msgid "expected %<directive%> or %<sequence%>"
 msgstr ""
 
-#: c/c-parser.cc:5754 cp/parser.cc:30178
+#: c/c-parser.cc:5989 cp/parser.cc:30939
 #, gcc-internal-format
 msgid "%<omp::%E%> attribute requires argument"
 msgstr ""
 
-#: c/c-parser.cc:5770 cp/parser.cc:30194
+#: c/c-parser.cc:6005 cp/parser.cc:30955
 #, gcc-internal-format
 msgid "%qE attribute does not take any arguments"
 msgstr ""
 
-#: c/c-parser.cc:5891
+#: c/c-parser.cc:6126
 #, gcc-internal-format
 msgid "ISO C does not support %<[[]]%> attributes before C23"
 msgstr ""
 
-#: c/c-parser.cc:6104 c/c-parser.cc:6167 c/c-typeck.cc:8824
+#: c/c-parser.cc:6370 c/c-parser.cc:6436 c/c-typeck.cc:9609
 #, gcc-internal-format
 msgid ""
 "variable-sized object may not be initialized except with an empty initializer"
 msgstr ""
 
-#: c/c-parser.cc:6161
+#: c/c-parser.cc:6428
 #, gcc-internal-format
 msgid "ISO C forbids empty initializer braces before C23"
 msgstr ""
 
-#: c/c-parser.cc:6225
+#: c/c-parser.cc:6517
 #, gcc-internal-format
 msgid "obsolete use of designated initializer with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:6381
+#: c/c-parser.cc:6673
 #, gcc-internal-format
 msgid "ISO C forbids specifying range of elements to initialize"
 msgstr ""
 
-#: c/c-parser.cc:6393
+#: c/c-parser.cc:6685
 #, gcc-internal-format
 msgid "ISO C90 forbids specifying subobject to initialize"
 msgstr ""
 
-#: c/c-parser.cc:6401
+#: c/c-parser.cc:6693
 #, gcc-internal-format
 msgid "obsolete use of designated initializer without %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:6565 cp/parser.cc:13313
+#: c/c-parser.cc:6980 cp/parser.cc:13726
 #, gcc-internal-format
 msgid "inner loops must be perfectly nested in %<#pragma acc loop%>"
 msgstr ""
 
-#: c/c-parser.cc:6572 cp/parser.cc:13320
+#: c/c-parser.cc:6987 cp/parser.cc:13733
 #, gcc-internal-format
 msgid "inner loops must be perfectly nested with %<ordered%> clause"
 msgstr ""
 
-#: c/c-parser.cc:6579 cp/parser.cc:13327
+#: c/c-parser.cc:6994 cp/parser.cc:13740
 #, gcc-internal-format
 msgid ""
 "inner loops must be perfectly nested with %<reduction%> %<inscan%> clause"
 msgstr ""
 
-#: c/c-parser.cc:6636 c/c-parser.cc:6791 cp/parser.cc:12245 cp/parser.cc:12395
-#: cp/parser.cc:48746
+#: c/c-parser.cc:7001
+#, gcc-internal-format
+msgid "inner loops must be perfectly nested in %<pragma omp tile%>"
+msgstr ""
+
+#: c/c-parser.cc:7057 c/c-parser.cc:7212 cp/parser.cc:12617 cp/parser.cc:12767
+#: cp/parser.cc:50765
 #, gcc-internal-format
 msgid ""
 "mixing OpenMP directives with attribute and pragma syntax on the same "
 "statement"
 msgstr ""
 
-#: c/c-parser.cc:6644 cp/parser.cc:12253
+#: c/c-parser.cc:7065 cp/parser.cc:12625
 #, gcc-internal-format
 msgid "OpenMP %<omp::decl%> attribute on a statement"
 msgstr ""
 
-#: c/c-parser.cc:6668 c/c-parser.cc:6887 c/c-parser.cc:25088 cp/parser.cc:12277
-#: cp/parser.cc:48726 cp/parser.cc:48866
+#: c/c-parser.cc:7089 c/c-parser.cc:7310 c/c-parser.cc:27419 cp/parser.cc:12649
+#: cp/parser.cc:50745 cp/parser.cc:50884
 #, gcc-internal-format
 msgid "unknown OpenMP directive name in %qs attribute argument"
 msgstr ""
 
-#: c/c-parser.cc:6760 cp/parser.cc:12364
+#: c/c-parser.cc:7181 cp/parser.cc:12736
 #, gcc-internal-format
 msgid ""
 "OpenMP construct among %<omp::directive%> attributes requires all %<omp::"
@@ -50059,60 +50581,60 @@ msgid ""
 "sequence%>"
 msgstr ""
 
-#: c/c-parser.cc:6768 cp/parser.cc:12372
+#: c/c-parser.cc:7189 cp/parser.cc:12744
 #, 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:6780 cp/parser.cc:12384
+#: c/c-parser.cc:7201 cp/parser.cc:12756
 #, gcc-internal-format
 msgid ""
 "standalone OpenMP directives in %<omp::directive%> attribute can only appear "
 "on an empty statement"
 msgstr ""
 
-#: c/c-parser.cc:6899 cp/parser.cc:12514
+#: c/c-parser.cc:7322 cp/parser.cc:12886
 #, gcc-internal-format
 msgid ""
 "mixing OpenMP directives with attribute and pragma syntax on the same "
 "declaration"
 msgstr ""
 
-#: c/c-parser.cc:7008
+#: c/c-parser.cc:7473
 #, gcc-internal-format
 msgid "ISO C forbids label declarations"
 msgstr ""
 
-#: c/c-parser.cc:7014 c/c-parser.cc:7195 c/c-parser.cc:7220
-#: c/gimple-parser.cc:424
+#: c/c-parser.cc:7479 c/c-parser.cc:7671 c/c-parser.cc:7697
+#: c/gimple-parser.cc:467
 #, gcc-internal-format
 msgid "expected declaration or statement"
 msgstr ""
 
-#: c/c-parser.cc:7124
+#: c/c-parser.cc:7598
 #, 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:7144 c/c-parser.cc:7186
+#: c/c-parser.cc:7618 c/c-parser.cc:7661
 #, gcc-internal-format
 msgid "ISO C90 forbids mixed declarations and code"
 msgstr ""
 
-#: c/c-parser.cc:7228
+#: c/c-parser.cc:7705
 #, gcc-internal-format
 msgid "expected %<}%> before %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:7233 cp/parser.cc:13374
+#: c/c-parser.cc:7710 cp/parser.cc:13793
 #, gcc-internal-format
 msgid "%<else%> without a previous %<if%>"
 msgstr ""
 
-#: c/c-parser.cc:7264
+#: c/c-parser.cc:7745
 #, gcc-internal-format
 msgid "label at end of compound statement"
 msgstr ""
@@ -50121,1307 +50643,1425 @@ 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:7313 c/c-parser.cc:7317 c/c-parser.cc:7750
-#: c/gimple-parser.cc:2469 cp/parser.cc:12877
+#: c/c-parser.cc:7802 c/c-parser.cc:7806 c/c-parser.cc:8299
+#: c/gimple-parser.cc:716 c/gimple-parser.cc:2520 cp/parser.cc:13249
 #, gcc-internal-format
 msgid "expected statement"
 msgstr ""
 
-#: c/c-parser.cc:7372
+#: c/c-parser.cc:7887
 #, gcc-internal-format
 msgid "expected %<:%> or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:7400
+#: c/c-parser.cc:7917
 #, gcc-internal-format
 msgid ""
 "GNU-style attribute between label and declaration appertains to the label"
 msgstr ""
 
-#: c/c-parser.cc:7632
+#: c/c-parser.cc:8170
 #, gcc-internal-format
 msgid "expected identifier or %<*%>"
 msgstr ""
 
-#: c/c-parser.cc:7733
+#: c/c-parser.cc:8281
 #, gcc-internal-format
 msgid ""
 "only attribute %<fallthrough%> or %<assume%> can be applied to a null "
 "statement"
 msgstr ""
 
-#: c/c-parser.cc:7858 cp/parser.cc:14989
+#: c/c-parser.cc:8391
+#, gcc-internal-format
+msgid "ISO C does not support if declarations before C2Y"
+msgstr ""
+
+#: c/c-parser.cc:8413
+#, gcc-internal-format
+msgid "declaration in the controlling expression must have an initializer"
+msgstr ""
+
+#: c/c-parser.cc:8430 cp/parser.cc:5462 cp/parser.cc:16399
+#, gcc-internal-format
+msgid "expected declaration"
+msgstr ""
+
+#: c/c-parser.cc:8511 cp/parser.cc:15471
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<if%> statement"
 msgstr ""
 
-#: c/c-parser.cc:7900 cp/parser.cc:14992
+#: c/c-parser.cc:8554 cp/parser.cc:15474
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<else%> statement"
 msgstr ""
 
-#: c/c-parser.cc:8031 cp/parser.cc:13787
+#: c/c-parser.cc:8648 cp/parser.cc:14207
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:8120 c/c-parser.cc:8185 c/c-parser.cc:8304 cp/parser.cc:14619
+#: c/c-parser.cc:8766 c/c-parser.cc:8845 c/c-parser.cc:8980 cp/parser.cc:15069
 #, gcc-internal-format
 msgid "loop not permitted in intervening code in OpenMP loop body"
 msgstr ""
 
-#: c/c-parser.cc:8193
+#: c/c-parser.cc:8853
 #, gcc-internal-format
 msgid "suggest braces around empty body in %<do%> statement"
 msgstr ""
 
-#: c/c-parser.cc:8338 c/c-parser.cc:8370
+#: c/c-parser.cc:9014 c/c-parser.cc:9046
 #, gcc-internal-format
 msgid "multiple iterating variables in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:8393
+#: c/c-parser.cc:9069
 #, gcc-internal-format
 msgid "invalid iterating variable in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:8417 cp/parser.cc:14074
+#: c/c-parser.cc:9093 cp/parser.cc:14515
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:8423 cp/parser.cc:14080
+#: c/c-parser.cc:9099 cp/parser.cc:14521
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC unroll%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:8464
+#: c/c-parser.cc:9140
 #, gcc-internal-format
 msgid "missing collection in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:8586 c/c-parser.cc:8597 c/c-parser.cc:8608
+#: c/c-parser.cc:9289 c/c-parser.cc:9300 c/c-parser.cc:9311
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qE"
 msgstr ""
 
-#: c/c-parser.cc:8587 c/c-parser.cc:8598 c/c-parser.cc:8609 cp/parser.cc:22826
-#: cp/parser.cc:22843 cp/parser.cc:22857
+#: c/c-parser.cc:9290 c/c-parser.cc:9301 c/c-parser.cc:9312 cp/parser.cc:23357
+#: cp/parser.cc:23375 cp/parser.cc:23390
 #, gcc-internal-format
 msgid "first seen here"
 msgstr ""
 
-#: c/c-parser.cc:8618
+#: c/c-parser.cc:9321
 #, gcc-internal-format
 msgid "%qE is not a valid %<asm%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:8668
-#, gcc-internal-format
-msgid "expected %<:%> or %<)%>"
-msgstr ""
-
-#: c/c-parser.cc:8967 cp/parser.cc:4711
+#: c/c-parser.cc:9670 cp/parser.cc:4893
 #, gcc-internal-format
 msgid "a wide string is invalid in this context"
 msgstr ""
 
-#: c/c-parser.cc:9175
+#: c/c-parser.cc:9878
 #, 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:9399 cp/typeck.cc:5515
+#: c/c-parser.cc:10102 cp/typeck.cc:5582
 #, gcc-internal-format
 msgid ""
 "division %<sizeof (%T) / sizeof (%T)%> does not compute the number of array "
 "elements"
 msgstr ""
 
-#: c/c-parser.cc:9405 cp/typeck.cc:5520
+#: c/c-parser.cc:10108 cp/typeck.cc:5587
 #, gcc-internal-format
 msgid "first %<sizeof%> operand was declared here"
 msgstr ""
 
-#: c/c-parser.cc:9676
+#: c/c-parser.cc:10379
 #, gcc-internal-format
 msgid "storage class specifier in cast"
 msgstr ""
 
-#: c/c-parser.cc:9679
+#: c/c-parser.cc:10382
 #, gcc-internal-format
 msgid "alignment specified for type name in cast"
 msgstr ""
 
-#: c/c-parser.cc:9780
+#: c/c-parser.cc:10483
 #, gcc-internal-format
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: c/c-parser.cc:9912
+#: c/c-parser.cc:10613
 #, gcc-internal-format
 msgid "storage class specifier in %<sizeof%>"
 msgstr ""
 
-#: c/c-parser.cc:9915
+#: c/c-parser.cc:10616
 #, gcc-internal-format
 msgid "alignment specified for type name in %<sizeof%>"
 msgstr ""
 
-#: c/c-parser.cc:9931
+#: c/c-parser.cc:10632
 #, gcc-internal-format
 msgid "%<sizeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:10004
+#: c/c-parser.cc:10705
 #, gcc-internal-format
 msgid "storage class specifier in %qE"
 msgstr ""
 
-#: c/c-parser.cc:10007
+#: c/c-parser.cc:10708
 #, gcc-internal-format
 msgid "alignment specified for type name in %qE"
 msgstr ""
 
-#: c/c-parser.cc:10031
+#: c/c-parser.cc:10732
 #, gcc-internal-format
 msgid "ISO C does not allow %<%E (expression)%>"
 msgstr ""
 
-#: c/c-parser.cc:10184
+#: c/c-parser.cc:10885
 #, gcc-internal-format
 msgid "cannot take address of %qs"
 msgstr ""
 
-#: c/c-parser.cc:10267
+#: c/c-parser.cc:10992
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:10270
+#: c/c-parser.cc:10995
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:10339
+#: c/c-parser.cc:11006
+#, gcc-internal-format
+msgid ""
+"ISO C does not support use of type name as %<_Generic%> controlling operand "
+"before C2Y"
+msgstr ""
+
+#: c/c-parser.cc:11077
 #, gcc-internal-format
-msgid "%<_Generic%> association has function type"
+msgid ""
+"ISO C does not support %<_Generic%> association with function type before C2Y"
 msgstr ""
 
-#: c/c-parser.cc:10342
+#: c/c-parser.cc:11081
 #, gcc-internal-format
-msgid "%<_Generic%> association has incomplete type"
+msgid ""
+"ISO C does not support %<_Generic%> association with incomplete type before "
+"C2Y"
 msgstr ""
 
-#: c/c-parser.cc:10346
+#: c/c-parser.cc:11086
 #, gcc-internal-format
 msgid "%<_Generic%> association has variable length type"
 msgstr ""
 
-#: c/c-parser.cc:10380
+#: c/c-parser.cc:11120
 #, gcc-internal-format
 msgid "duplicate %<default%> case in %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:10381
+#: c/c-parser.cc:11121
 #, gcc-internal-format
 msgid "original %<default%> is here"
 msgstr ""
 
-#: c/c-parser.cc:10389
+#: c/c-parser.cc:11129
 #, gcc-internal-format
 msgid "%<_Generic%> specifies two compatible types"
 msgstr ""
 
-#: c/c-parser.cc:10390
+#: c/c-parser.cc:11130
 #, gcc-internal-format
 msgid "compatible type is here"
 msgstr ""
 
-#: c/c-parser.cc:10413
+#: c/c-parser.cc:11153
 #, gcc-internal-format
 msgid "%<_Generic%> selector matches multiple associations"
 msgstr ""
 
-#: c/c-parser.cc:10415
+#: c/c-parser.cc:11155
 #, gcc-internal-format
 msgid "other match is here"
 msgstr ""
 
-#: c/c-parser.cc:10440
+#: c/c-parser.cc:11180
 #, gcc-internal-format
 msgid ""
 "%<_Generic%> selector of type %qT is not compatible with any association"
 msgstr ""
 
-#: c/c-parser.cc:10461
+#: c/c-parser.cc:11201
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is not a function pointer"
 msgstr ""
 
-#: c/c-parser.cc:10469
+#: c/c-parser.cc:11209
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is unprototyped"
 msgstr ""
 
-#: c/c-parser.cc:10475
+#: c/c-parser.cc:11215
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has variable arguments"
 msgstr ""
 
-#: c/c-parser.cc:10491
+#: c/c-parser.cc:11231
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has no arguments"
 msgstr ""
 
-#: c/c-parser.cc:10514 c/c-parser.cc:10518
+#: c/c-parser.cc:11254 c/c-parser.cc:11258
 #, gcc-internal-format
 msgid "ISO C does not support %qs predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:10522
+#: c/c-parser.cc:11262
 #, gcc-internal-format
 msgid "ISO C90 does not support %<__func__%> predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:10700 c/c-parser.cc:12165 c/c-parser.cc:12187
-#: c/c-parser.cc:21245 c/gimple-parser.cc:1846 c/gimple-parser.cc:2486
-#: cp/parser.cc:43209
+#: c/c-parser.cc:11471 c/c-parser.cc:13210 c/c-parser.cc:13232
+#: c/c-parser.cc:22935 c/gimple-parser.cc:1897 c/gimple-parser.cc:2537
+#: cp/parser.cc:44508
 #, gcc-internal-format
 msgid "expected expression"
 msgstr ""
 
-#: c/c-parser.cc:10722
+#: c/c-parser.cc:11493
 #, gcc-internal-format
 msgid "braced-group within expression allowed only inside a function"
 msgstr ""
 
-#: c/c-parser.cc:10737
+#: c/c-parser.cc:11508
 #, gcc-internal-format
 msgid "ISO C forbids braced-groups within expressions"
 msgstr ""
 
-#: c/c-parser.cc:10931
+#: c/c-parser.cc:11619
+#, gcc-internal-format
+msgid "optional second parameter of %<va_start%> not last named argument"
+msgstr ""
+
+#: c/c-parser.cc:11658
+#, gcc-internal-format
+msgid ""
+"%<va_start%> macro used with additional arguments other than identifier of "
+"the last named argument"
+msgstr ""
+
+#: c/c-parser.cc:11803
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_choose_expr%>"
 msgstr ""
 
-#: c/c-parser.cc:10947
+#: c/c-parser.cc:11819
 #, gcc-internal-format
 msgid "first argument to %<__builtin_choose_expr%> not a constant"
 msgstr ""
 
-#: c/c-parser.cc:11017 c/c-parser.cc:11034 c/c-parser.cc:11041
+#: c/c-parser.cc:11889 c/c-parser.cc:11906 c/c-parser.cc:11913
 #, gcc-internal-format
 msgid "too few arguments to %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11062
+#: c/c-parser.cc:11934
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments"
 msgstr ""
 
-#: c/c-parser.cc:11106 c/c-parser.cc:11116
+#: c/c-parser.cc:11978 c/c-parser.cc:11988
 #, gcc-internal-format
 msgid ""
 "invalid type-generic return type for argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11138 c/c-parser.cc:11148
+#: c/c-parser.cc:12010 c/c-parser.cc:12020
 #, gcc-internal-format
 msgid ""
 "invalid type-generic type for argument %u of argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11181
+#: c/c-parser.cc:12053
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> all have the same type"
 msgstr ""
 
-#: c/c-parser.cc:11200
+#: c/c-parser.cc:12072
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter"
 msgstr ""
 
-#: c/c-parser.cc:11248
+#: c/c-parser.cc:12120
 #, gcc-internal-format
 msgid ""
 "duplicate type-generic parameter type for function argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11271
+#: c/c-parser.cc:12143
 #, gcc-internal-format
 msgid "bad return type for function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11288
+#: c/c-parser.cc:12160
 #, gcc-internal-format
 msgid ""
 "bad type for argument %u of function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:11327
+#: c/c-parser.cc:12200
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid type of argument %u of type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11338
+#: c/c-parser.cc:12211
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "decimal floating-point argument %u to complex-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11346
+#: c/c-parser.cc:12219
 #, gcc-internal-format, gfc-internal-format
 msgid "decimal floating-point argument %u to binary-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11354 c/c-parser.cc:11384
+#: c/c-parser.cc:12227 c/c-parser.cc:12257
 #, gcc-internal-format
 msgid ""
 "both complex and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11362 c/c-parser.cc:11404
+#: c/c-parser.cc:12235 c/c-parser.cc:12277
 #, gcc-internal-format
 msgid ""
 "both binary and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11376
+#: c/c-parser.cc:12249
 #, gcc-internal-format, gfc-internal-format
 msgid "complex argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11396
+#: c/c-parser.cc:12269
 #, gcc-internal-format, gfc-internal-format
 msgid "binary argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:11499
+#: c/c-parser.cc:12376
 #, gcc-internal-format
 msgid "no matching function for type-generic call"
 msgstr ""
 
-#: c/c-parser.cc:11540
+#: c/c-parser.cc:12417
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>"
 msgstr ""
 
-#: c/c-parser.cc:11553
+#: c/c-parser.cc:12430
 #, gcc-internal-format
 msgid ""
 "first argument to %<__builtin_call_with_static_chain%> must be a call "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:11557
+#: c/c-parser.cc:12434
 #, gcc-internal-format
 msgid ""
 "second argument to %<__builtin_call_with_static_chain%> must be a pointer "
 "type"
 msgstr ""
 
-#: c/c-parser.cc:11583
+#: c/c-parser.cc:12460
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_complex%>"
 msgstr ""
 
-#: c/c-parser.cc:11605
+#: c/c-parser.cc:12482
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operand not of real binary floating-point type"
 msgstr ""
 
-#: c/c-parser.cc:11614
+#: c/c-parser.cc:12491
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operands of different types"
 msgstr ""
 
-#: c/c-parser.cc:11659 c/c-parser.cc:11688 cp/parser.cc:7769
+#: c/c-parser.cc:12522
+#, gcc-internal-format
+msgid "wrong number of arguments to %<__builtin_counted_by_ref%>"
+msgstr ""
+
+#: c/c-parser.cc:12533
+#, gcc-internal-format
+msgid "the argument to %<__builtin_counted_by_ref%> must be an array"
+msgstr ""
+
+#: c/c-parser.cc:12584 c/c-parser.cc:12613 cp/parser.cc:8032
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shuffle%>"
 msgstr ""
 
-#: c/c-parser.cc:11849
+#: c/c-parser.cc:12784
 #, gcc-internal-format
 msgid "wrong number of arguments to %qs"
 msgstr ""
 
-#: c/c-parser.cc:11858
+#: c/c-parser.cc:12793 c/c-parser.cc:12873
 #, gcc-internal-format
 msgid "%qs operand not an integral type"
 msgstr ""
 
-#: c/c-parser.cc:11864
+#: c/c-parser.cc:12799 c/c-parser.cc:12879
 #, gcc-internal-format
 msgid "argument %u in call to function %qs has enumerated type"
 msgstr ""
 
-#: c/c-parser.cc:11871
+#: c/c-parser.cc:12806
 #, gcc-internal-format
 msgid "argument %u in call to function %qs has boolean type"
 msgstr ""
 
-#: c/c-parser.cc:11878
+#: c/c-parser.cc:12813
 #, gcc-internal-format
 msgid "argument 1 in call to function %qs has signed type"
 msgstr ""
 
-#: c/c-parser.cc:12142 cp/parser.cc:6139
+#: c/c-parser.cc:12821
+#, gcc-internal-format
+msgid "argument 1 in call to function %qs has %<char%> type"
+msgstr ""
+
+#: c/c-parser.cc:12895
+#, gcc-internal-format
+msgid "rotate count is negative"
+msgstr ""
+
+#: c/c-parser.cc:13187 cp/parser.cc:6380
 #, gcc-internal-format
 msgid "%<omp_all_memory%> may only be used in OpenMP %<depend%> clause"
 msgstr ""
 
-#: c/c-parser.cc:12152
+#: c/c-parser.cc:13197
 #, gcc-internal-format
 msgid "ISO C does not support %qs before C23"
 msgstr ""
 
-#: c/c-parser.cc:12240
+#: c/c-parser.cc:13285
 #, gcc-internal-format
 msgid "%qT declared in %<constexpr%> compound literal"
 msgstr ""
 
-#: c/c-parser.cc:12245
+#: c/c-parser.cc:13290
 #, gcc-internal-format
 msgid "%qT defined in %<constexpr%> compound literal"
 msgstr ""
 
-#: c/c-parser.cc:12260
+#: c/c-parser.cc:13305
 #, gcc-internal-format
 msgid "compound literal has variable size"
 msgstr ""
 
-#: c/c-parser.cc:12265
+#: c/c-parser.cc:13310
 #, gcc-internal-format
 msgid "compound literal has function type"
 msgstr ""
 
-#: c/c-parser.cc:12296
+#: c/c-parser.cc:13341
 #, gcc-internal-format
 msgid "compound literal qualified by address-space qualifier"
 msgstr ""
 
-#: c/c-parser.cc:12301
+#: c/c-parser.cc:13346
 #, gcc-internal-format
 msgid "ISO C90 forbids compound literals"
 msgstr ""
 
-#: c/c-parser.cc:12303
+#: c/c-parser.cc:13348
 #, gcc-internal-format
 msgid "ISO C forbids storage class specifiers in compound literals before C23"
 msgstr ""
 
-#: c/c-parser.cc:12317
+#: c/c-parser.cc:13362
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal"
 msgstr ""
 
-#: c/c-parser.cc:12392
+#: c/c-parser.cc:13437
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12397
+#: c/c-parser.cc:13442
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of complex type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:12405
+#: c/c-parser.cc:13450
 #, gcc-internal-format
 msgid "taking the absolute value of unsigned type %qT has no effect"
 msgstr ""
 
-#: c/c-parser.cc:12416
+#: c/c-parser.cc:13461
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of integer "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12420
+#: c/c-parser.cc:13465
 #, 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:12425
+#: c/c-parser.cc:13470
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of complex "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12438
+#: c/c-parser.cc:13483
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of integer type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:12442
+#: c/c-parser.cc:13487
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12459
+#: c/c-parser.cc:13505
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "integer type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12464
+#: c/c-parser.cc:13510
 #, 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:12469
+#: c/c-parser.cc:13515
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "complex type %qT"
 msgstr ""
 
-#: c/c-parser.cc:12495
+#: c/c-parser.cc:13541
 #, 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:12625 cp/parser.cc:8169
+#: c/c-parser.cc:13671 cp/parser.cc:8468
 #, gcc-internal-format
 msgid "calls to the OpenMP runtime API are not permitted in intervening code"
 msgstr ""
 
-#: c/c-parser.cc:12999
+#: c/c-parser.cc:14091
 #, gcc-internal-format
 msgid "expected identifier or %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:13095
+#: c/c-parser.cc:14187
 #, gcc-internal-format
 msgid "extra semicolon"
 msgstr ""
 
-#: c/c-parser.cc:13343
+#: c/c-parser.cc:14435
 #, gcc-internal-format
 msgid "extra semicolon in method definition specified"
 msgstr ""
 
-#: c/c-parser.cc:13475
+#: c/c-parser.cc:14567
 #, gcc-internal-format
 msgid "method attributes must be specified at the end only"
 msgstr ""
 
-#: c/c-parser.cc:13495
+#: c/c-parser.cc:14587
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%> after method attribute definition"
 msgstr ""
 
-#: c/c-parser.cc:13617
+#: c/c-parser.cc:14709
 #, gcc-internal-format
 msgid "objective-c method declaration is expected"
 msgstr ""
 
-#: c/c-parser.cc:14069
+#: c/c-parser.cc:15161
 #, gcc-internal-format
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c/c-parser.cc:14137 cp/parser.cc:37715
+#: c/c-parser.cc:15229 cp/parser.cc:38392
 #, gcc-internal-format
 msgid "empty property attribute list"
 msgstr ""
 
-#: c/c-parser.cc:14151 cp/parser.cc:37728
+#: c/c-parser.cc:15243 cp/parser.cc:38405
 #, gcc-internal-format
 msgid "missing property attribute"
 msgstr ""
 
-#: c/c-parser.cc:14190
+#: c/c-parser.cc:15282
 #, gcc-internal-format
 msgid "unknown property attribute %<%s%s%>"
 msgstr ""
 
-#: c/c-parser.cc:14193 cp/parser.cc:37765
+#: c/c-parser.cc:15285 cp/parser.cc:38442
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c/c-parser.cc:14202 cp/parser.cc:37774
+#: c/c-parser.cc:15294 cp/parser.cc:38451
 #, gcc-internal-format
 msgid "expected %<=%> after Objective-C %qE"
 msgstr ""
 
-#: c/c-parser.cc:14213 cp/parser.cc:37788
+#: c/c-parser.cc:15305 cp/parser.cc:38465
 #, gcc-internal-format
 msgid "expected %qE selector name"
 msgstr ""
 
-#: c/c-parser.cc:14229 cp/parser.cc:37807
+#: c/c-parser.cc:15321 cp/parser.cc:38484
 #, gcc-internal-format
 msgid "setter method names must terminate with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:14453 cp/semantics.cc:13234
+#: c/c-parser.cc:15545 cp/semantics.cc:14071
 #, 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:14489 cp/parser.cc:50924
+#: c/c-parser.cc:15583 cp/parser.cc:53441
 #, gcc-internal-format
 msgid "intervening code must not contain OpenMP directives"
 msgstr ""
 
-#: c/c-parser.cc:14509 c/c-parser.cc:23631 c/c-parser.cc:23940
-#: c/c-parser.cc:24003 c/c-parser.cc:24113 cp/parser.cc:46552
-#: cp/parser.cc:46900 cp/parser.cc:47015 cp/parser.cc:47114 cp/parser.cc:50945
-#: cp/parser.cc:50961 cp/parser.cc:50977 cp/parser.cc:50994 cp/parser.cc:51011
-#: cp/parser.cc:51028 cp/parser.cc:51055 cp/parser.cc:51069 cp/parser.cc:51094
-#: cp/parser.cc:51108
+#: c/c-parser.cc:15603 c/c-parser.cc:25645 c/c-parser.cc:25954
+#: c/c-parser.cc:26017 c/c-parser.cc:26127 cp/parser.cc:48082
+#: cp/parser.cc:48430 cp/parser.cc:48545 cp/parser.cc:48644 cp/parser.cc:53473
+#: cp/parser.cc:53489 cp/parser.cc:53505 cp/parser.cc:53521 cp/parser.cc:53538
+#: cp/parser.cc:53555 cp/parser.cc:53572 cp/parser.cc:53599 cp/parser.cc:53613
+#: cp/parser.cc:53638 cp/parser.cc:53652
 #, gcc-internal-format
 msgid "%<#pragma %s%> may only be used in compound statements"
 msgstr ""
 
-#: c/c-parser.cc:14532 cp/parser.cc:51083
+#: c/c-parser.cc:15626 cp/parser.cc:53627
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be at file scope"
 msgstr ""
 
-#: c/c-parser.cc:14622 cp/parser.cc:51207
+#: c/c-parser.cc:15725 cp/parser.cc:53757
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> "
 "%<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:14629 cp/parser.cc:51213
+#: c/c-parser.cc:15732 cp/parser.cc:53763
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
 "construct"
 msgstr ""
 
-#: c/c-parser.cc:14641 c/c-parser.cc:14657
+#: c/c-parser.cc:15744 c/c-parser.cc:15760
 #, gcc-internal-format
 msgid "%<#pragma %s%> may only be used at file scope"
 msgstr ""
 
-#: c/c-parser.cc:14724 cp/parser.cc:51290
+#: c/c-parser.cc:15831 cp/parser.cc:53846
 #, gcc-internal-format
 msgid "for, while or do statement expected"
 msgstr ""
 
-#: c/c-parser.cc:14737 cp/parser.cc:50935
+#: c/c-parser.cc:15847 cp/parser.cc:53463
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c/c-parser.cc:15104 c/c-parser.cc:19032 c/c-parser.cc:20713
-#: c/c-parser.cc:20732 c/c-parser.cc:20983 c/c-parser.cc:21041
-#: c/c-parser.cc:21048 c/c-parser.cc:21055 c/c-parser.cc:25954
-#: c/c-parser.cc:25962 c/c-parser.cc:26232 c/c-parser.cc:26242
-#: c/c-parser.cc:26336 c/c-parser.cc:26343 c/c-parser.cc:26350
-#: cp/parser.cc:38238 cp/parser.cc:41817 cp/parser.cc:42735 cp/parser.cc:42772
-#: cp/parser.cc:42961 cp/parser.cc:43024 cp/parser.cc:43031 cp/parser.cc:43038
-#: cp/parser.cc:48369 cp/parser.cc:48376 cp/parser.cc:48383 cp/parser.cc:49830
-#: cp/parser.cc:49838 cp/parser.cc:49990 cp/parser.cc:50000
+#: c/c-parser.cc:16230 c/c-parser.cc:20154 c/c-parser.cc:22401
+#: c/c-parser.cc:22420 c/c-parser.cc:22673 c/c-parser.cc:22731
+#: c/c-parser.cc:22738 c/c-parser.cc:22745 c/c-parser.cc:27096
+#: c/c-parser.cc:28297 c/c-parser.cc:28305 c/c-parser.cc:28681
+#: c/c-parser.cc:28691 c/c-parser.cc:28785 c/c-parser.cc:28792
+#: c/c-parser.cc:28799 cp/parser.cc:38931 cp/parser.cc:42612 cp/parser.cc:44034
+#: cp/parser.cc:44071 cp/parser.cc:44260 cp/parser.cc:44323 cp/parser.cc:44330
+#: cp/parser.cc:44337 cp/parser.cc:50003 cp/parser.cc:50010 cp/parser.cc:50017
+#: cp/parser.cc:50550 cp/parser.cc:52327 cp/parser.cc:52335 cp/parser.cc:52487
+#: cp/parser.cc:52497
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:15131
+#: c/c-parser.cc:16257
 #, gcc-internal-format
 msgid "expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:15536 c/c-parser.cc:15548
-#, gcc-internal-format
-msgid "expected %<)%> or %<,%>"
-msgstr ""
-
-#: c/c-parser.cc:15746 c/c-parser.cc:26638
+#: c/c-parser.cc:16868 c/c-parser.cc:29517
 #, gcc-internal-format
 msgid "%qD is not a variable"
 msgstr ""
 
-#: c/c-parser.cc:15750 cp/semantics.cc:8610
+#: c/c-parser.cc:16872 cp/semantics.cc:9113
 #, gcc-internal-format
 msgid "%qD is not a pointer variable"
 msgstr ""
 
-#: c/c-parser.cc:15792 cp/parser.cc:39119
+#: c/c-parser.cc:16914 cp/parser.cc:39822
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15887 cp/parser.cc:39197
+#: c/c-parser.cc:17009 cp/parser.cc:39900
 #, gcc-internal-format
 msgid "expected %<none%> or %<present%>"
 msgstr ""
 
-#: c/c-parser.cc:15889 cp/parser.cc:39199
+#: c/c-parser.cc:17011 cp/parser.cc:39902
 #, gcc-internal-format
 msgid "expected %<none%>, %<shared%>, %<private%> or %<firstprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:15974 cp/parser.cc:39269
+#: c/c-parser.cc:17096 cp/parser.cc:39972
 #, gcc-internal-format
 msgid "expected constant logical expression"
 msgstr ""
 
-#: c/c-parser.cc:16051 cp/parser.cc:39351
+#: c/c-parser.cc:17173 cp/parser.cc:40054
 #, gcc-internal-format
 msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
 msgstr ""
 
-#: c/c-parser.cc:16071 c/c-parser.cc:23996 c/c-parser.cc:24106
-#: cp/parser.cc:39369 cp/parser.cc:46892 cp/parser.cc:47007
+#: c/c-parser.cc:17193 c/c-parser.cc:26010 c/c-parser.cc:26120
+#: cp/parser.cc:40072 cp/parser.cc:48422 cp/parser.cc:48537
 #, gcc-internal-format
 msgid "expected %<data%>"
 msgstr ""
 
-#: c/c-parser.cc:16124 cp/parser.cc:39424
+#: c/c-parser.cc:17246 cp/parser.cc:40127
 #, gcc-internal-format
 msgid "too many %<if%> clauses with %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:16131 cp/parser.cc:39431
+#: c/c-parser.cc:17253 cp/parser.cc:40134
 #, gcc-internal-format
 msgid "too many %<if%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:16133 cp/parser.cc:39433
+#: c/c-parser.cc:17255 cp/parser.cc:40136
 #, gcc-internal-format
 msgid "too many %<if%> clauses without modifier"
 msgstr ""
 
-#: c/c-parser.cc:16139 cp/parser.cc:39439
+#: c/c-parser.cc:17261 cp/parser.cc:40142
 #, gcc-internal-format
 msgid ""
 "if any %<if%> clause has modifier, then all %<if%> clauses have to use "
 "modifier"
 msgstr ""
 
-#: c/c-parser.cc:16244 c/c-parser.cc:16304 c/c-parser.cc:16366
-#: c/c-parser.cc:16414 c/c-parser.cc:16494 c/c-parser.cc:16891
-#: c/c-parser.cc:16973 c/c-parser.cc:17578 c/c-parser.cc:17723
-#: c/c-parser.cc:17791 c/c-parser.cc:18969
+#: c/c-parser.cc:17366 c/c-parser.cc:17426 c/c-parser.cc:17488
+#: c/c-parser.cc:17536 c/c-parser.cc:17616 c/c-parser.cc:18013
+#: c/c-parser.cc:18095 c/c-parser.cc:18700 c/c-parser.cc:18845
+#: c/c-parser.cc:18913 c/c-parser.cc:20091
 #, gcc-internal-format
 msgid "expected integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16255
+#: c/c-parser.cc:17377
 #, gcc-internal-format
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16316
+#: c/c-parser.cc:17438
 #, gcc-internal-format
 msgid "%<num_tasks%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16378 cp/semantics.cc:8824
+#: c/c-parser.cc:17500 cp/semantics.cc:9328
 #, gcc-internal-format
 msgid "%<grainsize%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16427 cp/semantics.cc:8854
+#: c/c-parser.cc:17549 cp/semantics.cc:9358
 #, gcc-internal-format
 msgid "%<priority%> value must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:16461 cp/parser.cc:39665
+#: c/c-parser.cc:17583 cp/parser.cc:40368
 #, gcc-internal-format
 msgid "expected constant integer expression with valid sync-hint value"
 msgstr ""
 
-#: c/c-parser.cc:16533 cp/parser.cc:39735
+#: c/c-parser.cc:17655 cp/parser.cc:40438
 #, gcc-internal-format
 msgid ""
 "expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> "
 "or %<default%>"
 msgstr ""
 
-#: c/c-parser.cc:16601
+#: c/c-parser.cc:17723
 #, gcc-internal-format
 msgid "expected %<scalar%>, %<aggregate%>, %<pointer%> or %<all%>"
 msgstr ""
 
-#: c/c-parser.cc:16678 cp/parser.cc:39887
+#: c/c-parser.cc:17800 cp/parser.cc:40590
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with %qs category"
 msgstr ""
 
-#: c/c-parser.cc:16681 cp/parser.cc:39890
+#: c/c-parser.cc:17803 cp/parser.cc:40593
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with unspecified category"
 msgstr ""
 
-#: c/c-parser.cc:16765 cp/semantics.cc:7681 cp/semantics.cc:7736
+#: c/c-parser.cc:17887 cp/semantics.cc:8182 cp/semantics.cc:8237
 #, gcc-internal-format
 msgid "%qs expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:16777 c/c-parser.cc:16900 cp/semantics.cc:7715
-#: cp/semantics.cc:7750
+#: c/c-parser.cc:17899 c/c-parser.cc:18022 cp/semantics.cc:8216
+#: cp/semantics.cc:8251
 #, gcc-internal-format
 msgid "%qs value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:16839 cp/parser.cc:38891
+#: c/c-parser.cc:17961 cp/parser.cc:39585
 #, gcc-internal-format
 msgid "too many %<static%> arguments"
 msgstr ""
 
-#: c/c-parser.cc:16873 cp/parser.cc:38924
+#: c/c-parser.cc:17995 cp/parser.cc:39618
 #, gcc-internal-format
 msgid "unexpected argument"
 msgstr ""
 
-#: c/c-parser.cc:17040 cp/semantics.cc:9041
+#: c/c-parser.cc:18162 cp/semantics.cc:9544
 #, gcc-internal-format
 msgid "%<tile%> argument needs positive integral constant"
 msgstr ""
 
-#: c/c-parser.cc:17108 cp/parser.cc:41998
+#: c/c-parser.cc:18230 cp/parser.cc:43251
 #, gcc-internal-format
 msgid "too many %<self%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:17150 cp/parser.cc:39940
+#: c/c-parser.cc:18272 cp/parser.cc:40643
 #, gcc-internal-format
 msgid "expected %<reproducible%> or %<unconstrained%>"
 msgstr ""
 
-#: c/c-parser.cc:17159 c/c-parser.cc:17165 cp/parser.cc:39949
-#: cp/parser.cc:39959
+#: c/c-parser.cc:18281 c/c-parser.cc:18287 cp/parser.cc:40652
+#: cp/parser.cc:40662
 #, gcc-internal-format
 msgid "expected %<concurrent%>"
 msgstr ""
 
-#: c/c-parser.cc:17201 cp/parser.cc:39999
+#: c/c-parser.cc:18323 cp/parser.cc:40702
 #, gcc-internal-format
 msgid "expected %<teams%>, %<parallel%> or %<thread%>"
 msgstr ""
 
-#: c/c-parser.cc:17254 cp/parser.cc:40067
+#: c/c-parser.cc:18376 cp/parser.cc:40770
 #, gcc-internal-format
 msgid "ordered argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:17379 c/c-parser.cc:25505 cp/parser.cc:49471
+#: c/c-parser.cc:18501 c/c-parser.cc:27842 cp/parser.cc:51937
 #, gcc-internal-format
 msgid ""
 "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or "
 "identifier"
 msgstr ""
 
-#: c/c-parser.cc:17501 cp/parser.cc:40325
+#: c/c-parser.cc:18623 cp/parser.cc:41028
 #, gcc-internal-format
 msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
 msgstr ""
 
-#: c/c-parser.cc:17555 cp/parser.cc:40341
+#: c/c-parser.cc:18677 cp/parser.cc:41044
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:17559 cp/parser.cc:40344
+#: c/c-parser.cc:18681 cp/parser.cc:41047
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:17572 cp/semantics.cc:7797
+#: c/c-parser.cc:18694 cp/semantics.cc:8298
 #, gcc-internal-format
 msgid "chunk size value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:17595 cp/parser.cc:40364
+#: c/c-parser.cc:18717 cp/parser.cc:41067
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:17734 c/c-parser.cc:17745
+#: c/c-parser.cc:18856 c/c-parser.cc:18867
 #, gcc-internal-format
 msgid "%<num_teams%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:17753 cp/semantics.cc:7764
+#: c/c-parser.cc:18875 cp/semantics.cc:8265
 #, gcc-internal-format
 msgid "%<num_teams%> lower bound %qE bigger than upper bound %qE"
 msgstr ""
 
-#: c/c-parser.cc:17802 cp/semantics.cc:7893
+#: c/c-parser.cc:18924 cp/semantics.cc:8394
 #, gcc-internal-format
 msgid "%<thread_limit%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:17847 cp/semantics.cc:8021
+#: c/c-parser.cc:18969 cp/semantics.cc:8522
 #, gcc-internal-format
 msgid ""
 "%<aligned%> clause alignment expression must be positive constant integer "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:17959 c/c-parser.cc:20700 cp/parser.cc:42727
+#: c/c-parser.cc:19081 c/c-parser.cc:22388 cp/parser.cc:44026
 #, gcc-internal-format
 msgid "expected %<allocator%> or %<align%>"
 msgstr ""
 
-#: c/c-parser.cc:17966
+#: c/c-parser.cc:19088
 #, gcc-internal-format
 msgid "duplicate %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:18014 cp/semantics.cc:8156
+#: c/c-parser.cc:19136 cp/semantics.cc:8655
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:18025 cp/semantics.cc:8111 cp/semantics.cc:8127
+#: c/c-parser.cc:19147 cp/semantics.cc:8610 cp/semantics.cc:8626
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause %<align%> modifier argument needs to be positive "
 "constant power of two integer expression"
 msgstr ""
 
-#: c/c-parser.cc:18144 cp/parser.cc:40811
+#: c/c-parser.cc:19266 cp/parser.cc:41606
 #, gcc-internal-format
 msgid "multiple linear modifiers"
 msgstr ""
 
-#: c/c-parser.cc:18156 cp/parser.cc:40824
+#: c/c-parser.cc:19278 cp/parser.cc:41619
 #, gcc-internal-format
 msgid "multiple %<step%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:18164 c/c-parser.cc:18192
+#: c/c-parser.cc:19286 c/c-parser.cc:19314
 #, gcc-internal-format
 msgid "%<linear%> clause step expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:18244
+#: c/c-parser.cc:19366
 #, gcc-internal-format
 msgid ""
 "%<safelen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:18283
+#: c/c-parser.cc:19405
 #, gcc-internal-format
 msgid ""
 "%<simdlen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:18643 cp/parser.cc:41371
+#: c/c-parser.cc:19765 cp/parser.cc:42166
 #, gcc-internal-format
 msgid "%<iterator%> modifier incompatible with %qs"
 msgstr ""
 
-#: c/c-parser.cc:18691 cp/parser.cc:41426 cp/parser.cc:41878 cp/parser.cc:41928
+#: c/c-parser.cc:19813 cp/parser.cc:42221 cp/parser.cc:42673 cp/parser.cc:42740
 #, gcc-internal-format
 msgid "invalid depend kind"
 msgstr ""
 
-#: c/c-parser.cc:18752 cp/parser.cc:41456
+#: c/c-parser.cc:19874 cp/parser.cc:42251
 #, gcc-internal-format
 msgid "invalid doacross kind"
 msgstr ""
 
-#: c/c-parser.cc:18821 cp/parser.cc:41599
+#: c/c-parser.cc:19943 cp/parser.cc:42394
 #, gcc-internal-format
 msgid "too many %<always%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:18831 cp/parser.cc:41612
+#: c/c-parser.cc:19953 cp/parser.cc:42407
 #, gcc-internal-format
 msgid "too many %<close%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:18841 cp/parser.cc:41625
+#: c/c-parser.cc:19963 cp/parser.cc:42420
 #, gcc-internal-format
 msgid "too many %<present%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:18849 cp/parser.cc:41636
+#: c/c-parser.cc:19971 cp/parser.cc:42431
 #, gcc-internal-format
 msgid ""
 "%<map%> clause with map-type modifier other than %<always%>, %<close%> or "
 "%<present%>"
 msgstr ""
 
-#: c/c-parser.cc:18887 cp/parser.cc:41676
+#: c/c-parser.cc:20009 cp/parser.cc:42471
 #, gcc-internal-format
 msgid "invalid map kind"
 msgstr ""
 
-#: c/c-parser.cc:18939 cp/parser.cc:41740
+#: c/c-parser.cc:20061 cp/parser.cc:42535
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18951 cp/parser.cc:41751
+#: c/c-parser.cc:20073 cp/parser.cc:42546
 #, gcc-internal-format
 msgid "expected %<ancestor%> or %<device_num%>"
 msgstr ""
 
-#: c/c-parser.cc:18974 cp/semantics.cc:7918
+#: c/c-parser.cc:20096 cp/semantics.cc:8419
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%>"
 msgstr ""
 
-#: c/c-parser.cc:19007 cp/parser.cc:41822
+#: c/c-parser.cc:20129 cp/parser.cc:42617
 #, gcc-internal-format
 msgid "invalid dist_schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:19086
+#: c/c-parser.cc:20208
 #, gcc-internal-format
 msgid "invalid proc_bind kind"
 msgstr ""
 
-#: c/c-parser.cc:19130
+#: c/c-parser.cc:20252
 #, gcc-internal-format
 msgid "expected %<host%>, %<nohost%> or %<any%>"
 msgstr ""
 
-#: c/c-parser.cc:19228 cp/semantics.cc:8337
+#: c/c-parser.cc:20358 cp/semantics.cc:9666 cp/semantics.cc:9684
+#, gcc-internal-format
+msgid "%<partial%> argument needs positive constant integer expression"
+msgstr ""
+
+#: c/c-parser.cc:20459 cp/semantics.cc:8838
 #, gcc-internal-format
 msgid ""
 "%<detach%> clause event handle has type %qT rather than "
 "%<omp_event_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:19440 cp/parser.cc:42214
+#: c/c-parser.cc:20527 c/c-parser.cc:20621 cp/parser.cc:42800
+#: cp/parser.cc:42912
+#, gcc-internal-format
+msgid "string literal must not contain %<\\0%>"
+msgstr ""
+
+#: c/c-parser.cc:20536 c/c-parser.cc:20657 cp/parser.cc:42807
+#: cp/parser.cc:42947
+#, gcc-internal-format
+msgid "unknown foreign runtime identifier %qs"
+msgstr ""
+
+#: c/c-parser.cc:20551 c/c-parser.cc:20680 cp/parser.cc:42822
+#: cp/parser.cc:42969
+#, gcc-internal-format
+msgid "expected string literal or constant integer expression"
+msgstr ""
+
+#: c/c-parser.cc:20559 c/c-parser.cc:20688 cp/parser.cc:42830
+#: cp/parser.cc:42977 cp/semantics.cc:7514
+#, gcc-internal-format
+msgid "unknown foreign runtime identifier %qwd"
+msgstr ""
+
+#: c/c-parser.cc:20597 cp/parser.cc:42889
+#, gcc-internal-format
+msgid "expected %<fr%> or %<attr%> preference selector"
+msgstr ""
+
+#: c/c-parser.cc:20605 cp/parser.cc:42897
+#, gcc-internal-format
+msgid "duplicated %<fr%> preference selector"
+msgstr ""
+
+#: c/c-parser.cc:20631 cp/parser.cc:42921
+#, gcc-internal-format
+msgid "%<attr%> string literal must start with %<ompx_%>"
+msgstr ""
+
+#: c/c-parser.cc:20639 cp/parser.cc:42928
+#, gcc-internal-format
+msgid "%<attr%> string literal must not contain a comma"
+msgstr ""
+
+#: c/c-parser.cc:20651 cp/parser.cc:42940
+#, gcc-internal-format
+msgid "non-empty string literal expected"
+msgstr ""
+
+#: c/c-parser.cc:20761 cp/parser.cc:43080
+#, gcc-internal-format
+msgid "duplicate %<targetsync%> modifier"
+msgstr ""
+
+#: c/c-parser.cc:20768 cp/parser.cc:43087
+#, gcc-internal-format
+msgid "duplicate %<target%> modifier"
+msgstr ""
+
+#: c/c-parser.cc:20775 cp/parser.cc:43094
+#, gcc-internal-format
+msgid "duplicate %<prefer_type%> modifier"
+msgstr ""
+
+#: c/c-parser.cc:20795 cp/parser.cc:43114
+#, gcc-internal-format
+msgid ""
+"%<init%> clause with modifier other than %<prefer_type%>, %<target%> or "
+"%<targetsync%>"
+msgstr ""
+
+#: c/c-parser.cc:21094 cp/parser.cc:43467
 #, gcc-internal-format
 msgid "expected an OpenACC clause"
 msgstr ""
 
-#: c/c-parser.cc:19451 c/c-parser.cc:19816 cp/parser.cc:42225
-#: cp/parser.cc:42633
+#: c/c-parser.cc:21105 c/c-parser.cc:21502 c/c-parser.cc:29084
+#: cp/parser.cc:43478 cp/parser.cc:43931 cp/parser.cc:51415
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr ""
 
-#: c/c-parser.cc:19496 cp/parser.cc:42273
+#: c/c-parser.cc:21150 cp/parser.cc:43526
 #, gcc-internal-format
 msgid "clauses in %<simd%> trait should be separated by %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:19649 cp/parser.cc:42466
+#: c/c-parser.cc:21303 cp/parser.cc:43719
 #, gcc-internal-format
 msgid "%qs must be the first clause of %qs"
 msgstr ""
 
-#: c/c-parser.cc:19805 cp/parser.cc:42622
+#: c/c-parser.cc:21491 cp/parser.cc:43920
 #, gcc-internal-format
 msgid "expected an OpenMP clause"
 msgstr ""
 
-#: c/c-parser.cc:19964 cp/parser.cc:47475
+#: c/c-parser.cc:21652 cp/parser.cc:49107
 #, gcc-internal-format
 msgid "no valid clauses specified in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:19974 cp/parser.cc:47485
+#: c/c-parser.cc:21662 cp/parser.cc:49117
 #, gcc-internal-format
 msgid "array section in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:19994 cp/parser.cc:47505
+#: c/c-parser.cc:21682 cp/parser.cc:49137
 #, gcc-internal-format
 msgid "%qD must be a global variable in %<#pragma acc declare link%>"
 msgstr ""
 
-#: c/c-parser.cc:20005 cp/parser.cc:47516
+#: c/c-parser.cc:21693 cp/parser.cc:49148
 #, gcc-internal-format
 msgid "invalid OpenACC clause at file scope"
 msgstr ""
 
-#: c/c-parser.cc:20012 cp/parser.cc:47523
+#: c/c-parser.cc:21700 cp/parser.cc:49155
 #, gcc-internal-format
 msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:20020 cp/parser.cc:47531
+#: c/c-parser.cc:21708 cp/parser.cc:49163
 #, gcc-internal-format
 msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:20031 cp/parser.cc:47553
+#: c/c-parser.cc:21719 cp/parser.cc:49185
 #, gcc-internal-format
 msgid ""
 "%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:20041 cp/parser.cc:47576
+#: c/c-parser.cc:21729 cp/parser.cc:49208
 #, gcc-internal-format
 msgid "variable %qD used more than once with %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:20134 cp/parser.cc:47660
+#: c/c-parser.cc:21822 cp/parser.cc:49292
 #, gcc-internal-format
 msgid "expected %<data%> after %<#pragma acc %s%>"
 msgstr ""
 
-#: c/c-parser.cc:20150 cp/parser.cc:47677
+#: c/c-parser.cc:21838 cp/parser.cc:49309
 #, gcc-internal-format
 msgid "%<#pragma acc %s data%> has no data movement clause"
 msgstr ""
 
-#: c/c-parser.cc:20182 cp/parser.cc:47435
+#: c/c-parser.cc:21870 cp/parser.cc:49067
 #, gcc-internal-format
 msgid "%<host_data%> construct requires %<use_device%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20411 cp/parser.cc:3369
+#: c/c-parser.cc:22099 cp/parser.cc:3533
 #, gcc-internal-format
 msgid "%qE has not been declared"
 msgstr ""
 
-#: c/c-parser.cc:20415
+#: c/c-parser.cc:22103
 #, gcc-internal-format
 msgid "expected function name"
 msgstr ""
 
-#: c/c-parser.cc:20433 cp/parser.cc:50257
+#: c/c-parser.cc:22121 cp/parser.cc:52754
 #, gcc-internal-format
 msgid "%qD does not refer to a function"
 msgstr ""
 
-#: c/c-parser.cc:20456 c/c-parser.cc:20504 cp/parser.cc:1664
+#: c/c-parser.cc:22144 c/c-parser.cc:22192 cp/parser.cc:1779
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:20496 cp/parser.cc:50308 cp/parser.cc:50355
+#: c/c-parser.cc:22184 cp/parser.cc:52805 cp/parser.cc:52852
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:20527 cp/parser.cc:50383
+#: c/c-parser.cc:22215 cp/parser.cc:52880
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before use"
 msgstr ""
 
-#: c/c-parser.cc:20528 cp/parser.cc:50385
+#: c/c-parser.cc:22216 cp/parser.cc:52882
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before definition"
 msgstr ""
 
-#: c/c-parser.cc:20573 cp/parser.cc:47893
+#: c/c-parser.cc:22261 cp/parser.cc:49525
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc update%> must contain at least one %<device%> or %<host%> or "
 "%<self%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20631
+#: c/c-parser.cc:22319
 #, gcc-internal-format
 msgid ""
 "variable %qD used in the %<allocator%> clause must be declared before %qD"
 msgstr ""
 
-#: c/c-parser.cc:20635 c/c-parser.cc:20658
+#: c/c-parser.cc:22323 c/c-parser.cc:22346
 #, gcc-internal-format
 msgid "to be allocated variable declared here"
 msgstr ""
 
-#: c/c-parser.cc:20653
+#: c/c-parser.cc:22341
 #, 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:20656
+#: c/c-parser.cc:22344
 #, gcc-internal-format
 msgid "modified here"
 msgstr ""
 
-#: c/c-parser.cc:20724 cp/parser.cc:42747 cp/parser.cc:42762
+#: c/c-parser.cc:22412 cp/parser.cc:44046 cp/parser.cc:44061
 #, gcc-internal-format
 msgid ""
 "%<align%> clause argument needs to be positive constant power of two integer "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:20748
+#: c/c-parser.cc:22436
 #, gcc-internal-format
 msgid ""
 "%<allocator%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:20765
+#: c/c-parser.cc:22453
 #, gcc-internal-format
 msgid ""
 "function parameter %qD may not appear as list item in an %<allocate%> "
 "directive"
 msgstr ""
 
-#: c/c-parser.cc:20772
+#: c/c-parser.cc:22460
 #, gcc-internal-format
 msgid "%<allocate%> directive must be in the same scope as %qD"
 msgstr ""
 
-#: c/c-parser.cc:20780
+#: c/c-parser.cc:22468
 #, gcc-internal-format
 msgid "%qD already appeared as list item in an %<allocate%> directive"
 msgstr ""
 
-#: c/c-parser.cc:20787
+#: c/c-parser.cc:22477
 #, gcc-internal-format
 msgid "%<allocator%> clause required for static variable %qD"
 msgstr ""
 
-#: c/c-parser.cc:20794
+#: c/c-parser.cc:22488
 #, gcc-internal-format
 msgid "%<allocator%> clause requires a predefined allocator as %qD is static"
 msgstr ""
 
-#: c/c-parser.cc:20798
-#, gcc-internal-format
-msgid ""
-"%<#pragma omp allocate%> for static variables like %qD not yet supported"
-msgstr ""
-
-#: c/c-parser.cc:20949 cp/parser.cc:42927
+#: c/c-parser.cc:22639 cp/parser.cc:44226
 #, gcc-internal-format
 msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20988 cp/parser.cc:42966
+#: c/c-parser.cc:22678 cp/parser.cc:44265
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acquire%> or %<relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:21012 cp/parser.cc:42995
+#: c/c-parser.cc:22702 cp/parser.cc:44294
 #, gcc-internal-format
 msgid ""
 "expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, "
@@ -51429,832 +52069,992 @@ msgid ""
 "%<hint%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21027 cp/parser.cc:43010
+#: c/c-parser.cc:22717 cp/parser.cc:44309
 #, gcc-internal-format
 msgid "too many atomic clauses"
 msgstr ""
 
-#: c/c-parser.cc:21034 cp/parser.cc:43017
+#: c/c-parser.cc:22724 cp/parser.cc:44316
 #, gcc-internal-format
 msgid "too many memory order clauses"
 msgstr ""
 
-#: c/c-parser.cc:21072 c/c-parser.cc:21079 cp/parser.cc:43055
-#: cp/parser.cc:43062
+#: c/c-parser.cc:22762 c/c-parser.cc:22769 cp/parser.cc:44354
+#: cp/parser.cc:44361
 #, gcc-internal-format
 msgid "%qs clause is incompatible with %<read%> or %<write%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:21085 c/c-parser.cc:21090 cp/parser.cc:43068
-#: cp/parser.cc:43073
+#: c/c-parser.cc:22775 c/c-parser.cc:22780 cp/parser.cc:44367
+#: cp/parser.cc:44372
 #, gcc-internal-format
 msgid "%qs clause requires %qs clause"
 msgstr ""
 
-#: c/c-parser.cc:21113 cp/parser.cc:43096
+#: c/c-parser.cc:22803 cp/parser.cc:44395
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic write%> incompatible with %<acquire%> clause implicitly "
 "provided by a %<requires%> directive"
 msgstr ""
 
-#: c/c-parser.cc:21124 cp/parser.cc:43107
+#: c/c-parser.cc:22814 cp/parser.cc:44406
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic read%> incompatible with %<release%> clause implicitly "
 "provided by a %<requires%> directive"
 msgstr ""
 
-#: c/c-parser.cc:21156 cp/parser.cc:43139
+#: c/c-parser.cc:22846 cp/parser.cc:44438
 #, gcc-internal-format
 msgid "%<#pragma omp atomic read%> incompatible with %<release%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21166 cp/parser.cc:43149
+#: c/c-parser.cc:22856 cp/parser.cc:44448
 #, gcc-internal-format
 msgid "%<#pragma omp atomic write%> incompatible with %<acquire%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21289 cp/parser.cc:43249
+#: c/c-parser.cc:22979 cp/parser.cc:44548
 #, gcc-internal-format
 msgid "expected %<==%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:21296 cp/parser.cc:43256
+#: c/c-parser.cc:22986 cp/parser.cc:44555
 #, gcc-internal-format
 msgid "expected %<==%>, %<<%> or %<>%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:21369 cp/parser.cc:43321 cp/parser.cc:43604 cp/parser.cc:43698
-#: cp/parser.cc:43716
+#: c/c-parser.cc:23059 cp/parser.cc:44620 cp/parser.cc:44903 cp/parser.cc:44997
+#: cp/parser.cc:45015
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:21380 cp/parser.cc:43332
+#: c/c-parser.cc:23070 cp/parser.cc:44631
 #, gcc-internal-format
 msgid "unexpected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:21440 cp/parser.cc:43771
+#: c/c-parser.cc:23130 cp/parser.cc:45070
 #, gcc-internal-format
 msgid "invalid form of %<pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:21711 cp/parser.cc:43625 cp/parser.cc:43651
+#: c/c-parser.cc:23401 cp/parser.cc:44924 cp/parser.cc:44950
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:21715 cp/parser.cc:43691 cp/parser.cc:43725
+#: c/c-parser.cc:23405 cp/parser.cc:44990 cp/parser.cc:45024
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:21766 cp/parser.cc:43760
+#: c/c-parser.cc:23456 cp/parser.cc:45059
 #, gcc-internal-format
 msgid "%<weak%> clause requires atomic equality comparison"
 msgstr ""
 
-#: c/c-parser.cc:21772 cp/semantics.cc:11229 cp/semantics.cc:11239
+#: c/c-parser.cc:23462 cp/semantics.cc:11909 cp/semantics.cc:11919
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic capture%> uses two different expressions for memory"
 msgstr ""
 
-#: c/c-parser.cc:21875 cp/semantics.cc:11316
+#: c/c-parser.cc:23565 cp/semantics.cc:11996
 #, gcc-internal-format
 msgid "%<depobj%> expression is not lvalue expression"
 msgstr ""
 
-#: c/c-parser.cc:21918
+#: c/c-parser.cc:23608
 #, gcc-internal-format
 msgid "%<destroy%> expression is not lvalue expression"
 msgstr ""
 
-#: c/c-parser.cc:21924 cp/parser.cc:43913
+#: c/c-parser.cc:23614 cp/parser.cc:45212
 #, gcc-internal-format
 msgid ""
 "the %<destroy%> expression %qE should be the same as the %<depobj%> argument "
 "%qE"
 msgstr ""
 
-#: c/c-parser.cc:21955 cp/parser.cc:43949
+#: c/c-parser.cc:23645 cp/parser.cc:45248
 #, gcc-internal-format
 msgid "expected %<in%>, %<out%>, %<inout%>, %<mutexinoutset%> or %<inoutset%>"
 msgstr ""
 
-#: c/c-parser.cc:21967 cp/parser.cc:43965
+#: c/c-parser.cc:23657 cp/parser.cc:45264
 #, gcc-internal-format
 msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22008 cp/parser.cc:44003
+#: c/c-parser.cc:23698 cp/parser.cc:45302
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acq_rel%>, %<release%> or %<acquire%>"
 msgstr ""
 
-#: c/c-parser.cc:22016 cp/parser.cc:44011
+#: c/c-parser.cc:23706 cp/parser.cc:45310
 #, gcc-internal-format
 msgid "%<flush%> list specified together with memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:22021
+#: c/c-parser.cc:23711
 #, gcc-internal-format
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c/c-parser.cc:22092 cp/parser.cc:44717
+#: c/c-parser.cc:23782 cp/parser.cc:46031
 #, gcc-internal-format
 msgid ""
 "%<[[omp::directive(%s)]]%> must be the only specified attribute on a "
 "statement"
 msgstr ""
 
-#: c/c-parser.cc:22159 cp/parser.cc:44786
+#: c/c-parser.cc:23849 cp/parser.cc:46100
 #, gcc-internal-format
 msgid "%<#pragma omp scan%> with zero preceding executable statements"
 msgstr ""
 
-#: c/c-parser.cc:22193 cp/parser.cc:44819
+#: c/c-parser.cc:23883 cp/parser.cc:46133
 #, gcc-internal-format
 msgid "expected %<inclusive%> or %<exclusive%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22198 cp/parser.cc:44825
+#: c/c-parser.cc:23888 cp/parser.cc:46139
 #, gcc-internal-format
 msgid "expected %<#pragma omp scan%>"
 msgstr ""
 
-#: c/c-parser.cc:22207 cp/parser.cc:44834
+#: c/c-parser.cc:23897 cp/parser.cc:46148
 #, gcc-internal-format
 msgid "%<#pragma omp scan%> with zero succeeding executable statements"
 msgstr ""
 
-#: c/c-parser.cc:22325 cp/semantics.cc:10803 cp/semantics.cc:10888
+#: c/c-parser.cc:23922 cp/parser.cc:46171
 #, gcc-internal-format
-msgid "expected iteration declaration or initialization"
+msgid "for statement expected"
 msgstr ""
 
-#: c/c-parser.cc:22413 c/c-parser.cc:22428 cp/parser.cc:45181
-#: cp/parser.cc:45196
+#. Don't call cp_parser_error here since it overrides the
+#. provided message with a more confusing one if there was
+#. a bad pragma or attribute directive.
+#: c/c-parser.cc:23951 cp/parser.cc:46193 cp/parser.cc:46195 cp/parser.cc:46380
 #, gcc-internal-format
-msgid "not enough nested loops"
+msgid "loop nest expected"
 msgstr ""
 
-#: c/c-parser.cc:22528 cp/parser.cc:45468
+#: c/c-parser.cc:24003 cp/parser.cc:46268
 #, gcc-internal-format
-msgid "%<ordered%> clause parameter is less than %<collapse%>"
+msgid ""
+"attributes other than OpenMP directives are not allowed on %<for%> in loop "
+"nest"
 msgstr ""
 
-#: c/c-parser.cc:22539 cp/parser.cc:45479
+#: c/c-parser.cc:24032 cp/parser.cc:46299
 #, gcc-internal-format
-msgid "for statement expected"
+msgid ""
+"%<unroll%> construct with %<partial%> clause generates just one loop with "
+"canonical form but %d loops are needed"
+msgstr ""
+
+#: c/c-parser.cc:24043 cp/parser.cc:46310
+#, gcc-internal-format
+msgid ""
+"generated loop of %<unroll%> construct without %<partial%> clause does not "
+"have canonical form"
 msgstr ""
 
-#: c/c-parser.cc:22651 cp/parser.cc:45019 cp/parser.cc:45062 cp/pt.cc:18170
+#: c/c-parser.cc:24066 cp/parser.cc:46336
+#, gcc-internal-format
+msgid ""
+"%<tile%> construct generates %d loops with canonical form but %d loops are "
+"needed"
+msgstr ""
+
+#: c/c-parser.cc:24077 cp/parser.cc:46347
+#, gcc-internal-format
+msgid "expected %<for%> loop or OpenMP loop transformation construct"
+msgstr ""
+
+#: c/c-parser.cc:24165 cp/semantics.cc:11471 cp/semantics.cc:11564
+#, gcc-internal-format
+msgid "expected iteration declaration or initialization"
+msgstr ""
+
+#: c/c-parser.cc:24254 c/c-parser.cc:24269 cp/parser.cc:46674
+#: cp/parser.cc:46689
+#, gcc-internal-format
+msgid "not enough nested loops"
+msgstr ""
+
+#: c/c-parser.cc:24372 cp/parser.cc:46974
+#, gcc-internal-format
+msgid "%<ordered%> clause parameter is less than %<collapse%>"
+msgstr ""
+
+#: c/c-parser.cc:24495 cp/parser.cc:46509 cp/parser.cc:46552 cp/pt.cc:18548
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
 
-#: c/c-parser.cc:23059 cp/parser.cc:45990
+#: c/c-parser.cc:24929 cp/parser.cc:47520
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp ordered%> with %qs clause may only be used in compound "
 "statements"
 msgstr ""
 
-#: c/c-parser.cc:23275 cp/parser.cc:46196
+#: c/c-parser.cc:25145 cp/parser.cc:47726
 #, gcc-internal-format
 msgid "expected %<for%> after %qs"
 msgstr ""
 
-#: c/c-parser.cc:23622 cp/parser.cc:46543
+#: c/c-parser.cc:25358 c/c-parser.cc:25366
+#, gcc-internal-format
+msgid "expected a function name"
+msgstr ""
+
+#: c/c-parser.cc:25379 cp/parser.cc:50209
+#, gcc-internal-format
+msgid "expected target-function call"
+msgstr ""
+
+#: c/c-parser.cc:25449
+#, gcc-internal-format
+msgid ""
+"%<#pragma omp dispatch%> must be followed by a function call with optional "
+"assignment"
+msgstr ""
+
+#: c/c-parser.cc:25636 cp/parser.cc:48073
 #, gcc-internal-format
 msgid "expected %<point%>"
 msgstr ""
 
-#: c/c-parser.cc:23889 cp/parser.cc:46830
+#: c/c-parser.cc:25903 cp/parser.cc:48360
 #, 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:23905 cp/parser.cc:46846
+#: c/c-parser.cc:25919 cp/parser.cc:48376
 #, 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:23953 cp/parser.cc:47127
+#: c/c-parser.cc:25967 cp/parser.cc:48657
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target update%> must contain at least one %<from%> or %<to%> "
 "clauses"
 msgstr ""
 
-#: c/c-parser.cc:24055 cp/parser.cc:46953
+#: c/c-parser.cc:26069 cp/parser.cc:48483
 #, 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:24067 cp/parser.cc:46965
+#: c/c-parser.cc:26081 cp/parser.cc:48495
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target enter data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:24166 cp/parser.cc:47070
+#: c/c-parser.cc:26180 cp/parser.cc:48600
 #, 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:24179 cp/parser.cc:47083
+#: c/c-parser.cc:26193 cp/parser.cc:48613
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target exit data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:24424 cp/semantics.cc:10311
+#: c/c-parser.cc:26438 cp/semantics.cc:10974
 #, 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:24481
+#: c/c-parser.cc:26499
 #, 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:24532 c/c-parser.cc:24570
+#: c/c-parser.cc:26550 c/c-parser.cc:26588
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> must be followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:24603 cp/parser.cc:48037
+#: c/c-parser.cc:26621 cp/parser.cc:49669
 #, gcc-internal-format
 msgid "expected trait selector name"
 msgstr ""
 
-#: c/c-parser.cc:24615 cp/parser.cc:48051
+#: c/c-parser.cc:26633 cp/parser.cc:49683
 #, gcc-internal-format
 msgid "unknown selector %qs for context selector set %qs"
 msgstr ""
 
-#: c/c-parser.cc:24643 cp/parser.cc:48080
+#: c/c-parser.cc:26661 cp/parser.cc:49712
 #, gcc-internal-format
 msgid "selector %qs does not accept any properties"
 msgstr ""
 
-#: c/c-parser.cc:24665 cp/parser.cc:48112
+#: c/c-parser.cc:26683 cp/parser.cc:49744
 #, gcc-internal-format
 msgid "%<score%> cannot be specified in traits in the %qs trait-selector-set"
 msgstr ""
 
-#: c/c-parser.cc:24674 cp/parser.cc:48122
+#: c/c-parser.cc:26692 cp/parser.cc:49754 cp/pt.cc:18216
 #, gcc-internal-format
 msgid "%<score%> argument must be constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:24677 cp/parser.cc:48125
+#: c/c-parser.cc:26695 cp/parser.cc:49757 cp/pt.cc:18223
 #, gcc-internal-format
 msgid "%<score%> argument must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:24718 cp/parser.cc:48171
+#: c/c-parser.cc:26736 cp/parser.cc:49803
 #, gcc-internal-format
 msgid "expected identifier or string literal"
 msgstr ""
 
-#: c/c-parser.cc:24743 cp/parser.cc:48196 cp/pt.cc:12063
+#: c/c-parser.cc:26759 cp/parser.cc:49833 cp/pt.cc:18240
 #, gcc-internal-format
-msgid "property must be constant integer expression"
+msgid "property must be integer expression"
 msgstr ""
 
-#: c/c-parser.cc:24757 cp/parser.cc:48210
+#: c/c-parser.cc:26772 cp/parser.cc:49844
 #, gcc-internal-format
 msgid ""
 "properties for %<simd%> selector may not be specified in %<metadirective%>"
 msgstr ""
 
-#. 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:24778 cp/parser.cc:48226 fortran/openmp.cc:5921
+#: c/c-parser.cc:26793 cp/parser.cc:49860 fortran/openmp.cc:6540
 #, gcc-internal-format
 msgid "%<requires%> selector is not supported yet"
 msgstr ""
 
-#: c/c-parser.cc:24837 cp/parser.cc:48289
+#: c/c-parser.cc:26852 cp/parser.cc:49923
 #, gcc-internal-format
 msgid "expected context selector set name"
 msgstr ""
 
-#: c/c-parser.cc:24914 cp/parser.cc:48604
+#: c/c-parser.cc:26964 cp/parser.cc:50427
+#, gcc-internal-format
+msgid "expected %<match%>, %<adjust_args%> or %<append_args%> clause"
+msgstr ""
+
+#: c/c-parser.cc:26980 cp/parser.cc:50440
 #, gcc-internal-format
-msgid "expected %<match%>"
+msgid "too many %<match%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:24934
+#: c/c-parser.cc:26991
 #, gcc-internal-format
 msgid "variant %qD is not a function"
 msgstr ""
 
-#: c/c-parser.cc:24941 cp/decl.cc:8323
+#: c/c-parser.cc:27006 cp/decl.cc:8619
+#, gcc-internal-format
+msgid "variant %qD is a built-in"
+msgstr ""
+
+#. TODO fix location
+#: c/c-parser.cc:27050 cp/parser.cc:50502
+#, gcc-internal-format
+msgid "%qD is specified more than once"
+msgstr ""
+
+#: c/c-parser.cc:27057
+#, gcc-internal-format
+msgid "%qD is not of pointer type"
+msgstr ""
+
+#: c/c-parser.cc:27077 cp/parser.cc:50535
+#, gcc-internal-format
+msgid "expected %<nothing%> or %<need_device_ptr%>"
+msgstr ""
+
+#: c/c-parser.cc:27080
+#, gcc-internal-format
+msgid "%<need_device_addr%> is not valid for C"
+msgstr ""
+
+#: c/c-parser.cc:27087 cp/parser.cc:50542
+#, gcc-internal-format
+msgid "expected %<nothing%> or %<need_device_ptr%> followed by %<:%>"
+msgstr ""
+
+#: c/c-parser.cc:27107 cp/parser.cc:50559
+#, gcc-internal-format
+msgid "expected %<interop%>"
+msgstr ""
+
+#: c/c-parser.cc:27201 cp/decl.cc:8601
+#, gcc-internal-format
+msgid "argument %d of %qD must be of %<omp_interop_t%>"
+msgstr ""
+
+#: c/c-parser.cc:27203 cp/decl.cc:8498 cp/decl.cc:8604
+#, gcc-internal-format
+msgid "%<append_args%> specified here"
+msgstr ""
+
+#: c/c-parser.cc:27249 cp/decl.cc:8610
 #, gcc-internal-format
 msgid "variant %qD and base %qD have incompatible types"
 msgstr ""
 
-#: c/c-parser.cc:24953 cp/decl.cc:8332
+#: c/c-parser.cc:27274 cp/parser.cc:50623
 #, gcc-internal-format
-msgid "variant %qD is a built-in"
+msgid "an %qs clause requires a %<match%> clause"
 msgstr ""
 
-#: c/c-parser.cc:24999
+#: c/c-parser.cc:27287
+#, gcc-internal-format
+msgid ""
+"an %qs clause can only be specified if the %<dispatch%> selector of the "
+"%<construct%> selector set appears in the %<match%> clause"
+msgstr ""
+
+#: c/c-parser.cc:27330
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:25007 cp/parser.cc:48649
+#: c/c-parser.cc:27338 cp/parser.cc:50668
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:25208 cp/parser.cc:48939
+#: c/c-parser.cc:27545 cp/parser.cc:50957
 #, gcc-internal-format
 msgid "%qD specified both in declare target %<link%> and %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:25212 cp/parser.cc:48943
+#: c/c-parser.cc:27549 cp/parser.cc:50961
 #, gcc-internal-format
 msgid ""
 "%qD specified both in declare target %<link%> and %<to%> or %<enter%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:25272 cp/parser.cc:49073
+#: c/c-parser.cc:27609 cp/parser.cc:51094
 #, gcc-internal-format
 msgid "directive with only %<device_type%> or %<indirect%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:25275 cp/parser.cc:49076
+#: c/c-parser.cc:27612 cp/parser.cc:51097
 #, gcc-internal-format
 msgid ""
 "%<device_type%> clause must specify 'any' when used with an %<indirect%> "
 "clause"
 msgstr ""
 
-#: c/c-parser.cc:25324 c/c-parser.cc:25366 cp/parser.cc:49131
-#: cp/parser.cc:49178
+#: c/c-parser.cc:27661 c/c-parser.cc:27703 cp/parser.cc:51152
+#: cp/parser.cc:51199
 #, gcc-internal-format
 msgid "expected %<target%>"
 msgstr ""
 
-#: c/c-parser.cc:25338 cp/parser.cc:49144
+#: c/c-parser.cc:27675 cp/parser.cc:51165
 #, gcc-internal-format
 msgid "expected %<declare target%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:25373 cp/parser.cc:49185
+#: c/c-parser.cc:27710 cp/parser.cc:51206
 #, 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:25384 c/c-parser.cc:25415 cp/parser.cc:49196
-#: cp/parser.cc:49227
+#: c/c-parser.cc:27721 c/c-parser.cc:27752 cp/parser.cc:51217
+#: cp/parser.cc:51248
 #, gcc-internal-format
 msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
 msgstr ""
 
-#: c/c-parser.cc:25391 c/c-parser.cc:25420 cp/parser.cc:49203
-#: cp/parser.cc:49232
+#: c/c-parser.cc:27728 c/c-parser.cc:27757 cp/parser.cc:51224
+#: cp/parser.cc:51253
 #, gcc-internal-format
 msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
 msgstr ""
 
-#: c/c-parser.cc:25428 cp/parser.cc:49240
+#: c/c-parser.cc:27765 cp/parser.cc:51261
 #, gcc-internal-format
 msgid "expected %<declare%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:25455
+#: c/c-parser.cc:27792
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> not at file or block scope"
 msgstr ""
 
-#: c/c-parser.cc:25532
+#: c/c-parser.cc:27869
 #, gcc-internal-format
 msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:25536
+#: c/c-parser.cc:27873
 #, gcc-internal-format
 msgid "function or array type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:25539
+#: c/c-parser.cc:27876
 #, gcc-internal-format
 msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:25542
+#: c/c-parser.cc:27879
 #, gcc-internal-format
 msgid ""
 "const, volatile or restrict qualified type in %<#pragma omp declare "
 "reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:25550
+#: c/c-parser.cc:27887
 #, gcc-internal-format
 msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
 msgstr ""
 
-#: c/c-parser.cc:25559
+#: c/c-parser.cc:27896
 #, gcc-internal-format
 msgid "previous %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:25680
+#: c/c-parser.cc:28017
 #, gcc-internal-format
 msgid "expected %<omp_priv%> or function-name"
 msgstr ""
 
-#: c/c-parser.cc:25691
+#: c/c-parser.cc:28028
 #, gcc-internal-format
 msgid "expected function-name %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:25710
+#: c/c-parser.cc:28047
 #, gcc-internal-format
 msgid "one of the initializer call arguments should be %<&omp_priv%>"
 msgstr ""
 
-#: c/c-parser.cc:25841 cp/parser.cc:49713
+#: c/c-parser.cc:28181 cp/parser.cc:52183
 #, gcc-internal-format
 msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
 msgstr ""
 
-#: c/c-parser.cc:25910 cp/parser.cc:49780
+#: c/c-parser.cc:28252 cp/parser.cc:52276
 #, gcc-internal-format
 msgid ""
 "expected %<acq_rel%>, %<acquire%>, %<relaxed%>, %<release%> or %<seq_cst%>"
 msgstr ""
 
-#: c/c-parser.cc:25939 cp/parser.cc:49815
+#: c/c-parser.cc:28281 cp/parser.cc:52311
 #, gcc-internal-format
 msgid ""
-"expected %<unified_address%>, %<unified_shared_memory%>, "
+"expected %<unified_address%>, %<unified_shared_memory%>, %<self_maps%>, "
 "%<dynamic_allocators%>, %<reverse_offload%> or %<atomic_default_mem_order%> "
 "clause"
 msgstr ""
 
-#: c/c-parser.cc:25957 cp/parser.cc:49833
+#: c/c-parser.cc:28300 cp/parser.cc:52330
 #, gcc-internal-format
 msgid ""
 "%qs clause used lexically after first target construct or offloading API"
 msgstr ""
 
-#: c/c-parser.cc:25969 cp/parser.cc:49845
+#: c/c-parser.cc:28312 cp/parser.cc:52342
 #, gcc-internal-format
 msgid ""
 "more than one %<atomic_default_mem_order%> clause in a single compilation "
 "unit"
 msgstr ""
 
-#: c/c-parser.cc:25978 cp/parser.cc:49854
+#: c/c-parser.cc:28321 cp/parser.cc:52351
 #, gcc-internal-format
 msgid ""
 "%<atomic_default_mem_order%> clause used lexically after first %<atomic%> "
 "construct without memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:25992 cp/parser.cc:49868
+#: c/c-parser.cc:28335 cp/parser.cc:52365
 #, gcc-internal-format
 msgid "%<pragma omp requires%> requires at least one clause"
 msgstr ""
 
-#: c/c-parser.cc:26011
+#: c/c-parser.cc:28354
 #, gcc-internal-format
 msgid "zero sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:26017
+#: c/c-parser.cc:28360
 #, gcc-internal-format
 msgid "variable sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:26174 cp/parser.cc:49925
+#: c/c-parser.cc:28478 cp/parser.cc:48876
+#, gcc-internal-format
+msgid "expected %<sizes%>"
+msgstr ""
+
+#: c/c-parser.cc:28507 cp/semantics.cc:9568 cp/semantics.cc:9585
+#, gcc-internal-format
+msgid "%<sizes%> argument needs positive integral constant"
+msgstr ""
+
+#: c/c-parser.cc:28623 cp/parser.cc:52422
 #, gcc-internal-format
 msgid "expected %<at%>, %<severity%> or %<message%> clause"
 msgstr ""
 
-#: c/c-parser.cc:26207 cp/parser.cc:49960
+#: c/c-parser.cc:28656 cp/parser.cc:52457
 #, gcc-internal-format
 msgid "expected %qs or %qs"
 msgstr ""
 
-#: c/c-parser.cc:26264 cp/parser.cc:50022
+#: c/c-parser.cc:28713 cp/parser.cc:52519
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp error%> with %<at(execution)%> clause may only be used in "
 "compound statements"
 msgstr ""
 
-#: c/c-parser.cc:26287 cp/parser.cc:50049
+#: c/c-parser.cc:28736 cp/parser.cc:52546
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered: %s"
 msgstr ""
 
-#: c/c-parser.cc:26290 cp/parser.cc:50052
+#: c/c-parser.cc:28739 cp/parser.cc:52549
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered"
 msgstr ""
 
-#: c/c-parser.cc:26317 cp/parser.cc:48350
+#: c/c-parser.cc:28766 cp/parser.cc:49984
 #, gcc-internal-format
 msgid "expected at least one assumption clause"
 msgstr ""
 
-#: c/c-parser.cc:26403 cp/parser.cc:48436
+#: c/c-parser.cc:28852 c/c-parser.cc:29153 cp/parser.cc:50070
+#: cp/parser.cc:51485 cp/parser.cc:51513
 #, gcc-internal-format
 msgid "expected directive name"
 msgstr ""
 
-#: c/c-parser.cc:26416 cp/parser.cc:48449
+#: c/c-parser.cc:28863 cp/parser.cc:50081
+#, gcc-internal-format
+msgid ""
+"invalid OpenMP directive name in %qs clause argument: declarative, "
+"informational, and meta directives not permitted"
+msgstr ""
+
+#: c/c-parser.cc:28871 cp/parser.cc:50089
 #, gcc-internal-format
 msgid "unknown OpenMP directive name in %qs clause argument"
 msgstr ""
 
-#: c/c-parser.cc:26423 cp/parser.cc:48456
+#: c/c-parser.cc:28878 cp/parser.cc:50096
 #, gcc-internal-format
 msgid ""
 "%<%s%s%s%s%s%> directive mentioned in both %<absent%> and %<contains%> "
 "clauses"
 msgstr ""
 
-#: c/c-parser.cc:26434 cp/parser.cc:48467
+#: c/c-parser.cc:28889 cp/parser.cc:50107
 #, gcc-internal-format
 msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:26457 cp/parser.cc:48494
+#: c/c-parser.cc:28912 cp/parser.cc:50134
 #, gcc-internal-format
 msgid "unknown assumption clause %qs"
 msgstr ""
 
-#: c/c-parser.cc:26470 cp/parser.cc:48504
+#: c/c-parser.cc:28925 cp/parser.cc:50144
 #, gcc-internal-format
 msgid "expected assumption clause"
 msgstr ""
 
-#: c/c-parser.cc:26640 cp/semantics.cc:9677
+#: c/c-parser.cc:29054 cp/parser.cc:51383
+#, gcc-internal-format
+msgid "expected %<when%>, %<otherwise%>, or %<default%> clause"
+msgstr ""
+
+#: c/c-parser.cc:29068 cp/parser.cc:51398
+#, gcc-internal-format
+msgid "too many %<otherwise%> or %<default%> clauses in %<metadirective%>"
+msgstr ""
+
+#: c/c-parser.cc:29077 cp/parser.cc:51408
+#, gcc-internal-format
+msgid ""
+"%<otherwise%> or %<default%> clause must appear last in %<metadirective%>"
+msgstr ""
+
+#: c/c-parser.cc:29167 cp/parser.cc:51499
+#, gcc-internal-format
+msgid "unknown directive name"
+msgstr ""
+
+#: c/c-parser.cc:29182 cp/parser.cc:51519
+#, gcc-internal-format
+msgid "metadirectives cannot be used as variants of a %<metadirective%>"
+msgstr ""
+
+#: c/c-parser.cc:29188 cp/parser.cc:51525
+#, gcc-internal-format
+msgid "declarative directive variants of a %<metadirective%> are not supported"
+msgstr ""
+
+#: c/c-parser.cc:29519 cp/semantics.cc:10340
 #, gcc-internal-format
 msgid "%qE declared %<threadprivate%> after first use"
 msgstr ""
 
-#: c/c-parser.cc:26642 cp/semantics.cc:9679
+#: c/c-parser.cc:29521 cp/semantics.cc:10342
 #, gcc-internal-format
 msgid "automatic variable %qE cannot be %<threadprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:26646 cp/semantics.cc:9681
+#: c/c-parser.cc:29525 cp/semantics.cc:10344
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:26826 cp/parser.cc:50791
+#: c/c-parser.cc:29705 cp/parser.cc:53308
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c/c-parser.cc:26832 cp/parser.cc:50797
+#: c/c-parser.cc:29711 cp/parser.cc:53314
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:26841
+#: c/c-parser.cc:29720
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or "
 "a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c/c-parser.cc:26849 cp/parser.cc:50815
+#: c/c-parser.cc:29728 cp/parser.cc:53332
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:26942
+#: c/c-parser.cc:29821
 #, gcc-internal-format
 msgid "no closing brace"
 msgstr ""
 
-#: c/c-typeck.cc:237
+#: c/c-typeck.cc:238
 #, gcc-internal-format
 msgid "%qD has an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:251 c/c-typeck.cc:11338 c/c-typeck.cc:11380 cp/call.cc:4942
+#: c/c-typeck.cc:252 c/c-typeck.cc:12462 c/c-typeck.cc:12537 cp/call.cc:5062
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr ""
 
-#: c/c-typeck.cc:259
+#: c/c-typeck.cc:260
 #, gcc-internal-format
 msgid "invalid use of flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3919
+#: c/c-typeck.cc:266 cp/typeck2.cc:347 rust/backend/rust-tree.cc:3906
 #, gcc-internal-format
 msgid "invalid use of array with unspecified bounds"
 msgstr ""
 
-#: c/c-typeck.cc:273
+#: c/c-typeck.cc:274
 #, gcc-internal-format
 msgid "invalid use of undefined type %qT"
 msgstr ""
 
 #. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c/c-typeck.cc:276
+#: c/c-typeck.cc:277
 #, gcc-internal-format
 msgid "invalid use of incomplete typedef %qT"
 msgstr ""
 
-#: c/c-typeck.cc:349
+#: c/c-typeck.cc:350
 #, gcc-internal-format
 msgid "%qT and %qT are in disjoint named address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:374
+#: c/c-typeck.cc:571
 #, gcc-internal-format
-msgid ""
-"%qs attribute cannot be applied to a function that does not take variable "
-"arguments"
+msgid "%qs attribute can only be applied to variadic functions"
 msgstr ""
 
-#: c/c-typeck.cc:709 c/c-typeck.cc:732
+#: c/c-typeck.cc:938 c/c-typeck.cc:961
 #, gcc-internal-format
 msgid "function types not truly compatible in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:888
+#: c/c-typeck.cc:1117
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and vector types"
 msgstr ""
 
-#: c/c-typeck.cc:893
+#: c/c-typeck.cc:1122
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and complex types"
 msgstr ""
 
-#: c/c-typeck.cc:898
+#: c/c-typeck.cc:1127
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and other floating types"
 msgstr ""
 
-#: c/c-typeck.cc:928
+#: c/c-typeck.cc:1157
 #, gcc-internal-format
 msgid "%<_Complex _BitInt(%d)%> unsupported"
 msgstr ""
 
-#: c/c-typeck.cc:1474
+#: c/c-typeck.cc:1785
 #, gcc-internal-format
 msgid ""
 "invalid use of pointers to arrays with different qualifiers in ISO C before "
 "C23"
 msgstr ""
 
-#: c/c-typeck.cc:1478
+#: c/c-typeck.cc:1789
 #, gcc-internal-format
 msgid "types are not quite compatible"
 msgstr ""
 
-#: c/c-typeck.cc:1482
+#: c/c-typeck.cc:1793
 #, gcc-internal-format
 msgid "pointer target types incompatible in C++"
 msgstr ""
 
-#: c/c-typeck.cc:1657
+#: c/c-typeck.cc:2017
 #, gcc-internal-format
 msgid "function return types not compatible due to %<volatile%>"
 msgstr ""
 
-#: c/c-typeck.cc:1907
+#: c/c-typeck.cc:2267
 #, gcc-internal-format
 msgid ""
 "converting an array compound literal to a pointer leads to a dangling "
 "pointer in C++"
 msgstr ""
 
-#: c/c-typeck.cc:2601 c/c-typeck.cc:9854
+#: c/c-typeck.cc:3088 c/c-typeck.cc:10653
 #, gcc-internal-format
 msgid "%qT has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: c/c-typeck.cc:2605 c/c-typeck.cc:9858
+#: c/c-typeck.cc:3092 c/c-typeck.cc:10657
 #, gcc-internal-format
 msgid "%qT has no member named %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2614
+#: c/c-typeck.cc:3101
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic structure %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2617
+#: c/c-typeck.cc:3104
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic union %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2681
+#: c/c-typeck.cc:3174
 #, 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:2690
+#: c/c-typeck.cc:3183
 #, gcc-internal-format
 msgid "%qE is a pointer; did you mean to use %<->%>?"
 msgstr ""
 
-#: c/c-typeck.cc:2697
+#: c/c-typeck.cc:3190
 #, gcc-internal-format
 msgid "request for member %qE in something not a structure or union"
 msgstr ""
 
-#: c/c-typeck.cc:2745
+#: c/c-typeck.cc:3238
 #, gcc-internal-format
 msgid "dereferencing %<void *%> pointer"
 msgstr ""
 
-#: c/c-typeck.cc:2800
+#: c/c-typeck.cc:3293
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer nor vector"
 msgstr ""
 
-#: c/c-typeck.cc:2810 cp/typeck.cc:4005 cp/typeck.cc:4099
+#: c/c-typeck.cc:3303 cp/typeck.cc:4033 cp/typeck.cc:4128
 #, gcc-internal-format
 msgid "array subscript is not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:2816
+#: c/c-typeck.cc:3309
 #, gcc-internal-format
 msgid "subscripted value is pointer to function"
 msgstr ""
 
-#: c/c-typeck.cc:2871
+#: c/c-typeck.cc:3364
 #, gcc-internal-format
 msgid "ISO C forbids subscripting %<register%> array"
 msgstr ""
 
-#: c/c-typeck.cc:2874
+#: c/c-typeck.cc:3367
 #, gcc-internal-format
 msgid "ISO C90 forbids subscripting non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:2993
+#: c/c-typeck.cc:3486
 #, gcc-internal-format
 msgid "underspecified %qD referenced in its initializer"
 msgstr ""
 
-#: c/c-typeck.cc:3048
+#: c/c-typeck.cc:3541
 #, gcc-internal-format
 msgid "enum constant defined here"
 msgstr ""
 
-#: c/c-typeck.cc:3156 cp/typeck.cc:2141
+#: c/c-typeck.cc:3649 cp/typeck.cc:2162
 #, gcc-internal-format
 msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:3317
+#: c/c-typeck.cc:3834
 #, gcc-internal-format
 msgid "called object %qE is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3322
+#: c/c-typeck.cc:3840
 #, gcc-internal-format
 msgid "called object %qD is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3328
+#: c/c-typeck.cc:3846
 #, gcc-internal-format
 msgid "called object is not a function or function pointer"
 msgstr ""
@@ -52262,2925 +53062,3046 @@ 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:3357
+#: c/c-typeck.cc:3875
 #, gcc-internal-format
 msgid "function called through a non-compatible type"
 msgstr ""
 
-#: c/c-typeck.cc:3362 c/c-typeck.cc:3417
+#: c/c-typeck.cc:3880 c/c-typeck.cc:3936
 #, gcc-internal-format
 msgid "function with qualified void return type called"
 msgstr ""
 
-#: c/c-typeck.cc:3472
+#: c/c-typeck.cc:3991
 #, gcc-internal-format, gfc-internal-format
 msgid "type of formal parameter %d is incomplete"
 msgstr ""
 
-#: c/c-typeck.cc:3484
+#: c/c-typeck.cc:4003
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3490
+#: c/c-typeck.cc:4009
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3496
+#: c/c-typeck.cc:4015
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3502
+#: c/c-typeck.cc:4021
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3508
+#: c/c-typeck.cc:4027
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3514
+#: c/c-typeck.cc:4033
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3530
+#: c/c-typeck.cc:4049
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as %<float%> rather than %<double%> due to "
 "prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3556
+#: c/c-typeck.cc:4075
 #, gcc-internal-format
 msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3582
+#: c/c-typeck.cc:4101
 #, gcc-internal-format
 msgid "passing argument %d of %qE with different width due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3606
+#: c/c-typeck.cc:4125
 #, gcc-internal-format
 msgid "passing argument %d of %qE as unsigned due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3611
+#: c/c-typeck.cc:4130
 #, gcc-internal-format
 msgid "passing argument %d of %qE as signed due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3777
+#: c/c-typeck.cc:4304
 #, gcc-internal-format
-msgid "too many arguments to method %qE"
+msgid "too many arguments to method %qE; expected %i, have %i"
 msgstr ""
 
-#: c/c-typeck.cc:3787
+#: c/c-typeck.cc:4308
+#, gcc-internal-format
+msgid "too many arguments to function %qE; expected %i, have %i"
+msgstr ""
+
+#: c/c-typeck.cc:4318
 #, gcc-internal-format
 msgid "too many arguments to built-in function %qE expecting %d"
 msgstr ""
 
-#: c/c-typeck.cc:3862
+#: c/c-typeck.cc:4330
+#, gcc-internal-format
+msgid ""
+"ISO C23 does not allow arguments for method %qE declared without parameters"
+msgstr ""
+
+#: c/c-typeck.cc:4335
+#, gcc-internal-format
+msgid ""
+"ISO C23 does not allow arguments for function %qE declared without parameters"
+msgstr ""
+
+#: c/c-typeck.cc:4411
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT when passing argument to function"
 msgstr ""
 
-#: c/c-typeck.cc:3932
+#: c/c-typeck.cc:4492
+#, gcc-internal-format
+msgid "too few arguments to function %qE; expected at least %i, have %i"
+msgstr ""
+
+#: c/c-typeck.cc:4493
+#, gcc-internal-format
+msgid "too few arguments to function %qE; expected %i, have %i"
+msgstr ""
+
+#: c/c-typeck.cc:4507
 #, gcc-internal-format
 msgid "too few arguments to built-in function %qE expecting %u"
 msgstr ""
 
-#: c/c-typeck.cc:4110 c/c-typeck.cc:4138 cp/typeck.cc:5782 cp/typeck.cc:6065
+#: c/c-typeck.cc:4685 c/c-typeck.cc:4713 cp/typeck.cc:5849 cp/typeck.cc:6137
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behavior"
 msgstr ""
 
-#: c/c-typeck.cc:4118 c/c-typeck.cc:4129 cp/typeck.cc:5814 cp/typeck.cc:5838
+#: c/c-typeck.cc:4693 c/c-typeck.cc:4704 cp/typeck.cc:5886 cp/typeck.cc:5910
 #, gcc-internal-format
 msgid "comparison between pointer and zero character constant"
 msgstr ""
 
-#: c/c-typeck.cc:4121 c/c-typeck.cc:4132 cp/typeck.cc:5817 cp/typeck.cc:5841
+#: c/c-typeck.cc:4696 c/c-typeck.cc:4707 cp/typeck.cc:5889 cp/typeck.cc:5913
 #, gcc-internal-format
 msgid "did you mean to dereference the pointer?"
 msgstr ""
 
-#: c/c-typeck.cc:4159
+#: c/c-typeck.cc:4725 c/c-typeck.cc:4732 c/c-typeck.cc:6109 c/c-typeck.cc:6114
+#: c/c-typeck.cc:8662 cp/tree.cc:6467
+#, gcc-internal-format
+msgid "zero as null pointer constant"
+msgstr ""
+
+#: c/c-typeck.cc:4753
 #, gcc-internal-format
 msgid "comparison between %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4218
+#: c/c-typeck.cc:4812
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4221
+#: c/c-typeck.cc:4815
 #, gcc-internal-format
 msgid "pointer to a function used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4255
+#: c/c-typeck.cc:4849
 #, gcc-internal-format
 msgid "arithmetic on pointer to an incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:4264 cp/typeck.cc:6860
+#: c/c-typeck.cc:4858 cp/typeck.cc:6937
 #, gcc-internal-format
 msgid "arithmetic on pointer to an empty aggregate"
 msgstr ""
 
-#: c/c-typeck.cc:4710
+#: c/c-typeck.cc:5307
 #, gcc-internal-format
 msgid "%<~%> on a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4714
+#: c/c-typeck.cc:5311
 #, gcc-internal-format
 msgid "did you mean to use logical not?"
 msgstr ""
 
-#: c/c-typeck.cc:4724
+#: c/c-typeck.cc:5321
 #, gcc-internal-format
 msgid "ISO C does not support %<~%> for complex conjugation"
 msgstr ""
 
-#: c/c-typeck.cc:4748
+#: c/c-typeck.cc:5345
 #, gcc-internal-format
 msgid "wrong type argument to absu"
 msgstr ""
 
-#: c/c-typeck.cc:4774
+#: c/c-typeck.cc:5371
 #, gcc-internal-format
 msgid "wrong type argument to unary exclamation mark"
 msgstr ""
 
-#: c/c-typeck.cc:4832
+#: c/c-typeck.cc:5429
 #, gcc-internal-format
 msgid "increment of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4835
+#: c/c-typeck.cc:5432
 #, gcc-internal-format
 msgid "decrement of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4842
+#: c/c-typeck.cc:5439
 #, gcc-internal-format
 msgid "increment of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4845
+#: c/c-typeck.cc:5442
 #, gcc-internal-format
 msgid "decrement of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4861
+#: c/c-typeck.cc:5458
 #, gcc-internal-format
-msgid "ISO C does not support %<++%> and %<--%> on complex types"
+msgid "ISO C does not support %<++%> and %<--%> on complex types before C2Y"
 msgstr ""
 
-#: c/c-typeck.cc:4887 c/c-typeck.cc:4921
+#: c/c-typeck.cc:5485 c/c-typeck.cc:5519
 #, gcc-internal-format
 msgid "wrong type argument to increment"
 msgstr ""
 
-#: c/c-typeck.cc:4889 c/c-typeck.cc:4924
+#: c/c-typeck.cc:5487 c/c-typeck.cc:5522
 #, gcc-internal-format
 msgid "wrong type argument to decrement"
 msgstr ""
 
-#: c/c-typeck.cc:4909
+#: c/c-typeck.cc:5507
 #, gcc-internal-format
 msgid "increment of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4913
+#: c/c-typeck.cc:5511
 #, gcc-internal-format
 msgid "decrement of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:5021
+#: c/c-typeck.cc:5619
 #, gcc-internal-format
 msgid "taking address of expression of type %<void%>"
 msgstr ""
 
-#: c/c-typeck.cc:5080 c/c-typeck.cc:5273
+#: c/c-typeck.cc:5682 c/c-typeck.cc:5878
 #, gcc-internal-format
 msgid "cannot take address of bit-field %qD"
 msgstr ""
 
-#: c/c-typeck.cc:5094
+#: c/c-typeck.cc:5696
 #, gcc-internal-format
 msgid "cannot take address of scalar with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:5102
+#: c/c-typeck.cc:5704
 #, gcc-internal-format
 msgid "address of array with reverse scalar storage order requested"
 msgstr ""
 
-#: c/c-typeck.cc:5288
+#: c/c-typeck.cc:5893
 #, gcc-internal-format
 msgid "address of register compound literal requested"
 msgstr ""
 
-#: c/c-typeck.cc:5309
+#: c/c-typeck.cc:5914
 #, gcc-internal-format
 msgid "global register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5312
+#: c/c-typeck.cc:5917
 #, gcc-internal-format
 msgid "register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5317
+#: c/c-typeck.cc:5922
 #, gcc-internal-format
 msgid "address of global register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5319 d/d-codegen.cc:721
+#: c/c-typeck.cc:5924 d/d-codegen.cc:752
 #, gcc-internal-format
 msgid "address of register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5458
+#: c/c-typeck.cc:6063
 #, gcc-internal-format
 msgid "non-lvalue array in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5540
+#: c/c-typeck.cc:6159
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other result of conditional"
 msgstr ""
 
-#: c/c-typeck.cc:5599 c/c-typeck.cc:5605
+#: c/c-typeck.cc:6218 c/c-typeck.cc:6224
 #, gcc-internal-format
 msgid ""
 "operand of %<?:%> changes signedness from %qT to %qT due to unsignedness of "
 "other operand"
 msgstr ""
 
-#: c/c-typeck.cc:5622
+#: c/c-typeck.cc:6241
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr with only one void side"
 msgstr ""
 
-#: c/c-typeck.cc:5639
+#: c/c-typeck.cc:6258
 #, gcc-internal-format
 msgid "pointers to disjoint address spaces used in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5663
+#: c/c-typeck.cc:6282
 #, gcc-internal-format
 msgid "pointer to array loses qualifier in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5667
+#: c/c-typeck.cc:6286
 #, gcc-internal-format
 msgid ""
 "pointer to array loses qualifier in conditional expression in ISO C before "
 "C23"
 msgstr ""
 
-#: c/c-typeck.cc:5672
+#: c/c-typeck.cc:6291
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:5694
+#: c/c-typeck.cc:6313
 #, gcc-internal-format
 msgid "pointer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5697
+#: c/c-typeck.cc:6316
 #, gcc-internal-format
 msgid "first expression has type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:5698
+#: c/c-typeck.cc:6317
 #, gcc-internal-format
 msgid "second expression has type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:5709 c/c-typeck.cc:5722
+#: c/c-typeck.cc:6328 c/c-typeck.cc:6341
 #, gcc-internal-format
 msgid "pointer/integer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5749
+#: c/c-typeck.cc:6368
 #, gcc-internal-format
 msgid "type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5864
+#: c/c-typeck.cc:6484
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5868
+#: c/c-typeck.cc:6488
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5886
+#: c/c-typeck.cc:6507
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5891
+#: c/c-typeck.cc:6512
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5900 cp/cvt.cc:1116 rust/backend/rust-tree.cc:640
+#: c/c-typeck.cc:6521 cp/cvt.cc:1119 rust/backend/rust-tree.cc:640
 #, gcc-internal-format
 msgid "in call to %qD, declared here"
 msgstr ""
 
-#: c/c-typeck.cc:5949
+#: c/c-typeck.cc:6570
 #, gcc-internal-format
 msgid "left-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5967 c/c-typeck.cc:11907
+#: c/c-typeck.cc:6588 c/c-typeck.cc:13124
 #, gcc-internal-format
 msgid "right-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:6038
+#: c/c-typeck.cc:6659
 msgid "cast adds %q#v qualifier to function type"
 msgstr ""
 
-#: c/c-typeck.cc:6044
+#: c/c-typeck.cc:6665
 msgid "cast discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:6079
+#: c/c-typeck.cc:6700
 #, 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:6176
+#: c/c-typeck.cc:6797
 #, gcc-internal-format
 msgid "cast specifies array type"
 msgstr ""
 
-#: c/c-typeck.cc:6182
+#: c/c-typeck.cc:6803
 #, gcc-internal-format
 msgid "cast specifies function type"
 msgstr ""
 
-#: c/c-typeck.cc:6197
+#: c/c-typeck.cc:6818
 #, gcc-internal-format
 msgid "ISO C forbids casting nonscalar to the same type"
 msgstr ""
 
-#: c/c-typeck.cc:6201
+#: c/c-typeck.cc:6822
 #, gcc-internal-format
 msgid "useless cast to type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6221
+#: c/c-typeck.cc:6842
 #, gcc-internal-format
 msgid "ISO C forbids casts to union type"
 msgstr ""
 
-#: c/c-typeck.cc:6231
+#: c/c-typeck.cc:6852
 #, gcc-internal-format
 msgid "cast to union type from type not present in union"
 msgstr ""
 
-#: c/c-typeck.cc:6266
+#: c/c-typeck.cc:6887
 #, gcc-internal-format
 msgid ""
 "cast to %qs address space pointer from disjoint generic address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6271
+#: c/c-typeck.cc:6892
 #, gcc-internal-format
 msgid ""
 "cast to generic address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6276
+#: c/c-typeck.cc:6897
 #, gcc-internal-format
 msgid ""
 "cast to %qs address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6309
+#: c/c-typeck.cc:6930
 #, gcc-internal-format
 msgid "cast increases required alignment of target type"
 msgstr ""
 
-#: c/c-typeck.cc:6321
+#: c/c-typeck.cc:6942
 #, gcc-internal-format
 msgid "cast from pointer to integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6326
+#: c/c-typeck.cc:6947
 #, gcc-internal-format
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6336 cp/typeck.cc:9296
+#: c/c-typeck.cc:6957 cp/typeck.cc:9383
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6350
+#: c/c-typeck.cc:6971
 #, gcc-internal-format
 msgid "ISO C forbids conversion of function pointer to object pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6359
+#: c/c-typeck.cc:6980
 #, gcc-internal-format
 msgid "ISO C forbids conversion of object pointer to function pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6369
+#: c/c-typeck.cc:6990
 #, gcc-internal-format
 msgid "cast between incompatible function types from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6481
+#: c/c-typeck.cc:7105
 #, gcc-internal-format
 msgid "defining a type in a cast is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6522
+#: c/c-typeck.cc:7147
 #, gcc-internal-format
 msgid "assignment to expression with array type"
 msgstr ""
 
-#: c/c-typeck.cc:6648
+#: c/c-typeck.cc:7273
 #, gcc-internal-format
 msgid "enum conversion in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6850 c/c-typeck.cc:6867 c/c-typeck.cc:6918
+#: c/c-typeck.cc:7475 c/c-typeck.cc:7494 c/c-typeck.cc:7551
 #, gcc-internal-format
 msgid "(near initialization for %qs)"
 msgstr ""
 
-#: c/c-typeck.cc:6933
+#: c/c-typeck.cc:7567
 #, gcc-internal-format
 msgid "array initialized from parenthesized string constant"
 msgstr ""
 
-#: c/c-typeck.cc:6976 c/c-typeck.cc:7217
-#, gcc-internal-format
-msgid "expected %qT but argument is of type %qT"
+#: c/c-typeck.cc:7617
+msgid "expected %e but argument is of type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7010
+#: c/c-typeck.cc:7651
 #, 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:7013
+#: c/c-typeck.cc:7654
 #, 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:7018
+#: c/c-typeck.cc:7659
 #, gcc-internal-format
 msgid "built-in %qD declared here"
 msgstr ""
 
-#: c/c-typeck.cc:7212
+#: c/c-typeck.cc:7716 c/c-typeck.cc:8624
+msgid "%e declared here"
+msgstr ""
+
+#: c/c-typeck.cc:7909
 #, gcc-internal-format
 msgid "enum conversion when passing argument %d of %qE is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7221
+#: c/c-typeck.cc:7914
+#, gcc-internal-format
+msgid "expected %qT but argument is of type %qT"
+msgstr ""
+
+#: c/c-typeck.cc:7918
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7226
+#: c/c-typeck.cc:7923
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7231
+#: c/c-typeck.cc:7928
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in return is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7249
+#: c/c-typeck.cc:7946
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7428 c/c-typeck.cc:7826
+#: c/c-typeck.cc:8128 c/c-typeck.cc:8527
 msgid ""
 "passing argument %d of %qE makes %q#v qualified function pointer from "
 "unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7431 c/c-typeck.cc:7829
+#: c/c-typeck.cc:8131 c/c-typeck.cc:8530
 msgid "assignment makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7434 c/c-typeck.cc:7831
+#: c/c-typeck.cc:8134 c/c-typeck.cc:8532
 msgid "initialization makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7437 c/c-typeck.cc:7833
+#: c/c-typeck.cc:8137 c/c-typeck.cc:8534
 msgid "return makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7445 c/c-typeck.cc:7717 c/c-typeck.cc:7760
+#: c/c-typeck.cc:8145 c/c-typeck.cc:8417 c/c-typeck.cc:8460
 msgid ""
 "passing argument %d of %qE discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7447 c/c-typeck.cc:7719 c/c-typeck.cc:7762
+#: c/c-typeck.cc:8147 c/c-typeck.cc:8419 c/c-typeck.cc:8462
 msgid "assignment discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7449 c/c-typeck.cc:7721 c/c-typeck.cc:7764
+#: c/c-typeck.cc:8149 c/c-typeck.cc:8421 c/c-typeck.cc:8464
 msgid "initialization discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7451 c/c-typeck.cc:7723 c/c-typeck.cc:7766
+#: c/c-typeck.cc:8151 c/c-typeck.cc:8423 c/c-typeck.cc:8466
 msgid "return discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7460
+#: c/c-typeck.cc:8160
 #, gcc-internal-format
 msgid "ISO C prohibits argument conversion to union type"
 msgstr ""
 
-#: c/c-typeck.cc:7528
+#: c/c-typeck.cc:8228
 #, gcc-internal-format
 msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7555
+#: c/c-typeck.cc:8255
 #, gcc-internal-format
 msgid "passing argument %d of %qE from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7566
+#: c/c-typeck.cc:8266
 #, gcc-internal-format
 msgid "assignment from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7577
+#: c/c-typeck.cc:8277
 #, gcc-internal-format
 msgid "initialization from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7587
+#: c/c-typeck.cc:8287
 #, gcc-internal-format
 msgid "return from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7603
+#: c/c-typeck.cc:8303
 #, gcc-internal-format
 msgid "expected %qT but pointer is of type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7618
+#: c/c-typeck.cc:8318
 #, gcc-internal-format
 msgid "argument %d of %qE might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7624
+#: c/c-typeck.cc:8324
 #, gcc-internal-format
 msgid "assignment left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7630
+#: c/c-typeck.cc:8330
 #, gcc-internal-format
 msgid ""
 "initialization left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7635 cp/typeck.cc:10459
+#: c/c-typeck.cc:8335 cp/typeck.cc:10559
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7659
+#: c/c-typeck.cc:8359
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible scalar storage order"
 msgstr ""
 
-#: c/c-typeck.cc:7669
+#: c/c-typeck.cc:8369
 #, gcc-internal-format
 msgid ""
 "assignment to %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7679
+#: c/c-typeck.cc:8379
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7684
+#: c/c-typeck.cc:8384
 #, gcc-internal-format
 msgid ""
 "returning %qT from pointer type with incompatible scalar storage order %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7734
+#: c/c-typeck.cc:8434
 #, gcc-internal-format
 msgid ""
 "ISO C forbids passing argument %d of %qE between function pointer and %<void "
 "*%>"
 msgstr ""
 
-#: c/c-typeck.cc:7737
+#: c/c-typeck.cc:8437
 #, gcc-internal-format
 msgid "ISO C forbids assignment between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7739
+#: c/c-typeck.cc:8439
 #, gcc-internal-format
 msgid "ISO C forbids initialization between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7741
+#: c/c-typeck.cc:8441
 #, gcc-internal-format
 msgid "ISO C forbids return between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7771
+#: c/c-typeck.cc:8471
 #, gcc-internal-format
 msgid "array with qualifier on the element is not qualified before C23"
 msgstr ""
 
-#: c/c-typeck.cc:7788
+#: c/c-typeck.cc:8489
 #, gcc-internal-format
 msgid "pointer targets in passing argument %d of %qE differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7796
+#: c/c-typeck.cc:8497
 #, gcc-internal-format
 msgid "pointer targets in assignment from %qT to %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7802
+#: c/c-typeck.cc:8503
 #, gcc-internal-format
 msgid "pointer targets in initialization of %qT from %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7807
+#: c/c-typeck.cc:8508
 #, gcc-internal-format
 msgid ""
 "pointer targets in returning %qT from a function with return type %qT differ "
 "in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7849
+#: c/c-typeck.cc:8555
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:7858
-#, gcc-internal-format
-msgid "assignment to %qT from pointer to %qD with incompatible type %qT"
+#: c/c-typeck.cc:8566
+msgid "assignment to %e from pointer to %qD with incompatible type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7863
-#, gcc-internal-format
-msgid "assignment to %qT from incompatible pointer type %qT"
+#: c/c-typeck.cc:8572
+msgid "assignment to %e from incompatible pointer type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7870
-#, gcc-internal-format
-msgid "initialization of %qT from pointer to %qD with incompatible type %qT"
+#: c/c-typeck.cc:8581
+msgid "initialization of %e from pointer to %qD with incompatible type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7875
-#, gcc-internal-format
-msgid "initialization of %qT from incompatible pointer type %qT"
+#: c/c-typeck.cc:8587
+msgid "initialization of %e from incompatible pointer type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7882
-#, gcc-internal-format
+#: c/c-typeck.cc:8595
 msgid ""
-"returning pointer to %qD of type %qT from a function with incompatible type "
-"%qT"
+"returning pointer to %qD of type %e from a function with incompatible type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7887
-#, gcc-internal-format
-msgid "returning %qT from a function with incompatible return type %qT"
+#: c/c-typeck.cc:8601
+msgid "returning %e from a function with incompatible return type %e"
 msgstr ""
 
-#: c/c-typeck.cc:7929
+#: c/c-typeck.cc:8677
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7936
+#: c/c-typeck.cc:8687
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7942
+#: c/c-typeck.cc:8693
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7947
+#: c/c-typeck.cc:8698
 #, 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:7968
+#: c/c-typeck.cc:8720
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7975
+#: c/c-typeck.cc:8730
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7981
+#: c/c-typeck.cc:8736
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7985
+#: c/c-typeck.cc:8740
 #, 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:8017
+#: c/c-typeck.cc:8773
 #, gcc-internal-format
 msgid "incompatible type for argument %d of %qE"
 msgstr ""
 
-#: c/c-typeck.cc:8028
+#: c/c-typeck.cc:8784
 #, gcc-internal-format
 msgid "incompatible types when assigning to type %qT from type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:8039
+#: c/c-typeck.cc:8795
 #, gcc-internal-format
 msgid "incompatible types when initializing type %qT using type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:8049
+#: c/c-typeck.cc:8805
 #, gcc-internal-format
 msgid "incompatible types when returning type %qT but %qT was expected"
 msgstr ""
 
-#: c/c-typeck.cc:8129
+#: c/c-typeck.cc:8885
 #, gcc-internal-format
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr ""
 
-#: c/c-typeck.cc:8371
+#: c/c-typeck.cc:9127
 #, gcc-internal-format
 msgid "%<constexpr%> pointer initializer is not null"
 msgstr ""
 
-#: c/c-typeck.cc:8379
+#: c/c-typeck.cc:9135
 #, gcc-internal-format
 msgid "%<constexpr%> integer initializer is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8382 c/c-typeck.cc:8444 c/c-typeck.cc:8581
+#: c/c-typeck.cc:9138 c/c-typeck.cc:9200 c/c-typeck.cc:9352
 #, gcc-internal-format
 msgid "%<constexpr%> initializer not representable in type of object"
 msgstr ""
 
-#: c/c-typeck.cc:8392
+#: c/c-typeck.cc:9148
 #, gcc-internal-format
 msgid "%<constexpr%> initializer is not an arithmetic constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8409
+#: c/c-typeck.cc:9165
 #, gcc-internal-format
 msgid "%<constexpr%> initializer for a real type is of complex type"
 msgstr ""
 
-#: c/c-typeck.cc:8418
+#: c/c-typeck.cc:9174
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> initializer for a binary floating-point type is of decimal type"
 msgstr ""
 
-#: c/c-typeck.cc:8546 c/c-typeck.cc:9480 cp/typeck2.cc:1218
+#: c/c-typeck.cc:9317 c/c-typeck.cc:10276 cp/typeck2.cc:1242
 #, gcc-internal-format
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:8562 cp/typeck2.cc:1235
+#: c/c-typeck.cc:9333 cp/typeck2.cc:1259
 #, gcc-internal-format
 msgid ""
 "cannot initialize array of %qT from a string literal with type array of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:8621
+#: c/c-typeck.cc:9392
 #, gcc-internal-format
 msgid "array of inappropriate type initialized from string constant"
 msgstr ""
 
-#: c/c-typeck.cc:8689 cp/typeck.cc:2534
+#: c/c-typeck.cc:9460 cp/typeck.cc:2556
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:8703 c/c-typeck.cc:8829 c/c-typeck.cc:9565
+#: c/c-typeck.cc:9474 c/c-typeck.cc:9614 c/c-typeck.cc:10361
 #, gcc-internal-format
 msgid "invalid initializer"
 msgstr ""
 
-#: c/c-typeck.cc:8715 c/c-typeck.cc:8739 c/c-typeck.cc:8742 c/c-typeck.cc:8750
-#: c/c-typeck.cc:8798 c/c-typeck.cc:10344 c/c-typeck.cc:10423
+#: c/c-typeck.cc:9486 c/c-typeck.cc:9510 c/c-typeck.cc:9513 c/c-typeck.cc:9521
+#: c/c-typeck.cc:9583 c/c-typeck.cc:11344 c/c-typeck.cc:11424
 #, gcc-internal-format
 msgid "initializer element is not constant"
 msgstr ""
 
-#: c/c-typeck.cc:8724
+#: c/c-typeck.cc:9495
 #, gcc-internal-format
 msgid "array initialized from non-constant array expression"
 msgstr ""
 
-#: c/c-typeck.cc:8755 c/c-typeck.cc:8811 c/c-typeck.cc:10433
+#: c/c-typeck.cc:9526 c/c-typeck.cc:9596 c/c-typeck.cc:11434
 #, gcc-internal-format
 msgid "initializer element is not a constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8805 c/c-typeck.cc:10428
+#: c/c-typeck.cc:9548 cp/typeck2.cc:1341
+#, gcc-internal-format
+msgid "conversion from %qT to %qT changes value from %qd to %qd"
+msgstr ""
+
+#: c/c-typeck.cc:9590 c/c-typeck.cc:11429
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr ""
 
-#: c/c-typeck.cc:9107 cp/decl.cc:7700
+#: c/c-typeck.cc:9896 cp/decl.cc:7904
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
 msgstr ""
 
-#: c/c-typeck.cc:9327
+#: c/c-typeck.cc:10122
 #, gcc-internal-format
 msgid "extra brace group at end of initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9410
+#: c/c-typeck.cc:10206
 #, gcc-internal-format
 msgid "braces around scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9477 c/c-typeck.cc:10966 cp/typeck2.cc:1245 cp/typeck2.cc:1580
+#: c/c-typeck.cc:10273 c/c-typeck.cc:12032 cp/typeck2.cc:1269
+#: cp/typeck2.cc:1622
 #, gcc-internal-format
 msgid "initialization of flexible array member in a nested context"
 msgstr ""
 
-#: c/c-typeck.cc:9514
+#: c/c-typeck.cc:10310
 #, gcc-internal-format
 msgid "missing braces around initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9537
+#: c/c-typeck.cc:10333
 #, gcc-internal-format
 msgid "missing initializer for field %qD of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:9577
+#: c/c-typeck.cc:10373
 #, gcc-internal-format
 msgid "extra elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9696 c/c-typeck.cc:9778
+#: c/c-typeck.cc:10495 c/c-typeck.cc:10577
 #, gcc-internal-format
 msgid "array index in non-array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9701 c/c-typeck.cc:9840
+#: c/c-typeck.cc:10500 c/c-typeck.cc:10639
 #, gcc-internal-format
 msgid "field name not in record or union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9751
+#: c/c-typeck.cc:10550
 #, gcc-internal-format
 msgid "array index in initializer not of integer type"
 msgstr ""
 
-#: c/c-typeck.cc:9760 c/c-typeck.cc:9769
+#: c/c-typeck.cc:10559 c/c-typeck.cc:10568
 #, gcc-internal-format
 msgid "array index in initializer is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:9774 c/c-typeck.cc:9776
+#: c/c-typeck.cc:10573 c/c-typeck.cc:10575
 #, gcc-internal-format
 msgid "nonconstant array index in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9780 c/c-typeck.cc:9783
+#: c/c-typeck.cc:10579 c/c-typeck.cc:10582
 #, gcc-internal-format
 msgid "array index in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9802
+#: c/c-typeck.cc:10601
 #, gcc-internal-format
 msgid "empty index range in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9811
+#: c/c-typeck.cc:10610
 #, gcc-internal-format
 msgid "array index range in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9913 c/c-typeck.cc:9943 c/c-typeck.cc:10521
+#: c/c-typeck.cc:10744 c/c-typeck.cc:10799 c/c-typeck.cc:10840
+#: c/c-typeck.cc:10900 c/c-typeck.cc:10947 c/c-typeck.cc:11531
 #, gcc-internal-format
-msgid "initialized field with side-effects overwritten"
+msgid "initialized field overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:9917 c/c-typeck.cc:9947 c/c-typeck.cc:10524
+#: c/c-typeck.cc:10835 c/c-typeck.cc:10896 c/c-typeck.cc:10943
+#: c/c-typeck.cc:11528
 #, gcc-internal-format
-msgid "initialized field overwritten"
+msgid "initialized field with side-effects overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:10455
+#: c/c-typeck.cc:11456
 #, gcc-internal-format
 msgid "enum conversion in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:10836
+#: c/c-typeck.cc:11902
 #, gcc-internal-format
 msgid "excess elements in %qT initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10848 c/c-typeck.cc:10925
+#: c/c-typeck.cc:11914 c/c-typeck.cc:11991
 #, gcc-internal-format
 msgid "excess elements in struct initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10869
+#: c/c-typeck.cc:11935
 #, gcc-internal-format
 msgid ""
 "positional initialization of field in %<struct%> declared with "
 "%<designated_init%> attribute"
 msgstr ""
 
-#: c/c-typeck.cc:10940 cp/typeck2.cc:1222
+#: c/c-typeck.cc:12006 cp/typeck2.cc:1246
 #, gcc-internal-format
 msgid "non-static initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:11035
+#: c/c-typeck.cc:12102
 #, gcc-internal-format
 msgid "excess elements in union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:11057
+#: c/c-typeck.cc:12124
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr ""
 
-#: c/c-typeck.cc:11119
+#: c/c-typeck.cc:12187
 #, gcc-internal-format
 msgid "excess elements in array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:11153
+#: c/c-typeck.cc:12264 c/c-typeck.cc:12266
 #, gcc-internal-format
 msgid "excess elements in vector initializer"
 msgstr ""
 
-#: c/c-typeck.cc:11185
+#: c/c-typeck.cc:12300
 #, gcc-internal-format
 msgid "excess elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:11428
+#: c/c-typeck.cc:12467 c/c-typeck.cc:12543 cp/semantics.cc:2346
+#: cp/semantics.cc:2455
+#, gcc-internal-format
+msgid "constraint allows registers outside of a function"
+msgstr ""
+
+#: c/c-typeck.cc:12479 cp/semantics.cc:2358
+#, gcc-internal-format
+msgid "side-effects in output operand outside of a function"
+msgstr ""
+
+#: c/c-typeck.cc:12490 cp/semantics.cc:2374
+#, gcc-internal-format
+msgid "output operand outside of a function is not constant"
+msgstr ""
+
+#: c/c-typeck.cc:12498 c/c-typeck.cc:12588 cp/semantics.cc:2385
+#: cp/semantics.cc:2518
+#, gcc-internal-format
+msgid "%<-%> modifier used inside of a function"
+msgstr ""
+
+#: c/c-typeck.cc:12556 cp/semantics.cc:2468
+#, gcc-internal-format
+msgid ""
+"%<:%> constraint operand is not address of a function or non-automatic "
+"variable"
+msgstr ""
+
+#: c/c-typeck.cc:12569 cp/semantics.cc:2481
+#, gcc-internal-format
+msgid "side-effects in input operand outside of a function"
+msgstr ""
+
+#: c/c-typeck.cc:12580 cp/semantics.cc:2496 cp/semantics.cc:2510
+#, gcc-internal-format
+msgid "input operand outside of a function is not constant"
+msgstr ""
+
+#: c/c-typeck.cc:12632
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr ""
 
-#: c/c-typeck.cc:11434
+#: c/c-typeck.cc:12638
 #, gcc-internal-format
 msgid "computed goto must be pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:11463 c/gimple-parser.cc:2597 cp/typeck.cc:11060
+#: c/c-typeck.cc:12668 c/gimple-parser.cc:2648 cp/typeck.cc:11159
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr ""
 
-#: c/c-typeck.cc:11490
+#: c/c-typeck.cc:12697
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr ""
 
-#: c/c-typeck.cc:11503 c/gimple-parser.cc:2607
+#: c/c-typeck.cc:12710 c/gimple-parser.cc:2658
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:11506
+#: c/c-typeck.cc:12713
 #, gcc-internal-format
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:11583
+#: c/c-typeck.cc:12790
 #, gcc-internal-format
 msgid "function returns address of label"
 msgstr ""
 
-#: c/c-typeck.cc:11674 cp/semantics.cc:1706
+#: c/c-typeck.cc:12881 cp/semantics.cc:1921
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:11699
+#: c/c-typeck.cc:12906
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:11737 c/c-typeck.cc:11745
+#: c/c-typeck.cc:12944 c/c-typeck.cc:12952
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:11751 cp/parser.cc:13104
+#: c/c-typeck.cc:12958 cp/parser.cc:13505
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11753
+#: c/c-typeck.cc:12960
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11829 cp/parser.cc:14824
+#: c/c-typeck.cc:13036 cp/parser.cc:15275
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c/c-typeck.cc:11832 c/c-typeck.cc:11852 cp/decl.cc:4061 cp/parser.cc:14834
-#: cp/parser.cc:14855
+#: c/c-typeck.cc:13039 c/c-typeck.cc:13059 cp/decl.cc:4105 cp/parser.cc:15285
+#: cp/parser.cc:15306
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: c/c-typeck.cc:11835 cp/parser.cc:14837
+#: c/c-typeck.cc:13042 cp/parser.cc:15288
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c/c-typeck.cc:11849 cp/parser.cc:14847
+#: c/c-typeck.cc:13056 cp/parser.cc:15298
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c/c-typeck.cc:11889 cp/cp-gimplify.cc:272
+#: c/c-typeck.cc:13106 cp/cp-gimplify.cc:277
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c/c-typeck.cc:11933
+#: c/c-typeck.cc:13150
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:12224
+#: c/c-typeck.cc:13441
 #, 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:12229
+#: c/c-typeck.cc:13446
 #, 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:12247 c/c-typeck.cc:12285
+#: c/c-typeck.cc:13464 c/c-typeck.cc:13502
 #, 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:12252 c/c-typeck.cc:12290
+#: c/c-typeck.cc:13469 c/c-typeck.cc:13507
 #, 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:12882 c/c-typeck.cc:13046 cp/typeck.cc:6087
+#: c/c-typeck.cc:14099 c/c-typeck.cc:14263 cp/typeck.cc:6163
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c/c-typeck.cc:12890 c/c-typeck.cc:13054 cp/typeck.cc:6100
+#: c/c-typeck.cc:14107 c/c-typeck.cc:14271 cp/typeck.cc:6177
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c/c-typeck.cc:12905 c/c-typeck.cc:13069 cp/typeck.cc:6118
+#: c/c-typeck.cc:14122 c/c-typeck.cc:14286 cp/typeck.cc:6195
 #, gcc-internal-format
 msgid "comparison between types %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12915 c/c-typeck.cc:13079 cp/typeck.cc:6135
+#: c/c-typeck.cc:14132 c/c-typeck.cc:14296 cp/typeck.cc:6212
 #, gcc-internal-format
 msgid "could not find an integer type of the same size as %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12929 cp/typeck.cc:5771
+#: c/c-typeck.cc:14146 cp/typeck.cc:5838
 #, gcc-internal-format
 msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
 msgstr ""
 
-#: c/c-typeck.cc:12968 c/c-typeck.cc:13120
+#: c/c-typeck.cc:14185 c/c-typeck.cc:14337
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:12975 c/c-typeck.cc:12981
+#: c/c-typeck.cc:14192 c/c-typeck.cc:14198
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12988 c/c-typeck.cc:13130
+#: c/c-typeck.cc:14205 c/c-typeck.cc:14347
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c/c-typeck.cc:13001 c/c-typeck.cc:13007 c/c-typeck.cc:13157
-#: c/c-typeck.cc:13163
+#: c/c-typeck.cc:14218 c/c-typeck.cc:14224 c/c-typeck.cc:14374
+#: c/c-typeck.cc:14380
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c/c-typeck.cc:13108
+#: c/c-typeck.cc:14325
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c/c-typeck.cc:13110
+#: c/c-typeck.cc:14327
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c/c-typeck.cc:13115
+#: c/c-typeck.cc:14332
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c/c-typeck.cc:13138 c/c-typeck.cc:13141 c/c-typeck.cc:13148
-#: c/c-typeck.cc:13151
+#: c/c-typeck.cc:14355 c/c-typeck.cc:14358 c/c-typeck.cc:14365
+#: c/c-typeck.cc:14368
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c/c-typeck.cc:13228
+#: c/c-typeck.cc:14445
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other operand of binary "
 "expression"
 msgstr ""
 
-#: c/c-typeck.cc:13546
+#: c/c-typeck.cc:14763
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13550
+#: c/c-typeck.cc:14767
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13554
+#: c/c-typeck.cc:14771
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13570
+#: c/c-typeck.cc:14787
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13773 cp/semantics.cc:11389
+#: c/c-typeck.cc:14990 cp/semantics.cc:12069
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, "
 "%<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13784 c/c-typeck.cc:13794 cp/semantics.cc:11400
-#: cp/semantics.cc:11410
+#: c/c-typeck.cc:15001 c/c-typeck.cc:15011 cp/semantics.cc:12080
+#: cp/semantics.cc:12090
 #, gcc-internal-format
 msgid "expected %<cancel%> %<if%> clause modifier"
 msgstr ""
 
-#: c/c-typeck.cc:13829 cp/semantics.cc:11445
+#: c/c-typeck.cc:15046 cp/semantics.cc:12125
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp cancellation point%> must specify one of %<parallel%>, "
 "%<for%>, %<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13897 cp/semantics.cc:5550 cp/semantics.cc:8558
+#: c/c-typeck.cc:15114 cp/semantics.cc:5949 cp/semantics.cc:9060
 #, gcc-internal-format
 msgid "%qD is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13901 c/c-typeck.cc:15708 cp/semantics.cc:5554
-#: cp/semantics.cc:8562
+#: c/c-typeck.cc:15118 c/c-typeck.cc:16935 cp/semantics.cc:5953
+#: cp/semantics.cc:9064
 #, gcc-internal-format
 msgid "%qE is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13909
+#: c/c-typeck.cc:15126
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13919 c/c-typeck.cc:15715 c/c-typeck.cc:15869
-#: cp/semantics.cc:5563 cp/semantics.cc:8569 cp/semantics.cc:8757
+#: c/c-typeck.cc:15136 c/c-typeck.cc:16942 c/c-typeck.cc:17096
+#: cp/semantics.cc:5962 cp/semantics.cc:9071 cp/semantics.cc:9260
 #, gcc-internal-format
 msgid "%qD is threadprivate variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13956 cp/semantics.cc:5597
+#: c/c-typeck.cc:15173 cp/semantics.cc:5996
 #, gcc-internal-format
 msgid "low bound %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13963 cp/semantics.cc:5604
+#: c/c-typeck.cc:15180 cp/semantics.cc:6003
 #, gcc-internal-format
 msgid "length %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13986 cp/semantics.cc:5637
+#: c/c-typeck.cc:15203 cp/semantics.cc:6036
 #, gcc-internal-format
 msgid "expected single pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14004 c/c-typeck.cc:14071 c/c-typeck.cc:14364
-#: cp/semantics.cc:5655 cp/semantics.cc:5722
+#: c/c-typeck.cc:15221 c/c-typeck.cc:15288 c/c-typeck.cc:15581
+#: cp/semantics.cc:6054 cp/semantics.cc:6121
 #, gcc-internal-format
 msgid "zero length array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14023 cp/semantics.cc:5674
+#: c/c-typeck.cc:15240 cp/semantics.cc:6073
 #, gcc-internal-format
 msgid "for unknown bound array type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:14031 cp/semantics.cc:5682
+#: c/c-typeck.cc:15248 cp/semantics.cc:6081
 #, gcc-internal-format
 msgid "negative low bound in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14040 c/c-typeck.cc:14164 cp/semantics.cc:5691
-#: cp/semantics.cc:5815
+#: c/c-typeck.cc:15257 c/c-typeck.cc:15381 cp/semantics.cc:6090
+#: cp/semantics.cc:6214
 #, gcc-internal-format
 msgid "negative length in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14057 cp/semantics.cc:5708
+#: c/c-typeck.cc:15274 cp/semantics.cc:6107
 #, gcc-internal-format
 msgid "low bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14100 cp/semantics.cc:5751
+#: c/c-typeck.cc:15317 cp/semantics.cc:6150
 #, gcc-internal-format
 msgid "length %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14115 cp/semantics.cc:5766
+#: c/c-typeck.cc:15332 cp/semantics.cc:6165
 #, gcc-internal-format
 msgid "high bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14152 cp/semantics.cc:5803
+#: c/c-typeck.cc:15369 cp/semantics.cc:6202
 #, gcc-internal-format
 msgid "for array function parameter length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:14156 cp/semantics.cc:5807
+#: c/c-typeck.cc:15373 cp/semantics.cc:6206
 #, gcc-internal-format
 msgid "for pointer type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:14184 c/c-typeck.cc:14303 cp/semantics.cc:5834
-#: cp/semantics.cc:5970
+#: c/c-typeck.cc:15401 c/c-typeck.cc:15520 cp/semantics.cc:6233
+#: cp/semantics.cc:6369
 #, gcc-internal-format
 msgid "array section is not contiguous in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14194 cp/semantics.cc:5844
+#: c/c-typeck.cc:15411 cp/semantics.cc:6243
 #, gcc-internal-format
 msgid "%qE does not have pointer or array type"
 msgstr ""
 
-#: c/c-typeck.cc:14570 cp/semantics.cc:6906
+#: c/c-typeck.cc:15787 cp/semantics.cc:7306
 #, gcc-internal-format
 msgid "iterator %qD has neither integral nor pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:14577
+#: c/c-typeck.cc:15794
 #, gcc-internal-format
 msgid "iterator %qD has %<_Atomic%> qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:14583 cp/semantics.cc:6913
+#: c/c-typeck.cc:15800 cp/semantics.cc:7313
 #, gcc-internal-format
 msgid "iterator %qD has const qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:14596 cp/semantics.cc:6929
+#: c/c-typeck.cc:15813 cp/semantics.cc:7329
 #, gcc-internal-format
 msgid "iterator step with non-integral type"
 msgstr ""
 
-#: c/c-typeck.cc:14616 cp/semantics.cc:6965
+#: c/c-typeck.cc:15833 cp/semantics.cc:7365
 #, gcc-internal-format
 msgid "iterator %qD has zero step"
 msgstr ""
 
-#: c/c-typeck.cc:14643
+#: c/c-typeck.cc:15860
 #, gcc-internal-format
 msgid "type of iterator %qD refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14650 cp/semantics.cc:6999
+#: c/c-typeck.cc:15867 cp/semantics.cc:7399
 #, gcc-internal-format
 msgid "begin expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14656 cp/semantics.cc:7005
+#: c/c-typeck.cc:15873 cp/semantics.cc:7405
 #, gcc-internal-format
 msgid "end expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14662 cp/semantics.cc:7011
+#: c/c-typeck.cc:15879 cp/semantics.cc:7411
 #, gcc-internal-format
 msgid "step expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14699 cp/semantics.cc:7059
+#: c/c-typeck.cc:15916 cp/semantics.cc:7459
 #, gcc-internal-format
 msgid "expected pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14794 cp/semantics.cc:7148
+#: c/c-typeck.cc:16019 cp/semantics.cc:7625
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
 msgstr ""
 
-#: c/c-typeck.cc:14816 cp/semantics.cc:7168
+#: c/c-typeck.cc:16041 cp/semantics.cc:7645
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause with array section"
 msgstr ""
 
-#: c/c-typeck.cc:14842 c/c-typeck.cc:14852
+#: c/c-typeck.cc:16067 c/c-typeck.cc:16077
 #, gcc-internal-format
 msgid "%qD in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: c/c-typeck.cc:14872
+#: c/c-typeck.cc:16097
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14884
+#: c/c-typeck.cc:16109
 #, gcc-internal-format
 msgid "zero sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14892
+#: c/c-typeck.cc:16117
 #, gcc-internal-format
 msgid "variable sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14936
+#: c/c-typeck.cc:16161
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c/c-typeck.cc:14945 cp/semantics.cc:6798
+#: c/c-typeck.cc:16170 cp/semantics.cc:7198
 #, gcc-internal-format
 msgid "user defined reduction not found for %qE"
 msgstr ""
 
-#: c/c-typeck.cc:15033
+#: c/c-typeck.cc:16258
 #, gcc-internal-format
 msgid "variable length element type in array %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15051 c/c-typeck.cc:15963 cp/semantics.cc:9294
+#: c/c-typeck.cc:16276 c/c-typeck.cc:17190 cp/semantics.cc:9943
 #, gcc-internal-format
-msgid "%<nowait%> clause must not be used together with %<copyprivate%>"
+msgid "%<nowait%> clause must not be used together with %<copyprivate%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15063 cp/semantics.cc:9362
+#: c/c-typeck.cc:16288 cp/semantics.cc:10011
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c/c-typeck.cc:15078 cp/semantics.cc:7211
+#: c/c-typeck.cc:16303 cp/semantics.cc:7688
 #, 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:15087
+#: c/c-typeck.cc:16312
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:15095
+#: c/c-typeck.cc:16320
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<linear%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15114 cp/semantics.cc:7295
+#: c/c-typeck.cc:16339 cp/semantics.cc:7772
 #, gcc-internal-format
 msgid "%<linear%> clause step %qE is neither constant nor a parameter"
 msgstr ""
 
-#: c/c-typeck.cc:15144 c/c-typeck.cc:15863 c/c-typeck.cc:16110
-#: cp/semantics.cc:7382 cp/semantics.cc:8751 cp/semantics.cc:9102
+#: c/c-typeck.cc:16369 c/c-typeck.cc:17090 c/c-typeck.cc:17361
+#: cp/semantics.cc:7859 cp/semantics.cc:9254 cp/semantics.cc:9645
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15161 cp/semantics.cc:7400
+#: c/c-typeck.cc:16386 cp/semantics.cc:7877
 #, gcc-internal-format
 msgid "%qD appears more than once in data-sharing clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15172 cp/semantics.cc:7411
+#: c/c-typeck.cc:16397 cp/semantics.cc:7888
 #, gcc-internal-format
 msgid "%qD appears more than once in reduction clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15186 c/c-typeck.cc:15256 c/c-typeck.cc:15291
+#: c/c-typeck.cc:16411 c/c-typeck.cc:16481 c/c-typeck.cc:16516
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15196 c/c-typeck.cc:15264 c/c-typeck.cc:15611
-#: c/c-typeck.cc:15763 c/c-typeck.cc:15771 c/c-typeck.cc:15787
-#: c/c-typeck.cc:15796 c/c-typeck.cc:15804 cp/semantics.cc:7425
-#: cp/semantics.cc:7435 cp/semantics.cc:7528 cp/semantics.cc:7536
-#: cp/semantics.cc:7583 cp/semantics.cc:8440 cp/semantics.cc:8629
-#: cp/semantics.cc:8637 cp/semantics.cc:8657 cp/semantics.cc:8666
-#: cp/semantics.cc:8674
+#: c/c-typeck.cc:16421 c/c-typeck.cc:16489 c/c-typeck.cc:16838
+#: c/c-typeck.cc:16990 c/c-typeck.cc:16998 c/c-typeck.cc:17014
+#: c/c-typeck.cc:17023 c/c-typeck.cc:17031 cp/semantics.cc:7902
+#: cp/semantics.cc:7912 cp/semantics.cc:8005 cp/semantics.cc:8013
+#: cp/semantics.cc:8060 cp/semantics.cc:8942 cp/semantics.cc:9132
+#: cp/semantics.cc:9140 cp/semantics.cc:9160 cp/semantics.cc:9169
+#: cp/semantics.cc:9177
 #, gcc-internal-format
 msgid "%qD appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15199 c/c-typeck.cc:15270 c/c-typeck.cc:15807
-#: cp/semantics.cc:7438 cp/semantics.cc:7542 cp/semantics.cc:8677
+#: c/c-typeck.cc:16424 c/c-typeck.cc:16495 c/c-typeck.cc:17034
+#: cp/semantics.cc:7915 cp/semantics.cc:8019 cp/semantics.cc:9180
 #, gcc-internal-format
 msgid "%qD appears both in data and map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15244 cp/semantics.cc:7515
+#: c/c-typeck.cc:16469 cp/semantics.cc:7992
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:15284 cp/semantics.cc:7575
+#: c/c-typeck.cc:16509 cp/semantics.cc:8052
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:15303 cp/semantics.cc:7973
+#: c/c-typeck.cc:16528 cp/semantics.cc:8474
 #, gcc-internal-format
 msgid "%qE is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15310
+#: c/c-typeck.cc:16535
 #, gcc-internal-format
 msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15317
+#: c/c-typeck.cc:16542
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15324
+#: c/c-typeck.cc:16549
 #, gcc-internal-format
 msgid "%qE appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15337 cp/semantics.cc:8044
+#: c/c-typeck.cc:16562 cp/semantics.cc:8543
 #, gcc-internal-format
 msgid "%qE is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15343
+#: c/c-typeck.cc:16568
 #, gcc-internal-format
 msgid "%qE appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15356 cp/semantics.cc:8083
+#: c/c-typeck.cc:16581 cp/semantics.cc:8582
 #, gcc-internal-format
 msgid "%qE is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15362
+#: c/c-typeck.cc:16587
 #, gcc-internal-format
 msgid "%qE appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15432 cp/semantics.cc:8209
+#: c/c-typeck.cc:16659 cp/semantics.cc:8710
 #, gcc-internal-format
 msgid "%<depend%> clause with %<depobj%> dependence type on array section"
 msgstr ""
 
-#: c/c-typeck.cc:15447 cp/semantics.cc:8224
+#: c/c-typeck.cc:16674 cp/semantics.cc:8725
 #, gcc-internal-format
 msgid ""
 "%<omp_all_memory%> used with %<depend%> kind other than %<out%> or %<inout%>"
 msgstr ""
 
-#: c/c-typeck.cc:15455 cp/semantics.cc:8242
+#: c/c-typeck.cc:16682 cp/semantics.cc:8743
 #, gcc-internal-format
 msgid "%qE is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15476 cp/semantics.cc:8264
+#: c/c-typeck.cc:16703 cp/semantics.cc:8765
 #, gcc-internal-format
 msgid ""
 "%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> "
 "dependence type"
 msgstr ""
 
-#: c/c-typeck.cc:15486 cp/semantics.cc:8276
+#: c/c-typeck.cc:16713 cp/semantics.cc:8777
 #, 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:15547 cp/semantics.cc:8375
+#: c/c-typeck.cc:16774 cp/semantics.cc:8877
 #, gcc-internal-format
 msgid "array section does not have mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15567 c/c-typeck.cc:15643 c/c-typeck.cc:15679
-#: cp/semantics.cc:8395 cp/semantics.cc:8474 cp/semantics.cc:8510
+#: c/c-typeck.cc:16794 c/c-typeck.cc:16870 c/c-typeck.cc:16906
+#: cp/semantics.cc:8897 cp/semantics.cc:8976 cp/semantics.cc:9012
 #, gcc-internal-format
 msgid "unsupported map expression %qE"
 msgstr ""
 
-#: c/c-typeck.cc:15607 c/c-typeck.cc:15784 cp/semantics.cc:8436
-#: cp/semantics.cc:8654
+#: c/c-typeck.cc:16834 c/c-typeck.cc:17011 cp/semantics.cc:8938
+#: cp/semantics.cc:9157
 #, gcc-internal-format
 msgid "%qD appears more than once in motion clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15615 c/c-typeck.cc:15790 cp/semantics.cc:8444
-#: cp/semantics.cc:8660
+#: c/c-typeck.cc:16842 c/c-typeck.cc:17017 cp/semantics.cc:8946
+#: cp/semantics.cc:9163
 #, gcc-internal-format
 msgid "%qD appears more than once in map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15734 c/c-typeck.cc:15876 cp/semantics.cc:8597
-#: cp/semantics.cc:8764
+#: c/c-typeck.cc:16961 c/c-typeck.cc:17103 cp/semantics.cc:9100
+#: cp/semantics.cc:9268
 #, gcc-internal-format
 msgid "%qD does not have a mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15859 cp/semantics.cc:8746
+#: c/c-typeck.cc:17086 cp/semantics.cc:9249
 #, gcc-internal-format
 msgid "%qE is neither a variable nor a function name in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15885 cp/semantics.cc:8776
+#: c/c-typeck.cc:17112 cp/semantics.cc:9280
 #, gcc-internal-format
 msgid "%qE appears more than once on the same %<declare target%> directive"
 msgstr ""
 
-#: c/c-typeck.cc:15899 cp/semantics.cc:8792
+#: c/c-typeck.cc:17126 cp/semantics.cc:9296
 #, gcc-internal-format
 msgid "%qD is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15902 cp/semantics.cc:8795
+#: c/c-typeck.cc:17129 cp/semantics.cc:9299
 #, gcc-internal-format
 msgid "%qE is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15921
+#: c/c-typeck.cc:17148
 #, gcc-internal-format
 msgid "%qs variable is not a pointer"
 msgstr ""
 
-#: c/c-typeck.cc:15928
+#: c/c-typeck.cc:17155
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15976 c/c-typeck.cc:16071 cp/semantics.cc:9256
+#: c/c-typeck.cc:17203 c/c-typeck.cc:17308 cp/semantics.cc:9894
 #, gcc-internal-format
-msgid "%<order%> clause must not be used together with %<ordered%>"
+msgid "%<order%> clause must not be used together with %<ordered%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15996 cp/semantics.cc:8316
+#: c/c-typeck.cc:17223 cp/semantics.cc:8817
 #, gcc-internal-format
 msgid "too many %qs clauses on a task construct"
 msgstr ""
 
-#: c/c-typeck.cc:16093 cp/semantics.cc:9070
+#: c/c-typeck.cc:17344 cp/semantics.cc:9613
 #, gcc-internal-format
 msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
 msgstr ""
 
-#: c/c-typeck.cc:16160 cp/semantics.cc:9433
+#: c/c-typeck.cc:17379 cp/semantics.cc:9706
+#, gcc-internal-format
+msgid "%qD appears more than once in action clauses"
+msgstr ""
+
+#: c/c-typeck.cc:17390 cp/semantics.cc:9720
+#, gcc-internal-format
+msgid "%qD must be of %<omp_interop_t%>"
+msgstr ""
+
+#: c/c-typeck.cc:17399 cp/semantics.cc:9729
+#, gcc-internal-format
+msgid "%qD shall not be const"
+msgstr ""
+
+#: c/c-typeck.cc:17448 cp/semantics.cc:10082
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c/c-typeck.cc:16170
+#: c/c-typeck.cc:17458
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> "
 "clauses"
 msgstr ""
 
-#: c/c-typeck.cc:16201 cp/semantics.cc:9208
+#: c/c-typeck.cc:17489 cp/semantics.cc:9835
 #, gcc-internal-format
 msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
 msgstr ""
 
-#: c/c-typeck.cc:16213 cp/semantics.cc:9221
+#: c/c-typeck.cc:17501 cp/semantics.cc:9848
 #, gcc-internal-format
 msgid ""
 "%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16224 c/c-typeck.cc:16232 cp/semantics.cc:9230
-#: cp/semantics.cc:9248
+#: c/c-typeck.cc:17512 c/c-typeck.cc:17520 cp/semantics.cc:9857
+#: cp/semantics.cc:9886
 #, gcc-internal-format
 msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16280 cp/semantics.cc:9188
+#: c/c-typeck.cc:17568 cp/semantics.cc:9815
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16331 cp/semantics.cc:9238
+#: c/c-typeck.cc:17619 cp/semantics.cc:9865
 #, gcc-internal-format
 msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16341 cp/semantics.cc:9267
+#: c/c-typeck.cc:17627 cp/semantics.cc:9876
+#, gcc-internal-format
+msgid ""
+"%<grainsize%> clause must not be used together with %<num_tasks%> clause"
+msgstr ""
+
+#: c/c-typeck.cc:17635 cp/semantics.cc:9932
+#, gcc-internal-format
+msgid "%<full%> clause must not be used together with %<partial%> clause"
+msgstr ""
+
+#: c/c-typeck.cc:17645 cp/semantics.cc:9905
 #, gcc-internal-format
 msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:16359 cp/semantics.cc:9458
+#: c/c-typeck.cc:17663 cp/semantics.cc:10107
 #, gcc-internal-format
 msgid ""
 "the event handle of a %<detach%> clause should not be in a data-sharing "
 "clause"
 msgstr ""
 
-#: c/c-typeck.cc:16534
+#: c/c-typeck.cc:17681 cp/semantics.cc:10178
+#, gcc-internal-format
+msgid ""
+"%<depend%> clause requires action clauses with %<targetsync%> interop-type"
+msgstr ""
+
+#: c/c-typeck.cc:17685 cp/semantics.cc:10182
+#, gcc-internal-format
+msgid "%<init%> clause lacks the %<targetsync%> modifier"
+msgstr ""
+
+#: c/c-typeck.cc:17857
 #, gcc-internal-format
 msgid "cannot use %<va_arg%> with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:16539
+#: c/c-typeck.cc:17862
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is of incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:16545
+#: c/c-typeck.cc:17868
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is a function type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:16551
+#: c/c-typeck.cc:17874
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
 
-#: c/gimple-parser.cc:166
+#: c/gimple-parser.cc:209
 #, gcc-internal-format
 msgid "expected frequency quality"
 msgstr ""
 
-#: c/gimple-parser.cc:175
+#: c/gimple-parser.cc:218
 #, gcc-internal-format
 msgid "unknown profile quality"
 msgstr ""
 
-#: c/gimple-parser.cc:187
+#: c/gimple-parser.cc:230
 #, gcc-internal-format
 msgid "expected frequency value"
 msgstr ""
 
-#: c/gimple-parser.cc:331
+#: c/gimple-parser.cc:374
 #, gcc-internal-format
 msgid "edge not found"
 msgstr ""
 
-#: c/gimple-parser.cc:347
+#: c/gimple-parser.cc:390
 #, gcc-internal-format
 msgid "SSA name %qE with version %d has no definition"
 msgstr ""
 
-#: c/gimple-parser.cc:497 c/gimple-parser.cc:503
+#: c/gimple-parser.cc:540 c/gimple-parser.cc:546
 #, gcc-internal-format
 msgid "expected block index"
 msgstr ""
 
-#: c/gimple-parser.cc:511
+#: c/gimple-parser.cc:554
 #, gcc-internal-format
 msgid "invalid block index"
 msgstr ""
 
-#: c/gimple-parser.cc:522
+#: c/gimple-parser.cc:565
 #, gcc-internal-format
 msgid "expected block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:540
+#: c/gimple-parser.cc:583
 #, gcc-internal-format
 msgid "expected loop number"
 msgstr ""
 
-#: c/gimple-parser.cc:558
+#: c/gimple-parser.cc:601
 #, gcc-internal-format
 msgid "unknown block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:571 c/gimple-parser.cc:2108
+#: c/gimple-parser.cc:614 c/gimple-parser.cc:2159
 #, gcc-internal-format
 msgid "expected count value"
 msgstr ""
 
-#: c/gimple-parser.cc:594 c/gimple-parser.cc:681
+#: c/gimple-parser.cc:637 c/gimple-parser.cc:734
 #, gcc-internal-format
 msgid "stmts without block"
 msgstr ""
 
-#: c/gimple-parser.cc:631
+#: c/gimple-parser.cc:674
 #, gcc-internal-format
 msgid "duplicate loop header"
 msgstr ""
 
-#: c/gimple-parser.cc:838
+#: c/gimple-parser.cc:891
 #, gcc-internal-format
 msgid "invalid source block specification"
 msgstr ""
 
-#: c/gimple-parser.cc:905
+#: c/gimple-parser.cc:956
 #, gcc-internal-format
 msgid "unexpected RHS for assignment"
 msgstr ""
 
-#: c/gimple-parser.cc:1005
+#: c/gimple-parser.cc:1056
 #, gcc-internal-format
 msgid "%<&&%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1008
+#: c/gimple-parser.cc:1059
 #, gcc-internal-format
 msgid "%<||%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1197
+#: c/gimple-parser.cc:1248
 #, gcc-internal-format
 msgid "expected pointer as argument of unary %<*%>"
 msgstr ""
 
-#: c/gimple-parser.cc:1223
+#: c/gimple-parser.cc:1274
 #, gcc-internal-format
 msgid "%<!%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1282 c/gimple-parser.cc:1668
+#: c/gimple-parser.cc:1333 c/gimple-parser.cc:1719
 #, gcc-internal-format
 msgid "expected constant offset"
 msgstr ""
 
-#: c/gimple-parser.cc:1343
+#: c/gimple-parser.cc:1394
 #, gcc-internal-format
 msgid "SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1365
+#: c/gimple-parser.cc:1416
 #, gcc-internal-format
 msgid "base variable or SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1372
+#: c/gimple-parser.cc:1423
 #, gcc-internal-format
 msgid "invalid base %qE for SSA name"
 msgstr ""
 
-#: c/gimple-parser.cc:1400
+#: c/gimple-parser.cc:1451
 #, gcc-internal-format
 msgid "expecting internal function name"
 msgstr ""
 
-#: c/gimple-parser.cc:1413
+#: c/gimple-parser.cc:1464
 #, gcc-internal-format
 msgid "unknown internal function %qE"
 msgstr ""
 
-#: c/gimple-parser.cc:1555
+#: c/gimple-parser.cc:1606
 #, gcc-internal-format
 msgid "invalid type of %<__MEM%> operand"
 msgstr ""
 
-#: c/gimple-parser.cc:1598
+#: c/gimple-parser.cc:1649
 #, gcc-internal-format
 msgid "expected constant offset for %<__MEM%> operand"
 msgstr ""
 
-#: c/gimple-parser.cc:1609
+#: c/gimple-parser.cc:1660
 #, gcc-internal-format
 msgid "expected constant step for %<__MEM%> operand"
 msgstr ""
 
-#: c/gimple-parser.cc:1662
+#: c/gimple-parser.cc:1713
 #, gcc-internal-format
 msgid "expected constant size"
 msgstr ""
 
-#: c/gimple-parser.cc:1700 c/gimple-parser.cc:1730 c/gimple-parser.cc:1770
-#: c/gimple-parser.cc:1778 c/gimple-parser.cc:1787
+#: c/gimple-parser.cc:1751 c/gimple-parser.cc:1781 c/gimple-parser.cc:1821
+#: c/gimple-parser.cc:1829 c/gimple-parser.cc:1838
 #, gcc-internal-format
 msgid "invalid _Literal"
 msgstr ""
 
-#: c/gimple-parser.cc:1709
+#: c/gimple-parser.cc:1760
 #, gcc-internal-format
 msgid "invalid type for _Literal with constructor"
 msgstr ""
 
-#: c/gimple-parser.cc:1822
+#: c/gimple-parser.cc:1873
 #, gcc-internal-format
 msgid "anonymous SSA name cannot have default definition"
 msgstr ""
 
-#: c/gimple-parser.cc:1906
+#: c/gimple-parser.cc:1957
 #, gcc-internal-format
 msgid "invalid call to non-function"
 msgstr ""
 
-#: c/gimple-parser.cc:1962
+#: c/gimple-parser.cc:2013
 #, gcc-internal-format
 msgid "dereference of non-pointer"
 msgstr ""
 
-#: c/gimple-parser.cc:2089
+#: c/gimple-parser.cc:2140
 #, gcc-internal-format
 msgid "expected pass name"
 msgstr ""
 
-#: c/gimple-parser.cc:2128
+#: c/gimple-parser.cc:2179
 #, gcc-internal-format
 msgid "invalid operation"
 msgstr ""
 
-#: c/gimple-parser.cc:2293
+#: c/gimple-parser.cc:2344
 #, gcc-internal-format
 msgid "comparison required"
 msgstr ""
 
-#: c/gimple-parser.cc:2345
+#: c/gimple-parser.cc:2396
 #, gcc-internal-format
 msgid "%<catch%> is not supported"
 msgstr ""
 
-#: c/gimple-parser.cc:2347
+#: c/gimple-parser.cc:2398
 #, gcc-internal-format
 msgid "expected %<finally%> or %<catch%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2391 c/gimple-parser.cc:2428
+#: c/gimple-parser.cc:2442 c/gimple-parser.cc:2479
 #, gcc-internal-format
 msgid "expected goto expression"
 msgstr ""
 
-#: c/gimple-parser.cc:2399
+#: c/gimple-parser.cc:2450
 #, gcc-internal-format
 msgid "expected else statement"
 msgstr ""
 
-#: c/gimple-parser.cc:2542
+#: c/gimple-parser.cc:2593
 #, gcc-internal-format
 msgid "expected case label"
 msgstr ""
 
-#: cp/call.cc:2041
+#: cp/call.cc:2106
 #, gcc-internal-format
 msgid "casting %qT to %qT does not use %qD"
 msgstr ""
 
 #. A bad conversion for 'this' must be discarding cv-quals.
-#: cp/call.cc:3888
+#: cp/call.cc:3957 cp/call.cc:10451
 #, gcc-internal-format
-msgid "  passing %qT as %<this%> argument discards qualifiers"
+msgid "passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:3892
-msgid "  no known conversion for implicit %<this%> parameter from %qH to %qI"
+#: cp/call.cc:3961
+msgid "no known conversion for implicit %<this%> parameter from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3899
+#: cp/call.cc:3968
 #, gcc-internal-format, gfc-internal-format
-msgid "  conversion of argument %d would be ill-formed:"
+msgid "conversion of argument %d would be ill-formed:"
 msgstr ""
 
 #. Conversion of conversion function return value failed.
-#: cp/call.cc:3907
-msgid "  no known conversion from %qH to %qI"
+#: cp/call.cc:3976
+msgid "no known conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3913
-msgid "  no known conversion for argument %d from %qH to %qI"
+#: cp/call.cc:3982
+msgid "no known conversion for argument %d from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3927 cp/pt.cc:7112
+#: cp/call.cc:3996
 #, 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"
+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:3932 cp/pt.cc:7117
+#: cp/call.cc:4001
 #, gcc-internal-format, gfc-internal-format
-msgid "  candidate expects %d argument, %d provided"
-msgid_plural "  candidate expects %d arguments, %d provided"
+msgid "candidate expects %d argument, %d provided"
+msgid_plural "candidate expects %d arguments, %d provided"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:3960
+#: cp/call.cc:4029
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3965
+#: cp/call.cc:4034
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3969
+#: cp/call.cc:4038
 #, gcc-internal-format
 msgid "%s%<%D(%T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3973
+#: cp/call.cc:4042
 #, gcc-internal-format
 msgid "%s%qT (conversion)"
 msgstr ""
 
-#: cp/call.cc:3975
+#: cp/call.cc:4044
 #, gcc-internal-format
 msgid "%s%#qD (near match)"
 msgstr ""
 
-#: cp/call.cc:3977
+#: cp/call.cc:4046
 #, gcc-internal-format
 msgid "%s%#qD (ignored)"
 msgstr ""
 
-#: cp/call.cc:3979
+#: cp/call.cc:4048
 #, gcc-internal-format
 msgid "%s%#qD (deleted)"
 msgstr ""
 
-#: cp/call.cc:3981
+#: cp/call.cc:4050
 #, gcc-internal-format
 msgid "%s%#qD (reversed)"
 msgstr ""
 
-#: cp/call.cc:3983
+#: cp/call.cc:4052
 #, gcc-internal-format
 msgid "%s%#qD (rewritten)"
 msgstr ""
 
-#: cp/call.cc:3985
+#: cp/call.cc:4054
 #, gcc-internal-format
 msgid "%s%#qD"
 msgstr ""
 
-#: cp/call.cc:3989
+#: cp/call.cc:4058
 #, gcc-internal-format
-msgid "  inherited here"
+msgid "inherited here"
 msgstr ""
 
-#: cp/call.cc:4010
+#: cp/call.cc:4080
 #, gcc-internal-format
 msgid ""
-"  return type %qT of explicit conversion function cannot be converted to %qT "
+"return type %qT of explicit conversion function cannot be converted to %qT "
 "with a qualification conversion"
 msgstr ""
 
-#: cp/call.cc:4016
+#: cp/call.cc:4086
 #, gcc-internal-format
 msgid ""
-"  conversion from return type %qT of template conversion function "
+"conversion from return type %qT of template conversion function "
 "specialization to %qT is not an exact match"
 msgstr ""
 
-#: cp/call.cc:4027
+#: cp/call.cc:4097
 #, gcc-internal-format
 msgid ""
-"  substitution of deduced template arguments resulted in errors seen above"
+"substitution of deduced template arguments resulted in errors seen above"
 msgstr ""
 
 #. Re-run template unification with diagnostics.
-#: cp/call.cc:4032
+#: cp/call.cc:4102
 #, gcc-internal-format
-msgid "  template argument deduction/substitution failed:"
+msgid "template argument deduction/substitution failed:"
 msgstr ""
 
-#: cp/call.cc:4046
+#: cp/call.cc:4119
 #, gcc-internal-format
-msgid ""
-"  a constructor taking a single argument of its own class type is invalid"
+msgid "a constructor taking a single argument of its own class type is invalid"
 msgstr ""
 
-#: cp/call.cc:4053
+#: cp/call.cc:4129
 #, gcc-internal-format
 msgid ""
-"  an inherited constructor is not a candidate for initialization from an "
+"an inherited constructor is not a candidate for initialization from an "
 "expression of the same or derived type"
 msgstr ""
 
-#: cp/call.cc:4132
+#: cp/call.cc:4209
+#, gcc-internal-format, gfc-internal-format
+msgid "there is %i candidate"
+msgid_plural "there are %i candidates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: cp/call.cc:4220
 #, gcc-internal-format
 msgid ""
 "some candidates omitted; use %<-fdiagnostics-all-candidates%> to display them"
 msgstr ""
 
-#: cp/call.cc:4213 cp/call.cc:4758
+#: cp/call.cc:4305 cp/call.cc:4877
 #, gcc-internal-format
 msgid "designated initializers cannot be used with a non-aggregate type %qT"
 msgstr ""
 
-#: cp/call.cc:4652
+#: cp/call.cc:4771
 msgid "conversion from %qH to %qI is ambiguous"
 msgstr ""
 
-#: cp/call.cc:4764 cp/cvt.cc:864
+#: cp/call.cc:4884 cp/cvt.cc:865
 msgid "could not convert %qE from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:4829
+#: cp/call.cc:4949
 msgid ""
 "initializing %qH with %qI in converted constant expression does not bind "
 "directly"
 msgstr ""
 
-#: cp/call.cc:4850
+#: cp/call.cc:4970
 msgid "conversion from %qH to %qI in a converted constant expression"
 msgstr ""
 
-#: cp/call.cc:5035
+#: cp/call.cc:5155
 #, gcc-internal-format
 msgid "no matching function for call to %<%D(%A)%>"
 msgstr ""
 
-#: cp/call.cc:5038
+#: cp/call.cc:5158
 #, 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:5322
+#: cp/call.cc:5442
 #, gcc-internal-format
 msgid ""
 "pointer-to-member function %qE cannot be called without an object; consider "
 "using %<.*%> or %<->*%>"
 msgstr ""
 
-#: cp/call.cc:5401
+#: cp/call.cc:5521
 #, gcc-internal-format
 msgid "no match for call to %<(%T) (%A)%>"
 msgstr ""
 
-#: cp/call.cc:5415
+#: cp/call.cc:5535
 #, gcc-internal-format
 msgid "call of %<(%T) (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:5458
+#: cp/call.cc:5577
 #, gcc-internal-format
 msgid "ambiguous overload for "
 msgstr ""
 
-#: cp/call.cc:5459
+#: cp/call.cc:5578
 #, gcc-internal-format
 msgid "no match for "
 msgstr ""
 
-#: cp/call.cc:5462
+#: cp/call.cc:5591
 #, gcc-internal-format
 msgid " (operand types are %qT, %qT, and %qT)"
 msgstr ""
 
-#: cp/call.cc:5464
+#: cp/call.cc:5593
 #, gcc-internal-format
 msgid " (operand types are %qT and %qT)"
 msgstr ""
 
-#: cp/call.cc:5466
+#: cp/call.cc:5595
 #, gcc-internal-format
 msgid " (operand type is %qT)"
 msgstr ""
 
-#: cp/call.cc:5483
+#: cp/call.cc:5606
+msgid " (operand types are %e and %e)"
+msgstr ""
+
+#: cp/call.cc:5621
 #, gcc-internal-format
 msgid "ternary %<operator?:%>"
 msgstr ""
 
-#: cp/call.cc:5487
+#: cp/call.cc:5625
 #, gcc-internal-format
 msgid "ternary %<operator?:%> in %<%E ? %E : %E%>"
 msgstr ""
 
-#: cp/call.cc:5496 cp/call.cc:5540 cp/call.cc:5550
+#: cp/call.cc:5634 cp/call.cc:5682 cp/call.cc:5692
 #, gcc-internal-format
 msgid "%<operator%s%>"
 msgstr ""
 
-#: cp/call.cc:5499
+#: cp/call.cc:5637
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E%s%>"
 msgstr ""
 
-#: cp/call.cc:5506
+#: cp/call.cc:5644
 #, gcc-internal-format
 msgid "%<operator[]%>"
 msgstr ""
 
-#: cp/call.cc:5509
+#: cp/call.cc:5647
 #, gcc-internal-format
 msgid "%<operator[]%> in %<%E[%E]%>"
 msgstr ""
 
-#: cp/call.cc:5517
+#: cp/call.cc:5655
 #, gcc-internal-format
 msgid "%qs"
 msgstr ""
 
-#: cp/call.cc:5520
+#: cp/call.cc:5658
 #, gcc-internal-format
 msgid "%qs in %<%s %E%>"
 msgstr ""
 
-#: cp/call.cc:5526
+#: cp/call.cc:5664
 #, gcc-internal-format
 msgid "%<operator %s%>"
 msgstr ""
 
-#: cp/call.cc:5529
+#: cp/call.cc:5667
 #, gcc-internal-format
 msgid "%<operator %s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5544
+#: cp/call.cc:5686
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E %s %E%>"
 msgstr ""
 
-#: cp/call.cc:5553
+#: cp/call.cc:5695
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5665
+#: cp/call.cc:5807
 #, gcc-internal-format
 msgid "ISO C++ forbids omitting the middle term of a %<?:%> expression"
 msgstr ""
 
-#: cp/call.cc:5742
+#: cp/call.cc:5884
 #, 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:5759 cp/call.cc:5766
+#: cp/call.cc:5901 cp/call.cc:5908
 msgid "conversion of scalar %qH to vector %qI involves truncation"
 msgstr ""
 
-#: cp/call.cc:5822
+#: cp/call.cc:5964
 #, gcc-internal-format
 msgid "incompatible vector types in conditional expression: %qT, %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:5874 cp/call.cc:6220 cp/call.cc:6240
+#: cp/call.cc:6016 cp/call.cc:6362 cp/call.cc:6382
 #, gcc-internal-format
 msgid "operands to %<?:%> of types %qT and %qT have unordered conversion rank"
 msgstr ""
 
-#: cp/call.cc:5946
+#: cp/call.cc:6088
 #, 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:5951
+#: cp/call.cc:6093
 #, 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:5997 cp/call.cc:6109 cp/call.cc:6360
+#: cp/call.cc:6139 cp/call.cc:6251 cp/call.cc:6502
 #, gcc-internal-format
 msgid "operands to %<?:%> have different types %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:6001
+#: cp/call.cc:6143
 #, gcc-internal-format
 msgid "  and each type can be converted to the other"
 msgstr ""
 
-#: cp/call.cc:6248
+#: cp/call.cc:6390
 msgid ""
 "implicit conversion from %qH to %qI to match other result of conditional"
 msgstr ""
 
-#: cp/call.cc:6266
+#: cp/call.cc:6408
 #, gcc-internal-format
 msgid "enumerated mismatch in conditional expression: %qT vs %qT"
 msgstr ""
 
-#: cp/call.cc:6286
+#: cp/call.cc:6428
 #, gcc-internal-format
 msgid ""
 "conditional expression between enumeration type %qT and floating-point type "
 "%qT"
 msgstr ""
 
-#: cp/call.cc:6290
+#: cp/call.cc:6432
 #, gcc-internal-format
 msgid ""
 "conditional expression between floating-point type %qT and enumeration type "
 "%qT"
 msgstr ""
 
-#: cp/call.cc:6294
+#: cp/call.cc:6436
 #, gcc-internal-format
 msgid ""
 "conditional expression between enumeration type %qT and floating-point type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:6299
+#: cp/call.cc:6441
 #, gcc-internal-format
 msgid ""
 "conditional expression between floating-point type %qT and enumeration type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:6315
+#: cp/call.cc:6457
 #, gcc-internal-format
 msgid "enumerated and non-enumerated type in conditional expression"
 msgstr ""
 
-#: cp/call.cc:7207
+#: cp/call.cc:7350
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr ""
 
-#: cp/call.cc:7209
+#: cp/call.cc:7352
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs"
 msgstr ""
 
-#: cp/call.cc:7289
+#: cp/call.cc:7432
 #, gcc-internal-format
 msgid ""
 "in C++20 this comparison calls the current function recursively with "
 "reversed arguments"
 msgstr ""
 
-#: cp/call.cc:7342
+#: cp/call.cc:7485
 #, gcc-internal-format
 msgid "return type of %qD is not %qs"
 msgstr ""
 
-#: cp/call.cc:7344
+#: cp/call.cc:7487
 #, gcc-internal-format
 msgid "used as rewritten candidate for comparison of %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:7427
+#: cp/call.cc:7570
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr ""
 
-#: cp/call.cc:7614
+#: cp/call.cc:7757
 #, gcc-internal-format
 msgid "no match for call to %<%T::operator[] (%A)%>"
 msgstr ""
 
-#: cp/call.cc:7628
+#: cp/call.cc:7771
 #, gcc-internal-format
 msgid "call of %<%T::operator[] (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:7906
+#: cp/call.cc:8052
 #, gcc-internal-format
 msgid ""
 "exception cleanup for this placement new selects non-placement %<operator "
 "delete%>"
 msgstr ""
 
-#: cp/call.cc:7909
+#: cp/call.cc:8055
 #, gcc-internal-format
 msgid ""
 "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-"
 "fsized-deallocation%>)"
 msgstr ""
 
-#: cp/call.cc:7946
+#: cp/call.cc:8092
 #, gcc-internal-format
 msgid "%qD is a usual (non-placement) deallocation function"
 msgstr ""
 
-#: cp/call.cc:8140
+#: cp/call.cc:8286
 #, gcc-internal-format
 msgid "no corresponding deallocation function for %qD"
 msgstr ""
 
-#: cp/call.cc:8143
+#: cp/call.cc:8289
 #, 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:8152
+#: cp/call.cc:8298
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr ""
 
-#: cp/call.cc:8188
+#: cp/call.cc:8355
 #, gcc-internal-format
 msgid "%q#D is private within this context"
 msgstr ""
 
-#: cp/call.cc:8189 cp/decl.cc:9125
+#: cp/call.cc:8356 cp/decl.cc:9612
 #, gcc-internal-format
 msgid "declared private here"
 msgstr ""
 
-#: cp/call.cc:8194
+#: cp/call.cc:8361
 #, gcc-internal-format
 msgid "%q#D is protected within this context"
 msgstr ""
 
-#: cp/call.cc:8195 cp/decl.cc:9126
+#: cp/call.cc:8362 cp/decl.cc:9613
 #, gcc-internal-format
 msgid "declared protected here"
 msgstr ""
 
-#: cp/call.cc:8202
+#: cp/call.cc:8369
 #, gcc-internal-format
 msgid "%q#D is inaccessible within this context"
 msgstr ""
 
-#: cp/call.cc:8283
+#: cp/call.cc:8450
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8286 cp/call.cc:8305 cp/decl.cc:10862 cp/decl.cc:10870
-#: cp/typeck.cc:4606
-#, gcc-internal-format
-msgid "  declared here"
-msgstr ""
-
-#: cp/call.cc:8290
+#: cp/call.cc:8457
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr ""
 
-#: cp/call.cc:8302
+#: cp/call.cc:8469
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type for argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8309
+#: cp/call.cc:8476
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type %qT"
 msgstr ""
 
-#: cp/call.cc:8376
+#: cp/call.cc:8547
 #, gcc-internal-format
-msgid "  initializing argument %P of %qD"
+msgid "initializing argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:8397
+#: cp/call.cc:8569
 #, 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:8447
+#: cp/call.cc:8652
 #, gcc-internal-format
 msgid "too many braces around initializer for %qT"
 msgstr ""
 
-#: cp/call.cc:8458
+#: cp/call.cc:8663
 msgid "converting to %qH from %qI requires direct-initialization"
 msgstr ""
 
-#: cp/call.cc:8470
+#: cp/call.cc:8675
 msgid ""
 "ISO C++ does not allow converting to %qH from %qI with greater conversion "
 "rank"
 msgstr ""
 
-#: cp/call.cc:8478
+#: cp/call.cc:8683
 msgid ""
 "ISO C++ does not allow converting to %qH from %qI with unordered conversion "
 "rank"
 msgstr ""
 
-#: cp/call.cc:8494
+#: cp/call.cc:8699
 msgid "invalid user-defined conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:8527 cp/cvt.cc:227
+#: cp/call.cc:8733 cp/cvt.cc:228
 msgid "invalid conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:8574 cp/call.cc:8587
+#: cp/call.cc:8783 cp/call.cc:8796
 #, gcc-internal-format
 msgid ""
 "converting to %qT from initializer list would use explicit constructor %qD"
 msgstr ""
 
-#: cp/call.cc:8580
+#: cp/call.cc:8789
 #, gcc-internal-format
 msgid "in C++11 and above a default constructor can be explicit"
 msgstr ""
 
-#: cp/call.cc:8860
+#: cp/call.cc:8953
+msgid "narrowing conversion of %qd from %qH to %qI"
+msgstr ""
+
+#: cp/call.cc:9104
+#, gcc-internal-format
+msgid "argument of function call might be a candidate for a format attribute"
+msgstr ""
+
+#: cp/call.cc:9170
 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8869
+#: cp/call.cc:9179
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to a value of type %qI"
 msgstr ""
 
-#: cp/call.cc:8874
+#: cp/call.cc:9184
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
 #. extype is volatile
-#: cp/call.cc:8877
+#: cp/call.cc:9187
 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8890
+#: cp/call.cc:9200
 msgid "cannot bind reference of type %qH to %qI due to different array bounds"
 msgstr ""
 
-#: cp/call.cc:8893
+#: cp/call.cc:9203
 msgid "binding reference of type %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:8932
+#: cp/call.cc:9242
 #, gcc-internal-format
 msgid "cannot bind bit-field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8935 cp/call.cc:8953
+#: cp/call.cc:9245 cp/call.cc:9263
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8938
+#: cp/call.cc:9248
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:9139
+#: cp/call.cc:9449
 msgid "implicit conversion from %qH to %qI when passing argument to function"
 msgstr ""
 
-#: cp/call.cc:9168 cp/cvt.cc:2011
+#: cp/call.cc:9478 cp/cvt.cc:2028
 #, gcc-internal-format
 msgid ""
 "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, "
 "%qT after"
 msgstr ""
 
-#: cp/call.cc:9212
+#: cp/call.cc:9522
 #, gcc-internal-format
 msgid ""
 "passing objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally supported"
 msgstr ""
 
-#: cp/call.cc:9248
+#: cp/call.cc:9558
 #, gcc-internal-format
 msgid "cannot receive reference type %qT through %<...%>"
 msgstr ""
 
-#: cp/call.cc:9258
+#: cp/call.cc:9568
 #, gcc-internal-format
 msgid ""
 "receiving objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally-supported"
 msgstr ""
 
-#: cp/call.cc:9326
+#: cp/call.cc:9636
 #, gcc-internal-format
 msgid "recursive evaluation of default argument for %q#D"
 msgstr ""
 
-#: cp/call.cc:9335
+#: cp/call.cc:9645
 #, gcc-internal-format
 msgid ""
 "call to %qD uses the default argument for parameter %P, which is not yet "
 "defined"
 msgstr ""
 
-#: cp/call.cc:9435
-#, gcc-internal-format
-msgid "argument of function call might be a candidate for a format attribute"
-msgstr ""
-
-#: cp/call.cc:9515
+#: cp/call.cc:9818
 #, gcc-internal-format
 msgid "use of multiversioned function without a default"
 msgstr ""
 
-#: cp/call.cc:10020
+#: cp/call.cc:10328
 #, gcc-internal-format
 msgid "use %<-fdiagnostics-all-candidates%> to display considered candidates"
 msgstr ""
 
-#: cp/call.cc:10143
-#, gcc-internal-format
-msgid "passing %qT as %<this%> argument discards qualifiers"
-msgstr ""
-
-#: cp/call.cc:10146 cp/call.cc:12994
+#: cp/call.cc:10454 cp/call.cc:13300
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
 
-#: cp/call.cc:10171
+#: cp/call.cc:10479
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr ""
 
-#: cp/call.cc:10396
+#: cp/call.cc:10706
 #, gcc-internal-format
 msgid "passing arguments to ellipsis of inherited constructor %qD"
 msgstr ""
 
-#: cp/call.cc:10533
+#: cp/call.cc:10843
 #, gcc-internal-format
 msgid ""
 "assignment from temporary %<initializer_list%> does not extend the lifetime "
 "of the underlying array"
 msgstr ""
 
-#: cp/call.cc:10900
+#: cp/call.cc:11218
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment"
 msgstr ""
 
-#: cp/call.cc:10903
+#: cp/call.cc:11221
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10908
+#: cp/call.cc:11226
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with %qs member %qD"
 msgstr ""
 
-#: cp/call.cc:10913
+#: cp/call.cc:11231
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of type %#qT containing a pointer to data member%s"
 msgstr ""
 
-#: cp/call.cc:10928
+#: cp/call.cc:11246
 #, gcc-internal-format
 msgid "; use assignment or value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10930
+#: cp/call.cc:11248
 #, gcc-internal-format
 msgid "; use assignment instead"
 msgstr ""
 
-#: cp/call.cc:10932
+#: cp/call.cc:11250
 #, gcc-internal-format
 msgid "; use value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10935
+#: cp/call.cc:11253
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10938
+#: cp/call.cc:11256
 #, gcc-internal-format
 msgid "%qD clearing an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10940
+#: cp/call.cc:11258
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s"
 msgstr ""
 
-#: cp/call.cc:10961
+#: cp/call.cc:11279
 #, gcc-internal-format
 msgid "; use copy-assignment or copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10963
+#: cp/call.cc:11281
 #, gcc-internal-format
 msgid "; use copy-assignment instead"
 msgstr ""
 
-#: cp/call.cc:10965
+#: cp/call.cc:11283
 #, gcc-internal-format
 msgid "; use copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10968
+#: cp/call.cc:11286
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10971
+#: cp/call.cc:11289
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivially copyable type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10974
+#: cp/call.cc:11292
 #, gcc-internal-format
 msgid "%qD writing to an object with a deleted copy constructor"
 msgstr ""
 
-#: cp/call.cc:10985
+#: cp/call.cc:11303
 #, gcc-internal-format
 msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT"
 msgstr ""
 
-#: cp/call.cc:10997
+#: cp/call.cc:11315
 #, 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:11016
+#: cp/call.cc:11334
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes "
 "unchanged"
 msgstr ""
 
-#: cp/call.cc:11019
+#: cp/call.cc:11337
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged"
 msgstr ""
 
-#: cp/call.cc:11029
+#: cp/call.cc:11347
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of non-trivially copyable type %#qT; use %<new%> and "
 "%<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:11032
+#: cp/call.cc:11350
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of type %#qT with deleted copy constructor; use %<new%> "
 "and %<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:11035
+#: cp/call.cc:11353
 #, gcc-internal-format
 msgid "%qD moving an object of type %#qT with deleted destructor"
 msgstr ""
 
-#: cp/call.cc:11044
+#: cp/call.cc:11362
 #, 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:11066
+#: cp/call.cc:11384
 #, gcc-internal-format
 msgid "%#qT declared here"
 msgstr ""
 
-#: cp/call.cc:11120
+#: cp/call.cc:11439
 #, gcc-internal-format
 msgid ""
 "argument %u in call to function %qE has pointer to a non-trivially-copyable "
 "type (%qT)"
 msgstr ""
 
-#: cp/call.cc:11189
+#: cp/call.cc:11508
 #, gcc-internal-format
 msgid "constructor delegates to itself"
 msgstr ""
 
-#: cp/call.cc:11464 cp/typeck.cc:10390
+#: cp/call.cc:11783 cp/typeck.cc:10490
 msgid "cannot convert %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:11486
+#: cp/call.cc:11807
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::operator %T(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:11518
+#: cp/call.cc:11839
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::%s%E(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:11566
+#: cp/call.cc:11887
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr ""
 
-#: cp/call.cc:11604 cp/pt.cc:17199 cp/typeck.cc:3483
+#: cp/call.cc:11925 cp/pt.cc:17454 cp/typeck.cc:3508
 #, gcc-internal-format
 msgid "cannot call constructor %<%T::%D%> directly"
 msgstr ""
 
-#: cp/call.cc:11606
+#: cp/call.cc:11927
 #, gcc-internal-format
 msgid "for a function-style cast, remove the redundant %<::%D%>"
 msgstr ""
 
-#: cp/call.cc:11788
+#: cp/call.cc:12109
 #, gcc-internal-format
 msgid "no matching function for call to %<%s(%A)%>"
 msgstr ""
 
-#: cp/call.cc:11791
+#: cp/call.cc:12112
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:11814
+#: cp/call.cc:12135
 #, gcc-internal-format
 msgid "pure virtual %q#D called from non-static data member initializer"
 msgstr ""
 
-#: cp/call.cc:11819
+#: cp/call.cc:12140
 #, gcc-internal-format
 msgid "pure virtual %q#D called from constructor"
 msgstr ""
 
-#: cp/call.cc:11820
+#: cp/call.cc:12141
 #, gcc-internal-format
 msgid "pure virtual %q#D called from destructor"
 msgstr ""
 
-#: cp/call.cc:11843
+#: cp/call.cc:12164
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr ""
 
-#: cp/call.cc:12992
+#: cp/call.cc:13298
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.cc:13018
+#: cp/call.cc:13324
 #, gcc-internal-format
 msgid ""
 "C++20 says that these are ambiguous, even though the second is reversed:"
 msgstr ""
 
-#: cp/call.cc:13041
+#: cp/call.cc:13347
 #, gcc-internal-format
 msgid "try making the operator a %<const%> member function"
 msgstr ""
 
-#: cp/call.cc:13104
+#: cp/call.cc:13410
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr ""
 
-#: cp/call.cc:13105
+#: cp/call.cc:13411
 msgid "  for conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:13108
+#: cp/call.cc:13414
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
 msgstr ""
 
-#: cp/call.cc:13392
+#: cp/call.cc:13724
 #, gcc-internal-format
 msgid "default argument mismatch in overload resolution"
 msgstr ""
 
-#: cp/call.cc:13396
+#: cp/call.cc:13728
 #, gcc-internal-format
 msgid " candidate 1: %q#F"
 msgstr ""
 
-#: cp/call.cc:13398
+#: cp/call.cc:13730
 #, gcc-internal-format
 msgid " candidate 2: %q#F"
 msgstr ""
 
-#: cp/call.cc:13444
+#: cp/call.cc:13776
 #, 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:13852
+#: cp/call.cc:14199
 #, gcc-internal-format
 msgid "a temporary bound to %qD only persists until the constructor exits"
 msgstr ""
 
-#: cp/call.cc:14005
+#: cp/call.cc:14393
 msgid ""
 "invalid initialization of non-const reference of type %qH from an rvalue of "
 "type %qI"
 msgstr ""
 
-#: cp/call.cc:14009
+#: cp/call.cc:14397
 msgid ""
 "invalid initialization of reference of type %qH from expression of type %qI"
 msgstr ""
 
-#: cp/call.cc:14327
+#: cp/call.cc:14726
 #, gcc-internal-format
 msgid "possibly dangling reference to a temporary"
 msgstr ""
 
-#: cp/call.cc:14328
+#: cp/call.cc:14727
 #, gcc-internal-format
-msgid "the temporary was destroyed at the end of the full expression %qE"
+msgid "%qT temporary created here"
 msgstr ""
 
-#: cp/call.cc:14596
+#: cp/call.cc:15103
 #, gcc-internal-format
 msgid "explicit conversion function was not considered"
 msgstr ""
@@ -55217,554 +56138,554 @@ msgstr ""
 msgid "cannot convert from %qT to base class %qT because %qT is incomplete"
 msgstr ""
 
-#: cp/class.cc:1435
+#: cp/class.cc:1436
 #, gcc-internal-format
 msgid "%q#D conflicts with version inherited from %qT"
 msgstr ""
 
-#: cp/class.cc:1438
+#: cp/class.cc:1439
 #, gcc-internal-format
 msgid "version inherited from %qT declared here"
 msgstr ""
 
-#: cp/class.cc:1457
+#: cp/class.cc:1459
 #, gcc-internal-format
 msgid "%q#D cannot be overloaded with %q#D"
 msgstr ""
 
-#: cp/class.cc:1459 cp/decl.cc:1938 cp/decl.cc:1950 cp/decl.cc:1975
-#: cp/decl.cc:1998 cp/name-lookup.cc:2895 cp/name-lookup.cc:3213
+#: cp/class.cc:1461 cp/decl.cc:1946 cp/decl.cc:1958 cp/decl.cc:1984
+#: cp/decl.cc:2006 cp/name-lookup.cc:2918 cp/name-lookup.cc:3235
 #, gcc-internal-format
 msgid "previous declaration %q#D"
 msgstr ""
 
-#: cp/class.cc:1501
+#: cp/class.cc:1503
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.cc:1504
+#: cp/class.cc:1506
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.cc:1607
+#: cp/class.cc:1610
 #, gcc-internal-format
 msgid "%qD invalid in %q#T because of local method %q#D with same name"
 msgstr ""
 
-#: cp/class.cc:1611
+#: cp/class.cc:1614
 #, gcc-internal-format
 msgid "local method %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:1616
+#: cp/class.cc:1620
 #, gcc-internal-format
 msgid "%qD invalid in %q#T because of local member %q#D with same name"
 msgstr ""
 
-#: cp/class.cc:1620
+#: cp/class.cc:1624
 #, gcc-internal-format
 msgid "local member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:1691
+#: cp/class.cc:1695
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its return type) has"
 msgstr ""
 
-#: cp/class.cc:1694 cp/class.cc:1701 cp/class.cc:1708 cp/class.cc:1720
-#: cp/cvt.cc:1118 rust/backend/rust-tree.cc:643
+#: cp/class.cc:1698 cp/class.cc:1705 cp/class.cc:1712 cp/class.cc:1724
+#: cp/cvt.cc:1121 rust/backend/rust-tree.cc:643
 #, gcc-internal-format
 msgid "%qT declared here"
 msgstr ""
 
-#: cp/class.cc:1699
+#: cp/class.cc:1703
 #, gcc-internal-format
 msgid "%qD inherits the %E ABI tag that %qT (used in its type) has"
 msgstr ""
 
-#: cp/class.cc:1706
+#: cp/class.cc:1710
 #, gcc-internal-format
 msgid "%qT does not have the %E ABI tag that base %qT has"
 msgstr ""
 
-#: cp/class.cc:1714
+#: cp/class.cc:1718
 #, 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:2025
+#: cp/class.cc:2029
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.cc:2499
+#: cp/class.cc:2500
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.cc:2511
+#: cp/class.cc:2512
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.cc:2554
+#: cp/class.cc:2556
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.cc:2558
+#: cp/class.cc:2560
 #, gcc-internal-format
 msgid "%q#D is public, but requires an existing %q#T object"
 msgstr ""
 
-#: cp/class.cc:2848
+#: cp/class.cc:2850
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.cc:3208
+#: cp/class.cc:3210
 #, gcc-internal-format
 msgid "%qD can be marked override"
 msgstr ""
 
-#: cp/class.cc:3211
+#: cp/class.cc:3213
 #, gcc-internal-format
 msgid "%q+#D marked %<override%>, but does not override"
 msgstr ""
 
-#: cp/class.cc:3226
+#: cp/class.cc:3228
 #, gcc-internal-format
 msgid "%q+#D marked %<final%>, but is not virtual"
 msgstr ""
 
-#: cp/class.cc:3303
+#: cp/class.cc:3326
 #, gcc-internal-format
 msgid "%qD was hidden"
 msgstr ""
 
-#: cp/class.cc:3304
+#: cp/class.cc:3329
 #, gcc-internal-format
 msgid "  by %qD"
 msgstr ""
 
-#: cp/class.cc:3516
+#: cp/class.cc:3542
 #, gcc-internal-format
 msgid "the ellipsis in %qD is not inherited"
 msgstr ""
 
-#: cp/class.cc:3720
+#: cp/class.cc:3746
 #, gcc-internal-format
 msgid "bit-field %q#D with non-integral type %qT"
 msgstr ""
 
-#: cp/class.cc:3736
+#: cp/class.cc:3762
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.cc:3741
+#: cp/class.cc:3767
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3746
+#: cp/class.cc:3772
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3756
+#: cp/class.cc:3782
 #, gcc-internal-format
 msgid "width of %qD exceeds its type"
 msgstr ""
 
-#: cp/class.cc:3762
+#: cp/class.cc:3788
 #, gcc-internal-format
 msgid "%qD is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.cc:3823
+#: cp/class.cc:3850
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3826
+#: cp/class.cc:3853
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3828
+#: cp/class.cc:3855
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3832
+#: cp/class.cc:3859
 #, gcc-internal-format
 msgid ""
 "unrestricted unions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/class.cc:3948
+#: cp/class.cc:3975
 #, 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:3961
+#: cp/class.cc:3988
 #, gcc-internal-format
 msgid "non-static data member %q+D in a union may not have reference type %qT"
 msgstr ""
 
-#: cp/class.cc:3974
+#: cp/class.cc:4001
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared function type"
 msgstr ""
 
-#: cp/class.cc:3980
+#: cp/class.cc:4007
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared method type"
 msgstr ""
 
-#: cp/class.cc:4051
+#: cp/class.cc:4078
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q#D"
 msgstr ""
 
-#: cp/class.cc:4103
+#: cp/class.cc:4130
 #, gcc-internal-format
 msgid "member %q+D cannot be declared as a %<mutable%> reference"
 msgstr ""
 
-#: cp/class.cc:4106
+#: cp/class.cc:4133
 #, gcc-internal-format
 msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
 msgstr ""
 
-#: cp/class.cc:4137
+#: cp/class.cc:4165
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.cc:4139
+#: cp/class.cc:4167
 #, gcc-internal-format
 msgid "initialized member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:4187
+#: cp/class.cc:4215
 #, gcc-internal-format
 msgid "field %q#D with same name as class"
 msgstr ""
 
-#: cp/class.cc:4215
+#: cp/class.cc:4244
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.cc:4220
+#: cp/class.cc:4249
 #, gcc-internal-format
 msgid "  but does not declare %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:4222
+#: cp/class.cc:4251
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:4226
+#: cp/class.cc:4255
 #, gcc-internal-format
 msgid "  but does not declare %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:4228
+#: cp/class.cc:4257
 #, gcc-internal-format
 msgid "pointer member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:4316
+#: cp/class.cc:4345
 #, gcc-internal-format
 msgid "layout of %qs member of type %qT changes in %qs"
 msgstr ""
 
-#: cp/class.cc:4709
+#: cp/class.cc:4738
 #, gcc-internal-format
 msgid "alignment of %qD increased in %<-fabi-version=9%> (GCC 5.2)"
 msgstr ""
 
-#: cp/class.cc:4712
+#: cp/class.cc:4741
 #, gcc-internal-format
 msgid "alignment of %qD will increase in %<-fabi-version=9%>"
 msgstr ""
 
-#: cp/class.cc:5040
+#: cp/class.cc:5069
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.cc:5081
+#: cp/class.cc:5110
 #, gcc-internal-format
 msgid "no viable destructor for %qT"
 msgstr ""
 
-#: cp/class.cc:5083
+#: cp/class.cc:5112
 #, gcc-internal-format
 msgid "destructor for %qT is ambiguous"
 msgstr ""
 
-#: cp/class.cc:5551
+#: cp/class.cc:5580
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.cc:5572
+#: cp/class.cc:5601
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.cc:6204 cp/constexpr.cc:299
+#: cp/class.cc:6234 cp/constexpr.cc:299
 #, gcc-internal-format
 msgid ""
 "enclosing class of %<constexpr%> non-static member function %q+#D is not a "
 "literal type"
 msgstr ""
 
-#: cp/class.cc:6230 rust/backend/rust-tree.cc:6076
+#: cp/class.cc:6260 rust/backend/rust-tree.cc:6063
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.cc:6233 rust/backend/rust-tree.cc:6079
+#: cp/class.cc:6263 rust/backend/rust-tree.cc:6066
 #, gcc-internal-format
 msgid "  %qT is a closure type, which is only literal in C++17 and later"
 msgstr ""
 
-#: cp/class.cc:6236 rust/backend/rust-tree.cc:6087
+#: cp/class.cc:6266 rust/backend/rust-tree.cc:6074
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr ""
 
-#: cp/class.cc:6239 rust/backend/rust-tree.cc:6084
+#: cp/class.cc:6269 rust/backend/rust-tree.cc:6071
 #, gcc-internal-format
 msgid "  %q+T does not have %<constexpr%> destructor"
 msgstr ""
 
-#: cp/class.cc:6247 rust/backend/rust-tree.cc:6092
+#: cp/class.cc:6277 rust/backend/rust-tree.cc:6079
 #, 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:6280 rust/backend/rust-tree.cc:6124
+#: cp/class.cc:6310 rust/backend/rust-tree.cc:6111
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.cc:6295 rust/backend/rust-tree.cc:6138
+#: cp/class.cc:6325 rust/backend/rust-tree.cc:6125
 #, gcc-internal-format
 msgid "  non-static data member %qD has non-literal type"
 msgstr ""
 
-#: cp/class.cc:6302 rust/backend/rust-tree.cc:6145
+#: cp/class.cc:6332 rust/backend/rust-tree.cc:6132
 #, gcc-internal-format
 msgid "  non-static data member %qD has volatile type"
 msgstr ""
 
-#: cp/class.cc:6435
+#: cp/class.cc:6465
 #, gcc-internal-format
 msgid "base class %q#T has accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:6464
+#: cp/class.cc:6494
 #, gcc-internal-format
 msgid "non-static reference %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6470
+#: cp/class.cc:6500
 #, gcc-internal-format
 msgid "non-static const member %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6816
+#: cp/class.cc:6833
 #, 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:6820
+#: cp/class.cc:6837
 #, gcc-internal-format
 msgid ""
 "offset of %qD for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC "
 "12)"
 msgstr ""
 
-#: cp/class.cc:6860
+#: cp/class.cc:6877
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6872
+#: cp/class.cc:6889
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:7114
+#: cp/class.cc:7131
 #, gcc-internal-format
 msgid ""
 "offset of %qD is not ABI-compliant and may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.cc:7310
+#: cp/class.cc:7327
 #, gcc-internal-format
 msgid "size of type %qT is too large (%qE bytes)"
 msgstr ""
 
-#: cp/class.cc:7596
+#: cp/class.cc:7648
 #, gcc-internal-format
 msgid "invalid use of %q#T with a zero-size array in %q#D"
 msgstr ""
 
-#: cp/class.cc:7598
+#: cp/class.cc:7649
 #, gcc-internal-format
 msgid "invalid use of %q#T with a flexible array member in %q#T"
 msgstr ""
 
-#: cp/class.cc:7603
+#: cp/class.cc:7654
 #, gcc-internal-format
 msgid "array member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7631
+#: cp/class.cc:7683
 #, gcc-internal-format
 msgid "zero-size array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7633
+#: cp/class.cc:7685
 #, gcc-internal-format
 msgid "zero-size array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7642 cp/class.cc:7673
+#: cp/class.cc:7694 cp/class.cc:7729
 #, gcc-internal-format
 msgid "in the definition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7650
+#: cp/class.cc:7702
 #, gcc-internal-format
 msgid "flexible array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7652
+#: cp/class.cc:7704
 #, gcc-internal-format
-msgid "flexible array member %qD in an otherwise empty %q#T"
+msgid "flexible array member %qD in an otherwise empty %q#T is a GCC extension"
 msgstr ""
 
-#: cp/class.cc:7671
+#: cp/class.cc:7727
 #, gcc-internal-format
 msgid "next member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7785 cp/decl.cc:17645 cp/parser.cc:27741
+#: cp/class.cc:7839 cp/decl.cc:18248 cp/parser.cc:28388
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7932
+#: cp/class.cc:7986
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:7960
+#: cp/class.cc:8014
 #, gcc-internal-format
 msgid "type transparent %q#T does not have any fields"
 msgstr ""
 
-#: cp/class.cc:7966
+#: cp/class.cc:8020
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.cc:7970
+#: cp/class.cc:8024
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.cc:7976
+#: cp/class.cc:8030
 #, 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:8147
+#: cp/class.cc:8201
 #, gcc-internal-format
 msgid "definition of %qD does not match %<#include <initializer_list>%>"
 msgstr ""
 
-#: cp/class.cc:8158
+#: cp/class.cc:8212
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.cc:8665
+#: cp/class.cc:8719
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.cc:8755
+#: cp/class.cc:8809
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.cc:8913
+#: cp/class.cc:8975
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.cc:8940
+#: cp/class.cc:9003
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.cc:8982
+#: cp/class.cc:9045
 #, 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:8987
+#: cp/class.cc:9050
 #, gcc-internal-format
 msgid ""
 "a pointer to explicit object member function can only be formed with %<&%E%>"
 msgstr ""
 
-#: cp/class.cc:8997
+#: cp/class.cc:9060
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.cc:9000
+#: cp/class.cc:9063
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.cc:9079
+#: cp/class.cc:9142
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.cc:9099
+#: cp/class.cc:9162
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
 
-#: cp/class.cc:9398
+#: cp/class.cc:9463
 #, gcc-internal-format
 msgid "declaration of %q#D changes meaning of %qD"
 msgstr ""
 
-#: cp/class.cc:9401
+#: cp/class.cc:9466
 #, gcc-internal-format
 msgid "used here to mean %q#D"
 msgstr ""
@@ -55778,7 +56699,7 @@ msgstr ""
 #, gcc-internal-format
 msgid ""
 "variable %qD of non-literal type %qT in %<constexpr%> function only "
-"available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+"available with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
 #: cp/constexpr.cc:136
@@ -55802,7 +56723,7 @@ msgstr ""
 msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
 msgstr ""
 
-#: cp/constexpr.cc:270 cp/decl.cc:14690
+#: cp/constexpr.cc:270 cp/decl.cc:15242
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu+"
@@ -55844,251 +56765,256 @@ msgstr ""
 msgid "body of %<constexpr%> function %qD not a return-statement"
 msgstr ""
 
-#: cp/constexpr.cc:1078
+#: cp/constexpr.cc:1069
+#, gcc-internal-format
+msgid "%<-fimplicit-constexpr%> only affects %<inline%> functions"
+msgstr ""
+
+#: cp/constexpr.cc:1085
 #, gcc-internal-format
 msgid "%qD is not usable as a %<constexpr%> function because:"
 msgstr ""
 
-#: cp/constexpr.cc:1315 cp/constexpr.cc:6357
+#: cp/constexpr.cc:1322 cp/constexpr.cc:6490
 #, gcc-internal-format
 msgid "destroying %qE outside its lifetime"
 msgstr ""
 
-#: cp/constexpr.cc:1606 cp/constexpr.cc:3311
+#: cp/constexpr.cc:1613 cp/constexpr.cc:3332
 #: 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:1608 cp/constexpr.cc:1707 cp/constexpr.cc:1716
-#: cp/constexpr.cc:3583 rust/backend/rust-constexpr.cc:3331
+#: cp/constexpr.cc:1615 cp/constexpr.cc:1714 cp/constexpr.cc:1723
+#: cp/constexpr.cc:3615 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:1898 cp/constexpr.cc:5923 cp/constexpr.cc:8232
+#: cp/constexpr.cc:1873 cp/constexpr.cc:2753 cp/constexpr.cc:3029
+#: cp/constexpr.cc:9988 rust/backend/rust-constexpr.cc:5789
+#, gcc-internal-format
+msgid "call to non-%<constexpr%> function %qD"
+msgstr ""
+
+#: cp/constexpr.cc:1920 cp/constexpr.cc:6048 cp/constexpr.cc:8495
 #: rust/backend/rust-constexpr.cc:875 rust/backend/rust-constexpr.cc:2494
 #, gcc-internal-format
 msgid "dereferencing a null pointer"
 msgstr ""
 
-#: cp/constexpr.cc:2086
+#: cp/constexpr.cc:2108
 #, gcc-internal-format
 msgid "the comparison reduces to %qE"
 msgstr ""
 
-#: cp/constexpr.cc:2089
+#: cp/constexpr.cc:2111
 #, gcc-internal-format
 msgid "%qE evaluates to false"
 msgstr ""
 
-#: cp/constexpr.cc:2168
+#: cp/constexpr.cc:2190
 #, gcc-internal-format
 msgid "failed %<assume%> attribute assumption"
 msgstr ""
 
-#: cp/constexpr.cc:2203 cp/constexpr.cc:9682
+#: cp/constexpr.cc:2225 cp/constexpr.cc:9952
 #: rust/backend/rust-constexpr.cc:5758
 #, gcc-internal-format
 msgid "call to internal function %qE"
 msgstr ""
 
-#: cp/constexpr.cc:2257 rust/backend/rust-constexpr.cc:2615
+#: cp/constexpr.cc:2279 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:2285 rust/backend/rust-constexpr.cc:2618
+#: cp/constexpr.cc:2307 rust/backend/rust-constexpr.cc:2618
 #, gcc-internal-format
 msgid "originally declared %<const%> here"
 msgstr ""
 
-#: cp/constexpr.cc:2541 cp/constexpr.cc:2597 cp/constexpr.cc:2630
-#: cp/constexpr.cc:2652
+#: cp/constexpr.cc:2560 cp/constexpr.cc:2616 cp/constexpr.cc:2649
+#: cp/constexpr.cc:2671
 #, gcc-internal-format
 msgid "reference %<dynamic_cast%> failed"
 msgstr ""
 
-#: cp/constexpr.cc:2542
+#: cp/constexpr.cc:2561
 #, gcc-internal-format
 msgid "dynamic type %qT of its operand does not have a base class of type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2566
+#: cp/constexpr.cc:2585
 #, gcc-internal-format
 msgid "virtual table pointer is used uninitialized"
 msgstr ""
 
-#: cp/constexpr.cc:2598 cp/constexpr.cc:2631
+#: cp/constexpr.cc:2617 cp/constexpr.cc:2650
 #, gcc-internal-format
 msgid ""
 "static type %qT of its operand is a non-public base class of dynamic type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2654
+#: cp/constexpr.cc:2673
 #, gcc-internal-format
 msgid "%qT is an ambiguous base class of dynamic type %qT of its operand"
 msgstr ""
 
-#: cp/constexpr.cc:2657
+#: cp/constexpr.cc:2676
 #, gcc-internal-format
 msgid ""
 "dynamic type %qT of its operand does not have an unambiguous public base "
 "class %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2734 cp/constexpr.cc:3014 cp/constexpr.cc:9718
-#: 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:2740
+#: cp/constexpr.cc:2759
 #, gcc-internal-format
 msgid "calling constexpr member function %qD through virtual base subobject"
 msgstr ""
 
-#: cp/constexpr.cc:2856 rust/backend/rust-constexpr.cc:3387
+#: cp/constexpr.cc:2871 rust/backend/rust-constexpr.cc:3387
 #, gcc-internal-format
 msgid "expression %qE does not designate a %<constexpr%> function"
 msgstr ""
 
-#: cp/constexpr.cc:2934
+#: cp/constexpr.cc:2949
 #, gcc-internal-format
 msgid "array deallocation of object allocated with non-array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2938 cp/constexpr.cc:2961
+#: cp/constexpr.cc:2953 cp/constexpr.cc:2976
 #, gcc-internal-format
 msgid "allocation performed here"
 msgstr ""
 
-#: cp/constexpr.cc:2957
+#: cp/constexpr.cc:2972
 #, gcc-internal-format
 msgid "non-array deallocation of object allocated with array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2974
+#: cp/constexpr.cc:2989
 #, gcc-internal-format
 msgid "deallocation of already deallocated storage"
 msgstr ""
 
-#: cp/constexpr.cc:2981
+#: cp/constexpr.cc:2996
 #, gcc-internal-format
 msgid "deallocation of storage that was not previously allocated"
 msgstr ""
 
-#: cp/constexpr.cc:3098 rust/backend/rust-constexpr.cc:3442
+#: cp/constexpr.cc:3113 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:3105
+#: cp/constexpr.cc:3120
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:3109 rust/backend/rust-constexpr.cc:3456
+#: cp/constexpr.cc:3124 rust/backend/rust-constexpr.cc:3456
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/constexpr.cc:3181 rust/backend/rust-constexpr.cc:3498
+#: cp/constexpr.cc:3202 rust/backend/rust-constexpr.cc:3498
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/constexpr.cc:3192 rust/backend/rust-constexpr.cc:3509
+#: cp/constexpr.cc:3213 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:3541
+#: cp/constexpr.cc:3573
 #, gcc-internal-format
 msgid "reference to %qD is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:3544
+#: cp/constexpr.cc:3576
 #, gcc-internal-format
 msgid "pointer to %qD is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:3550
+#: cp/constexpr.cc:3582
 #, 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:3626
+#: cp/constexpr.cc:3658
 #, gcc-internal-format
 msgid "right operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3633
+#: cp/constexpr.cc:3665
 #, 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:3656
+#: cp/constexpr.cc:3688
 #, gcc-internal-format
 msgid "left operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3675
+#: cp/constexpr.cc:3707
 #, gcc-internal-format
 msgid "shift expression %q+E overflows"
 msgstr ""
 
-#: cp/constexpr.cc:3874
+#: cp/constexpr.cc:3906
 #, gcc-internal-format
 msgid "arithmetic involving a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4309 rust/backend/rust-constexpr.cc:4399
+#: cp/constexpr.cc:4416 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:4312 rust/backend/rust-constexpr.cc:4404
+#: cp/constexpr.cc:4419 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:4317 rust/backend/rust-constexpr.cc:4411
+#: cp/constexpr.cc:4424 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:4320 rust/backend/rust-constexpr.cc:4416
+#: cp/constexpr.cc:4427 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:4508 rust/backend/rust-constexpr.cc:1667
+#: cp/constexpr.cc:4626 rust/backend/rust-constexpr.cc:1667
 #, gcc-internal-format
 msgid "accessing uninitialized array element"
 msgstr ""
 
-#: cp/constexpr.cc:4570 rust/backend/rust-constexpr.cc:1724
+#: cp/constexpr.cc:4688 rust/backend/rust-constexpr.cc:1724
 #, gcc-internal-format
 msgid "dereferencing a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4589 cp/constexpr.cc:4705 cp/constexpr.cc:4717
-#: cp/constexpr.cc:7416 cp/constexpr.cc:7546 cp/constexpr.cc:9632
+#: cp/constexpr.cc:4707 cp/constexpr.cc:4823 cp/constexpr.cc:4835
+#: cp/constexpr.cc:7671 cp/constexpr.cc:7801 cp/constexpr.cc:9902
 #: 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
@@ -56096,269 +57022,269 @@ msgstr ""
 msgid "%qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4597 rust/backend/rust-constexpr.cc:1744
+#: cp/constexpr.cc:4715 rust/backend/rust-constexpr.cc:1744
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4629 cp/constexpr.cc:4665 cp/constexpr.cc:6521
+#: cp/constexpr.cc:4747 cp/constexpr.cc:4783 cp/constexpr.cc:6658
 #: rust/backend/rust-constexpr.cc:1774 rust/backend/rust-constexpr.cc:1797
 #, gcc-internal-format
 msgid "accessing uninitialized member %qD"
 msgstr ""
 
-#: cp/constexpr.cc:4631 cp/constexpr.cc:4644 cp/constexpr.cc:6516
+#: cp/constexpr.cc:4749 cp/constexpr.cc:4762 cp/constexpr.cc:6653
 #: 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:4783
+#: cp/constexpr.cc:4901
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4786
+#: cp/constexpr.cc:4904
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4797
+#: cp/constexpr.cc:4915
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4800
+#: cp/constexpr.cc:4918
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4811
+#: cp/constexpr.cc:4929
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4814
+#: cp/constexpr.cc:4932
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4825
+#: cp/constexpr.cc:4943
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT is a pointer to member type"
 msgstr ""
 
-#: cp/constexpr.cc:4829
+#: cp/constexpr.cc:4947
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a pointer to member "
 "type"
 msgstr ""
 
-#: cp/constexpr.cc:4840
+#: cp/constexpr.cc:4958
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:4843
+#: cp/constexpr.cc:4961
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a volatile subobject"
 msgstr ""
 
-#: cp/constexpr.cc:4998
+#: cp/constexpr.cc:5116
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated on the target"
 msgstr ""
 
-#: cp/constexpr.cc:5007 cp/constexpr.cc:5017
+#: cp/constexpr.cc:5125 cp/constexpr.cc:5135
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the type is too large"
 msgstr ""
 
-#: cp/constexpr.cc:5037
+#: cp/constexpr.cc:5155
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the argument cannot be encoded"
 msgstr ""
 
-#: cp/constexpr.cc:5083
+#: cp/constexpr.cc:5201
 #, gcc-internal-format
 msgid "%qs accessing uninitialized byte at offset %d"
 msgstr ""
 
-#: cp/constexpr.cc:5095
+#: cp/constexpr.cc:5213
 #, gcc-internal-format
 msgid ""
 "%qs cannot be constant evaluated because the argument cannot be interpreted"
 msgstr ""
 
-#: cp/constexpr.cc:5943 rust/backend/rust-constexpr.cc:895
+#: cp/constexpr.cc:6068 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:5983 cp/constexpr.cc:6016
+#: cp/constexpr.cc:6108 cp/constexpr.cc:6141
 #, gcc-internal-format
 msgid "use of allocated storage after deallocation in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5985 cp/constexpr.cc:6011 cp/constexpr.cc:6018
-#: cp/constexpr.cc:6352
+#: cp/constexpr.cc:6110 cp/constexpr.cc:6136 cp/constexpr.cc:6143
+#: cp/constexpr.cc:6485
 #, gcc-internal-format
 msgid "allocated here"
 msgstr ""
 
-#: cp/constexpr.cc:5989
+#: cp/constexpr.cc:6114
 #, gcc-internal-format
 msgid "accessing %qE outside its lifetime"
 msgstr ""
 
-#: cp/constexpr.cc:6009
+#: cp/constexpr.cc:6134
 #, gcc-internal-format
 msgid ""
 "the content of uninitialized storage is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6021 rust/backend/rust-constexpr.cc:4041
+#: cp/constexpr.cc:6146 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:6029
+#: cp/constexpr.cc:6154
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr ""
 
-#: cp/constexpr.cc:6034
+#: cp/constexpr.cc:6159
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr ""
 
-#: cp/constexpr.cc:6037
+#: cp/constexpr.cc:6162
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:6042 cp/constexpr.cc:6049
+#: cp/constexpr.cc:6167 cp/constexpr.cc:6174
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6055
+#: cp/constexpr.cc:6180
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/constexpr.cc:6058
+#: cp/constexpr.cc:6183
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/constexpr.cc:6350
+#: cp/constexpr.cc:6483
 #, gcc-internal-format
 msgid ""
 "modification of allocated storage after deallocation is not a constant "
 "expression"
 msgstr ""
 
-#: cp/constexpr.cc:6359
+#: cp/constexpr.cc:6492
 #, gcc-internal-format
 msgid "modification of %qE outside its lifetime is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6366
+#: cp/constexpr.cc:6499
 #, gcc-internal-format
 msgid ""
 "destroying %qE from outside current evaluation is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6369
+#: cp/constexpr.cc:6502
 #, gcc-internal-format
 msgid ""
 "modification of %qE from outside current evaluation is not a constant "
 "expression"
 msgstr ""
 
-#: cp/constexpr.cc:6496
+#: cp/constexpr.cc:6633
 #, 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:6525
+#: cp/constexpr.cc:6662
 #, 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:6532
+#: cp/constexpr.cc:6669
 #, gcc-internal-format
 msgid ""
 "initializing %qD requires a member access expression as the left operand of "
 "the assignment"
 msgstr ""
 
-#: cp/constexpr.cc:6544 rust/backend/rust-constexpr.cc:2822
+#: cp/constexpr.cc:6681 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:6992 cp/constexpr.cc:8581 cp/constexpr.cc:8593
+#: cp/constexpr.cc:7133 cp/constexpr.cc:8838 cp/constexpr.cc:8850
 #: rust/backend/rust-constexpr.cc:4668
 #, gcc-internal-format
 msgid "statement is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7088 rust/backend/rust-constexpr.cc:4933
+#: cp/constexpr.cc:7340 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:7195 rust/backend/rust-constexpr.cc:999
+#: cp/constexpr.cc:7449 rust/backend/rust-constexpr.cc:999
 #, gcc-internal-format
 msgid "inline assembly is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7197 rust/backend/rust-constexpr.cc:1000
+#: cp/constexpr.cc:7451 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:7215
+#: cp/constexpr.cc:7470
 #, gcc-internal-format
 msgid "use of %qD"
 msgstr ""
 
-#: cp/constexpr.cc:7219
+#: cp/constexpr.cc:7474
 #, gcc-internal-format
 msgid ""
 "its value can vary between compiler versions or with different %<-mtune%> or "
 "%<-mcpu%> flags"
 msgstr ""
 
-#: cp/constexpr.cc:7221
+#: cp/constexpr.cc:7476
 #, 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:7223
+#: cp/constexpr.cc:7478
 #, gcc-internal-format, gfc-internal-format
 msgid "the default value for the current CPU tuning is %d bytes"
 msgstr ""
 
-#: cp/constexpr.cc:7225
+#: cp/constexpr.cc:7480
 #, gcc-internal-format
 msgid ""
 "you can stabilize this value with %<--param "
@@ -56366,250 +57292,239 @@ msgid ""
 "Wno-interference-size%>"
 msgstr ""
 
-#: cp/constexpr.cc:7378
+#: cp/constexpr.cc:7633
 #, gcc-internal-format
 msgid "value %qE of type %qT is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7391
+#: cp/constexpr.cc:7646
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-"
 "fconstexpr-ops-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:7576
+#: cp/constexpr.cc:7831
 #, gcc-internal-format
 msgid "control passes through definition of %qD with thread storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:7579
+#: cp/constexpr.cc:7834
 #, gcc-internal-format
 msgid "control passes through definition of %qD with static storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:7644 cp/constexpr.cc:10326
+#: cp/constexpr.cc:7899 cp/constexpr.cc:10613
 #: 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:8093 cp/constexpr.cc:9833
+#: cp/constexpr.cc:8357 cp/constexpr.cc:10103
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8121 rust/backend/rust-constexpr.cc:2461
+#: cp/constexpr.cc:8388 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:8171
+#: cp/constexpr.cc:8440
 #, gcc-internal-format
 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:8178
+#: cp/constexpr.cc:8450
 #, gcc-internal-format
 msgid "pointed-to object declared here"
 msgstr ""
 
-#: cp/constexpr.cc:8183
-#, 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:8195
+#: cp/constexpr.cc:8458
 #, gcc-internal-format
 msgid "cast from %qT is not allowed in a constant expression before C++26"
 msgstr ""
 
-#: cp/constexpr.cc:8209
+#: cp/constexpr.cc:8472
 #, gcc-internal-format
 msgid "%qE is not a constant expression when the class %qT is still incomplete"
 msgstr ""
 
-#: cp/constexpr.cc:8243 rust/backend/rust-constexpr.cc:2506
+#: cp/constexpr.cc:8512 rust/backend/rust-constexpr.cc:2506
 #, gcc-internal-format
 msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8381 cp/constexpr.cc:10144 cp/constexpr.cc:10549
+#: cp/constexpr.cc:8650 cp/constexpr.cc:10425 cp/constexpr.cc:10836
 #: 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:8426 cp/constexpr.cc:10590
+#: cp/constexpr.cc:8695 cp/constexpr.cc:10877
 #, gcc-internal-format
 msgid "%<goto%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8484
+#: cp/constexpr.cc:8753
 #, gcc-internal-format
 msgid "contract predicate is false in constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8500
-#, gcc-internal-format
-msgid "unexpected template-id %qE"
-msgstr ""
-
-#: cp/constexpr.cc:8506 cp/constraint.cc:178 cp/constraint.cc:755
-#, gcc-internal-format
-msgid "function concept must be called"
-msgstr ""
-
-#: cp/constexpr.cc:8531
+#: cp/constexpr.cc:8788
 #, gcc-internal-format
 msgid "address of a call to %qs is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8596
+#: cp/constexpr.cc:8853
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/constexpr.cc:8872 rust/backend/rust-constexpr.cc:5158
+#: cp/constexpr.cc:9129 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:8880 rust/backend/rust-constexpr.cc:5167
+#: cp/constexpr.cc:9137 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:8896 rust/backend/rust-constexpr.cc:5183
+#: cp/constexpr.cc:9153 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:8907 rust/backend/rust-constexpr.cc:5195
+#: cp/constexpr.cc:9164 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:8927 rust/backend/rust-constexpr.cc:5213
+#: cp/constexpr.cc:9184 rust/backend/rust-constexpr.cc:5213
 #, gcc-internal-format
 msgid "immediate evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:8931
+#: cp/constexpr.cc:9188
 #, gcc-internal-format
 msgid "constant evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:9569 rust/backend/rust-constexpr.cc:5667
+#: cp/constexpr.cc:9223
+#, gcc-internal-format
+msgid ""
+"%qE is not a constant expression because it initializes a %qT rather than %qT"
+msgstr ""
+
+#: cp/constexpr.cc:9839 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:9798
+#: cp/constexpr.cc:10068
 #, gcc-internal-format
 msgid "lambda capture of %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9801
+#: cp/constexpr.cc:10071
 #, gcc-internal-format
 msgid "because it is used as a glvalue"
 msgstr ""
 
-#: cp/constexpr.cc:9857 rust/backend/rust-constexpr.cc:5893
+#: cp/constexpr.cc:10127 rust/backend/rust-constexpr.cc:5893
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from integer to pointer"
 msgstr ""
 
-#: cp/constexpr.cc:9891 rust/backend/rust-constexpr.cc:5921
+#: cp/constexpr.cc:10161 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:9930
+#: cp/constexpr.cc:10203
 #, gcc-internal-format
 msgid "use of %<this%> in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10079
+#: cp/constexpr.cc:10360
 #, gcc-internal-format
 msgid "lambda-expression is not a constant expression before C++17"
 msgstr ""
 
-#: cp/constexpr.cc:10091
+#: cp/constexpr.cc:10372
 #, gcc-internal-format
 msgid "new-expression is not a constant expression before C++20"
 msgstr ""
 
-#: cp/constexpr.cc:10158
+#: cp/constexpr.cc:10439
 #, gcc-internal-format
 msgid "virtual functions cannot be %<constexpr%> before C++20"
 msgstr ""
 
-#: cp/constexpr.cc:10174
+#: cp/constexpr.cc:10455
 #, gcc-internal-format
 msgid ""
 "%<typeid%> is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/constexpr.cc:10237
+#: cp/constexpr.cc:10519
 #, gcc-internal-format
 msgid "cast to non-integral type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10290
+#: cp/constexpr.cc:10577
 #, gcc-internal-format
 msgid "%qD defined %<thread_local%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:10298
+#: cp/constexpr.cc:10585
 #, gcc-internal-format
 msgid "%qD defined %<static%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:10376 rust/backend/rust-constexpr.cc:6251
+#: cp/constexpr.cc:10663 rust/backend/rust-constexpr.cc:6251
 #, gcc-internal-format
 msgid "division by zero is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10477 rust/backend/rust-constexpr.cc:6349
+#: cp/constexpr.cc:10764 rust/backend/rust-constexpr.cc:6349
 #, gcc-internal-format
 msgid "%<delete[]%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10546
+#: cp/constexpr.cc:10833
 #, gcc-internal-format
 msgid "neither branch of %<if%> is a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:10559
+#: cp/constexpr.cc:10846
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr ""
 
-#: cp/constexpr.cc:10607 rust/backend/rust-constexpr.cc:6427
+#: cp/constexpr.cc:10894
 #, gcc-internal-format
 msgid ""
 "label definition in %<constexpr%> function only available with %<-std=c+"
-"+2b%> or %<-std=gnu++2b%>"
+"+23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/constexpr.cc:10638 rust/backend/rust-constexpr.cc:6438
+#: cp/constexpr.cc:10925 rust/backend/rust-constexpr.cc:6438
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr ""
@@ -56619,663 +57534,698 @@ msgstr ""
 msgid "constraint expression does not have type %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:375
-#, gcc-internal-format
-msgid "function call of variable concept %qE"
-msgstr ""
-
-#: cp/constraint.cc:547
+#: cp/constraint.cc:272
 #, gcc-internal-format
 msgid "MAP %qD TO %qT"
 msgstr ""
 
-#: cp/constraint.cc:549
+#: cp/constraint.cc:274
 #, gcc-internal-format
 msgid "MAP %qD TO %qE"
 msgstr ""
 
-#: cp/constraint.cc:562
+#: cp/constraint.cc:287
 #, gcc-internal-format
 msgid "argument %qT"
 msgstr ""
 
-#: cp/constraint.cc:564
+#: cp/constraint.cc:289
 #, gcc-internal-format
 msgid "argument %qE"
 msgstr ""
 
-#: cp/constraint.cc:1214
+#: cp/constraint.cc:956
 #, gcc-internal-format
 msgid "%qT does not match original declaration"
 msgstr ""
 
-#: cp/constraint.cc:1217
+#: cp/constraint.cc:959
 #, gcc-internal-format
 msgid "original template declaration here"
 msgstr ""
 
-#: cp/constraint.cc:1417
-#, gcc-internal-format
-msgid "no matching concepts for %qE"
-msgstr ""
-
-#: cp/constraint.cc:1723
-#, gcc-internal-format
-msgid "%qE cannot be introduced with an ellipsis %<...%>"
-msgstr ""
-
-#: cp/constraint.cc:1724
-#, gcc-internal-format
-msgid "prototype declared here"
-msgstr ""
-
-#: cp/constraint.cc:1811
-#, gcc-internal-format
-msgid "all template parameters of %qD must be introduced"
-msgstr ""
-
-#: cp/constraint.cc:1839
-#, gcc-internal-format
-msgid "cannot deduce template parameters from introduction list"
-msgstr ""
-
-#: cp/constraint.cc:2004
+#: cp/constraint.cc:1357
 #, gcc-internal-format
 msgid "the required expression %qE is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:2011
+#: cp/constraint.cc:1365
 #, gcc-internal-format
 msgid "the required expression %qE is invalid"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2053
+#: cp/constraint.cc:1407
 #, gcc-internal-format
 msgid "the required type %qT is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:2057
+#: cp/constraint.cc:1411
 #, gcc-internal-format
 msgid "the required type %qT is invalid"
 msgstr ""
 
-#: cp/constraint.cc:2112 cp/constraint.cc:2186
+#: cp/constraint.cc:1466 cp/constraint.cc:1540
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT"
 msgstr ""
 
-#: cp/constraint.cc:2141
+#: cp/constraint.cc:1495
 #, gcc-internal-format
 msgid "%qE is not %<noexcept%>"
 msgstr ""
 
-#: cp/constraint.cc:2163
+#: cp/constraint.cc:1517
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement, because"
 msgstr ""
 
-#: cp/constraint.cc:2170
+#: cp/constraint.cc:1524
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement"
 msgstr ""
 
-#: cp/constraint.cc:2181
+#: cp/constraint.cc:1535
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT because"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2225
+#: cp/constraint.cc:1579
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied, because"
 msgstr ""
 
-#: cp/constraint.cc:2229
+#: cp/constraint.cc:1583
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2744
+#: cp/constraint.cc:2098
 #, gcc-internal-format
 msgid "satisfaction of atomic constraint %qE depends on itself"
 msgstr ""
 
-#: cp/constraint.cc:2790
+#: cp/constraint.cc:2144
 #, gcc-internal-format
 msgid "satisfaction value of atomic constraint %qE changed from %qE to %qE"
 msgstr ""
 
-#: cp/constraint.cc:2793
+#: cp/constraint.cc:2147
 #, gcc-internal-format
 msgid "satisfaction value first evaluated to %qE from here"
 msgstr ""
 
-#: cp/constraint.cc:2910
+#: cp/constraint.cc:2264
 #, gcc-internal-format
 msgid "no operand of the disjunction is satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2923
+#: cp/constraint.cc:2278
 #, gcc-internal-format
 msgid "the operand %qE is unsatisfied because"
 msgstr ""
 
-#: cp/constraint.cc:3565
-#, gcc-internal-format
-msgid "definition of concept %qD is empty"
-msgstr ""
-
-#: cp/constraint.cc:3568
-#, gcc-internal-format
-msgid "definition of concept %qD has multiple statements"
-msgstr ""
-
-#: cp/constraint.cc:3724
+#: cp/constraint.cc:3042
 #, gcc-internal-format
 msgid "  %qT is not nothrow copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3727 cp/constraint.cc:3812
+#: cp/constraint.cc:3045 cp/constraint.cc:3139
 #, gcc-internal-format
 msgid "  %qT is not nothrow default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3730
+#: cp/constraint.cc:3048
 #, gcc-internal-format
 msgid "  %qT is not nothrow copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3733
+#: cp/constraint.cc:3051
 #, gcc-internal-format
 msgid "  %qT is not trivially copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3736 cp/constraint.cc:3852
+#: cp/constraint.cc:3054 cp/constraint.cc:3188
 #, gcc-internal-format
 msgid "  %qT is not trivially default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3739
+#: cp/constraint.cc:3057
 #, gcc-internal-format
 msgid "  %qT is not trivially copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3742
+#: cp/constraint.cc:3060
 #, gcc-internal-format
 msgid "  %qT is not trivially destructible"
 msgstr ""
 
-#: cp/constraint.cc:3745
+#: cp/constraint.cc:3063
 #, gcc-internal-format
 msgid "  %qT does not have unique object representations"
 msgstr ""
 
-#: cp/constraint.cc:3748
+#: cp/constraint.cc:3066
 #, gcc-internal-format
 msgid "  %qT does not have a virtual destructor"
 msgstr ""
 
-#: cp/constraint.cc:3751
+#: cp/constraint.cc:3069
 #, gcc-internal-format
 msgid "  %qT is not an abstract class"
 msgstr ""
 
-#: cp/constraint.cc:3754
+#: cp/constraint.cc:3072
 #, gcc-internal-format
 msgid "  %qT is not an aggregate"
 msgstr ""
 
-#: cp/constraint.cc:3757
+#: cp/constraint.cc:3075
 #, gcc-internal-format
 msgid "  %qT is not an array"
 msgstr ""
 
-#: cp/constraint.cc:3760
+#: cp/constraint.cc:3078
 #, gcc-internal-format
 msgid "  %qT is not assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3763
+#: cp/constraint.cc:3081
 #, gcc-internal-format
 msgid "  %qT is not a base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3766
+#: cp/constraint.cc:3084
 #, gcc-internal-format
 msgid "  %qT is not a bounded array"
 msgstr ""
 
-#: cp/constraint.cc:3769
+#: cp/constraint.cc:3087
 #, gcc-internal-format
 msgid "  %qT is not a class"
 msgstr ""
 
-#: cp/constraint.cc:3773
+#: cp/constraint.cc:3090
+#, gcc-internal-format
+msgid "  %qT is not a const type"
+msgstr ""
+
+#: cp/constraint.cc:3094
 #, gcc-internal-format
 msgid "  %qT is not default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3775
+#: cp/constraint.cc:3096
 #, gcc-internal-format
 msgid "  %qT is not constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3778
+#: cp/constraint.cc:3099
 #, gcc-internal-format
 msgid "  %qT is not convertible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3781
+#: cp/constraint.cc:3102
 #, gcc-internal-format
 msgid "  %qT is not an empty class"
 msgstr ""
 
-#: cp/constraint.cc:3784
+#: cp/constraint.cc:3105
 #, gcc-internal-format
 msgid "  %qT is not an enum"
 msgstr ""
 
-#: cp/constraint.cc:3787
+#: cp/constraint.cc:3108
 #, gcc-internal-format
 msgid "  %qT is not a final class"
 msgstr ""
 
-#: cp/constraint.cc:3790
+#: cp/constraint.cc:3111
 #, gcc-internal-format
 msgid "  %qT is not a function"
 msgstr ""
 
-#: cp/constraint.cc:3793
+#: cp/constraint.cc:3115
+#, gcc-internal-format
+msgid "  %qT is not invocable"
+msgstr ""
+
+#: cp/constraint.cc:3117
+#, gcc-internal-format
+msgid "  %qT is not invocable by %qE"
+msgstr ""
+
+#: cp/constraint.cc:3120
 #, gcc-internal-format
 msgid "  %qT is not layout compatible with %qT"
 msgstr ""
 
-#: cp/constraint.cc:3796
+#: cp/constraint.cc:3123
 #, gcc-internal-format
 msgid "  %qT is not a literal type"
 msgstr ""
 
-#: cp/constraint.cc:3799
+#: cp/constraint.cc:3126
 #, gcc-internal-format
 msgid "  %qT is not a member function pointer"
 msgstr ""
 
-#: cp/constraint.cc:3802
+#: cp/constraint.cc:3129
 #, gcc-internal-format
 msgid "  %qT is not a member object pointer"
 msgstr ""
 
-#: cp/constraint.cc:3805
+#: cp/constraint.cc:3132
 #, gcc-internal-format
 msgid "  %qT is not a member pointer"
 msgstr ""
 
-#: cp/constraint.cc:3808
+#: cp/constraint.cc:3135
 #, gcc-internal-format
 msgid "  %qT is not nothrow assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3814
+#: cp/constraint.cc:3141
 #, gcc-internal-format
 msgid "  %qT is not nothrow constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3817
+#: cp/constraint.cc:3144
 #, gcc-internal-format
 msgid "  %qT is not nothrow convertible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3820
+#: cp/constraint.cc:3148
+#, gcc-internal-format
+msgid "  %qT is not nothrow invocable"
+msgstr ""
+
+#: cp/constraint.cc:3150
+#, gcc-internal-format
+msgid "  %qT is not nothrow invocable by %qE"
+msgstr ""
+
+#: cp/constraint.cc:3153
 #, gcc-internal-format
 msgid "  %qT is not an object type"
 msgstr ""
 
-#: cp/constraint.cc:3823
+#: cp/constraint.cc:3156
 #, gcc-internal-format
 msgid "  %qT is not pointer-interconvertible base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3827
+#: cp/constraint.cc:3160
 #, gcc-internal-format
 msgid "  %qT is not a POD type"
 msgstr ""
 
-#: cp/constraint.cc:3830
+#: cp/constraint.cc:3163
+#, gcc-internal-format
+msgid "  %qT is not a pointer"
+msgstr ""
+
+#: cp/constraint.cc:3166
 #, gcc-internal-format
 msgid "  %qT is not a polymorphic type"
 msgstr ""
 
-#: cp/constraint.cc:3833
+#: cp/constraint.cc:3169
 #, gcc-internal-format
 msgid "  %qT is not a reference"
 msgstr ""
 
-#: cp/constraint.cc:3836
+#: cp/constraint.cc:3172
 #, gcc-internal-format
 msgid "  %qT is not the same as %qT"
 msgstr ""
 
-#: cp/constraint.cc:3839
+#: cp/constraint.cc:3175
 #, gcc-internal-format
 msgid "  %qT is not a scoped enum"
 msgstr ""
 
-#: cp/constraint.cc:3842
+#: cp/constraint.cc:3178
 #, gcc-internal-format
 msgid "  %qT is not an standard layout type"
 msgstr ""
 
-#: cp/constraint.cc:3845
+#: cp/constraint.cc:3181
 #, gcc-internal-format
 msgid "  %qT is not a trivial type"
 msgstr ""
 
-#: cp/constraint.cc:3848
+#: cp/constraint.cc:3184
 #, gcc-internal-format
 msgid "  %qT is not trivially assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3854
+#: cp/constraint.cc:3190
 #, gcc-internal-format
 msgid "  %qT is not trivially constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3857
+#: cp/constraint.cc:3193
 #, gcc-internal-format
 msgid "  %qT is not trivially copyable"
 msgstr ""
 
-#: cp/constraint.cc:3860
+#: cp/constraint.cc:3196
+#, gcc-internal-format
+msgid "  %qT is not an unbounded array"
+msgstr ""
+
+#: cp/constraint.cc:3199
 #, gcc-internal-format
 msgid "  %qT is not a union"
 msgstr ""
 
-#: cp/constraint.cc:3863
+#: cp/constraint.cc:3202
+#, gcc-internal-format
+msgid "  %qT is not a virtual base of %qT"
+msgstr ""
+
+#: cp/constraint.cc:3205
+#, gcc-internal-format
+msgid "  %qT is not a volatile type"
+msgstr ""
+
+#: cp/constraint.cc:3208
+#, gcc-internal-format
+msgid "  %qT cannot yield a rank"
+msgstr ""
+
+#: cp/constraint.cc:3211
 #, gcc-internal-format
 msgid ""
 "  %qT is not a reference that binds to a temporary object of type %qT "
 "(direct-initialization)"
 msgstr ""
 
-#: cp/constraint.cc:3867
+#: cp/constraint.cc:3215
 #, gcc-internal-format
 msgid ""
 "  %qT is not a reference that binds to a temporary object of type %qT (copy-"
 "initialization)"
 msgstr ""
 
-#: cp/constraint.cc:3871
+#: cp/constraint.cc:3219
 #, gcc-internal-format
 msgid "  %qD is not deducible from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3898
+#: cp/constraint.cc:3246
 #, gcc-internal-format
 msgid "invalid constraints"
 msgstr ""
 
-#: cp/constraint.cc:3923
+#: cp/constraint.cc:3271
 #, gcc-internal-format
 msgid "constraint %qE has type %qT, not %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:3926
+#: cp/constraint.cc:3274
 #, gcc-internal-format
 msgid "the expression %qE evaluated to %<false%>"
 msgstr ""
 
-#: cp/constraint.cc:3977
+#: cp/constraint.cc:3325
 #, gcc-internal-format
 msgid "constraints not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:3992
+#: cp/constraint.cc:3342
 #, gcc-internal-format
 msgid "set %qs to at least %d for more detail"
 msgstr ""
 
-#: cp/contracts.cc:183
+#: cp/contracts.cc:167
 #, gcc-internal-format
 msgid "axiom contract semantic must be %<assume%> or %<ignore%>"
 msgstr ""
 
-#: cp/contracts.cc:186
+#: cp/contracts.cc:170
 #, gcc-internal-format
 msgid ""
 "the %<audit%> semantic should be at least as strong as the %<default%> "
 "semantic"
 msgstr ""
 
-#: cp/contracts.cc:204
+#: cp/contracts.cc:188
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' is not a valid explicit concrete semantic"
 msgstr ""
 
-#: cp/contracts.cc:344
+#: cp/contracts.cc:328
 #, gcc-internal-format
 msgid "%<-fcontract-build-level=%> cannot be mixed with p1332/p1429"
 msgstr ""
 
-#: cp/contracts.cc:357
+#: cp/contracts.cc:341
 #, gcc-internal-format
 msgid "%<-fcontract-build-level=%> must be off|default|audit"
 msgstr ""
 
-#: cp/contracts.cc:367
+#: cp/contracts.cc:351
 #, gcc-internal-format
 msgid "%<-fcontract-assumption-mode=%> cannot be mixed with p1332/p1429"
 msgstr ""
 
-#: cp/contracts.cc:378
+#: cp/contracts.cc:362
 #, gcc-internal-format
 msgid "%<-fcontract-assumption-mode=%> must be %<on%> or %<off%>"
 msgstr ""
 
-#: cp/contracts.cc:388
+#: cp/contracts.cc:372
 #, gcc-internal-format
 msgid "%<-fcontract-continuation-mode=%> cannot be mixed with p1332/p1429"
 msgstr ""
 
-#: cp/contracts.cc:399
+#: cp/contracts.cc:383
 #, gcc-internal-format
 msgid "%<-fcontract-continuation-mode=%> must be %<on%> or %<off%>"
 msgstr ""
 
-#: cp/contracts.cc:411
+#: cp/contracts.cc:395
 #, gcc-internal-format
 msgid "%<-fcontract-role=%> must be in the form role:semantics"
 msgstr ""
 
-#: cp/contracts.cc:422 cp/contracts.cc:431
+#: cp/contracts.cc:406 cp/contracts.cc:415
 #, gcc-internal-format
 msgid "%<-fcontract-role=%> semantics must include default,audit,axiom values"
 msgstr ""
 
-#: cp/contracts.cc:450
+#: cp/contracts.cc:434
 #, gcc-internal-format
 msgid "%<-fcontract-role=%> cannot be mixed with std/p1429 contract flags"
 msgstr ""
 
 #. TODO: not enough space?
-#: cp/contracts.cc:464
+#: cp/contracts.cc:448
 #, gcc-internal-format
 msgid "%<-fcontract-level=%> too many custom roles"
 msgstr ""
 
-#: cp/contracts.cc:476
+#: cp/contracts.cc:460
 #, gcc-internal-format
 msgid "%<-fcontract-semantic=%> must be in the form level:semantic"
 msgstr ""
 
-#: cp/contracts.cc:482
+#: cp/contracts.cc:466
 #, gcc-internal-format
 msgid "%<-fcontract-semantic=%> cannot be mixed with std/p1332 contract flags"
 msgstr ""
 
-#: cp/contracts.cc:490
+#: cp/contracts.cc:474
 #, gcc-internal-format
 msgid "%<-fcontract-semantic=%> cannot find default role"
 msgstr ""
 
-#: cp/contracts.cc:506
+#: cp/contracts.cc:490
 #, gcc-internal-format
 msgid "%<-fcontract-semantic=%> level must be default, audit, or axiom"
 msgstr ""
 
-#: cp/contracts.cc:647
+#: cp/contracts.cc:631
 #, gcc-internal-format
 msgid "constructor does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:649
+#: cp/contracts.cc:633
 #, gcc-internal-format
 msgid "destructor does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:650
+#: cp/contracts.cc:634
 #, gcc-internal-format
 msgid "function does not return a value to test"
 msgstr ""
 
-#: cp/contracts.cc:1149
+#: cp/contracts.cc:1139
 #, gcc-internal-format
 msgid "mismatched contract attribute in declaration"
 msgstr ""
 
-#: cp/contracts.cc:1151 cp/contracts.cc:1182
+#: cp/contracts.cc:1141 cp/contracts.cc:1172
 #, gcc-internal-format
 msgid "previous contract here"
 msgstr ""
 
-#: cp/contracts.cc:1179
+#: cp/contracts.cc:1169
 #, gcc-internal-format
 msgid "mismatched contract condition in declaration"
 msgstr ""
 
-#: cp/contracts.cc:1222
+#: cp/contracts.cc:1212
 #, gcc-internal-format
 msgid ""
 "declaration has a different number of contracts than previously declared"
 msgstr ""
 
-#: cp/contracts.cc:1228
+#: cp/contracts.cc:1218
 #, gcc-internal-format
 msgid "original declaration with fewer contracts here"
 msgstr ""
 
-#: cp/contracts.cc:1965
+#: cp/contracts.cc:1964
 #, gcc-internal-format
 msgid "contracts must appertain to a function type"
 msgstr ""
 
-#: cp/contracts.cc:2178
+#: cp/contracts.cc:2261
 #, gcc-internal-format
 msgid "cannot add contracts after definition"
 msgstr ""
 
-#: cp/contracts.cc:2179
+#: cp/contracts.cc:2262
 #, gcc-internal-format
 msgid "original definition here"
 msgstr ""
 
-#: cp/contracts.cc:2187
+#: cp/contracts.cc:2270
 #, gcc-internal-format
 msgid "cannot add contracts to a virtual function"
 msgstr ""
 
-#: cp/contracts.cc:2188
+#: cp/contracts.cc:2271
 #, gcc-internal-format
 msgid "original declaration here"
 msgstr ""
 
-#: cp/contracts.cc:2198
+#: cp/contracts.cc:2281
 #, gcc-internal-format
 msgid "declaration adds contracts to %q#D"
 msgstr ""
 
-#: cp/coroutines.cc:303
+#: cp/coroutines.cc:427
 #, gcc-internal-format
 msgid "coroutines require a traits template; cannot find %<%E::%E%>"
 msgstr ""
 
-#: cp/coroutines.cc:305
+#: cp/coroutines.cc:429
 #, gcc-internal-format
 msgid "perhaps %<#include <coroutine>%> is missing"
 msgstr ""
 
-#: cp/coroutines.cc:360
+#: cp/coroutines.cc:484
 #, gcc-internal-format
 msgid "cannot instantiate %<coroutine traits%>"
 msgstr ""
 
-#: cp/coroutines.cc:382
+#: cp/coroutines.cc:506
 #, gcc-internal-format
 msgid "coroutines require a handle class template; cannot find %<%E::%E%>"
 msgstr ""
 
-#: cp/coroutines.cc:407
+#: cp/coroutines.cc:534
+#, gcc-internal-format
+msgid "%qE must be a non-overloaded method"
+msgstr ""
+
+#: cp/coroutines.cc:547
+#, gcc-internal-format
+msgid "%qE must take no arguments"
+msgstr ""
+
+#: cp/coroutines.cc:554 cp/coroutines.cc:599
+#, gcc-internal-format
+msgid "%qE must return %qT, not %qT"
+msgstr ""
+
+#: cp/coroutines.cc:581
+#, gcc-internal-format
+msgid "%qE must be a non-overloaded static function"
+msgstr ""
+
+#: cp/coroutines.cc:592
+#, gcc-internal-format
+msgid "%qE must take a single %qT"
+msgstr ""
+
+#: cp/coroutines.cc:621
 #, gcc-internal-format
 msgid "cannot instantiate a %<coroutine handle%> for promise type %qT"
 msgstr ""
 
-#: cp/coroutines.cc:492
+#: cp/coroutines.cc:736
 #, gcc-internal-format
 msgid "unable to find the promise type for this coroutine"
 msgstr ""
 
-#: cp/coroutines.cc:511
+#: cp/coroutines.cc:756
 #, gcc-internal-format
 msgid ""
 "the coroutine promise type %qT declares both %<return_value%> and "
 "%<return_void%>"
 msgstr ""
 
-#: cp/coroutines.cc:515
+#: cp/coroutines.cc:760
 #, gcc-internal-format
 msgid "%<return_void%> declared here"
 msgstr ""
 
-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4283
+#: cp/coroutines.cc:919 cp/coroutines.cc:997 cp/coroutines.cc:4553
 #, gcc-internal-format
 msgid "no member named %qE in %qT"
 msgstr ""
 
-#: cp/coroutines.cc:741
+#: cp/coroutines.cc:1012
 #, gcc-internal-format
 msgid "%qs cannot be used outside a function"
 msgstr ""
 
 #. [basic.start.main] 3. The function main shall not be a coroutine.
-#: cp/coroutines.cc:749
+#: cp/coroutines.cc:1020
 #, gcc-internal-format
 msgid "%qs cannot be used in the %<main%> function"
 msgstr ""
 
 #. [dcl.constexpr] 3.3 it shall not be a coroutine.
-#: cp/coroutines.cc:760
+#: cp/coroutines.cc:1031
 #, gcc-internal-format
 msgid "%qs cannot be used in a %<constexpr%> function"
 msgstr ""
 
-#: cp/coroutines.cc:771
+#: cp/coroutines.cc:1042
 #, gcc-internal-format
 msgid "%qs cannot be used in a function with a deduced return type"
 msgstr ""
 
-#: cp/coroutines.cc:782
+#: cp/coroutines.cc:1053
 #, gcc-internal-format
 msgid "%qs cannot be used in a varargs function"
 msgstr ""
 
 #. [class.ctor] 7. a constructor shall not be a coroutine.
-#: cp/coroutines.cc:789
+#: cp/coroutines.cc:1060
 #, gcc-internal-format
 msgid "%qs cannot be used in a constructor"
 msgstr ""
 
 #. [class.dtor] 21. a destructor shall not be a coroutine.
-#: cp/coroutines.cc:796
+#: cp/coroutines.cc:1067
 #, gcc-internal-format
 msgid "%qs cannot be used in a destructor"
 msgstr ""
@@ -57283,917 +58233,923 @@ msgstr ""
 #. TODO: record or extract positions of returns (and the first coro
 #. keyword) so that we can add notes to the diagnostic about where
 #. the bad keyword is and what made the function into a coro.
-#: cp/coroutines.cc:827
+#: cp/coroutines.cc:1098
 #, gcc-internal-format
 msgid ""
 "a %<return%> statement is not allowed in coroutine; did you mean "
 "%<co_return%>?"
 msgstr ""
 
-#: cp/coroutines.cc:875
+#: cp/coroutines.cc:1150
 #, gcc-internal-format
 msgid "the expression %qE is required to be non-throwing"
 msgstr ""
 
-#: cp/coroutines.cc:877
+#: cp/coroutines.cc:1152
 #, gcc-internal-format
 msgid "must be declared with %<noexcept(true)%>"
 msgstr ""
 
-#: cp/coroutines.cc:957
+#: cp/coroutines.cc:1280
 #, gcc-internal-format
 msgid "awaitable type %qT is not a structure"
 msgstr ""
 
-#: cp/coroutines.cc:1072
+#: cp/coroutines.cc:1374
 #, gcc-internal-format
 msgid "%<await_suspend%> must return %<void%>, %<bool%> or a coroutine handle"
 msgstr ""
 
-#: cp/coroutines.cc:1379
+#: cp/coroutines.cc:1723
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<co_return%> statement"
 msgstr ""
 
-#: cp/coroutines.cc:1416
+#: cp/coroutines.cc:1760
 #, gcc-internal-format
 msgid "the align argument to %<__builtin_coro_promise%> must be a constant"
 msgstr ""
 
-#: cp/coroutines.cc:1426
+#: cp/coroutines.cc:1770
 #, gcc-internal-format
 msgid "the direction argument to %<__builtin_coro_promise%> must be a constant"
 msgstr ""
 
-#: cp/coroutines.cc:1904
+#: cp/coroutines.cc:2267
 #, gcc-internal-format
 msgid "no suspend point info for %qD"
 msgstr ""
 
-#: 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:2546
+#: cp/coroutines.cc:2829
 #, gcc-internal-format
 msgid "duplicate info for %qE"
 msgstr ""
 
-#: cp/coroutines.cc:3691
+#: cp/coroutines.cc:3958
 #, gcc-internal-format
 msgid "await expressions are not permitted in handlers"
 msgstr ""
 
-#: cp/coroutines.cc:3923
+#: cp/coroutines.cc:4183
 #, gcc-internal-format
 msgid "variable length arrays are not yet supported in coroutines"
 msgstr ""
 
-#: cp/coroutines.cc:4662
+#: cp/coroutines.cc:4701
+#, gcc-internal-format
+msgid ""
+"%qE is provided by %qT but is not usable with the function signature %qD"
+msgstr ""
+
+#: cp/coroutines.cc:4708
 #, gcc-internal-format
 msgid ""
 "%qE is provided by %qT but %qE is not marked %<throw()%> or %<noexcept%>"
 msgstr ""
 
-#: cp/coroutines.cc:4665
+#: cp/coroutines.cc:4713
 #, 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:4694
+#. Something is seriously wrong, punt.
+#: cp/coroutines.cc:4744
 #, 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:5076
+#: cp/coroutines.cc:4840
+#, gcc-internal-format
+msgid "%qE is provided by %qT but is not usable with the function %qD"
+msgstr ""
+
+#: cp/coroutines.cc:5146
 #, gcc-internal-format
 msgid ""
-"cannot initialize a return object of type %qT with an rvalue of type %<void%>"
+"no viable conversion from %<void%> provided by %<get_return_object%> to "
+"return type %qT"
 msgstr ""
 
-#: cp/cp-gimplify.cc:192
+#: cp/cp-gimplify.cc:197
 #, gcc-internal-format
 msgid "both branches of %<if%> statement marked as %qs"
 msgstr ""
 
-#: cp/cp-gimplify.cc:536
+#: cp/cp-gimplify.cc:541
 #, 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
+#: cp/cp-gimplify.cc:544
 #, gcc-internal-format
 msgid "%qD was promoted to an immediate function"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1164
+#: cp/cp-gimplify.cc:1181
 #, gcc-internal-format
 msgid "taking address of an immediate function %qD"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1263
+#: cp/cp-gimplify.cc:1302
 #, gcc-internal-format
 msgid "call to consteval function %qE is not a constant expression"
 msgstr ""
 
-#: cp/cp-gimplify.cc:2002
+#: cp/cp-gimplify.cc:2054
 #, gcc-internal-format
 msgid "%<throw%> will always call %<terminate%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:2005
+#: cp/cp-gimplify.cc:2057
 #, gcc-internal-format
 msgid "in C++11 destructors default to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:2017
+#: cp/cp-gimplify.cc:2069
 #, gcc-internal-format
 msgid ""
 "in C++11 this %<throw%> will call %<terminate%> because destructors default "
 "to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3614
+#: cp/cp-gimplify.cc:3637
 #, gcc-internal-format
 msgid "ignoring attribute %qE after earlier %qE"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3656
+#: cp/cp-gimplify.cc:3680
 #, gcc-internal-format
 msgid "pack expansion of %qE attribute"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3659
+#: cp/cp-gimplify.cc:3683
 #, gcc-internal-format
 msgid "use fold expression in the attribute argument instead"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3698 cp/cp-gimplify.cc:3710 cp/decl.cc:4465
-#: cp/method.cc:984
+#: cp/cp-gimplify.cc:3722 cp/cp-gimplify.cc:3734 cp/decl.cc:4509
+#: cp/method.cc:990
 #, gcc-internal-format
 msgid "%qD is not a type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3716
+#: cp/cp-gimplify.cc:3740
 #, gcc-internal-format
 msgid "%qD is not a class type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3733
+#: cp/cp-gimplify.cc:3757
 #, gcc-internal-format
 msgid "%qD does not have %<const char *%> type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3743
+#: cp/cp-gimplify.cc:3767
 #, gcc-internal-format
 msgid "%qD does not have integral type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3755
+#: cp/cp-gimplify.cc:3779
 #, gcc-internal-format
 msgid ""
 "%<std::source_location::__impl%> does not contain only non-static data "
 "members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>"
 msgstr ""
 
-#: cp/cvt.cc:92
+#: cp/cvt.cc:93
 msgid "cannot convert from incomplete type %qH to %qI"
 msgstr ""
 
-#: cp/cvt.cc:102
+#: cp/cvt.cc:103
 msgid "conversion of %qE from %qH to %qI is ambiguous"
 msgstr ""
 
-#: cp/cvt.cc:174 cp/cvt.cc:201 cp/cvt.cc:255
+#: cp/cvt.cc:175 cp/cvt.cc:202 cp/cvt.cc:256
 msgid "cannot convert %qE from type %qH to type %qI"
 msgstr ""
 
-#: cp/cvt.cc:391
+#: cp/cvt.cc:392
 #, gcc-internal-format
 msgid "initialization of volatile reference type %q#T from rvalue of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:394
+#: cp/cvt.cc:395
 #, gcc-internal-format
 msgid "conversion to volatile reference type %q#T from rvalue of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:397
+#: cp/cvt.cc:398
 #, gcc-internal-format
 msgid "initialization of non-const reference type %q#T from rvalue of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:400
+#: cp/cvt.cc:401
 #, gcc-internal-format
 msgid "conversion to non-const reference type %q#T from rvalue of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:476
+#: cp/cvt.cc:477
 msgid "conversion from %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/cvt.cc:498 cp/typeck.cc:8827
+#: cp/cvt.cc:499 cp/typeck.cc:8914
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr ""
 
-#: cp/cvt.cc:526
+#: cp/cvt.cc:527
 msgid "cannot convert type %qH to type %qI"
 msgstr ""
 
-#: cp/cvt.cc:818
+#: cp/cvt.cc:819
 #, gcc-internal-format
 msgid "conversion from %q#T to %q#T"
 msgstr ""
 
-#: cp/cvt.cc:836
+#: cp/cvt.cc:837
 #, gcc-internal-format
 msgid ""
 "the result of the conversion is unspecified because %qE is outside the range "
 "of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:847 cp/cvt.cc:902
+#: cp/cvt.cc:848 cp/cvt.cc:903
 #, gcc-internal-format
 msgid "%q#T used where a %qT was expected"
 msgstr ""
 
-#: cp/cvt.cc:856
+#: cp/cvt.cc:857
 #, gcc-internal-format
 msgid "could not convert %qE from %<void%> to %<bool%>"
 msgstr ""
 
-#: cp/cvt.cc:918
+#: cp/cvt.cc:919
 #, gcc-internal-format
 msgid "%q#T used where a floating-point value was expected"
 msgstr ""
 
-#: cp/cvt.cc:976
+#: cp/cvt.cc:977
 msgid "conversion from %qH to non-scalar type %qI requested"
 msgstr ""
 
-#: cp/cvt.cc:1088
+#: cp/cvt.cc:1089
 #, gcc-internal-format
 msgid ""
-"ignoring return value of %qD, declared with attribute %<nodiscard%>: %<%s%>"
+"ignoring return value of %qD, declared with attribute %<nodiscard%>: %qs"
 msgstr ""
 
-#: cp/cvt.cc:1090
+#: cp/cvt.cc:1091
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1106
+#: cp/cvt.cc:1108
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>: "
-"%<%s%>"
+"%qs"
 msgstr ""
 
-#: cp/cvt.cc:1108
+#: cp/cvt.cc:1110
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1130
+#: cp/cvt.cc:1134
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD, declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: cp/cvt.cc:1184
+#: cp/cvt.cc:1188
 #, gcc-internal-format
 msgid "pseudo-destructor is not called"
 msgstr ""
 
-#: cp/cvt.cc:1282 rust/backend/rust-tree.cc:339
+#: cp/cvt.cc:1291 rust/backend/rust-tree.cc:396
 #, gcc-internal-format
-msgid "conversion to void will not access object of incomplete type %qT"
+msgid "conversion to void will not access object of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1286 rust/backend/rust-tree.cc:345
+#: cp/cvt.cc:1295 rust/backend/rust-tree.cc:402
 #, gcc-internal-format
 msgid ""
-"indirection will not access object of incomplete type %qT in second operand "
-"of conditional expression"
+"implicit dereference will not access object of type %qT in second operand of "
+"conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1291 rust/backend/rust-tree.cc:352
+#: cp/cvt.cc:1300 rust/backend/rust-tree.cc:409
 #, gcc-internal-format
 msgid ""
-"indirection will not access object of incomplete type %qT in third operand "
-"of conditional expression"
+"implicit dereference will not access object of type %qT in third operand of "
+"conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1296 rust/backend/rust-tree.cc:359
+#: cp/cvt.cc:1305 rust/backend/rust-tree.cc:416
 #, gcc-internal-format
 msgid ""
-"indirection will not access object of incomplete type %qT in right operand "
-"of comma operator"
+"implicit dereference will not access object of type %qT in right operand of "
+"comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1301 rust/backend/rust-tree.cc:366
+#: cp/cvt.cc:1310 rust/backend/rust-tree.cc:423
 #, gcc-internal-format
 msgid ""
-"indirection will not access object of incomplete type %qT in left operand of "
+"implicit dereference will not access object of type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1306 rust/backend/rust-tree.cc:373
+#: cp/cvt.cc:1315 rust/backend/rust-tree.cc:430
 #, gcc-internal-format
-msgid "indirection will not access object of incomplete type %qT in statement"
+msgid "implicit dereference will not access object of type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1310 rust/backend/rust-tree.cc:379
+#: cp/cvt.cc:1319 rust/backend/rust-tree.cc:436
 #, gcc-internal-format
 msgid ""
-"indirection will not access object of incomplete type %qT in for increment "
+"implicit dereference will not access object of type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1326 rust/backend/rust-tree.cc:396
+#: cp/cvt.cc:1338 rust/backend/rust-tree.cc:339
 #, gcc-internal-format
-msgid "conversion to void will not access object of type %qT"
+msgid "conversion to void will not access object of incomplete type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1330 rust/backend/rust-tree.cc:402
+#: cp/cvt.cc:1342 rust/backend/rust-tree.cc:345
 #, gcc-internal-format
 msgid ""
-"implicit dereference will not access object of type %qT in second operand of "
-"conditional expression"
+"indirection will not access object of incomplete type %qT in second operand "
+"of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1335 rust/backend/rust-tree.cc:409
+#: cp/cvt.cc:1347 rust/backend/rust-tree.cc:352
 #, gcc-internal-format
 msgid ""
-"implicit dereference will not access object of type %qT in third operand of "
-"conditional expression"
+"indirection will not access object of incomplete type %qT in third operand "
+"of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1340 rust/backend/rust-tree.cc:416
+#: cp/cvt.cc:1352 rust/backend/rust-tree.cc:359
 #, gcc-internal-format
 msgid ""
-"implicit dereference will not access object of type %qT in right operand of "
-"comma operator"
+"indirection will not access object of incomplete type %qT in right operand "
+"of comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1345 rust/backend/rust-tree.cc:423
+#: cp/cvt.cc:1357 rust/backend/rust-tree.cc:366
 #, gcc-internal-format
 msgid ""
-"implicit dereference will not access object of type %qT in left operand of "
+"indirection will not access object of incomplete type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1350 rust/backend/rust-tree.cc:430
+#: cp/cvt.cc:1362 rust/backend/rust-tree.cc:373
 #, gcc-internal-format
-msgid "implicit dereference will not access object of type %qT in statement"
+msgid "indirection will not access object of incomplete type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1354 rust/backend/rust-tree.cc:436
+#: cp/cvt.cc:1366 rust/backend/rust-tree.cc:379
 #, gcc-internal-format
 msgid ""
-"implicit dereference will not access object of type %qT in for increment "
+"indirection will not access object of incomplete type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1368 rust/backend/rust-tree.cc:450
+#: cp/cvt.cc:1380 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:1373 rust/backend/rust-tree.cc:456
+#: cp/cvt.cc:1385 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:1378 rust/backend/rust-tree.cc:463
+#: cp/cvt.cc:1390 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:1383 rust/backend/rust-tree.cc:470
+#: cp/cvt.cc:1395 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:1388 rust/backend/rust-tree.cc:477
+#: cp/cvt.cc:1400 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:1393 rust/backend/rust-tree.cc:484
+#: cp/cvt.cc:1405 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:1398 rust/backend/rust-tree.cc:490
+#: cp/cvt.cc:1410 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:1440 rust/backend/rust-tree.cc:531
+#: cp/cvt.cc:1449 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:1444 rust/backend/rust-tree.cc:537
+#: cp/cvt.cc:1453 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:1449 rust/backend/rust-tree.cc:544
+#: cp/cvt.cc:1458 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:1454 rust/backend/rust-tree.cc:551
+#: cp/cvt.cc:1463 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:1459 rust/backend/rust-tree.cc:557
+#: cp/cvt.cc:1468 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:1464 rust/backend/rust-tree.cc:563
+#: cp/cvt.cc:1473 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:1468 rust/backend/rust-tree.cc:569
+#: cp/cvt.cc:1477 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:1524
+#: cp/cvt.cc:1538
 #, gcc-internal-format
 msgid "conversion to void cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1528
+#: cp/cvt.cc:1542
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression cannot resolve address of "
 "overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1532
+#: cp/cvt.cc:1546
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression cannot resolve address of overloaded "
 "function"
 msgstr ""
 
-#: cp/cvt.cc:1536
+#: cp/cvt.cc:1550
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1540
+#: cp/cvt.cc:1554
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1544
+#: cp/cvt.cc:1558
 #, gcc-internal-format
 msgid "statement cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1548
+#: cp/cvt.cc:1562
 #, gcc-internal-format
 msgid "for increment expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1564
+#: cp/cvt.cc:1578
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1569
+#: cp/cvt.cc:1583
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1574
+#: cp/cvt.cc:1588
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1579
+#: cp/cvt.cc:1593
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1584
+#: cp/cvt.cc:1598
 #, gcc-internal-format
 msgid "statement is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1589
+#: cp/cvt.cc:1603
 #, gcc-internal-format
 msgid "for increment expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1618
+#: cp/cvt.cc:1632
 #, gcc-internal-format
 msgid "second operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1623
+#: cp/cvt.cc:1637
 #, gcc-internal-format
 msgid "third operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1628
+#: cp/cvt.cc:1642
 #, gcc-internal-format
 msgid "right operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1632
+#: cp/cvt.cc:1646
 #, gcc-internal-format
 msgid "left operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1636
+#: cp/cvt.cc:1650
 #, gcc-internal-format
 msgid "statement has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1640
+#: cp/cvt.cc:1654
 #, gcc-internal-format
 msgid "for increment expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1793
+#: cp/cvt.cc:1809
 #, gcc-internal-format
 msgid "converting NULL to non-pointer type"
 msgstr ""
 
-#: cp/cvt.cc:1911
+#: cp/cvt.cc:1927
 #, gcc-internal-format
 msgid "default type conversion cannot deduce template argument for %qD"
 msgstr ""
 
-#: cp/cvt.cc:1926
+#: cp/cvt.cc:1943
 #, gcc-internal-format
 msgid "ambiguous default type conversion from %qT"
 msgstr ""
 
-#: cp/cvt.cc:1929
+#: cp/cvt.cc:1946
 #, gcc-internal-format
 msgid "  candidate conversions include %qD and %qD"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2315
+#: cp/cxx-pretty-print.cc:2339
 #, gcc-internal-format
 msgid "template-parameter-"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2329
+#: cp/cxx-pretty-print.cc:2353
 #, gcc-internal-format
 msgid "requires"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2849 cp/error.cc:399
+#: cp/cxx-pretty-print.cc:2851 cp/error.cc:501
 #, gcc-internal-format
 msgid "with"
 msgstr ""
 
-#: cp/decl.cc:715
+#: cp/decl.cc:733
+#, gcc-internal-format
+msgid "unused using-declaration %qD"
+msgstr ""
+
+#: cp/decl.cc:737
 #, gcc-internal-format
 msgid "unused structured binding declaration"
 msgstr ""
 
-#: cp/decl.cc:718
+#: cp/decl.cc:740
 #, gcc-internal-format
 msgid "unused variable %qD"
 msgstr ""
 
-#: cp/decl.cc:728
+#: cp/decl.cc:750
 #, gcc-internal-format
 msgid "structured binding declaration set but not used"
 msgstr ""
 
-#: cp/decl.cc:883
+#: cp/decl.cc:905
 #, gcc-internal-format
 msgid "%qF declared %<static%> but never defined"
 msgstr ""
 
-#: cp/decl.cc:890
+#: cp/decl.cc:912
 #, gcc-internal-format
 msgid "odr-used inline variable %qD is not defined"
 msgstr ""
 
-#: cp/decl.cc:1345
+#: cp/decl.cc:1357
 #, gcc-internal-format
 msgid "%qD was declared %<extern%> and later %<static%>"
 msgstr ""
 
-#: cp/decl.cc:1385
+#: cp/decl.cc:1397
 #, gcc-internal-format
 msgid "declaration of %qF has a different exception specifier"
 msgstr ""
 
-#: cp/decl.cc:1399
+#: cp/decl.cc:1427
 #, gcc-internal-format
 msgid "from previous declaration %qF"
 msgstr ""
 
-#: cp/decl.cc:1452
+#: cp/decl.cc:1488
 #, gcc-internal-format
 msgid "redeclaration %qD differs in %qs from previous declaration"
 msgstr ""
 
-#: cp/decl.cc:1456 cp/decl.cc:16632
+#: cp/decl.cc:1492 cp/decl.cc:17224
 #, gcc-internal-format
 msgid "previous declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:1485
-#, gcc-internal-format
-msgid "cannot specialize concept %q#D"
-msgstr ""
-
-#: cp/decl.cc:1507
+#: cp/decl.cc:1513
 #, gcc-internal-format
 msgid "redeclaration of %q#D may not have default arguments"
 msgstr ""
 
-#: cp/decl.cc:1536
+#: cp/decl.cc:1542
 #, gcc-internal-format
 msgid ""
 "friend declaration of %q#D specifies default arguments and isn%'t the only "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:1539
+#: cp/decl.cc:1545
 #, gcc-internal-format
 msgid "previous declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:1591
+#: cp/decl.cc:1598
 #, gcc-internal-format
 msgid "ambiguating new declaration %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1593 cp/decl.cc:2018
+#: cp/decl.cc:1600 cp/decl.cc:2027
 #, gcc-internal-format
 msgid "old declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1633
+#: cp/decl.cc:1640
 #, gcc-internal-format
 msgid "redefinition of default argument for %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1635
+#: cp/decl.cc:1642
 #, gcc-internal-format
 msgid "original definition appeared here"
 msgstr ""
 
-#: cp/decl.cc:1701
+#: cp/decl.cc:1708
 #, gcc-internal-format
 msgid "built-in function %qD declared as non-function"
 msgstr ""
 
-#: cp/decl.cc:1714 cp/decl.cc:1840
+#: cp/decl.cc:1721 cp/decl.cc:1847
 #, gcc-internal-format
 msgid "shadowing built-in function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1715 cp/decl.cc:1841
+#: cp/decl.cc:1722 cp/decl.cc:1848
 #, gcc-internal-format
 msgid "shadowing library function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1723
+#: cp/decl.cc:1730
 #, gcc-internal-format
 msgid "library function %q#D redeclared as non-function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1727 cp/decl.cc:1788
+#: cp/decl.cc:1734 cp/decl.cc:1795
 #, gcc-internal-format
 msgid "declaration of %q#D conflicts with built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1815
+#: cp/decl.cc:1822
 #, gcc-internal-format
 msgid "definition of %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1821 cp/decl.cc:1835
+#: cp/decl.cc:1828 cp/decl.cc:1842
 #, gcc-internal-format
 msgid "new declaration %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1825
+#: cp/decl.cc:1832
 #, gcc-internal-format
 msgid "ignoring the %q#D declaration"
 msgstr ""
 
-#: cp/decl.cc:1929
+#: cp/decl.cc:1937
 #, gcc-internal-format
 msgid "literal operator %q#D conflicts with raw literal operator"
 msgstr ""
 
-#: cp/decl.cc:1933
+#: cp/decl.cc:1941
 #, gcc-internal-format
 msgid "raw literal operator %q#D conflicts with literal operator template"
 msgstr ""
 
-#: cp/decl.cc:1949
+#: cp/decl.cc:1957
 #, gcc-internal-format
 msgid "%q#D redeclared as different kind of entity"
 msgstr ""
 
-#: cp/decl.cc:1973
+#: cp/decl.cc:1982
 #, gcc-internal-format
 msgid "conflicting declaration of template %q#D"
 msgstr ""
 
-#: cp/decl.cc:1995
+#: cp/decl.cc:2003
 #, gcc-internal-format
 msgid "conflicting declaration of C function %q#D"
 msgstr ""
 
-#: cp/decl.cc:2016
+#: cp/decl.cc:2025
 #, gcc-internal-format
 msgid "ambiguating new declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:2026
+#: cp/decl.cc:2036
 #, gcc-internal-format
 msgid "conflicting declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:2028
+#: cp/decl.cc:2038
 #, gcc-internal-format
 msgid "previous declaration as %q#D"
 msgstr ""
 
-#: cp/decl.cc:2038
+#: cp/decl.cc:2049
 #, gcc-internal-format
 msgid "redeclaration of %<pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/decl.cc:2040
+#: cp/decl.cc:2051
 #, gcc-internal-format
 msgid "previous %<pragma omp declare reduction%> declaration"
 msgstr ""
 
-#: cp/decl.cc:2098
+#: cp/decl.cc:2109
 #, gcc-internal-format
 msgid "%q#D previously defined here"
 msgstr ""
 
-#: cp/decl.cc:2099 cp/name-lookup.cc:3366 cp/name-lookup.cc:3404
-#: cp/name-lookup.cc:3430
+#: cp/decl.cc:2110 cp/name-lookup.cc:3388 cp/name-lookup.cc:3426
+#: cp/name-lookup.cc:3452
 #, gcc-internal-format
 msgid "%q#D previously declared here"
 msgstr ""
 
-#: cp/decl.cc:2107
+#: cp/decl.cc:2118
 #, gcc-internal-format
 msgid "parameter declaration is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2112
+#: cp/decl.cc:2123
 #, gcc-internal-format
 msgid "structured binding at namespace scope is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2116
+#: cp/decl.cc:2127
 #, gcc-internal-format
 msgid "static structured binding is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2120
+#: cp/decl.cc:2131
 #, gcc-internal-format
 msgid "extern structured binding is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2127
+#: cp/decl.cc:2138
 #, gcc-internal-format
 msgid "static data member is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2130
+#: cp/decl.cc:2141
 #, gcc-internal-format
 msgid "variable at namespace scope is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2133
+#: cp/decl.cc:2144
 #, gcc-internal-format
 msgid "static variable is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2136
+#: cp/decl.cc:2147
 #, gcc-internal-format
 msgid "extern variable is not name-independent"
 msgstr ""
 
-#: cp/decl.cc:2148
+#: cp/decl.cc:2159
 #, gcc-internal-format
 msgid "prototype specified for %q#D"
 msgstr ""
 
-#: cp/decl.cc:2150
+#: cp/decl.cc:2161
 #, gcc-internal-format
 msgid "previous non-prototype definition here"
 msgstr ""
 
-#: cp/decl.cc:2190
+#: cp/decl.cc:2201
 #, gcc-internal-format
 msgid "conflicting declaration of %q#D with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2193
+#: cp/decl.cc:2204
 #, gcc-internal-format
 msgid "previous declaration with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2242 cp/decl.cc:2252
+#: cp/decl.cc:2253 cp/decl.cc:2263
 #, gcc-internal-format
 msgid "default argument given for parameter %d of %q#D"
 msgstr ""
 
-#: cp/decl.cc:2245 cp/decl.cc:2255
+#: cp/decl.cc:2256 cp/decl.cc:2266
 #, gcc-internal-format
 msgid "previous specification in %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2310 cp/decl.cc:16650
+#: cp/decl.cc:2321 cp/decl.cc:17242
 #, gcc-internal-format
 msgid "conflicting exporting for declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:2312 cp/decl.cc:16652
+#: cp/decl.cc:2323 cp/decl.cc:17244
 #, gcc-internal-format
 msgid "previously declared here without exporting"
 msgstr ""
 
-#: cp/decl.cc:2340
+#: cp/decl.cc:2353
 #, gcc-internal-format
 msgid "previous definition of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2341
+#: cp/decl.cc:2354
 #, gcc-internal-format
 msgid "previous declaration of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2354
+#: cp/decl.cc:2369
 #, gcc-internal-format
 msgid ""
 "function %qD declared %<[[noreturn]]%> but its first declaration was not"
 msgstr ""
 
-#: cp/decl.cc:2401
+#: cp/decl.cc:2416
 #, gcc-internal-format
 msgid "redundant redeclaration of %qD in same scope"
 msgstr ""
 
-#: cp/decl.cc:2417
+#: cp/decl.cc:2432
 #, gcc-internal-format
 msgid "deleted definition of %qD is not first declaration"
 msgstr ""
@@ -58206,12 +59162,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:2919
+#: cp/decl.cc:2947
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr ""
 
-#: cp/decl.cc:3101
+#: cp/decl.cc:3129
 #, gcc-internal-format
 msgid ""
 "%qD: visibility attribute ignored because it conflicts with previous "
@@ -58219,33 +59175,33 @@ msgid ""
 msgstr ""
 
 #. Reject two definitions.
-#: cp/decl.cc:3365 cp/decl.cc:3394 cp/decl.cc:3432 cp/decl.cc:3449
-#: cp/decl.cc:3548
+#: cp/decl.cc:3407 cp/decl.cc:3436 cp/decl.cc:3474 cp/decl.cc:3491
+#: cp/decl.cc:3590
 #, gcc-internal-format
 msgid "redefinition of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3381
+#: cp/decl.cc:3423
 #, gcc-internal-format
 msgid "%qD conflicts with used function"
 msgstr ""
 
-#: cp/decl.cc:3391
+#: cp/decl.cc:3433
 #, gcc-internal-format
 msgid "%q#D not declared in class"
 msgstr ""
 
-#: cp/decl.cc:3405 cp/decl.cc:3459
+#: cp/decl.cc:3447 cp/decl.cc:3501
 #, gcc-internal-format
 msgid "%q+D redeclared inline with %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3408 cp/decl.cc:3462
+#: cp/decl.cc:3450 cp/decl.cc:3504
 #, gcc-internal-format
 msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3418
+#: cp/decl.cc:3460
 #, gcc-internal-format
 msgid "comparison operator %q+D defaulted after its first declaration"
 msgstr ""
@@ -58253,2609 +59209,2621 @@ msgstr ""
 #. is_primary=
 #. is_partial=
 #. is_friend_decl=
-#: cp/decl.cc:3479
+#: cp/decl.cc:3521
 #, gcc-internal-format
 msgid "redeclaration of friend %q#D may not have default template arguments"
 msgstr ""
 
-#: cp/decl.cc:3494
+#: cp/decl.cc:3536
 #, gcc-internal-format
 msgid "thread-local declaration of %q#D follows non-thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3497
+#: cp/decl.cc:3539
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q#D follows thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3512 cp/decl.cc:3556 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
+#: cp/decl.cc:3554 cp/decl.cc:3598 cp/name-lookup.cc:2913
+#: cp/name-lookup.cc:3420 cp/name-lookup.cc:3423 cp/name-lookup.cc:3446
+#: cp/name-lookup.cc:3449
 #, gcc-internal-format
 msgid "redeclaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3539
+#: cp/decl.cc:3581
 #, gcc-internal-format
 msgid "redundant redeclaration of %<constexpr%> static data member %qD"
 msgstr ""
 
-#: cp/decl.cc:3607
+#: cp/decl.cc:3650
 #, gcc-internal-format
 msgid "local label %qE conflicts with existing label"
 msgstr ""
 
-#: cp/decl.cc:3608
+#: cp/decl.cc:3651
 #, gcc-internal-format
 msgid "previous label"
 msgstr ""
 
-#: cp/decl.cc:3698
+#: cp/decl.cc:3741
 #, gcc-internal-format
 msgid "jump to label %qD"
 msgstr ""
 
-#: cp/decl.cc:3699
+#: cp/decl.cc:3742
 #, gcc-internal-format
 msgid "jump to case label"
 msgstr ""
 
-#: cp/decl.cc:3703
+#: cp/decl.cc:3746
 #, gcc-internal-format
 msgid "  as a possible target of computed goto"
 msgstr ""
 
-#: cp/decl.cc:3705
+#: cp/decl.cc:3748
 #, gcc-internal-format
 msgid "  from here"
 msgstr ""
 
-#: cp/decl.cc:3733 cp/decl.cc:3971
+#: cp/decl.cc:3777 cp/decl.cc:4016
 #, gcc-internal-format
 msgid "  exits OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3758
+#: cp/decl.cc:3802
 #, gcc-internal-format
 msgid "  crosses initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3770 cp/decl.cc:3937
+#: cp/decl.cc:3814 cp/decl.cc:3982
 #, gcc-internal-format
 msgid "  enters %<try%> block"
 msgstr ""
 
-#: cp/decl.cc:3776 cp/decl.cc:3926 cp/decl.cc:3939
+#: cp/decl.cc:3820 cp/decl.cc:3971 cp/decl.cc:3984
 #, gcc-internal-format
 msgid "  enters %<catch%> block"
 msgstr ""
 
-#: cp/decl.cc:3782 cp/decl.cc:3953
+#: cp/decl.cc:3826 cp/decl.cc:3998
 #, gcc-internal-format
 msgid "  enters OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3788 cp/decl.cc:3941
+#: cp/decl.cc:3832 cp/decl.cc:3986
 #, gcc-internal-format
 msgid "  enters synchronized or atomic statement"
 msgstr ""
 
-#: cp/decl.cc:3794 cp/decl.cc:3947
+#: cp/decl.cc:3838 cp/decl.cc:3992
 #, gcc-internal-format
 msgid "  enters statement expression"
 msgstr ""
 
-#: cp/decl.cc:3801 cp/decl.cc:3943
+#: cp/decl.cc:3845 cp/decl.cc:3988
 #, gcc-internal-format
 msgid "  enters %<constexpr if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3807 cp/decl.cc:3945
+#: cp/decl.cc:3851 cp/decl.cc:3990
 #, gcc-internal-format
 msgid "  enters %<consteval if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3838 cp/decl.cc:4012
+#: cp/decl.cc:3882 cp/decl.cc:4056
 #, gcc-internal-format
 msgid "  does not destroy %qD"
 msgstr ""
 
-#: cp/decl.cc:3840 cp/decl.cc:3995
+#: cp/decl.cc:3884 cp/decl.cc:4040
 #, gcc-internal-format
 msgid "  does not clean up handled exception"
 msgstr ""
 
-#: cp/decl.cc:3931
+#: cp/decl.cc:3976
 #, gcc-internal-format
 msgid "  skips initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:4472 cp/parser.cc:7210
+#: cp/decl.cc:4516 cp/parser.cc:7467
 #, gcc-internal-format
 msgid "%qD used without template arguments"
 msgstr ""
 
-#: cp/decl.cc:4478
+#: cp/decl.cc:4522
 #, gcc-internal-format
 msgid "%qD is a function, not a type"
 msgstr ""
 
-#: cp/decl.cc:4489
+#: cp/decl.cc:4533
 #, gcc-internal-format
 msgid "%q#T is not a class"
 msgstr ""
 
-#: cp/decl.cc:4528 cp/decl.cc:4629
+#: cp/decl.cc:4572 cp/decl.cc:4673
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4529
+#: cp/decl.cc:4573
 #, gcc-internal-format
 msgid "no type named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4542
+#: cp/decl.cc:4587
 #, gcc-internal-format
 msgid "lookup of %qT in %qT is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:4551
+#: cp/decl.cc:4596
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a class template"
 msgstr ""
 
-#: cp/decl.cc:4564
+#: cp/decl.cc:4609
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#D, which is not a type"
 msgstr ""
 
-#: cp/decl.cc:4638
+#: cp/decl.cc:4683
 #, gcc-internal-format
 msgid "template parameters do not match template %qD"
 msgstr ""
 
-#: cp/decl.cc:4995
+#: cp/decl.cc:5161
 #, gcc-internal-format
 msgid "%<-faligned-new=%d%> is not a power of two"
 msgstr ""
 
-#: cp/decl.cc:5169
+#: cp/decl.cc:5216
 #, gcc-internal-format
 msgid "%<--param destructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:5173
+#: cp/decl.cc:5220
 #, gcc-internal-format
 msgid ""
 "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-"
 "line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:5186
+#: cp/decl.cc:5233
 #, gcc-internal-format
 msgid "%<--param constructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:5191
+#: cp/decl.cc:5238
 #, gcc-internal-format
 msgid ""
 "%<--param constructive-interference-size=%d%> is greater than %<--param l1-"
 "cache-line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:5518
+#: cp/decl.cc:5565
 #, gcc-internal-format
 msgid ""
 "%q#D invalid; an anonymous union may only have public non-static data members"
 msgstr ""
 
-#: cp/decl.cc:5528 cp/parser.cc:23678
+#: cp/decl.cc:5575 cp/parser.cc:24234
 #, gcc-internal-format
 msgid "this flexibility is deprecated and will be removed"
 msgstr ""
 
-#: cp/decl.cc:5557
+#: cp/decl.cc:5604
 #, gcc-internal-format
 msgid "anonymous struct with base classes"
 msgstr ""
 
-#: cp/decl.cc:5569
+#: cp/decl.cc:5616
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5572
+#: cp/decl.cc:5619
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5575
+#: cp/decl.cc:5622
 #, gcc-internal-format
 msgid ""
 "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5594
+#: cp/decl.cc:5641
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5597
+#: cp/decl.cc:5644
 #, gcc-internal-format
 msgid "attribute for %q#T must follow the %qs keyword"
 msgstr ""
 
-#: cp/decl.cc:5639
+#: cp/decl.cc:5686
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr ""
 
-#: cp/decl.cc:5644
+#: cp/decl.cc:5691
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr ""
 
-#: cp/decl.cc:5661
+#: cp/decl.cc:5708
 #, gcc-internal-format
 msgid "%<auto%> can only be specified for variables or function declarations"
 msgstr ""
 
-#: cp/decl.cc:5694
+#: cp/decl.cc:5741
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr ""
 
-#: cp/decl.cc:5702
+#: cp/decl.cc:5749
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr ""
 
-#: cp/decl.cc:5709
+#: cp/decl.cc:5756
 #, gcc-internal-format
 msgid "%<inline%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5712
+#: cp/decl.cc:5759
 #, gcc-internal-format
 msgid "%<virtual%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5717
+#: cp/decl.cc:5764
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr ""
 
-#: cp/decl.cc:5720
+#: cp/decl.cc:5767
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr ""
 
-#: cp/decl.cc:5723
+#: cp/decl.cc:5770
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5727
+#: cp/decl.cc:5774
 #, gcc-internal-format
 msgid "%<const%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5731
+#: cp/decl.cc:5778
 #, gcc-internal-format
 msgid "%<volatile%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5735
+#: cp/decl.cc:5782
 #, gcc-internal-format
 msgid "%<__restrict%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5739
+#: cp/decl.cc:5786
 #, gcc-internal-format
 msgid "%<__thread%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5743
+#: cp/decl.cc:5790
 #, gcc-internal-format
 msgid "%<typedef%> was ignored in this declaration"
 msgstr ""
 
-#: cp/decl.cc:5746 cp/decl.cc:5749 cp/decl.cc:5752
+#: cp/decl.cc:5793 cp/decl.cc:5796 cp/decl.cc:5799
 #, gcc-internal-format
 msgid "%qs cannot be used for type declarations"
 msgstr ""
 
-#: cp/decl.cc:5774
+#: cp/decl.cc:5822
 #, gcc-internal-format
 msgid "attribute ignored in explicit instantiation %q#T"
 msgstr ""
 
-#: cp/decl.cc:5777
+#: cp/decl.cc:5825
 #, gcc-internal-format
 msgid "no attribute can be applied to an explicit instantiation"
 msgstr ""
 
-#: cp/decl.cc:5856
+#: cp/decl.cc:5838 cp/decl.cc:13768 cp/decl.cc:15402 cp/parser.cc:16016
+#: cp/parser.cc:21955 cp/parser.cc:28844
+#, gcc-internal-format
+msgid "attribute ignored"
+msgstr ""
+
+#: cp/decl.cc:5840 cp/decl.cc:13769
+#, gcc-internal-format
+msgid "an attribute that appertains to a type-specifier is ignored"
+msgstr ""
+
+#: cp/decl.cc:5915
 #, 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:5860
+#: cp/decl.cc:5919
 #, gcc-internal-format
 msgid ""
 "ignoring attributes applied to dependent type %qT without an associated "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:5926 cp/decl2.cc:1064
+#: cp/decl.cc:5985 cp/decl2.cc:1069 cp/decl2.cc:1271
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %qs instead)"
 msgstr ""
 
-#: cp/decl.cc:5939
+#: cp/decl.cc:5998
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr ""
 
-#: cp/decl.cc:5977
+#: cp/decl.cc:6036
 #, gcc-internal-format
 msgid "definition of %q#D is marked %<dllimport%>"
 msgstr ""
 
-#: cp/decl.cc:6001
+#: cp/decl.cc:6063
 #, gcc-internal-format
 msgid "%q+#D is not a static data member of %q#T"
 msgstr ""
 
-#: cp/decl.cc:6009
+#: cp/decl.cc:6072
 #, gcc-internal-format
 msgid "non-member-template declaration of %qD"
 msgstr ""
 
-#: cp/decl.cc:6010
+#: cp/decl.cc:6073
 #, gcc-internal-format
 msgid "does not match member template declaration here"
 msgstr ""
 
-#: cp/decl.cc:6022
+#: cp/decl.cc:6085
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:6034
+#: cp/decl.cc:6097
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr ""
 
-#: cp/decl.cc:6084 cp/decl.cc:6088
+#: cp/decl.cc:6147 cp/decl.cc:6151
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr ""
 
-#: cp/decl.cc:6106
+#: cp/decl.cc:6169
 #, gcc-internal-format
 msgid ""
 "block-scope extern declaration %q#D must not be attached to a named module"
 msgstr ""
 
-#: cp/decl.cc:6142
+#: cp/decl.cc:6205
 #, gcc-internal-format
 msgid ""
 "%qD defined %<thread_local%> in %qs function only available with %<-std=c+"
-"+2b%> or %<-std=gnu++2b%>"
+"+23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/decl.cc:6148
+#: cp/decl.cc:6211
 #, gcc-internal-format
 msgid ""
-"%qD defined %<static%> in %qs function only available with %<-std=c++2b%> or "
-"%<-std=gnu++2b%>"
+"%qD defined %<static%> in %qs function only available with %<-std=c++23%> or "
+"%<-std=gnu++23%>"
 msgstr ""
 
-#: cp/decl.cc:6214
+#: cp/decl.cc:6277
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr ""
 
-#: cp/decl.cc:6223 cp/decl.cc:7557
+#: cp/decl.cc:6286 cp/decl.cc:7761
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:6234
+#: cp/decl.cc:6297
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr ""
 
-#: cp/decl.cc:6304
+#: cp/decl.cc:6367
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr ""
 
-#: cp/decl.cc:6387
+#: cp/decl.cc:6450
 #, gcc-internal-format
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6393
+#: cp/decl.cc:6456
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6412
+#: cp/decl.cc:6475
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
 
-#: cp/decl.cc:6416
+#: cp/decl.cc:6479
 #, gcc-internal-format
 msgid "C99 designator %qE is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:6477
+#: cp/decl.cc:6544
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr ""
 
-#: cp/decl.cc:6484
+#: cp/decl.cc:6551
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr ""
 
-#: cp/decl.cc:6496
+#: cp/decl.cc:6563
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:6536
+#: cp/decl.cc:6603
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t known"
 msgstr ""
 
-#: cp/decl.cc:6561
+#: cp/decl.cc:6628
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t constant"
 msgstr ""
 
-#: cp/decl.cc:6645
+#: cp/decl.cc:6730
 #, gcc-internal-format
 msgid ""
 "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with "
 "multiple copies)"
 msgstr ""
 
-#: cp/decl.cc:6649
+#: cp/decl.cc:6734
 #, 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:6655
+#: cp/decl.cc:6741
 #, gcc-internal-format
 msgid "you can work around this by removing the initializer"
 msgstr ""
 
-#: cp/decl.cc:6697 rust/backend/rust-tree.cc:3278
+#: cp/decl.cc:6784 rust/backend/rust-tree.cc:3265
 #, gcc-internal-format
 msgid "uninitialized %<const %D%>"
 msgstr ""
 
-#: cp/decl.cc:6704 rust/backend/rust-tree.cc:3285
+#: cp/decl.cc:6791 rust/backend/rust-tree.cc:3272
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> function"
 msgstr ""
 
-#: cp/decl.cc:6713 rust/backend/rust-tree.cc:3294
+#: cp/decl.cc:6800 rust/backend/rust-tree.cc:3281
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> context"
 msgstr ""
 
-#: cp/decl.cc:6721
+#: cp/decl.cc:6808
 #, gcc-internal-format
 msgid "%q#T has no user-provided default constructor"
 msgstr ""
 
-#: cp/decl.cc:6725
+#: cp/decl.cc:6812
 #, gcc-internal-format
 msgid ""
 "constructor is not user-provided because it is explicitly defaulted in the "
 "class body"
 msgstr ""
 
-#: cp/decl.cc:6728
+#: cp/decl.cc:6815
 #, gcc-internal-format
 msgid "and the implicitly-defined constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/decl.cc:6921
+#: cp/decl.cc:7115
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
 msgstr ""
 
-#: cp/decl.cc:6993
+#: cp/decl.cc:7187
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
 msgstr ""
 
-#: cp/decl.cc:7037
+#: cp/decl.cc:7232
 #, gcc-internal-format
 msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
 msgstr ""
 
-#: cp/decl.cc:7053 cp/init.cc:3407 cp/search.cc:1230
+#: cp/decl.cc:7249 cp/init.cc:3425 cp/search.cc:1244
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:7058
+#: cp/decl.cc:7254
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr ""
 
-#: cp/decl.cc:7083
+#: cp/decl.cc:7279
 #, gcc-internal-format
 msgid "%qD is not a direct member of %qT"
 msgstr ""
 
-#: cp/decl.cc:7138
+#: cp/decl.cc:7335
 #, gcc-internal-format
 msgid "invalid initializer for %q#D"
 msgstr ""
 
-#: cp/decl.cc:7188
+#: cp/decl.cc:7389
 #, gcc-internal-format
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.cc:7227 cp/decl.cc:7515 cp/typeck2.cc:1593 cp/typeck2.cc:1923
-#: cp/typeck2.cc:1971 cp/typeck2.cc:2018
+#: cp/decl.cc:7428 cp/decl.cc:7719 cp/typeck2.cc:1635 cp/typeck2.cc:1970
+#: cp/typeck2.cc:2018 cp/typeck2.cc:2065
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
 
-#: cp/decl.cc:7269
+#: cp/decl.cc:7471
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:7279
+#: cp/decl.cc:7481
 #, gcc-internal-format
 msgid "too many braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:7412
+#: cp/decl.cc:7615
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr ""
 
-#: cp/decl.cc:7545
+#: cp/decl.cc:7749
 #, gcc-internal-format
 msgid "structured binding has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:7559
+#: cp/decl.cc:7763
 #, gcc-internal-format
 msgid "elements of array %q#T have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7572
+#: cp/decl.cc:7776
 #, gcc-internal-format
 msgid "variable-sized compound literal"
 msgstr ""
 
-#: cp/decl.cc:7628
+#: cp/decl.cc:7832
 #, gcc-internal-format
 msgid "%q#D has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7649
+#: cp/decl.cc:7853
 #, gcc-internal-format
 msgid "scalar object %qD requires one element in initializer"
 msgstr ""
 
-#: cp/decl.cc:7694
+#: cp/decl.cc:7898
 #, gcc-internal-format
 msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
 msgstr ""
 
-#: cp/decl.cc:7837
+#: cp/decl.cc:8041
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr ""
 
-#: cp/decl.cc:7876
+#: cp/decl.cc:8081
 #, gcc-internal-format
 msgid "initializer invalid for static member with constructor"
 msgstr ""
 
-#: cp/decl.cc:7878
+#: cp/decl.cc:8083
 #, gcc-internal-format
 msgid "non-constant in-class initialization invalid for static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7881
+#: cp/decl.cc:8086
 #, gcc-internal-format
 msgid ""
 "non-constant in-class initialization invalid for non-inline static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7886
+#: cp/decl.cc:8091
 #, gcc-internal-format
 msgid "(an out of class initialization is required)"
 msgstr ""
 
-#: cp/decl.cc:8088
+#: cp/decl.cc:8293
 #, gcc-internal-format
 msgid "reference %qD is initialized with itself"
 msgstr ""
 
-#: cp/decl.cc:8347
+#: cp/decl.cc:8495
+#, gcc-internal-format
+msgid "argument %d of %qE must be of %<omp_interop_t%>"
+msgstr ""
+
+#: cp/decl.cc:8663
 #, gcc-internal-format
 msgid "could not find variant declaration"
 msgstr ""
 
-#: cp/decl.cc:8371
+#: cp/decl.cc:8687
 #, gcc-internal-format
 msgid "%<declare variant%> on constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:8376
+#: cp/decl.cc:8692
 #, gcc-internal-format
 msgid "%<declare variant%> on destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:8381
+#: cp/decl.cc:8697
 #, gcc-internal-format
 msgid "%<declare variant%> on defaulted %qD"
 msgstr ""
 
-#: cp/decl.cc:8386
+#: cp/decl.cc:8702
 #, gcc-internal-format
 msgid "%<declare variant%> on deleted %qD"
 msgstr ""
 
-#: cp/decl.cc:8391
+#: cp/decl.cc:8707
 #, gcc-internal-format
 msgid "%<declare variant%> on virtual %qD"
 msgstr ""
 
-#: cp/decl.cc:8445
+#: cp/decl.cc:8772
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr ""
 
-#: cp/decl.cc:8466 cp/decl.cc:15246
+#: cp/decl.cc:8793 cp/decl.cc:15802
 #, gcc-internal-format
 msgid "ISO C++17 does not allow %<register%> storage class specifier"
 msgstr ""
 
-#: cp/decl.cc:8470 cp/decl.cc:15250
+#: cp/decl.cc:8797 cp/decl.cc:15806
 #, gcc-internal-format
 msgid "%<register%> storage class specifier used"
 msgstr ""
 
-#: cp/decl.cc:8515 cp/decl.cc:15213
+#: cp/decl.cc:8842 cp/decl.cc:15769
 #, gcc-internal-format
 msgid "declaration of %q#D has no initializer"
 msgstr ""
 
-#: cp/decl.cc:8551
+#: cp/decl.cc:8878
 #, gcc-internal-format
 msgid ""
 "initializer for %<decltype(auto) %D%> has function type; did you forget the "
 "%<()%>?"
 msgstr ""
 
-#: cp/decl.cc:8562
+#: cp/decl.cc:8890
 #, gcc-internal-format
 msgid "deduced type %qT for %qD is incomplete"
 msgstr ""
 
-#: cp/decl.cc:8703
+#. [basic.start.main]/3: A program that defines main as deleted
+#. is ill-formed.
+#: cp/decl.cc:8941
 #, gcc-internal-format
-msgid "variable concept has no initializer"
+msgid "%<::main%> cannot be deleted"
 msgstr ""
 
-#: cp/decl.cc:8762
+#: cp/decl.cc:9095
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:8805
+#: cp/decl.cc:9138
 #, gcc-internal-format
 msgid ""
 "%<constinit%> can only be applied to a variable with static or thread "
 "storage duration"
 msgstr ""
 
-#: cp/decl.cc:9000
+#: cp/decl.cc:9346
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr ""
 
-#: cp/decl.cc:9111
+#: cp/decl.cc:9580
+#, gcc-internal-format
+msgid "cannot decompose lambda closure type %qT"
+msgstr ""
+
+#: cp/decl.cc:9581
+#, gcc-internal-format
+msgid "lambda declared here"
+msgstr ""
+
+#: cp/decl.cc:9597
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous struct member"
 msgstr ""
 
-#: cp/decl.cc:9114
+#: cp/decl.cc:9600
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous union member"
 msgstr ""
 
-#: cp/decl.cc:9121
+#: cp/decl.cc:9608
 #, gcc-internal-format
 msgid "cannot decompose inaccessible member %qD of %qT"
 msgstr ""
 
-#: cp/decl.cc:9147
+#: cp/decl.cc:9631
+#, gcc-internal-format
+msgid "in base class of %qT"
+msgstr ""
+
+#: cp/decl.cc:9638
 #, 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:9156
+#: cp/decl.cc:9647
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT: its base classes %qT and %qT have non-"
 "static data members"
 msgstr ""
 
-#: cp/decl.cc:9393
+#: cp/decl.cc:9885
 #, gcc-internal-format
 msgid "structured binding refers to incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:9409
+#: cp/decl.cc:9901
+#, gcc-internal-format
+msgid "array initializer for structured binding declaration in condition"
+msgstr ""
+
+#: cp/decl.cc:9907
 #, gcc-internal-format
 msgid "cannot decompose variable length array %qT"
 msgstr ""
 
-#: cp/decl.cc:9418 cp/decl.cc:9497
+#: cp/decl.cc:9917 cp/decl.cc:9997
 #, 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:9422
+#: cp/decl.cc:9921
 #, 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:9425
+#: cp/decl.cc:9924
 #, 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:9466
+#: cp/decl.cc:9965
 #, gcc-internal-format
 msgid "cannot decompose variable length vector %qT"
 msgstr ""
 
-#: cp/decl.cc:9490
+#: cp/decl.cc:9989
 #, gcc-internal-format
 msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
 msgstr ""
 
-#: cp/decl.cc:9499
+#: cp/decl.cc:9999
 #, gcc-internal-format
 msgid "while %qT decomposes into %E elements"
 msgstr ""
 
-#: cp/decl.cc:9520
+#: cp/decl.cc:10046
 #, gcc-internal-format
 msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
 msgstr ""
 
-#: cp/decl.cc:9526
+#: cp/decl.cc:10052
 #, gcc-internal-format
 msgid "in initialization of structured binding variable %qD"
 msgstr ""
 
-#: cp/decl.cc:9555
+#: cp/decl.cc:10081
 #, gcc-internal-format
 msgid "cannot decompose union type %qT"
 msgstr ""
 
-#: cp/decl.cc:9560
+#: cp/decl.cc:10086
 #, gcc-internal-format
 msgid "cannot decompose non-array non-class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9565
-#, gcc-internal-format
-msgid "cannot decompose lambda closure type %qT"
-msgstr ""
-
-#: cp/decl.cc:9571
+#: cp/decl.cc:10092
 #, gcc-internal-format
 msgid "structured binding refers to incomplete class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9580
+#: cp/decl.cc:10101
 #, gcc-internal-format
 msgid "cannot decompose class type %qT without non-static data members"
 msgstr ""
 
-#: cp/decl.cc:10058
+#: cp/decl.cc:10588
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> needs dynamic initialization"
 msgstr ""
 
-#: cp/decl.cc:10061
+#: cp/decl.cc:10591
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> has a non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:10066
+#: cp/decl.cc:10596
 #, gcc-internal-format
 msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
 msgstr ""
 
-#: cp/decl.cc:10285
+#: cp/decl.cc:10815
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qT"
 msgstr ""
 
-#: cp/decl.cc:10289
+#: cp/decl.cc:10819
 #, gcc-internal-format
 msgid "array size missing in %qT"
 msgstr ""
 
-#: cp/decl.cc:10292
+#: cp/decl.cc:10822
 #, gcc-internal-format
 msgid "zero-size array %qT"
 msgstr ""
 
-#: cp/decl.cc:10308
+#: cp/decl.cc:10838
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:10310
+#: cp/decl.cc:10840
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:10336
+#: cp/decl.cc:10866
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> variable"
 msgstr ""
 
-#: cp/decl.cc:10338
+#: cp/decl.cc:10868
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in variable "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10344
+#: cp/decl.cc:10874
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> parameter"
 msgstr ""
 
-#: cp/decl.cc:10347
+#: cp/decl.cc:10877
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> parameter"
 msgstr ""
 
-#: cp/decl.cc:10349
+#: cp/decl.cc:10879
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in parameter "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10355
+#: cp/decl.cc:10885
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> type"
 msgstr ""
 
-#: cp/decl.cc:10358
+#: cp/decl.cc:10888
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> type"
 msgstr ""
 
-#: cp/decl.cc:10360
+#: cp/decl.cc:10890
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in type "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10366
+#: cp/decl.cc:10896
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> field"
 msgstr ""
 
-#: cp/decl.cc:10369
+#: cp/decl.cc:10899
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> field"
 msgstr ""
 
-#: cp/decl.cc:10371
+#: cp/decl.cc:10901
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in field "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:10378
+#: cp/decl.cc:10908
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr ""
 
-#: cp/decl.cc:10385
+#: cp/decl.cc:10915
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr ""
 
-#: cp/decl.cc:10417
+#: cp/decl.cc:10947
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr ""
 
-#: cp/decl.cc:10457
+#: cp/decl.cc:10987
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr ""
 
-#: cp/decl.cc:10468
-#, gcc-internal-format
-msgid "concept %q#D declared with function parameters"
-msgstr ""
-
-#: cp/decl.cc:10475
-#, gcc-internal-format
-msgid "concept %q#D declared with a deduced return type"
-msgstr ""
-
-#: cp/decl.cc:10478
-#, gcc-internal-format
-msgid "concept %q#D with non-%<bool%> return type %qT"
-msgstr ""
-
-#: cp/decl.cc:10554
-#, gcc-internal-format
-msgid "concept %qD has no definition"
-msgstr ""
-
-#: cp/decl.cc:10583
+#: cp/decl.cc:11063
 #, gcc-internal-format
-msgid "a function concept cannot be constrained"
+msgid "function concepts are no longer supported"
 msgstr ""
 
-#: cp/decl.cc:10598
+#: cp/decl.cc:11101
 #, gcc-internal-format
 msgid "constraints on a non-templated function"
 msgstr ""
 
-#: cp/decl.cc:10600
+#: cp/decl.cc:11103
 #, gcc-internal-format
 msgid "constrained non-template friend declaration must be a definition"
 msgstr ""
 
-#: cp/decl.cc:10607
+#: cp/decl.cc:11110
 #, gcc-internal-format
 msgid ""
 "friend function template with constraints that depend on outer template "
 "parameters must be a definition"
 msgstr ""
 
-#: cp/decl.cc:10656
+#: cp/decl.cc:11162
 #, gcc-internal-format
 msgid "defining explicit specialization %qD in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:10667
+#: cp/decl.cc:11173
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr ""
 
-#: cp/decl.cc:10685
+#: cp/decl.cc:11191
 #, gcc-internal-format
 msgid ""
 "default arguments are not allowed in declaration of friend template "
 "specialization %qD"
 msgstr ""
 
-#: cp/decl.cc:10694
+#: cp/decl.cc:11200
 #, gcc-internal-format
 msgid ""
 "%<inline%> is not allowed in declaration of friend template specialization "
 "%qD"
 msgstr ""
 
-#: cp/decl.cc:10711
+#. diagnostic_option_id=
+#: cp/decl.cc:11231
 #, gcc-internal-format
 msgid ""
 "friend declaration of %qD specifies default arguments and isn%'t a definition"
 msgstr ""
 
-#: cp/decl.cc:10753
+#: cp/decl.cc:11273
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr ""
 
-#: cp/decl.cc:10756
+#: cp/decl.cc:11276
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr ""
 
-#: cp/decl.cc:10759 cp/decl.cc:10762
+#: cp/decl.cc:11279 cp/decl.cc:11282
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be %qs"
 msgstr ""
 
-#: cp/decl.cc:10764
+#: cp/decl.cc:11284
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr ""
 
-#: cp/decl.cc:10831
+#: cp/decl.cc:11286
+#, gcc-internal-format
+msgid "cannot declare %<::main%> with a linkage specification"
+msgstr ""
+
+#: cp/decl.cc:11289
+#, gcc-internal-format
+msgid "cannot attach %<::main%> to a named module"
+msgstr ""
+
+#: cp/decl.cc:11348
 #, gcc-internal-format
 msgid "non-member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10833
+#: cp/decl.cc:11350
 #, gcc-internal-format
 msgid "static member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10834
+#: cp/decl.cc:11351
 #, gcc-internal-format
 msgid "explicit object member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10839
+#: cp/decl.cc:11356
 #, gcc-internal-format
 msgid "non-member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10841
+#: cp/decl.cc:11358
 #, gcc-internal-format
 msgid "static member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10842
+#: cp/decl.cc:11359
 #, gcc-internal-format
 msgid "explicit object member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10848 cp/decl.cc:13731 cp/decl.cc:13741 cp/parser.cc:11977
+#: cp/decl.cc:11365 cp/decl.cc:14285 cp/decl.cc:14295 cp/parser.cc:12352
 #, gcc-internal-format
 msgid "explicit object parameter declared here"
 msgstr ""
 
-#: cp/decl.cc:10860
+#: cp/decl.cc:11378
 #, gcc-internal-format
 msgid "deduction guide %qD must be declared in the same scope as %qT"
 msgstr ""
 
-#: cp/decl.cc:10868
+#: cp/decl.cc:11380 cp/decl.cc:11389 cp/typeck.cc:4667
+#, gcc-internal-format
+msgid "  declared here"
+msgstr ""
+
+#: cp/decl.cc:11387
 #, gcc-internal-format
 msgid "deduction guide %qD must have the same access as %qT"
 msgstr ""
 
-#: cp/decl.cc:10874
+#: cp/decl.cc:11393
 #, gcc-internal-format
 msgid "deduction guide %qD must not have a function body"
 msgstr ""
 
-#: cp/decl.cc:10887
+#: cp/decl.cc:11407
 #, gcc-internal-format
 msgid "literal operator with C linkage"
 msgstr ""
 
-#: cp/decl.cc:10897
+#: cp/decl.cc:11417
 #, gcc-internal-format
 msgid "%qD has invalid argument list"
 msgstr ""
 
-#: cp/decl.cc:10905
+#: cp/decl.cc:11425
 #, gcc-internal-format
 msgid "integer suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10911
+#: cp/decl.cc:11431
 #, gcc-internal-format
 msgid "floating-point suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10918
+#: cp/decl.cc:11438
 #, gcc-internal-format
 msgid ""
 "literal operator suffixes not preceded by %<_%> are reserved for future "
 "standardization"
 msgstr ""
 
-#: cp/decl.cc:10923
+#: cp/decl.cc:11443
 #, gcc-internal-format
 msgid "%qD must be a non-member function"
 msgstr ""
 
-#: cp/decl.cc:11009
+#: cp/decl.cc:11528
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr ""
 
-#: cp/decl.cc:11049
+#: cp/decl.cc:11568
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr ""
 
-#: cp/decl.cc:11054
+#: cp/decl.cc:11574
 #, gcc-internal-format
 msgid "definition of explicitly-defaulted %q+D"
 msgstr ""
 
-#: cp/decl.cc:11056
+#: cp/decl.cc:11576
 #, gcc-internal-format
 msgid "%q#D explicitly defaulted here"
 msgstr ""
 
-#: cp/decl.cc:11073
+#: cp/decl.cc:11593
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr ""
 
-#: cp/decl.cc:11267
+#: cp/decl.cc:11790
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a global variable"
 msgstr ""
 
-#: cp/decl.cc:11276
+#: cp/decl.cc:11793
 #, gcc-internal-format
-msgid "a non-template variable cannot be %<concept%>"
+msgid "an entity named %<main%> cannot be declared with C language linkage"
 msgstr ""
 
-#: cp/decl.cc:11282
+#: cp/decl.cc:11802
 #, gcc-internal-format
-msgid "concept must be defined at namespace scope"
+msgid "a non-template variable cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:11289
+#: cp/decl.cc:11805
 #, gcc-internal-format
-msgid "concept must have type %<bool%>"
+msgid "concept must be defined at namespace scope"
 msgstr ""
 
-#: cp/decl.cc:11292
+#: cp/decl.cc:11808
 #, gcc-internal-format
-msgid "a variable concept cannot be constrained"
+msgid "variable concepts are no longer supported"
 msgstr ""
 
-#: cp/decl.cc:11414
+#: cp/decl.cc:11929
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of incomplete type"
 msgstr ""
 
-#: cp/decl.cc:11418
+#: cp/decl.cc:11933
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> needed for in-class initialization of static data member %q#D "
 "of non-integral type"
 msgstr ""
 
-#: cp/decl.cc:11422
+#: cp/decl.cc:11937
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of non-literal type"
 msgstr ""
 
-#: cp/decl.cc:11433
+#: cp/decl.cc:11948
 #, gcc-internal-format
 msgid ""
 "invalid in-class initialization of static data member of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:11438
+#: cp/decl.cc:11953
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr ""
 
-#: cp/decl.cc:11443
+#: cp/decl.cc:11958
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids initialization of member constant %qD of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:11554
+#: cp/decl.cc:12070
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11557
+#: cp/decl.cc:12073
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11588 cp/decl.cc:11660
+#: cp/decl.cc:12104 cp/decl.cc:12176
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11592 cp/decl.cc:11663
+#: cp/decl.cc:12108 cp/decl.cc:12179
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11643
+#: cp/decl.cc:12159
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:11646
+#: cp/decl.cc:12162
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr ""
 
-#: cp/decl.cc:11670
+#: cp/decl.cc:12186
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array %qD"
 msgstr ""
 
-#: cp/decl.cc:11673
+#: cp/decl.cc:12189
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array"
 msgstr ""
 
-#: cp/decl.cc:11679
+#: cp/decl.cc:12195
 #, gcc-internal-format
 msgid "variable length array %qD is used"
 msgstr ""
 
-#: cp/decl.cc:11682
+#: cp/decl.cc:12198
 #, gcc-internal-format
 msgid "variable length array is used"
 msgstr ""
 
-#: cp/decl.cc:11734
+#: cp/decl.cc:12250
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr ""
 
-#: cp/decl.cc:11794
+#: cp/decl.cc:12310
 #, gcc-internal-format
 msgid "%qD declared as array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11797
+#: cp/decl.cc:12313
 #, gcc-internal-format
 msgid "creating array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11807
+#: cp/decl.cc:12323
 #, gcc-internal-format
 msgid "declaration of %qD as array of void"
 msgstr ""
 
-#: cp/decl.cc:11809
+#: cp/decl.cc:12325
 #, gcc-internal-format
 msgid "creating array of void"
 msgstr ""
 
-#: cp/decl.cc:11814
+#: cp/decl.cc:12330
 #, gcc-internal-format
 msgid "declaration of %qD as array of functions"
 msgstr ""
 
-#: cp/decl.cc:11816
+#: cp/decl.cc:12332
 #, gcc-internal-format
 msgid "creating array of functions"
 msgstr ""
 
-#: cp/decl.cc:11821
+#: cp/decl.cc:12337
 #, gcc-internal-format
 msgid "declaration of %qD as array of references"
 msgstr ""
 
-#: cp/decl.cc:11823
+#: cp/decl.cc:12339
 #, gcc-internal-format
 msgid "creating array of references"
 msgstr ""
 
-#: cp/decl.cc:11828
+#: cp/decl.cc:12344
 #, gcc-internal-format
 msgid "declaration of %qD as array of function members"
 msgstr ""
 
-#: cp/decl.cc:11831
+#: cp/decl.cc:12347
 #, gcc-internal-format
 msgid "creating array of function members"
 msgstr ""
 
-#: cp/decl.cc:11849
+#: cp/decl.cc:12365
 #, gcc-internal-format
 msgid ""
 "declaration of %qD as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11853
+#: cp/decl.cc:12369
 #, gcc-internal-format
 msgid ""
 "multidimensional array must have bounds for all dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11867
+#: cp/decl.cc:12383
 #, gcc-internal-format
 msgid "variable-length array of %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:11943
+#: cp/decl.cc:12481
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11946
+#: cp/decl.cc:12484
 #, gcc-internal-format
 msgid "qualifiers are not allowed on constructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11957
+#: cp/decl.cc:12495
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11960
+#: cp/decl.cc:12498
 #, gcc-internal-format
 msgid "qualifiers are not allowed on destructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11973
+#: cp/decl.cc:12511
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11976
+#: cp/decl.cc:12514
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11985
+#: cp/decl.cc:12523
 #, gcc-internal-format
 msgid "return type specified for deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11988
+#: cp/decl.cc:12526
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11992
+#: cp/decl.cc:12530
 #, gcc-internal-format
 msgid "template template parameter %qT in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:12001
+#: cp/decl.cc:12539
 #, gcc-internal-format
 msgid "%<decl-specifier%> in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:12022
+#: cp/decl.cc:12560
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:12030
+#: cp/decl.cc:12568
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:12045
+#: cp/decl.cc:12583
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
 msgstr ""
 
-#: cp/decl.cc:12050
+#: cp/decl.cc:12588
 #, gcc-internal-format
 msgid ""
 "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/decl.cc:12106
+#: cp/decl.cc:12644
 #, gcc-internal-format
 msgid "%qT as type rather than plain %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:12112
+#: cp/decl.cc:12650
 #, gcc-internal-format
 msgid "%<decltype(auto)%> cannot be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12328
+#: cp/decl.cc:12671
+msgid "%e and %e specified together"
+msgstr ""
+
+#: cp/decl.cc:12883
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12331 cp/decl.cc:12353
+#: cp/decl.cc:12886 cp/decl.cc:12908
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12334
+#: cp/decl.cc:12889
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%D::%D%>"
 msgstr ""
 
-#: cp/decl.cc:12344
+#: cp/decl.cc:12899
 #, gcc-internal-format
 msgid "%q#T is not a class or namespace"
 msgstr ""
 
-#: cp/decl.cc:12368
+#: cp/decl.cc:12923
 #, gcc-internal-format
 msgid "declaration of %qE as non-function"
 msgstr ""
 
-#: cp/decl.cc:12375
+#: cp/decl.cc:12930
 #, gcc-internal-format
 msgid "declaration of %qE as non-member"
 msgstr ""
 
-#: cp/decl.cc:12403
+#: cp/decl.cc:12958
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr ""
 
-#: cp/decl.cc:12454
+#: cp/decl.cc:13009
 #, gcc-internal-format
 msgid "function definition does not declare parameters"
 msgstr ""
 
-#: cp/decl.cc:12462 cp/decl.cc:12471 cp/decl.cc:14456
+#: cp/decl.cc:13017 cp/decl.cc:13026 cp/decl.cc:15009
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr ""
 
-#: cp/decl.cc:12479
+#: cp/decl.cc:13034
 #, gcc-internal-format
 msgid "declaration of %qD as %<typedef%>"
 msgstr ""
 
-#: cp/decl.cc:12484
+#: cp/decl.cc:13039
 #, gcc-internal-format
 msgid "declaration of %qD as parameter"
 msgstr ""
 
-#: cp/decl.cc:12519
+#: cp/decl.cc:13074
 #, gcc-internal-format
 msgid "both %qs and %qs specified"
 msgstr ""
 
-#: cp/decl.cc:12526 cp/decl.cc:12533 cp/decl.cc:12540 cp/decl.cc:12547
+#: cp/decl.cc:13081 cp/decl.cc:13088 cp/decl.cc:13095 cp/decl.cc:13102
 #, gcc-internal-format
 msgid "%qs cannot appear in a typedef declaration"
 msgstr ""
 
-#: cp/decl.cc:12558
+#: cp/decl.cc:13113
 #, gcc-internal-format
 msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
 msgstr ""
 
-#: cp/decl.cc:12568
+#: cp/decl.cc:13123
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12622
+#: cp/decl.cc:13177
 #, gcc-internal-format
 msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: cp/decl.cc:12671 cp/decl.cc:12675 cp/decl.cc:12678
+#: cp/decl.cc:13227 cp/decl.cc:13231 cp/decl.cc:13234
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr ""
 
-#: cp/decl.cc:12695
+#: cp/decl.cc:13251
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported by this target"
 msgstr ""
 
-#: cp/decl.cc:12703
+#: cp/decl.cc:13259
 #, gcc-internal-format
 msgid "ISO C++ does not support %<__int%d%> for %qs"
 msgstr ""
 
-#: cp/decl.cc:12757
-#, gcc-internal-format
-msgid "%<signed%> and %<unsigned%> specified together"
-msgstr ""
-
-#: cp/decl.cc:12763
-#, gcc-internal-format
-msgid "%<long%> and %<short%> specified together"
-msgstr ""
-
-#: cp/decl.cc:12771
+#: cp/decl.cc:13322
 #, gcc-internal-format
 msgid "%qs specified with %qT"
 msgstr ""
 
-#: cp/decl.cc:12778
+#: cp/decl.cc:13329
 #, gcc-internal-format
 msgid "%qs specified with typedef-name %qD"
 msgstr ""
 
-#: cp/decl.cc:12787
+#: cp/decl.cc:13338
 #, gcc-internal-format
 msgid "%qs specified with %<decltype%>"
 msgstr ""
 
-#: cp/decl.cc:12789
+#: cp/decl.cc:13340
 #, gcc-internal-format
 msgid "%qs specified with %<typeof%>"
 msgstr ""
 
-#: cp/decl.cc:12858
+#: cp/decl.cc:13409
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr ""
 
-#: cp/decl.cc:12902
+#: cp/decl.cc:13453
 #, 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:12928
+#: cp/decl.cc:13479
 #, gcc-internal-format
 msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
 msgstr ""
 
-#: cp/decl.cc:12937
+#: cp/decl.cc:13488
 #, 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:12950
+#: cp/decl.cc:13501
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:12957
+#: cp/decl.cc:13508
 #, gcc-internal-format
 msgid "storage class specified for template parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12967 cp/decl.cc:13144
+#: cp/decl.cc:13518 cp/decl.cc:13695
 #, gcc-internal-format
 msgid "storage class specified for parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12975 cp/decl.cc:12984 cp/decl.cc:12990 cp/decl.cc:12996
+#: cp/decl.cc:13526 cp/decl.cc:13535 cp/decl.cc:13541 cp/decl.cc:13547
 #, gcc-internal-format
 msgid "a parameter cannot be declared %qs"
 msgstr ""
 
-#: cp/decl.cc:13006
+#: cp/decl.cc:13557
 #, gcc-internal-format
 msgid "%<virtual%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:13016 cp/decl.cc:13019 cp/decl.cc:13021 cp/decl.cc:13024
-#: cp/decl.cc:13034 cp/decl.cc:13044 cp/decl.cc:13054 cp/decl.cc:13058
+#: cp/decl.cc:13567 cp/decl.cc:13570 cp/decl.cc:13572 cp/decl.cc:13575
+#: cp/decl.cc:13585 cp/decl.cc:13595 cp/decl.cc:13605 cp/decl.cc:13609
 #, gcc-internal-format
 msgid "structured binding declaration cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:13028 cp/decl.cc:13050
+#: cp/decl.cc:13579 cp/decl.cc:13601
 #, gcc-internal-format
 msgid ""
 "structured binding declaration can be %qs only in %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/decl.cc:13038
+#: cp/decl.cc:13589
 #, gcc-internal-format
 msgid "%<volatile%>-qualified structured binding is deprecated"
 msgstr ""
 
-#: cp/decl.cc:13062
+#: cp/decl.cc:13613
 #, gcc-internal-format
 msgid "structured binding declaration cannot be C++98 %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13074
+#: cp/decl.cc:13625
 #, gcc-internal-format
 msgid "structured binding declaration cannot have type %qT"
 msgstr ""
 
-#: cp/decl.cc:13077
+#: cp/decl.cc:13628
 #, gcc-internal-format
 msgid ""
 "type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13085
+#: cp/decl.cc:13636
 #, gcc-internal-format
 msgid ""
 "structured binding declaration cannot have constrained %<auto%> type %qT"
 msgstr ""
 
-#: cp/decl.cc:13116
+#: cp/decl.cc:13667
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:13142
+#: cp/decl.cc:13693
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr ""
 
-#: cp/decl.cc:13156
+#: cp/decl.cc:13707
 #, gcc-internal-format
 msgid "nested function %qs declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:13161
+#: cp/decl.cc:13712
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13169
+#: cp/decl.cc:13720
 #, gcc-internal-format
 msgid "function-scope %qs implicitly auto and declared %<__thread%>"
 msgstr ""
 
-#: cp/decl.cc:13183
+#: cp/decl.cc:13734
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr ""
 
-#: cp/decl.cc:13216 cp/decl.cc:14846 cp/parser.cc:15465 cp/parser.cc:21461
-#: cp/parser.cc:28166
-#, gcc-internal-format
-msgid "attribute ignored"
-msgstr ""
-
-#: cp/decl.cc:13217
-#, gcc-internal-format
-msgid "an attribute that appertains to a type-specifier is ignored"
-msgstr ""
-
-#: cp/decl.cc:13287
+#: cp/decl.cc:13840
 #, gcc-internal-format
 msgid "unnecessary parentheses in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:13293
+#: cp/decl.cc:13846
 #, gcc-internal-format
 msgid "remove parentheses"
 msgstr ""
 
-#: cp/decl.cc:13361
+#: cp/decl.cc:13913
 #, gcc-internal-format
 msgid ""
 "explicit object member function only available with %<-std=c++23%> or %<-"
 "std=gnu++23%>"
 msgstr ""
 
-#: cp/decl.cc:13375
+#: cp/decl.cc:13927
 #, gcc-internal-format
 msgid "a function type cannot have an explicit object parameter"
 msgstr ""
 
-#: cp/decl.cc:13381
+#: cp/decl.cc:13933
 #, gcc-internal-format
 msgid "a pointer to function type cannot have an explicit object parameter"
 msgstr ""
 
-#: cp/decl.cc:13385
+#: cp/decl.cc:13937
 #, gcc-internal-format
 msgid ""
 "a pointer to member function type cannot have an explicit object parameter"
 msgstr ""
 
-#: cp/decl.cc:13393
+#: cp/decl.cc:13945
 #, 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:13397
+#: cp/decl.cc:13949
 #, gcc-internal-format
 msgid ""
 "the type of an explicit object member function is a regular function type"
 msgstr ""
 
-#: cp/decl.cc:13418
+#: cp/decl.cc:13970
 #, gcc-internal-format
 msgid ""
 "only the first parameter of a member function can be declared as an explicit "
 "object parameter"
 msgstr ""
 
-#: cp/decl.cc:13423
+#: cp/decl.cc:13975
 #, gcc-internal-format
 msgid "valid explicit object parameter declared here"
 msgstr ""
 
-#: cp/decl.cc:13427
+#: cp/decl.cc:13979
 #, gcc-internal-format
 msgid "requires-clause on return type"
 msgstr ""
 
-#: cp/decl.cc:13447
+#: cp/decl.cc:14000
 #, gcc-internal-format
 msgid "%qs function uses %<auto%> type specifier without trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13451
+#: cp/decl.cc:14004
 #, gcc-internal-format
 msgid ""
 "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/decl.cc:13456
+#: cp/decl.cc:14009
 #, gcc-internal-format
 msgid "virtual function cannot have deduced return type"
 msgstr ""
 
-#: cp/decl.cc:13463
+#: cp/decl.cc:14016
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %qT as its type rather than plain "
 "%<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13472
+#: cp/decl.cc:14025
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %<decltype(auto)%> as its type "
 "rather than plain %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13477
+#: cp/decl.cc:14030
 #, gcc-internal-format
 msgid "invalid use of %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:13489
+#: cp/decl.cc:14042
 #, gcc-internal-format
 msgid "deduced class type %qD in function return type"
 msgstr ""
 
-#: cp/decl.cc:13498
+#: cp/decl.cc:14052
 #, gcc-internal-format
 msgid "deduction guide for %qT must have trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13511
+#: cp/decl.cc:14065
 #, gcc-internal-format
 msgid ""
 "trailing return type %qT of deduction guide is not a specialization of %qT"
 msgstr ""
 
-#: cp/decl.cc:13525
+#: cp/decl.cc:14079
 #, gcc-internal-format
 msgid ""
 "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/decl.cc:13528
+#: cp/decl.cc:14082
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type not declared with %<auto%> type "
 "specifier"
 msgstr ""
 
-#: cp/decl.cc:13535
+#: cp/decl.cc:14089
 #, gcc-internal-format
 msgid "a conversion function cannot have a trailing return type"
 msgstr ""
 
-#: cp/decl.cc:13561
+#: cp/decl.cc:14115
 #, gcc-internal-format
 msgid "%<volatile%>-qualified return type is deprecated"
 msgstr ""
 
-#: cp/decl.cc:13573
+#: cp/decl.cc:14127
 #, gcc-internal-format
 msgid "%qs declared as function returning a function"
 msgstr ""
 
-#: cp/decl.cc:13579
+#: cp/decl.cc:14133
 #, gcc-internal-format
 msgid "%qs declared as function returning an array"
 msgstr ""
 
-#: cp/decl.cc:13586
+#: cp/decl.cc:14140
 #, gcc-internal-format
 msgid "%<constinit%> on function return type is not allowed"
 msgstr ""
 
-#: cp/decl.cc:13619
+#: cp/decl.cc:14173
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:13621
+#: cp/decl.cc:14175
 #, gcc-internal-format
 msgid "constructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:13626
+#: cp/decl.cc:14180
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:13627
+#: cp/decl.cc:14181
 #, gcc-internal-format
 msgid "constructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:13635
+#: cp/decl.cc:14189
 #, gcc-internal-format
 msgid "destructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:13636
+#: cp/decl.cc:14190
 #, gcc-internal-format
 msgid "constructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:13654
+#: cp/decl.cc:14208
 #, gcc-internal-format
 msgid "constructors cannot be declared %<virtual%>"
 msgstr ""
 
-#: cp/decl.cc:13671
+#: cp/decl.cc:14225
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:13676
+#: cp/decl.cc:14230
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr ""
 
-#: cp/decl.cc:13680
+#: cp/decl.cc:14234
 #, gcc-internal-format
 msgid "cannot define friend function %qs in a local class definition"
 msgstr ""
 
-#: cp/decl.cc:13690
+#: cp/decl.cc:14244
 #, gcc-internal-format
 msgid "friend function definition %qs cannot have a name qualified with %<::%>"
 msgstr ""
 
-#: cp/decl.cc:13694
+#: cp/decl.cc:14248
 #, gcc-internal-format
 msgid ""
 "friend function definition %qs cannot have a name qualified with %<%D::%>"
 msgstr ""
 
-#: cp/decl.cc:13720
+#: cp/decl.cc:14274
 #, gcc-internal-format
 msgid "a non-member function cannot have an explicit object parameter"
 msgstr ""
 
-#: cp/decl.cc:13728
+#: cp/decl.cc:14282
 #, gcc-internal-format
 msgid "an explicit object member function cannot be %<virtual%>"
 msgstr ""
 
-#: cp/decl.cc:13738
+#: cp/decl.cc:14292
 #, gcc-internal-format
 msgid "an explicit object member function cannot be %<static%>"
 msgstr ""
 
-#: cp/decl.cc:13747
+#: cp/decl.cc:14301
 #, gcc-internal-format
 msgid "%qD cannot be an explicit object member function"
 msgstr ""
 
-#: cp/decl.cc:13770
+#: cp/decl.cc:14324
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr ""
 
-#: cp/decl.cc:13828
+#: cp/decl.cc:14382
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13841 cp/decl.cc:13848
+#: cp/decl.cc:14395 cp/decl.cc:14402
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13850
+#: cp/decl.cc:14404
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr ""
 
-#: cp/decl.cc:13879
+#: cp/decl.cc:14433
 #, gcc-internal-format
 msgid "cannot declare reference to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13880
+#: cp/decl.cc:14434
 #, gcc-internal-format
 msgid "cannot declare pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13953
+#: cp/decl.cc:14507
 #, gcc-internal-format
 msgid ""
 "cannot declare reference to %q#T, which is not a typedef or a template type "
 "argument"
 msgstr ""
 
-#: cp/decl.cc:14033
+#: cp/decl.cc:14586
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.cc:14059
+#: cp/decl.cc:14612
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.cc:14064
+#: cp/decl.cc:14617
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.cc:14094
+#: cp/decl.cc:14647
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:14096
+#: cp/decl.cc:14649
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:14104
+#: cp/decl.cc:14657
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:14144
+#: cp/decl.cc:14697
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.cc:14153
+#: cp/decl.cc:14706
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:14156
+#: cp/decl.cc:14709
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:14167
+#: cp/decl.cc:14720
 #, gcc-internal-format
 msgid "%<explicit%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:14170
+#: cp/decl.cc:14723
 #, gcc-internal-format
 msgid "%<explicit%> in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:14173
+#: cp/decl.cc:14726
 #, gcc-internal-format
 msgid ""
 "only declarations of constructors and conversion operators can be "
 "%<explicit%>"
 msgstr ""
 
-#: cp/decl.cc:14183
+#: cp/decl.cc:14736
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14190
+#: cp/decl.cc:14743
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14196
+#: cp/decl.cc:14749
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14202
+#: cp/decl.cc:14755
 #, gcc-internal-format
 msgid "%<static%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14208
+#: cp/decl.cc:14761
 #, gcc-internal-format
 msgid "%<const%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14214
+#: cp/decl.cc:14767
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:14230
+#: cp/decl.cc:14783
 #, gcc-internal-format
 msgid "typedef may not be a function definition"
 msgstr ""
 
-#: cp/decl.cc:14233
+#: cp/decl.cc:14786
 #, gcc-internal-format
 msgid "typedef may not be a member function definition"
 msgstr ""
 
-#: cp/decl.cc:14259
+#: cp/decl.cc:14812
 #, gcc-internal-format
 msgid "%<auto%> not allowed in alias declaration"
 msgstr ""
 
-#: cp/decl.cc:14262
+#: cp/decl.cc:14815
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:14267
+#: cp/decl.cc:14820
 #, gcc-internal-format
 msgid "requires-clause on typedef"
 msgstr ""
 
-#: cp/decl.cc:14271
+#: cp/decl.cc:14824
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.cc:14297
+#: cp/decl.cc:14850
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.cc:14386
+#: cp/decl.cc:14939
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.cc:14394
+#: cp/decl.cc:14947
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:14396
+#: cp/decl.cc:14949
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:14400
+#: cp/decl.cc:14953
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.cc:14413
+#: cp/decl.cc:14966
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.cc:14433
+#: cp/decl.cc:14986
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.cc:14437
+#: cp/decl.cc:14990
 #, gcc-internal-format
 msgid "requires-clause on type-id"
 msgstr ""
 
-#: cp/decl.cc:14447
+#: cp/decl.cc:15000
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.cc:14462
+#: cp/decl.cc:15015
 #, gcc-internal-format
 msgid "requires-clause on declaration of non-function type %qT"
 msgstr ""
 
-#: cp/decl.cc:14481
+#: cp/decl.cc:15034
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:14491 cp/parser.cc:20895
+#: cp/decl.cc:15044 cp/parser.cc:21390
 #, gcc-internal-format
 msgid "cannot declare a parameter with %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:14498
+#: cp/decl.cc:15051
 #, gcc-internal-format
 msgid ""
 "missing template argument list after %qE; template placeholder not permitted "
 "in parameter"
 msgstr ""
 
-#: cp/decl.cc:14501
+#: cp/decl.cc:15054
 #, gcc-internal-format
 msgid "or use %<auto%> for an abbreviated function template"
 msgstr ""
 
-#: cp/decl.cc:14507 cp/parser.cc:25437
+#: cp/decl.cc:15060 cp/parser.cc:26056
 #, gcc-internal-format
 msgid "%<auto%> parameter not permitted in this context"
 msgstr ""
 
-#: cp/decl.cc:14517
+#: cp/decl.cc:15070
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:14571 cp/parser.cc:3689
+#: cp/decl.cc:15124 cp/parser.cc:3855
 #, gcc-internal-format
 msgid "invalid use of template-name %qE without an argument list"
 msgstr ""
 
-#: cp/decl.cc:14575
+#: cp/decl.cc:15128
 #, gcc-internal-format
 msgid "non-static data member declared with placeholder %qT"
 msgstr ""
 
-#: cp/decl.cc:14596
+#: cp/decl.cc:15148
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array member %qs"
 msgstr ""
 
-#: cp/decl.cc:14599
+#: cp/decl.cc:15151
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array members"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.cc:14615
+#: cp/decl.cc:15167
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.cc:14636
+#: cp/decl.cc:15188
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.cc:14646
+#: cp/decl.cc:15198
 #, gcc-internal-format
 msgid "function %qD declared %<virtual%> inside a union"
 msgstr ""
 
-#: cp/decl.cc:14656
+#: cp/decl.cc:15208
 #, gcc-internal-format
 msgid "%qD cannot be declared %<virtual%>, since it is always static"
 msgstr ""
 
-#: cp/decl.cc:14670
+#: cp/decl.cc:15222
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:14677
+#: cp/decl.cc:15229
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr ""
 
-#: cp/decl.cc:14684 cp/decl.cc:14697
+#: cp/decl.cc:15236 cp/decl.cc:15249
 #, gcc-internal-format
 msgid "a destructor cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:14703
+#: cp/decl.cc:15255
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:14712
+#: cp/decl.cc:15264
 #, gcc-internal-format
 msgid "a constructor cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:14718
+#: cp/decl.cc:15270
 #, gcc-internal-format
 msgid "a concept cannot be a member function"
 msgstr ""
 
-#: cp/decl.cc:14726 cp/decl.cc:15081
+#: cp/decl.cc:15278 cp/decl.cc:15637
 #, gcc-internal-format
 msgid "%qD cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:14735
+#: cp/decl.cc:15288
 #, gcc-internal-format
 msgid "specialization of variable template %qD declared as function"
 msgstr ""
 
-#: cp/decl.cc:14738
+#: cp/decl.cc:15291
 #, gcc-internal-format
 msgid "variable template declared here"
 msgstr ""
 
-#: cp/decl.cc:14801
+#: cp/decl.cc:15356
 #, gcc-internal-format
 msgid "field %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:14806
+#: cp/decl.cc:15361
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:14826
+#: cp/decl.cc:15381
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.cc:14829
+#: cp/decl.cc:15384
 #, gcc-internal-format
 msgid ""
 "unnamed field is neither function nor member function; cannot be declared "
 "friend"
 msgstr ""
 
-#: cp/decl.cc:14847 cp/parser.cc:21462 cp/parser.cc:28167
+#: cp/decl.cc:15403 cp/parser.cc:21956 cp/parser.cc:28845
 #, gcc-internal-format
 msgid ""
 "an attribute that appertains to a friend declaration that is not a "
 "definition is ignored"
 msgstr ""
 
-#: cp/decl.cc:14897 cp/decl.cc:14908
+#: cp/decl.cc:15453 cp/decl.cc:15464
 #, gcc-internal-format
 msgid "static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:14902
+#: cp/decl.cc:15458
 #, gcc-internal-format
 msgid "%<constexpr%> static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.cc:14945 cp/decl.cc:14953 cp/decl.cc:14960 cp/decl.cc:14967
+#: cp/decl.cc:15501 cp/decl.cc:15509 cp/decl.cc:15516 cp/decl.cc:15523
 #, gcc-internal-format
 msgid "non-static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:15019
+#: cp/decl.cc:15575
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:15022
+#: cp/decl.cc:15578
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:15028
+#: cp/decl.cc:15584
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:15032
+#: cp/decl.cc:15588
 #, gcc-internal-format
 msgid "storage class %<thread_local%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:15037
+#: cp/decl.cc:15593
 #, gcc-internal-format
 msgid "%<constinit%> specifier invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:15040
+#: cp/decl.cc:15596
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.cc:15052
+#: cp/decl.cc:15608
 #, gcc-internal-format
 msgid ""
 "%<static%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:15056
+#: cp/decl.cc:15612
 #, gcc-internal-format
 msgid ""
 "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:15064
+#: cp/decl.cc:15620
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.cc:15071
+#: cp/decl.cc:15627
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:15072
+#: cp/decl.cc:15628
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:15115
+#: cp/decl.cc:15671
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
-#: cp/decl.cc:15124
+#: cp/decl.cc:15680
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.cc:15165
+#: cp/decl.cc:15721
 #, gcc-internal-format
 msgid ""
 "%<static%> may not be used when defining (as opposed to declaring) a static "
 "data member"
 msgstr ""
 
-#: cp/decl.cc:15172
+#: cp/decl.cc:15728
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.cc:15178
+#: cp/decl.cc:15734
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.cc:15186
+#: cp/decl.cc:15742
 #, gcc-internal-format
 msgid "declaration of %<constexpr%> variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.cc:15193
+#: cp/decl.cc:15749
 #, gcc-internal-format
 msgid "a variable cannot be declared %<consteval%>"
 msgstr ""
 
-#: cp/decl.cc:15225
+#: cp/decl.cc:15781
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:15230
+#: cp/decl.cc:15786
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.cc:15432
+#: cp/decl.cc:15988
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.cc:15435
+#: cp/decl.cc:15991
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.cc:15562
+#: cp/decl.cc:16118
 #, gcc-internal-format
 msgid "invalid use of cv-qualified type %qT in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:15566
+#: cp/decl.cc:16122
 #, gcc-internal-format
 msgid "invalid use of type %<void%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:15595
+#: cp/decl.cc:16151
 #, gcc-internal-format
 msgid "%<volatile%>-qualified parameter is deprecated"
 msgstr ""
 
-#: cp/decl.cc:15603
+#: cp/decl.cc:16159
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.cc:15628
+#: cp/decl.cc:16184
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:15630
+#: cp/decl.cc:16186
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:15913
+#: cp/decl.cc:16469
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.cc:15992
+#: cp/decl.cc:16548
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.cc:15999
+#: cp/decl.cc:16555
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.cc:16027
+#: cp/decl.cc:16613
 #, gcc-internal-format
 msgid "%qD must be a non-static member function"
 msgstr ""
 
-#: cp/decl.cc:16035
+#: cp/decl.cc:16621
 #, gcc-internal-format
 msgid "%qD must be a member function"
 msgstr ""
 
-#: cp/decl.cc:16043
+#: cp/decl.cc:16629
 #, gcc-internal-format
 msgid ""
 "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu+"
 "+23%>"
 msgstr ""
 
-#: cp/decl.cc:16053
+#: cp/decl.cc:16639
 #, gcc-internal-format
 msgid ""
 "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.cc:16063
+#: cp/decl.cc:16649
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.cc:16094
+#: cp/decl.cc:16680
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading %<operator ?:%>"
 msgstr ""
 
-#: cp/decl.cc:16104
+#: cp/decl.cc:16690
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.cc:16130
+#: cp/decl.cc:16716
 #, gcc-internal-format
 msgid "%qD must have either zero or one argument"
 msgstr ""
 
-#: cp/decl.cc:16131
+#: cp/decl.cc:16717
 #, gcc-internal-format
 msgid "%qD must have either one or two arguments"
 msgstr ""
 
-#: cp/decl.cc:16143
+#: cp/decl.cc:16729
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.cc:16144
+#: cp/decl.cc:16730
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.cc:16155
+#: cp/decl.cc:16741
 #, gcc-internal-format
 msgid "%qD must have no arguments"
 msgstr ""
 
-#: cp/decl.cc:16156 cp/decl.cc:16166
+#: cp/decl.cc:16742 cp/decl.cc:16752
 #, gcc-internal-format
 msgid "%qD must have exactly one argument"
 msgstr ""
 
-#: cp/decl.cc:16167
+#: cp/decl.cc:16753
 #, gcc-internal-format
 msgid "%qD must have exactly two arguments"
 msgstr ""
 
-#: cp/decl.cc:16182
+#: cp/decl.cc:16768
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.cc:16206
+#: cp/decl.cc:16792
 #, gcc-internal-format
 msgid "converting %qT to %<void%> will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:16213
+#: cp/decl.cc:16799
 #, gcc-internal-format
 msgid ""
 "converting %qT to a reference to the same type will never use a type "
 "conversion operator"
 msgstr ""
 
-#: cp/decl.cc:16215
+#: cp/decl.cc:16801
 #, gcc-internal-format
 msgid ""
 "converting %qT to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:16224
+#: cp/decl.cc:16810
 #, 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:16226
+#: cp/decl.cc:16812
 #, gcc-internal-format
 msgid ""
 "converting %qT to a base class %qT will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:16242
+#: cp/decl.cc:16828
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.cc:16261
+#: cp/decl.cc:16847
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:16268
+#: cp/decl.cc:16854
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:16280
+#: cp/decl.cc:16866
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.cc:16335
+#: cp/decl.cc:16921
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:16358
+#: cp/decl.cc:16945
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:16361
+#: cp/decl.cc:16948
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.cc:16363
+#: cp/decl.cc:16950
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:16371
+#: cp/decl.cc:16959
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.cc:16372 cp/decl.cc:16379
+#: cp/decl.cc:16960 cp/decl.cc:16968
 #, gcc-internal-format
 msgid "%qT has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:16378
+#: cp/decl.cc:16967
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -60867,100 +61835,100 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.cc:16393
+#: cp/decl.cc:16982
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.cc:16436 cp/name-lookup.cc:6127 cp/name-lookup.cc:6259
-#: cp/parser.cc:7220 cp/parser.cc:32238
+#: cp/decl.cc:17025 cp/name-lookup.cc:6233 cp/name-lookup.cc:6366
+#: cp/parser.cc:7477 cp/parser.cc:33011
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:16445
+#: cp/decl.cc:17035
 #, gcc-internal-format
 msgid "class template %qD redeclared as non-template"
 msgstr ""
 
-#: cp/decl.cc:16467 cp/name-lookup.cc:5817
+#: cp/decl.cc:17057 cp/name-lookup.cc:5922
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.cc:16495 cp/friend.cc:317 cp/parser.cc:3514 cp/parser.cc:6925
-#: cp/pt.cc:9992
+#: cp/decl.cc:17086 cp/friend.cc:318 cp/parser.cc:3680 cp/parser.cc:7181
+#: cp/pt.cc:10182
 #, gcc-internal-format
 msgid "%qT is not a template"
 msgstr ""
 
-#: cp/decl.cc:16500
+#: cp/decl.cc:17091
 #, gcc-internal-format
 msgid "perhaps you want to explicitly add %<%T::%>"
 msgstr ""
 
-#: cp/decl.cc:16605
+#: cp/decl.cc:17196
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.cc:16631
+#: cp/decl.cc:17223
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.cc:16766
+#: cp/decl.cc:17360
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16773
+#: cp/decl.cc:17367
 #, gcc-internal-format
 msgid "%qT defined with multiple direct bases"
 msgstr ""
 
-#: cp/decl.cc:16784
+#: cp/decl.cc:17378
 #, gcc-internal-format
 msgid "%qT defined with direct virtual base"
 msgstr ""
 
-#: cp/decl.cc:16809
+#: cp/decl.cc:17403
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.cc:16839
+#: cp/decl.cc:17433
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.cc:16841
+#: cp/decl.cc:17435
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16999
+#: cp/decl.cc:17593
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:17002 cp/decl.cc:17011 cp/decl.cc:17022 cp/decl.cc:17614
-#: cp/parser.cc:21816
+#: cp/decl.cc:17596 cp/decl.cc:17605 cp/decl.cc:17616 cp/decl.cc:18217
+#: cp/parser.cc:22311
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr ""
 
-#: cp/decl.cc:17008
+#: cp/decl.cc:17602
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:17019
+#: cp/decl.cc:17613
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:17092
+#: cp/decl.cc:17688
 #, gcc-internal-format
 msgid "underlying type %qT of %qT must be an integral type"
 msgstr ""
@@ -60969,292 +61937,292 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.cc:17241
+#: cp/decl.cc:17837
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.cc:17422
+#: cp/decl.cc:18024
 #, gcc-internal-format
 msgid ""
 "enumerator value for %qD must have integral or unscoped enumeration type"
 msgstr ""
 
-#: cp/decl.cc:17432
+#: cp/decl.cc:18034
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.cc:17481
+#: cp/decl.cc:18083
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.cc:17482
+#: cp/decl.cc:18084
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<long%>"
 msgstr ""
 
-#: cp/decl.cc:17493
+#: cp/decl.cc:18095
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.cc:17513
+#: cp/decl.cc:18115
 #, gcc-internal-format
 msgid "enumerator value %qE is outside the range of underlying type %qT"
 msgstr ""
 
-#: cp/decl.cc:17612 cp/parser.cc:21814
+#: cp/decl.cc:18215 cp/parser.cc:22309
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr ""
 
-#: cp/decl.cc:17686
+#: cp/decl.cc:18289
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.cc:17844 cp/typeck.cc:11242
+#: cp/decl.cc:18456 cp/typeck.cc:11344
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.cc:18680
+#: cp/decl.cc:19275
 #, gcc-internal-format
 msgid "no return statements in function returning %qT"
 msgstr ""
 
-#: cp/decl.cc:18682 cp/typeck.cc:11122
+#: cp/decl.cc:19277 cp/typeck.cc:11222
 #, gcc-internal-format
 msgid "only plain %<auto%> return type can be deduced to %<void%>"
 msgstr ""
 
-#: cp/decl.cc:18742
+#: cp/decl.cc:19333
 #, gcc-internal-format
 msgid "no return statement in %<constexpr%> function returning non-void"
 msgstr ""
 
-#: cp/decl.cc:18922
+#: cp/decl.cc:19523
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
 
-#: cp/decl.cc:19312
+#: cp/decl.cc:19920
 #, gcc-internal-format
 msgid "using %qs"
 msgstr ""
 
-#: cp/decl.cc:19324
+#: cp/decl.cc:19932
 #, gcc-internal-format
 msgid "use of %qD before deduction of %<auto%>"
 msgstr ""
 
-#: cp/decl2.cc:383
+#: cp/decl2.cc:386
 #, gcc-internal-format
 msgid "name missing for member function"
 msgstr ""
 
-#: cp/decl2.cc:478 cp/decl2.cc:526
+#: 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:516
+#: cp/decl2.cc:519
 #, gcc-internal-format
 msgid "built-in subscript operator without expression list"
 msgstr ""
 
-#: cp/decl2.cc:530
+#: cp/decl2.cc:533
 #, gcc-internal-format
 msgid ""
 "built-in subscript operator with more than one expression in expression list"
 msgstr ""
 
-#: cp/decl2.cc:557 cp/decl2.cc:572
+#: cp/decl2.cc:560 cp/decl2.cc:575
 #, gcc-internal-format
 msgid "ambiguous conversion for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:566
+#: cp/decl2.cc:569
 #, gcc-internal-format
 msgid "invalid types %<%T[%T]%> for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:685
+#: cp/decl2.cc:688
 #, gcc-internal-format
 msgid "deleting array %q#E"
 msgstr ""
 
-#: cp/decl2.cc:693
+#: cp/decl2.cc:696
 #, gcc-internal-format
 msgid "type %q#T argument given to %<delete%>, expected pointer"
 msgstr ""
 
-#: cp/decl2.cc:707
+#: 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:717
+#: cp/decl2.cc:720
 #, gcc-internal-format
 msgid "deleting %qT is undefined"
 msgstr ""
 
-#: cp/decl2.cc:765 cp/pt.cc:5961
+#: cp/decl2.cc:768 cp/pt.cc:6008
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:805
+#: cp/decl2.cc:808
 #, gcc-internal-format
 msgid ""
 "template parameter lists provided don%'t match the template parameters of %qD"
 msgstr ""
 
-#: cp/decl2.cc:820 cp/pt.cc:5929
+#: cp/decl2.cc:823 cp/pt.cc:5976
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr ""
 
-#: cp/decl2.cc:912
+#: cp/decl2.cc:916
 #, gcc-internal-format
 msgid "no declaration matches %q#D"
 msgstr ""
 
-#: cp/decl2.cc:917
+#: cp/decl2.cc:921
 #, gcc-internal-format
 msgid "no conversion operators declared"
 msgstr ""
 
-#: cp/decl2.cc:920
+#: cp/decl2.cc:924
 #, gcc-internal-format
 msgid "no functions named %qD"
 msgstr ""
 
-#: cp/decl2.cc:922
+#: cp/decl2.cc:926
 #, gcc-internal-format
 msgid "%#qT defined here"
 msgstr ""
 
-#: cp/decl2.cc:982
+#: cp/decl2.cc:986
 #, gcc-internal-format
 msgid "local class %q#T shall not have static data member %q#D"
 msgstr ""
 
-#: cp/decl2.cc:991
+#: cp/decl2.cc:995
 #, gcc-internal-format
 msgid "static data member %qD in unnamed class"
 msgstr ""
 
-#: cp/decl2.cc:993
+#: cp/decl2.cc:997
 #, gcc-internal-format
 msgid "unnamed class defined here"
 msgstr ""
 
-#: cp/decl2.cc:1077
+#: cp/decl2.cc:1082
 #, gcc-internal-format
 msgid "explicit template argument list not allowed"
 msgstr ""
 
-#: cp/decl2.cc:1119
+#: cp/decl2.cc:1124
 #, gcc-internal-format
 msgid "%qD is already defined in %qT"
 msgstr ""
 
-#: cp/decl2.cc:1152 cp/decl2.cc:1160
+#: cp/decl2.cc:1157 cp/decl2.cc:1165 cp/decl2.cc:1279
 #, gcc-internal-format
 msgid "invalid initializer for member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1169
+#: cp/decl2.cc:1174
 #, gcc-internal-format
 msgid "initializer specified for friend function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1172
+#: cp/decl2.cc:1177 cp/decl2.cc:1283
 #, gcc-internal-format
 msgid "initializer specified for static member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1220
+#: cp/decl2.cc:1225
 #, gcc-internal-format
 msgid "%<asm%> specifiers are not permitted on non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1277
+#: cp/decl2.cc:1386
 #, gcc-internal-format
 msgid "bit-field %qD with non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1285
+#: cp/decl2.cc:1394
 #, gcc-internal-format
 msgid "cannot declare %qD to be a bit-field type"
 msgstr ""
 
-#: cp/decl2.cc:1296
+#: cp/decl2.cc:1405
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with function type"
 msgstr ""
 
-#: cp/decl2.cc:1302
+#: cp/decl2.cc:1411
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: cp/decl2.cc:1309
+#: cp/decl2.cc:1418
 #, gcc-internal-format
 msgid "%qD is already defined in the class %qT"
 msgstr ""
 
-#: cp/decl2.cc:1317
+#: cp/decl2.cc:1426
 #, gcc-internal-format
 msgid "static member %qD cannot be a bit-field"
 msgstr ""
 
-#: cp/decl2.cc:1331
+#: cp/decl2.cc:1440
 #, gcc-internal-format
 msgid "width of bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1773
+#: cp/decl2.cc:1882
 #, gcc-internal-format
 msgid "%q+D static data member inside of declare target directive"
 msgstr ""
 
-#: cp/decl2.cc:1928
+#: cp/decl2.cc:2032
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr ""
 
-#: cp/decl2.cc:1944
+#: cp/decl2.cc:2048
 #, gcc-internal-format
 msgid "%q#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1951
+#: cp/decl2.cc:2055
 #, gcc-internal-format
 msgid "private member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:1954
+#: cp/decl2.cc:2058
 #, gcc-internal-format
 msgid "protected member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:2019
+#: cp/decl2.cc:2123
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr ""
 
-#: cp/decl2.cc:2028
+#: cp/decl2.cc:2132
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr ""
 
-#: cp/decl2.cc:2065
+#: cp/decl2.cc:2169
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr ""
@@ -61263,100 +62231,100 @@ msgstr ""
 #.
 #. The first parameter shall not have an associated default
 #. argument.
-#: cp/decl2.cc:2077
+#: cp/decl2.cc:2181
 #, gcc-internal-format
 msgid "the first parameter of %<operator new%> cannot have a default argument"
 msgstr ""
 
-#: cp/decl2.cc:2093
+#: cp/decl2.cc:2197
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:2123
+#: cp/decl2.cc:2227
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr ""
 
-#: cp/decl2.cc:2138
+#: cp/decl2.cc:2242
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a member function"
 msgstr ""
 
-#: cp/decl2.cc:2141
+#: cp/decl2.cc:2245
 #, gcc-internal-format
 msgid "%<operator delete[]%> cannot be a destroying delete"
 msgstr ""
 
-#: cp/decl2.cc:2143
+#: cp/decl2.cc:2247
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a usual deallocation function"
 msgstr ""
 
-#: cp/decl2.cc:2153
+#: cp/decl2.cc:2257
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:3172
+#: cp/decl2.cc:3280
 #, gcc-internal-format
 msgid "%qT has a field %q#D whose type has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3176
+#: cp/decl2.cc:3284
 #, gcc-internal-format
 msgid ""
 "%qT has a field %qD whose type depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3182
+#: cp/decl2.cc:3290
 #, 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:3186
+#: cp/decl2.cc:3294
 #, gcc-internal-format
 msgid "%qT has a field %q#D whose type uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:3194
+#: cp/decl2.cc:3302
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than the type of its field %qD"
 msgstr ""
 
-#: cp/decl2.cc:3213
+#: cp/decl2.cc:3321
 #, gcc-internal-format
 msgid "%qT has a base %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3217
+#: cp/decl2.cc:3325
 #, gcc-internal-format
 msgid "%qT has a base %qT which depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3223
+#: cp/decl2.cc:3331
 #, 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:3227
+#: cp/decl2.cc:3335
 #, gcc-internal-format
 msgid "%qT has a base %qT which uses the anonymous namespace"
 msgstr ""
 
-#: cp/decl2.cc:3234
+#: cp/decl2.cc:3342
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than its base %qT"
 msgstr ""
 
-#: cp/decl2.cc:4749
+#: cp/decl2.cc:5080
 #, gcc-internal-format
 msgid "%q#D, declared using an unnamed type, is used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:4753
+#: cp/decl2.cc:5084
 #, gcc-internal-format
 msgid "%q#D, declared using an unnamed type, is used but not defined"
 msgstr ""
@@ -61365,312 +62333,312 @@ 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:4763
+#: cp/decl2.cc:5094
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4767
+#: cp/decl2.cc:5098
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4771
+#: cp/decl2.cc:5102
 #, gcc-internal-format
 msgid ""
 "%q#D does not refer to the unqualified type, so it is not used for linkage"
 msgstr ""
 
-#: cp/decl2.cc:4789
+#: cp/decl2.cc:5120
 #, gcc-internal-format
 msgid "%q#D, declared using local type %qT, is used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:4793
+#: cp/decl2.cc:5124
 #, gcc-internal-format
 msgid "%q#D, declared using local type %qT, is used but not defined here"
 msgstr ""
 
-#: cp/decl2.cc:4801
+#: cp/decl2.cc:5132
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4804
+#: cp/decl2.cc:5135
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:5001
+#: cp/decl2.cc:5339
 #, gcc-internal-format
 msgid "mangling of %q#D as %qE conflicts with a previous mangle"
 msgstr ""
 
-#: cp/decl2.cc:5004
+#: cp/decl2.cc:5342
 #, gcc-internal-format
 msgid "previous mangling %q#D"
 msgstr ""
 
-#: cp/decl2.cc:5006
+#: cp/decl2.cc:5344
 #, gcc-internal-format
 msgid ""
 "a later %<-fabi-version=%> (or =0) avoids this error with a change in "
 "mangling"
 msgstr ""
 
-#: cp/decl2.cc:5078 cp/decl2.cc:5081
+#: cp/decl2.cc:5416 cp/decl2.cc:5419
 #, gcc-internal-format
 msgid "the program should also define %qD"
 msgstr ""
 
-#: cp/decl2.cc:5420
+#: cp/decl2.cc:5782
 #, gcc-internal-format
 msgid "inline function %qD used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:5646
+#: cp/decl2.cc:6020
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:5651
+#: cp/decl2.cc:6025
 #, gcc-internal-format
 msgid "...following parameter %P which has a default argument"
 msgstr ""
 
-#: cp/decl2.cc:5775
+#: cp/decl2.cc:6148
 #, gcc-internal-format
 msgid "implicitly-declared %qD is deprecated"
 msgstr ""
 
-#: cp/decl2.cc:5779
+#: cp/decl2.cc:6152
 #, 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:5920
+#: cp/decl2.cc:6298
 #, gcc-internal-format
 msgid "converting lambda that uses %<...%> to function pointer"
 msgstr ""
 
-#: cp/decl2.cc:5928
+#: cp/decl2.cc:6307
 #, gcc-internal-format
 msgid "use of deleted function %qD: %s"
 msgstr ""
 
-#: cp/decl2.cc:5932
+#: cp/decl2.cc:6311
 #, gcc-internal-format
 msgid "use of deleted function %qD"
 msgstr ""
 
-#: cp/decl2.cc:5986
+#: cp/decl2.cc:6359
 #, gcc-internal-format
 msgid "use of function %qD with unsatisfied constraints"
 msgstr ""
 
-#: cp/decl2.cc:6016
+#: cp/decl2.cc:6398
 #, gcc-internal-format
 msgid "use of built-in parameter pack %qD outside of a template"
 msgstr ""
 
-#: cp/error.cc:4115
+#: cp/error.cc:4304
 #, gcc-internal-format
 msgid "(no argument)"
 msgstr ""
 
-#: cp/error.cc:4207
+#: cp/error.cc:4398
 #, gcc-internal-format
 msgid "[...]"
 msgstr ""
 
-#: cp/error.cc:4554
+#: cp/error.cc:4750
 #, gcc-internal-format
 msgid ""
 "extended initializer lists only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4559
+#: cp/error.cc:4755
 #, gcc-internal-format
 msgid ""
 "explicit conversion operators only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4564
+#: cp/error.cc:4760
 #, gcc-internal-format
 msgid ""
 "variadic templates only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4569
+#: cp/error.cc:4765
 #, gcc-internal-format
 msgid ""
 "lambda expressions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4574
+#: cp/error.cc:4770
 #, gcc-internal-format
 msgid "C++11 auto only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4579
+#: cp/error.cc:4775
 #, gcc-internal-format
 msgid "scoped enums only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4584
+#: cp/error.cc:4780
 #, gcc-internal-format
 msgid ""
 "defaulted and deleted functions only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4590
+#: cp/error.cc:4786
 #, gcc-internal-format
 msgid ""
 "inline namespaces only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4595
+#: cp/error.cc:4791
 #, gcc-internal-format
 msgid ""
 "override controls (override/final) only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4600
+#: cp/error.cc:4796
 #, gcc-internal-format
 msgid ""
 "non-static data member initializers only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4605
+#: cp/error.cc:4801
 #, gcc-internal-format
 msgid ""
 "user-defined literals only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4610
+#: cp/error.cc:4806
 #, gcc-internal-format
 msgid ""
 "delegating constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4615
+#: cp/error.cc:4811
 #, gcc-internal-format
 msgid ""
 "inheriting constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4620
+#: cp/error.cc:4817
 #, gcc-internal-format
 msgid "C++11 attributes only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4625
+#: cp/error.cc:4822
 #, gcc-internal-format
 msgid "ref-qualifiers only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4675
+#: cp/error.cc:4875
 #, gcc-internal-format
 msgid "incomplete type %qT used in nested name specifier"
 msgstr ""
 
-#: cp/error.cc:4679
+#: cp/error.cc:4880
 #, gcc-internal-format
 msgid "reference to %<%T::%D%> is ambiguous"
 msgstr ""
 
-#: cp/error.cc:4693
+#: cp/error.cc:4895
 #, gcc-internal-format
 msgid "%qD is not a member of %qT; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4697 cp/typeck.cc:2875
+#: cp/error.cc:4899 cp/typeck.cc:2897
 #, gcc-internal-format
 msgid "%qD is not a member of %qT"
 msgstr ""
 
-#: cp/error.cc:4719
+#: cp/error.cc:4921
 #, gcc-internal-format
 msgid "%qD is not a member of %qD; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4723 cp/typeck.cc:3467
+#: cp/error.cc:4925 cp/typeck.cc:3492
 #, gcc-internal-format
 msgid "%qD is not a member of %qD"
 msgstr ""
 
-#: cp/error.cc:4734
+#: cp/error.cc:4936
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4738
+#: cp/error.cc:4940
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared"
 msgstr ""
 
-#: cp/except.cc:380
+#: cp/except.cc:395
 #, gcc-internal-format
 msgid "exception handling disabled, use %<-fexceptions%> to enable"
 msgstr ""
 
-#: cp/except.cc:628
+#: cp/except.cc:643
 #, gcc-internal-format
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.cc:735
+#: cp/except.cc:747
 #, gcc-internal-format
 msgid "  in thrown expression"
 msgstr ""
 
-#: cp/except.cc:882
+#: cp/except.cc:894
 #, gcc-internal-format
 msgid "cannot declare %<catch%> parameter to be of rvalue reference type %qT"
 msgstr ""
 
-#: cp/except.cc:892
+#: cp/except.cc:904
 #, gcc-internal-format
 msgid ""
 "cannot throw expression of type %qT because it involves types of variable "
 "size"
 msgstr ""
 
-#: cp/except.cc:895
+#: cp/except.cc:907
 #, gcc-internal-format
 msgid "cannot catch type %qT because it involves types of variable size"
 msgstr ""
 
-#: cp/except.cc:996
+#: cp/except.cc:1008
 #, gcc-internal-format
 msgid "exception of type %qT will be caught by earlier handler"
 msgstr ""
 
-#: cp/except.cc:998
+#: cp/except.cc:1010
 #, gcc-internal-format
 msgid "for type %qT"
 msgstr ""
 
-#: cp/except.cc:1027
+#: cp/except.cc:1039
 #, gcc-internal-format
 msgid "%<...%> handler must be the last handler for its try block"
 msgstr ""
 
-#: cp/except.cc:1123
+#: cp/except.cc:1133
 #, gcc-internal-format
 msgid "noexcept-expression evaluates to %<false%> because of a call to %qD"
 msgstr ""
 
-#: cp/except.cc:1126
+#: cp/except.cc:1136
 #, gcc-internal-format
 msgid "but %qD does not throw; perhaps it should be declared %<noexcept%>"
 msgstr ""
@@ -61687,7 +62655,7 @@ msgstr ""
 msgid "%qD is already a friend of class %qT"
 msgstr ""
 
-#: cp/friend.cc:291
+#: cp/friend.cc:292
 #, gcc-internal-format
 msgid "invalid type %qT declared %<friend%>"
 msgstr ""
@@ -61696,601 +62664,616 @@ msgstr ""
 #. [temp.friend]
 #. Friend declarations shall not declare partial
 #. specializations.
-#: cp/friend.cc:308 cp/friend.cc:356
+#: cp/friend.cc:309 cp/friend.cc:357
 #, gcc-internal-format
 msgid "partial specialization %qT declared %<friend%>"
 msgstr ""
 
-#: cp/friend.cc:322
+#: cp/friend.cc:323
 #, gcc-internal-format
 msgid ""
 "perhaps you need explicit template arguments in your nested-name-specifier"
 msgstr ""
 
-#: cp/friend.cc:334
+#: cp/friend.cc:335
 #, gcc-internal-format
 msgid "class %qT is implicitly friends with itself"
 msgstr ""
 
-#: cp/friend.cc:397
+#: cp/friend.cc:398
 #, gcc-internal-format
 msgid "%qT is not a member of %qT"
 msgstr ""
 
-#: cp/friend.cc:403
+#: cp/friend.cc:404
 #, gcc-internal-format
 msgid "%qT is not a member class template of %qT"
 msgstr ""
 
-#: cp/friend.cc:413
+#: cp/friend.cc:414
 #, gcc-internal-format
 msgid "%qT is not a nested class of %qT"
 msgstr ""
 
 #. template <class T> friend class T;
-#: cp/friend.cc:427
+#: cp/friend.cc:428
 #, gcc-internal-format
 msgid "template parameter type %qT declared %<friend%>"
 msgstr ""
 
 #. template <class T> friend class A; where A is not a template
-#: cp/friend.cc:435
+#: cp/friend.cc:436
 #, gcc-internal-format
 msgid "%q#T is not a template"
 msgstr ""
 
-#: cp/friend.cc:458
+#: cp/friend.cc:459
 #, gcc-internal-format
 msgid "%qD is already a friend of %qT"
 msgstr ""
 
-#: cp/friend.cc:468
+#: cp/friend.cc:469
 #, gcc-internal-format
 msgid "%qT is already a friend of %qT"
 msgstr ""
 
-#: cp/friend.cc:521
+#: cp/friend.cc:522
 #, gcc-internal-format
 msgid "friend declaration %qD may not have virt-specifiers"
 msgstr ""
 
-#: cp/friend.cc:599
+#: cp/friend.cc:600
 #, gcc-internal-format
 msgid "member %qD declared as friend before type %qT defined"
 msgstr ""
 
-#: cp/friend.cc:647
+#: cp/friend.cc:648
 #, gcc-internal-format
 msgid "friend declaration %q#D declares a non-template function"
 msgstr ""
 
-#: cp/friend.cc:651
+#: cp/friend.cc:652
 #, gcc-internal-format
 msgid ""
 "(if this is not what you intended, make sure the function template has "
 "already been declared and add %<<>%> after the function name here)"
 msgstr ""
 
-#: cp/init.cc:398
+#: cp/init.cc:402
 #, gcc-internal-format
 msgid "value-initialization of incomplete type %qT"
 msgstr ""
 
-#: cp/init.cc:481
+#: cp/init.cc:487
 #, gcc-internal-format
 msgid "cannot value-initialize array of unknown bound %qT"
 msgstr ""
 
-#: cp/init.cc:520
+#: cp/init.cc:526
 #, gcc-internal-format
 msgid "value-initialization of function type %qT"
 msgstr ""
 
-#: cp/init.cc:526
+#: cp/init.cc:532
 #, gcc-internal-format
 msgid "value-initialization of reference type %qT"
 msgstr ""
 
-#: cp/init.cc:595
+#: cp/init.cc:601
 #, gcc-internal-format
 msgid "recursive instantiation of default member initializer for %qD"
 msgstr ""
 
-#: cp/init.cc:662
+#: cp/init.cc:669
 #, gcc-internal-format
 msgid ""
 "default member initializer for %qD required before the end of its enclosing "
 "class"
 msgstr ""
 
-#: cp/init.cc:664
+#: cp/init.cc:671
 #, gcc-internal-format
 msgid "defined here"
 msgstr ""
 
-#: cp/init.cc:732
+#: cp/init.cc:739
 #, gcc-internal-format
 msgid "initializer for flexible array member %q#D"
 msgstr ""
 
-#: cp/init.cc:797
+#: cp/init.cc:804
 #, gcc-internal-format
 msgid ""
 "initializing %qD from %qE does not extend the lifetime of the underlying "
 "array"
 msgstr ""
 
-#: cp/init.cc:901 cp/init.cc:1014
+#: cp/init.cc:908 cp/init.cc:1023
 #, gcc-internal-format
 msgid "%qD is initialized with itself"
 msgstr ""
 
-#: cp/init.cc:907
+#: cp/init.cc:914
 #, gcc-internal-format
 msgid "reference %qD is not yet bound to a value when used here"
 msgstr ""
 
-#: cp/init.cc:912
+#: cp/init.cc:919
 #, gcc-internal-format
 msgid "member %qD is used uninitialized"
 msgstr ""
 
-#: cp/init.cc:991
+#: cp/init.cc:972 cp/init.cc:2055 cp/init.cc:5014 cp/typeck2.cc:1432
+#, gcc-internal-format
+msgid "array must be initialized with a brace-enclosed initializer"
+msgstr ""
+
+#: cp/init.cc:1000
 #, gcc-internal-format
 msgid "%qD should be initialized in the member initialization list"
 msgstr ""
 
-#: cp/init.cc:1133
+#: cp/init.cc:1143
 #, gcc-internal-format
 msgid "invalid initializer for array member %q#D"
 msgstr ""
 
-#: cp/init.cc:1148 cp/init.cc:1174 cp/init.cc:2769 cp/method.cc:2494
+#: cp/init.cc:1158 cp/init.cc:1184 cp/init.cc:2781 cp/method.cc:2648
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1150 cp/init.cc:1168 cp/init.cc:1176 cp/init.cc:2754
-#: cp/init.cc:2782 cp/method.cc:2497 cp/method.cc:2508
+#: cp/init.cc:1160 cp/init.cc:1178 cp/init.cc:1186 cp/init.cc:2765
+#: cp/init.cc:2794 cp/method.cc:2651 cp/method.cc:2662
 #, gcc-internal-format
 msgid "%q#D should be initialized"
 msgstr ""
 
-#: cp/init.cc:1166 cp/init.cc:2741 cp/method.cc:2505
+#: cp/init.cc:1176 cp/init.cc:2752 cp/method.cc:2659
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1351
+#: cp/init.cc:1361
 #, gcc-internal-format
 msgid "%qD will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1354
+#: cp/init.cc:1364
 #, gcc-internal-format
 msgid "base %qT will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1358
+#: cp/init.cc:1368
 #, gcc-internal-format
 msgid "  %q#D"
 msgstr ""
 
-#: cp/init.cc:1360
+#: cp/init.cc:1370
 #, gcc-internal-format
 msgid "  base %qT"
 msgstr ""
 
-#: cp/init.cc:1362
+#: cp/init.cc:1372
 #, gcc-internal-format
 msgid "  when initialized here"
 msgstr ""
 
-#: cp/init.cc:1379
+#: cp/init.cc:1389
 #, gcc-internal-format
 msgid "multiple initializations given for %qD"
 msgstr ""
 
-#: cp/init.cc:1383
+#: cp/init.cc:1393
 #, gcc-internal-format
 msgid "multiple initializations given for base %qT"
 msgstr ""
 
-#: cp/init.cc:1470
+#: cp/init.cc:1480
 #, gcc-internal-format
 msgid "initializations for multiple members of %qT"
 msgstr ""
 
-#: cp/init.cc:1579
+#: cp/init.cc:1589
 #, gcc-internal-format
 msgid ""
 "base class %q#T should be explicitly initialized in the copy constructor"
 msgstr ""
 
-#: cp/init.cc:1815 cp/init.cc:1834
+#: cp/init.cc:1825 cp/init.cc:1844
 #, gcc-internal-format
 msgid "class %qT does not have any field named %qD"
 msgstr ""
 
-#: cp/init.cc:1821
+#: cp/init.cc:1831
 #, gcc-internal-format
 msgid ""
 "%q#D is a static data member; it can only be initialized at its definition"
 msgstr ""
 
-#: cp/init.cc:1828
+#: cp/init.cc:1838
 #, gcc-internal-format
 msgid "%q#D is not a non-static data member of %qT"
 msgstr ""
 
-#: cp/init.cc:1867
+#: cp/init.cc:1877
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which has no base classes"
 msgstr ""
 
-#: cp/init.cc:1875
+#: cp/init.cc:1885
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which uses multiple inheritance"
 msgstr ""
 
-#: cp/init.cc:1922
+#: cp/init.cc:1932
 #, gcc-internal-format
 msgid "%qD is both a direct base and an indirect virtual base"
 msgstr ""
 
-#: cp/init.cc:1930
+#: cp/init.cc:1940
 #, gcc-internal-format
 msgid "type %qT is not a direct or virtual base of %qT"
 msgstr ""
 
-#: cp/init.cc:1933
+#: cp/init.cc:1943
 #, gcc-internal-format
 msgid "type %qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/init.cc:2045 cp/init.cc:4944 cp/typeck2.cc:1378
-#, gcc-internal-format
-msgid "array must be initialized with a brace-enclosed initializer"
-msgstr ""
-
-#: cp/init.cc:2366 cp/semantics.cc:4054 rust/backend/rust-tree.cc:4168
+#: cp/init.cc:2376 cp/semantics.cc:4430 rust/backend/rust-tree.cc:4155
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr ""
 
-#: cp/init.cc:2424
+#: cp/init.cc:2434
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.cc:2438
+#: cp/init.cc:2448
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.cc:2524 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3811
+#: cp/init.cc:2534 cp/typeck.cc:2383 rust/backend/rust-tree.cc:3798
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.cc:2531 cp/semantics.cc:2377
+#: cp/init.cc:2541 cp/semantics.cc:2752
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.cc:2738
+#: cp/init.cc:2749
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2746
+#: cp/init.cc:2757
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in base %q#T of %q#T using %<new%> without "
 "new-initializer"
 msgstr ""
 
-#: cp/init.cc:2750
+#: cp/init.cc:2761
 #, gcc-internal-format
 msgid "uninitialized reference member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2766
+#: cp/init.cc:2778
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2774
+#: cp/init.cc:2786
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in base %q#T of %q#T using %<new%> without new-"
 "initializer"
 msgstr ""
 
-#: cp/init.cc:2778
+#: cp/init.cc:2790
 #, gcc-internal-format
 msgid "uninitialized const member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2893
+#: cp/init.cc:2907
 #, 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:2896
+#: cp/init.cc:2910
 #, 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:2906
+#: cp/init.cc:2920
 #, 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:2909
+#: cp/init.cc:2923
 #, 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:2918
+#: cp/init.cc:2932
 #, 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:2921
+#: cp/init.cc:2935
 #, 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:2938
+#: cp/init.cc:2952
 #, gcc-internal-format
 msgid "at offset %wi from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:2942
+#: cp/init.cc:2956
 #, gcc-internal-format
 msgid "at offset [%wi, %wi] from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:3140
+#: cp/init.cc:3157
 #, gcc-internal-format
 msgid "integer overflow in array size"
 msgstr ""
 
-#: cp/init.cc:3150
+#: cp/init.cc:3167
 #, gcc-internal-format
 msgid "array size in new-expression must be constant"
 msgstr ""
 
-#: cp/init.cc:3168
+#: cp/init.cc:3185
 #, gcc-internal-format
 msgid "variably modified type not allowed in new-expression"
 msgstr ""
 
-#: cp/init.cc:3184
+#: cp/init.cc:3201
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified directly, not by %<typedef%>"
 msgstr ""
 
-#: cp/init.cc:3186
+#: cp/init.cc:3203
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified without parentheses around "
 "the type-id"
 msgstr ""
 
-#: cp/init.cc:3196
+#: cp/init.cc:3213
 #, gcc-internal-format
 msgid "invalid type %<void%> for %<new%>"
 msgstr ""
 
-#: cp/init.cc:3202
+#: cp/init.cc:3219
 #, gcc-internal-format
 msgid ""
 "%<new%> of %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/init.cc:3244
+#: cp/init.cc:3261
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.cc:3400
+#: cp/init.cc:3417
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.cc:3489
+#: cp/init.cc:3507
 #, gcc-internal-format
 msgid "%<new%> of type %qT with extended alignment %d"
 msgstr ""
 
-#: cp/init.cc:3492
+#: cp/init.cc:3510
 #, gcc-internal-format
 msgid "uses %qD, which does not have an alignment parameter"
 msgstr ""
 
-#: cp/init.cc:3495
+#: cp/init.cc:3513
 #, gcc-internal-format
 msgid "use %<-faligned-new%> to enable C++17 over-aligned new support"
 msgstr ""
 
-#: cp/init.cc:3691
+#: cp/init.cc:3709
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.cc:3962
+#: cp/init.cc:3994
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.cc:3991
+#: cp/init.cc:4023
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.cc:4000
+#: cp/init.cc:4032
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.cc:4120
+#: cp/init.cc:4159
+#, gcc-internal-format
+msgid "operator %<delete []%> used on incomplete type"
+msgstr ""
+
+#: cp/init.cc:4174
 #, gcc-internal-format
 msgid "possible problem detected in invocation of operator %<delete []%>"
 msgstr ""
 
-#: cp/init.cc:4124
+#: cp/init.cc:4178
 #, 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:4846
+#: cp/init.cc:4910
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.cc:5144
+#: cp/init.cc:5223
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.cc:5178
+#: cp/init.cc:5260
+#, gcc-internal-format
+msgid "operator %<delete%> used on incomplete type"
+msgstr ""
+
+#: cp/init.cc:5275
 #, gcc-internal-format
 msgid "possible problem detected in invocation of %<operator delete%>"
 msgstr ""
 
-#: cp/init.cc:5183
+#: cp/init.cc:5280
 #, 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:5198
+#: cp/init.cc:5295
 #, gcc-internal-format
 msgid ""
 "deleting object of abstract class type %qT which has non-virtual destructor "
 "will cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5203
+#: cp/init.cc:5300
 #, gcc-internal-format
 msgid ""
 "deleting object of polymorphic class type %qT which has non-virtual "
 "destructor might cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5510
+#: cp/init.cc:5614
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
 
-#: cp/lambda.cc:549
+#: cp/lambda.cc:551
 #, gcc-internal-format
 msgid "array of runtime bound cannot be captured by copy, only by reference"
 msgstr ""
 
-#: cp/lambda.cc:564
+#: cp/lambda.cc:568
 #, gcc-internal-format
 msgid ""
 "capture of variably-modified type %qT that is not an N3639 array of runtime "
 "bound"
 msgstr ""
 
-#: cp/lambda.cc:568
+#: cp/lambda.cc:572
 #, gcc-internal-format
 msgid "because the array element type %qT has variable size"
 msgstr ""
 
-#: cp/lambda.cc:592
+#: cp/lambda.cc:596
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/lambda.cc:602
+#: cp/lambda.cc:607
 #, gcc-internal-format
 msgid "capture by copy of incomplete type %qT"
 msgstr ""
 
-#: cp/lambda.cc:674
+#: cp/lambda.cc:622
+#, gcc-internal-format
+msgid "captured structured bindings are a C++20 extension"
+msgstr ""
+
+#: cp/lambda.cc:689
 #, gcc-internal-format
 msgid "trying to capture %qD in instantiation of generic lambda"
 msgstr ""
 
-#: cp/lambda.cc:750
+#: cp/lambda.cc:766
 #, gcc-internal-format
 msgid "implicit capture of %qE via %<[=]%> is deprecated in C++20"
 msgstr ""
 
-#: cp/lambda.cc:752
+#: cp/lambda.cc:768
 #, gcc-internal-format
 msgid "add explicit %<this%> or %<*this%> capture"
 msgstr ""
 
-#: cp/lambda.cc:873
+#: cp/lambda.cc:895
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/lex.cc:644
+#: cp/lambda.cc:1566
+#, gcc-internal-format
+msgid "the mangled name of %qT changed in %<-fabi-version=20%> (GCC 15.1)"
+msgstr ""
+
+#: cp/lambda.cc:1570
+#, gcc-internal-format
+msgid "the mangled name of %qT changes in %<-fabi-version=20%> (GCC 15.1)"
+msgstr ""
+
+#: cp/lex.cc:643
 #, gcc-internal-format
 msgid "invalid %<#pragma %s%>"
 msgstr ""
 
-#: cp/lex.cc:652
+#: cp/lex.cc:651
 #, gcc-internal-format
 msgid "%<#pragma vtable%> no longer supported"
 msgstr ""
 
-#: cp/lex.cc:724
+#: cp/lex.cc:723
 #, gcc-internal-format
 msgid "%<#pragma implementation%> for %qs appears after file is included"
 msgstr ""
 
-#: cp/lex.cc:752
+#: cp/lex.cc:751
 #, gcc-internal-format
 msgid "%qD not defined"
 msgstr ""
 
-#: cp/lex.cc:764
+#: cp/lex.cc:763
 #, gcc-internal-format
 msgid "%qD was not declared in this scope; did you mean %qs?"
 msgstr ""
 
-#: cp/lex.cc:768
+#: cp/lex.cc:767
 #, gcc-internal-format
 msgid "%qD was not declared in this scope"
 msgstr ""
 
-#. In a template, it is invalid to write "f()" or "f(3)" if no
-#. declaration of "f" is available.  Historically, G++ and most
-#. other compilers accepted that usage since they deferred all name
-#. lookup until instantiation time rather than doing unqualified
-#. name lookup at template definition time; explain to the user what
-#. is going wrong.
-#.
-#. 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:810
 #, gcc-internal-format
 msgid ""
@@ -62305,165 +63288,172 @@ msgid ""
 "use of an undeclared name is deprecated)"
 msgstr ""
 
-#: cp/logic.cc:303
+#: cp/logic.cc:302
 #, gcc-internal-format
 msgid "  # %E"
 msgstr ""
 
-#: cp/mangle.cc:2662
+#: cp/mangle.cc:2663
 #, gcc-internal-format
 msgid "mangling %<typeof%>, use %<decltype%> instead"
 msgstr ""
 
-#: cp/mangle.cc:2666
+#: cp/mangle.cc:2667
 #, gcc-internal-format
 msgid ""
 "use of built-in trait %qT in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3836
+#. TODO Mangle pack indexing
+#. <https://github.com/itanium-cxx-abi/cxx-abi/issues/175>.
+#: cp/mangle.cc:2674
+#, gcc-internal-format
+msgid "mangling type pack index"
+msgstr ""
+
+#: cp/mangle.cc:3882
 #, gcc-internal-format
 msgid ""
 "use of built-in trait %qE in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3841
+#: cp/mangle.cc:3887
 #, gcc-internal-format, gfc-internal-format
 msgid "mangling %C"
 msgstr ""
 
-#: cp/mangle.cc:3915
+#: cp/mangle.cc:3961
 #, gcc-internal-format
 msgid "omitted middle operand to %<?:%> operand cannot be mangled"
 msgstr ""
 
-#: cp/mangle.cc:4486
+#: cp/mangle.cc:4532
 #, 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:4532 cp/mangle.cc:4711
+#: cp/mangle.cc:4578 cp/mangle.cc:4757
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4538 cp/mangle.cc:4717
+#: cp/mangle.cc:4584 cp/mangle.cc:4763
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4864
+#: cp/mangle.cc:4910
 #, 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:4869
+#: cp/mangle.cc:4915
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-"
 "version=%d%>"
 msgstr ""
 
-#: cp/mangle.cc:4874
+#: cp/mangle.cc:4920
 #, 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:318
+#: cp/mapper-client.cc:317
 #, gcc-internal-format
 msgid "failed %s mapper %qs line %u"
 msgstr ""
 
-#: cp/mapper-client.cc:319
+#: cp/mapper-client.cc:318
 #, gcc-internal-format
 msgid "failed %s mapper %qs"
 msgstr ""
 
-#: cp/mapper-client.cc:331
+#: cp/mapper-client.cc:330
 #, gcc-internal-format, gfc-internal-format
 msgid "failed mapper handshake %s"
 msgstr ""
 
-#: cp/mapper-client.cc:365
+#: cp/mapper-client.cc:364
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper died by signal %s"
 msgstr ""
 
-#: cp/mapper-client.cc:368
+#: cp/mapper-client.cc:367
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper exit status %d"
 msgstr ""
 
-#: cp/method.cc:861 cp/method.cc:2447
+#: cp/method.cc:867 cp/method.cc:2601
 #, gcc-internal-format
 msgid "non-static const member %q#D, cannot use default assignment operator"
 msgstr ""
 
-#: cp/method.cc:867 cp/method.cc:2453
+#: cp/method.cc:873 cp/method.cc:2607
 #, gcc-internal-format
 msgid ""
 "non-static reference member %q#D, cannot use default assignment operator"
 msgstr ""
 
-#: cp/method.cc:957
+#: cp/method.cc:963
 #, gcc-internal-format
 msgid "%qD is not a static data member"
 msgstr ""
 
-#: cp/method.cc:958
+#: cp/method.cc:964
 #, gcc-internal-format
 msgid "determining value of %qs"
 msgstr ""
 
-#: cp/method.cc:985
+#: cp/method.cc:991
 #, gcc-internal-format
 msgid "forming type of %qs"
 msgstr ""
 
-#: cp/method.cc:1176
+#: cp/method.cc:1182
 #, gcc-internal-format
 msgid "defaulted %qD only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/method.cc:1191
+#: cp/method.cc:1197
 #, gcc-internal-format
 msgid "defaulted %qD must return %<bool%>"
 msgstr ""
 
-#: cp/method.cc:1199
+#: cp/method.cc:1205
 #, gcc-internal-format
 msgid "defaulted %qD must be %<const%>"
 msgstr ""
 
-#: cp/method.cc:1204
+#: cp/method.cc:1210
 #, gcc-internal-format
 msgid "defaulted %qD must not have %<&&%> ref-qualifier"
 msgstr ""
 
-#: cp/method.cc:1233
+#: cp/method.cc:1239
 #, gcc-internal-format
 msgid "defaulted %qD is not a friend of %qT"
 msgstr ""
 
-#: cp/method.cc:1245
+#: cp/method.cc:1251
 #, gcc-internal-format
 msgid "defaulted member %qD must have parameter type %<const %T&%>"
 msgstr ""
 
-#: cp/method.cc:1248
+#: cp/method.cc:1254
 #, gcc-internal-format
 msgid "defaulted %qD must have parameters of either type %<const %T&%> or %qT"
 msgstr ""
 
-#: cp/method.cc:1251
+#: cp/method.cc:1257
 #, gcc-internal-format
 msgid ""
 "defaulted %qD must have parameters of either type %<const %T&%> or %qT, not "
@@ -62471,449 +63461,586 @@ msgid ""
 msgstr ""
 
 #. Return type is auto, suggest changing it.
-#: cp/method.cc:1408
+#: cp/method.cc:1414
 #, 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:1428
+#: cp/method.cc:1434
 #, gcc-internal-format
 msgid ""
 "three-way comparison of %qD has type %qT, not a comparison category type"
 msgstr ""
 
-#: cp/method.cc:1437
+#: cp/method.cc:1443
 #, gcc-internal-format
 msgid "three-way comparison of %qD has type %qT, which does not convert to %qT"
 msgstr ""
 
-#: cp/method.cc:1482
+#: cp/method.cc:1488
 #, gcc-internal-format
 msgid "cannot default compare union %qT"
 msgstr ""
 
-#: cp/method.cc:1550
+#: cp/method.cc:1556
 #, gcc-internal-format
 msgid "cannot default compare reference member %qD"
 msgstr ""
 
-#: cp/method.cc:1559
+#: cp/method.cc:1565
 #, gcc-internal-format
 msgid "cannot default compare anonymous union member"
 msgstr ""
 
-#: cp/method.cc:1577
+#: cp/method.cc:1583
 #, gcc-internal-format
 msgid "cannot default compare flexible array member"
 msgstr ""
 
-#: cp/method.cc:1858
+#: cp/method.cc:1865
 #, gcc-internal-format
 msgid "synthesized method %qD first required here"
 msgstr ""
 
-#: cp/method.cc:2370
+#: cp/method.cc:1989
+#, gcc-internal-format
+msgid "pointer to data member type %qT can only be invoked with one argument"
+msgstr ""
+
+#: cp/method.cc:1996
+#, gcc-internal-format
+msgid ""
+"pointer to member function type %qT must be invoked with at least one "
+"argument"
+msgstr ""
+
+#: cp/method.cc:2016
+#, gcc-internal-format
+msgid ""
+"first argument type %qT of a pointer to member must be a class type or a "
+"pointer to a class type"
+msgstr ""
+
+#: cp/method.cc:2524
 #, gcc-internal-format
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.cc:2381
+#: cp/method.cc:2535
 #, gcc-internal-format
 msgid "defaulted destructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2382
+#: cp/method.cc:2536
 #, gcc-internal-format
 msgid "defaulted constructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2470
+#: cp/method.cc:2624
 #, gcc-internal-format
 msgid "initializer for %q#D is invalid"
 msgstr ""
 
-#: cp/method.cc:2527
+#: cp/method.cc:2681
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/method.cc:2538
+#: cp/method.cc:2692
 #, 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:2756
+#: cp/method.cc:2910
 #, gcc-internal-format
 msgid ""
 "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.cc:2800
+#: cp/method.cc:2954
 #, gcc-internal-format
 msgid ""
 "defaulted move assignment for %qT calls a non-trivial move assignment "
 "operator for virtual base %qT"
 msgstr ""
 
-#: cp/method.cc:2932
+#: cp/method.cc:3086
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.cc:2935
+#: cp/method.cc:3089
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.cc:2944
+#: cp/method.cc:3098
 #, 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:2955
+#: cp/method.cc:3109
 #, gcc-internal-format
 msgid "%q#D inherits from multiple base subobjects"
 msgstr ""
 
-#: cp/method.cc:2963 cp/method.cc:2987
+#: cp/method.cc:3117 cp/method.cc:3141
 #, gcc-internal-format
 msgid ""
 "%q#D is implicitly deleted because the default definition would be ill-"
 "formed:"
 msgstr ""
 
-#: cp/method.cc:2996
+#: cp/method.cc:3150
 msgid ""
 "%q#F is implicitly deleted because its exception-specification does not "
 "match the implicit exception-specification %qX"
 msgstr ""
 
-#: cp/method.cc:3426
+#: cp/method.cc:3573
+#, gcc-internal-format
+msgid ""
+"explicitly defaulted copy constructor is implicitly deleted because its "
+"declared type does not match the type of an implicit copy constructor"
+msgstr ""
+
+#: cp/method.cc:3578
+#, gcc-internal-format
+msgid ""
+"explicitly defaulted move constructor is implicitly deleted because its "
+"declared type does not match the type of an implicit move constructor"
+msgstr ""
+
+#: cp/method.cc:3583
+#, gcc-internal-format
+msgid ""
+"explicitly defaulted copy assignment operator is implicitly deleted because "
+"its declared type does not match the type of an implicit copy assignment "
+"operator"
+msgstr ""
+
+#: cp/method.cc:3588
 #, gcc-internal-format
-msgid "defaulted declaration %q+D does not match the expected signature"
+msgid ""
+"explicitly defaulted move assignment operator is implicitly deleted because "
+"its declared type does not match the type of an implicit move assignment "
+"operator"
 msgstr ""
 
-#: cp/method.cc:3429
+#: cp/method.cc:3597
 #, gcc-internal-format
 msgid "expected signature: %qD"
 msgstr ""
 
-#: cp/method.cc:3461
+#: cp/method.cc:3695
 #, gcc-internal-format
 msgid ""
 "explicitly defaulted function %q+D cannot be declared %qs because the "
 "implicit declaration is not %qs:"
 msgstr ""
 
-#: cp/method.cc:3481
+#: cp/method.cc:3715
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3520
+#: cp/method.cc:3754
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3529
+#: cp/method.cc:3763
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/module.cc:1583
+#: cp/module.cc:1605
 #, gcc-internal-format
 msgid "section %qs is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1585
+#: cp/module.cc:1607
 #, gcc-internal-format, gfc-internal-format
 msgid "section #%u is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1807
+#: cp/module.cc:1829
 #, gcc-internal-format
 msgid "not Encapsulated Lazy Records of Named Declarations"
 msgstr ""
 
-#: cp/module.cc:1822
+#: cp/module.cc:1844
 #, gcc-internal-format
 msgid "unexpected encapsulation format or type"
 msgstr ""
 
-#: cp/module.cc:1831
+#: cp/module.cc:1853
 #, gcc-internal-format
 msgid "encapsulation is malformed"
 msgstr ""
 
-#: cp/module.cc:11603
+#: cp/module.cc:3381
+#, gcc-internal-format
+msgid "unable to represent further imported source locations"
+msgstr ""
+
+#: cp/module.cc:11953
 #, gcc-internal-format
 msgid "conflicting global module declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:11605
+#: cp/module.cc:11955
 #, gcc-internal-format
 msgid "existing declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:12658
+#: cp/module.cc:12040
+#, gcc-internal-format
+msgid "conflicting default argument for %#qD"
+msgstr ""
+
+#: cp/module.cc:12042 cp/module.cc:12069
+#, gcc-internal-format
+msgid "existing default declared here"
+msgstr ""
+
+#: cp/module.cc:12066
+#, gcc-internal-format
+msgid "conflicting default argument for parameter %P of %#qD"
+msgstr ""
+
+#: cp/module.cc:13118
 #, gcc-internal-format
 msgid "definition of %qD does not match"
 msgstr ""
 
-#: cp/module.cc:12660
+#: cp/module.cc:13120
 #, gcc-internal-format
 msgid "existing definition %qD"
 msgstr ""
 
-#: cp/module.cc:12672
+#: cp/module.cc:13132
 #, gcc-internal-format
-msgid "... this enumerator %qD"
+msgid "enumerator %qD does not match ..."
 msgstr ""
 
-#: cp/module.cc:12674
+#: cp/module.cc:13134
 #, gcc-internal-format
-msgid "enumerator %qD does not match ..."
+msgid "... this enumerator %qD"
 msgstr ""
 
-#: cp/module.cc:12680
+#: cp/module.cc:13140
 #, gcc-internal-format
 msgid "additional enumerators beginning with %qD"
 msgstr ""
 
-#: cp/module.cc:12684
+#: cp/module.cc:13144
 #, gcc-internal-format
 msgid "enumeration range differs"
 msgstr ""
 
-#: cp/module.cc:13802
+#: cp/module.cc:13356
+#, gcc-internal-format
+msgid "%qD is a specialization of TU-local template %qD"
+msgstr ""
+
+#: cp/module.cc:13380
+#, gcc-internal-format
+msgid "%qD declared with internal linkage"
+msgstr ""
+
+#: cp/module.cc:13398
+#, gcc-internal-format
+msgid "%qD has no linkage and is declared in an anonymous namespace"
+msgstr ""
+
+#: cp/module.cc:13410
+#, gcc-internal-format
+msgid "%qD has no linkage and is declared within TU-local entity %qT"
+msgstr ""
+
+#: cp/module.cc:13421
+#, gcc-internal-format
+msgid "%qD has no linkage and is declared within TU-local entity %qD"
+msgstr ""
+
+#: cp/module.cc:13450
+#, gcc-internal-format
+msgid ""
+"%qT has no name and is not defined within a class, function, or initializer"
+msgstr ""
+
+#: cp/module.cc:13486
+#, gcc-internal-format
+msgid "%qD has TU-local template argument %qD"
+msgstr ""
+
+#: cp/module.cc:13498
+#, gcc-internal-format
+msgid "%qD has TU-local template argument %qT"
+msgstr ""
+
+#: cp/module.cc:13550
+#, gcc-internal-format
+msgid "%qD refers to TU-local object %qD"
+msgstr ""
+
+#: cp/module.cc:13552
+#, gcc-internal-format
+msgid "%qD refers to TU-local function %qD"
+msgstr ""
+
+#: cp/module.cc:14643
+#, gcc-internal-format
+msgid "%qD exposes TU-local entity %qD"
+msgstr ""
+
+#: cp/module.cc:14654
+#, gcc-internal-format
+msgid "%qD is declared %<constexpr%> and is initialized to a TU-local value"
+msgstr ""
+
+#: cp/module.cc:14692
 #, gcc-internal-format
-msgid "%q#D references internal linkage entity %q#D"
+msgid ""
+"%qD refers to TU-local entity %qD and cannot be instantiated in other TUs"
 msgstr ""
 
-#: cp/module.cc:14385
+#: cp/module.cc:15289
 #, gcc-internal-format
 msgid "recursive lazy load"
 msgstr ""
 
-#. Cannot import the current module.
-#: cp/module.cc:14404
+#: cp/module.cc:15309
 #, gcc-internal-format
 msgid "cannot import module in its own purview"
 msgstr ""
 
-#: cp/module.cc:14405 cp/module.cc:19718
+#: cp/module.cc:15310 cp/module.cc:20861
 #, gcc-internal-format
 msgid "module %qs declared here"
 msgstr ""
 
-#: cp/module.cc:14749
+#: cp/module.cc:15654
 #, gcc-internal-format
 msgid "indirect import %qs is not already loaded"
 msgstr ""
 
-#: cp/module.cc:14755
+#: cp/module.cc:15660
 #, gcc-internal-format
 msgid "import %qs has CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:16583
-#, gcc-internal-format
-msgid "unable to represent further imported source locations"
-msgstr ""
-
-#: cp/module.cc:17458
+#: cp/module.cc:18416
 #, gcc-internal-format
 msgid "not exporting %<#define %E%> as it is a keyword"
 msgstr ""
 
-#: cp/module.cc:17698
+#: cp/module.cc:18656
 #, gcc-internal-format
 msgid "macro definitions of %qE corrupted"
 msgstr ""
 
-#: cp/module.cc:17722 cp/module.cc:17725
+#: cp/module.cc:18681 cp/module.cc:18684
 #, gcc-internal-format
 msgid "inconsistent imported macro definition %qE"
 msgstr ""
 
-#: cp/module.cc:17731
+#: cp/module.cc:18690
 #, gcc-internal-format
 msgid "%<#undef %E%>"
 msgstr ""
 
-#: cp/module.cc:17733
+#: cp/module.cc:18692
 #, gcc-internal-format
 msgid "%<#define %s%>"
 msgstr ""
 
-#: cp/module.cc:17966
+#: cp/module.cc:19035
 #, gcc-internal-format
 msgid "compiled module file is %qs"
 msgstr ""
 
-#: cp/module.cc:18003 cp/module.cc:18008
+#: cp/module.cc:19073 cp/module.cc:19078
 #, gcc-internal-format, gfc-internal-format
 msgid "compiled module is %sversion %s"
 msgstr ""
 
-#: cp/module.cc:18014
+#: cp/module.cc:19084
 #, gcc-internal-format, gfc-internal-format
 msgid "compiler is %sversion %s%s%s"
 msgstr ""
 
-#: cp/module.cc:18044
+#: cp/module.cc:19114
 #, gcc-internal-format
 msgid "module %qs found"
 msgstr ""
 
-#: cp/module.cc:18046
+#: cp/module.cc:19116
 #, gcc-internal-format
 msgid "header module expected, module %qs found"
 msgstr ""
 
-#: cp/module.cc:18047
+#: cp/module.cc:19117
 #, gcc-internal-format
 msgid "module %qs expected, header module found"
 msgstr ""
 
-#: cp/module.cc:18062
+#: cp/module.cc:19132
 #, gcc-internal-format
 msgid "module %qs CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:18076
+#: cp/module.cc:19146
 #, gcc-internal-format
 msgid "target & host is %qs:%qs, expected %qs:%qs"
 msgstr ""
 
-#: cp/module.cc:18088
+#: cp/module.cc:19158
 #, gcc-internal-format
 msgid "language dialect differs %qs, expected %qs"
 msgstr ""
 
-#: cp/module.cc:18104
+#: cp/module.cc:19174
 #, gcc-internal-format
 msgid "module contains OpenMP, use %<-fopenmp%> to enable"
 msgstr ""
 
-#: cp/module.cc:18121
+#: cp/module.cc:19191
 #, gcc-internal-format
 msgid "fixed tree mismatch"
 msgstr ""
 
-#: cp/module.cc:18212
+#: cp/module.cc:19282
 #, gcc-internal-format
 msgid "interface partition is not exported"
 msgstr ""
 
-#: cp/module.cc:18769
+#: cp/module.cc:19839
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module cluster %u: %s"
 msgstr ""
 
-#: cp/module.cc:18807
+#: cp/module.cc:19878
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:18817
+#: cp/module.cc:19888
 #, 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:18822
+#: cp/module.cc:19893
 #, gcc-internal-format
 msgid "imports must be built before being imported"
 msgstr ""
 
-#: cp/module.cc:18825
+#: cp/module.cc:19896
 #, gcc-internal-format
 msgid "returning to the gate for a mechanical issue"
 msgstr ""
 
-#: cp/module.cc:19137
+#: cp/module.cc:20213
+#, gcc-internal-format
+msgid "declaring %qD in module %qs conflicts with builtin in global module"
+msgstr ""
+
+#: cp/module.cc:20216
 #, gcc-internal-format
 msgid "declaration %qD conflicts with builtin"
 msgstr ""
 
-#: cp/module.cc:19142
+#: cp/module.cc:20222
 #, gcc-internal-format
 msgid "redeclaring %qD in module %qs conflicts with import"
 msgstr ""
 
-#: cp/module.cc:19145
+#: cp/module.cc:20225
 #, gcc-internal-format
 msgid "redeclaring %qD in global module conflicts with import"
 msgstr ""
 
-#: cp/module.cc:19150
+#: cp/module.cc:20230
 #, gcc-internal-format
 msgid "import declared attached to module %qs"
 msgstr ""
 
-#: cp/module.cc:19154
+#: cp/module.cc:20234
 #, gcc-internal-format
 msgid "import declared in global module"
 msgstr ""
 
-#: cp/module.cc:19160
+#: cp/module.cc:20240
 #, gcc-internal-format
 msgid "conflicting declaration of %qD in module %qs"
 msgstr ""
 
-#: cp/module.cc:19163
+#: cp/module.cc:20243
 #, gcc-internal-format
 msgid "conflicting declaration of %qD in global module"
 msgstr ""
 
-#: cp/module.cc:19168
+#: cp/module.cc:20248
 #, gcc-internal-format
 msgid "previously declared in module %qs"
 msgstr ""
 
-#: cp/module.cc:19172
+#: cp/module.cc:20252
 #, gcc-internal-format
 msgid "previously declared in global module"
 msgstr ""
 
-#: cp/module.cc:19412
+#: cp/module.cc:20391
+#, gcc-internal-format
+msgid ""
+"external linkage definition of %qD in header module must be declared "
+"%<inline%>"
+msgstr ""
+
+#: cp/module.cc:20402
+#, gcc-internal-format
+msgid "exporting declaration %qD with internal linkage"
+msgstr ""
+
+#: cp/module.cc:20554
 #, gcc-internal-format
 msgid "reading CMI %qs"
 msgstr ""
 
-#: cp/module.cc:19563
+#: cp/module.cc:20705
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19564
+#: cp/module.cc:20706
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:19571
+#: cp/module.cc:20713
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19572
+#: cp/module.cc:20714
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:19634
+#: cp/module.cc:20776
 #, gcc-internal-format
 msgid "failed to load pendings for %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:19638
+#: cp/module.cc:20780
 #, gcc-internal-format
 msgid "during load of pendings for %<%E%s%E%>"
 msgstr ""
@@ -62925,1534 +64052,1617 @@ 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:19683
+#: cp/module.cc:20825
 #, gcc-internal-format
 msgid "import of named module %qs inside language-linkage block"
 msgstr ""
 
-#: cp/module.cc:19713
+#: cp/module.cc:20856
 #, gcc-internal-format
 msgid "module already declared"
 msgstr ""
 
-#: cp/module.cc:19714
+#: cp/module.cc:20857
 #, gcc-internal-format
 msgid "module already imported"
 msgstr ""
 
-#: cp/module.cc:19719
+#: cp/module.cc:20862
 #, gcc-internal-format
 msgid "module %qs imported here"
 msgstr ""
 
-#: cp/module.cc:19926
+#: cp/module.cc:21070
+#, gcc-internal-format
+msgid "mismatching compiled module interface: had %qs, got %qs"
+msgstr ""
+
+#: cp/module.cc:21076
 #, gcc-internal-format, gfc-internal-format
-msgid "unknown Compiled Module Interface: %s"
+msgid "unknown compiled module interface: %s"
 msgstr ""
 
-#: cp/module.cc:19969
+#: cp/module.cc:21120
 #, gcc-internal-format
 msgid "cannot determine %<#include%> translation of %s: %s"
 msgstr ""
 
-#: cp/module.cc:19987
+#: cp/module.cc:21138
 #, gcc-internal-format
 msgid "include %qs translated to import"
 msgstr ""
 
-#: cp/module.cc:19988
+#: cp/module.cc:21139
 #, gcc-internal-format
 msgid "include %qs processed textually"
 msgstr ""
 
-#: cp/module.cc:20347
+#: cp/module.cc:21499
 #, gcc-internal-format
 msgid "C++ modules are incompatible with precompiled headers"
 msgstr ""
 
-#: cp/module.cc:20351
+#: cp/module.cc:21503
 #, gcc-internal-format
 msgid "C++ modules are incompatible with traditional preprocessing"
 msgstr ""
 
-#: cp/module.cc:20361
-#, gcc-internal-format
-msgid "macro debug output may be incomplete with modules"
-msgstr ""
-
-#: cp/module.cc:20362
+#: cp/module.cc:21535 cp/module.cc:21564
 #, gcc-internal-format
-msgid "module dependencies require preprocessing"
+msgid "invalid header name %qs"
 msgstr ""
 
-#: cp/module.cc:20364
+#: cp/module.cc:21574
 #, gcc-internal-format
-msgid "you should use the %<-%s%> option"
+msgid "invalid module name %qs"
 msgstr ""
 
-#: cp/module.cc:20399 cp/module.cc:20428
+#: cp/module.cc:21774
 #, gcc-internal-format
-msgid "invalid header name %qs"
+msgid "%<-fmodule-only%> used for non-interface"
 msgstr ""
 
-#: cp/module.cc:20438
+#: cp/module.cc:21814
 #, gcc-internal-format
-msgid "invalid module name %qs"
+msgid "writing CMI %qs"
 msgstr ""
 
-#: cp/module.cc:20638
+#: cp/module.cc:21829
 #, gcc-internal-format
-msgid "%<-fmodule-only%> used for non-interface"
+msgid "not writing module %qs due to errors in template bodies"
 msgstr ""
 
-#: cp/module.cc:20678
+#: cp/module.cc:21832
 #, gcc-internal-format
-msgid "writing CMI %qs"
+msgid "enable %<-Wtemplate-body%> for more details"
 msgstr ""
 
-#: cp/module.cc:20685
+#: cp/module.cc:21834
 #, gcc-internal-format
-msgid "not writing module %qs due to errors"
+msgid "first error in %qD appeared here"
 msgstr ""
 
-#: cp/module.cc:20750
+#: cp/module.cc:21898
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to write compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:20847
+#: cp/module.cc:21995
 #, gcc-internal-format
 msgid "unknown header kind %qs"
 msgstr ""
 
-#: cp/name-lookup.cc:2856 cp/name-lookup.cc:3932 cp/name-lookup.cc:4029
+#: cp/name-lookup.cc:2872 cp/name-lookup.cc:3975 cp/name-lookup.cc:4075
 #, gcc-internal-format
 msgid ""
 "name-independent declarations only available with %<-std=c++2c%> or %<-"
 "std=gnu++2c%>"
 msgstr ""
 
-#: cp/name-lookup.cc:2887
+#: cp/name-lookup.cc:2910
 #, gcc-internal-format
 msgid "redeclaration of %q#D with different template parameters"
 msgstr ""
 
-#: cp/name-lookup.cc:2893
+#: cp/name-lookup.cc:2916
 #, gcc-internal-format
 msgid "%q#D conflicts with a previous declaration"
 msgstr ""
 
-#: cp/name-lookup.cc:3060
+#: cp/name-lookup.cc:3086
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#D"
 msgstr ""
 
-#: cp/name-lookup.cc:3211
+#: cp/name-lookup.cc:3233
 #, gcc-internal-format
 msgid "conflicting C language linkage declaration %q#D"
 msgstr ""
 
-#: cp/name-lookup.cc:3216
+#: cp/name-lookup.cc:3238
 #, gcc-internal-format
 msgid "due to different exception specifications"
 msgstr ""
 
-#: cp/name-lookup.cc:3326
+#: cp/name-lookup.cc:3348
 #, gcc-internal-format
 msgid "lambda parameter %qD previously declared as a capture"
 msgstr ""
 
-#: cp/name-lookup.cc:3359 cp/name-lookup.cc:3363
+#: cp/name-lookup.cc:3381 cp/name-lookup.cc:3385
 #, gcc-internal-format
 msgid "declaration of %q#D shadows a parameter"
 msgstr ""
 
-#: cp/name-lookup.cc:3522
+#: cp/name-lookup.cc:3544
 #, gcc-internal-format
 msgid "declaration of %qD shadows a member of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:4014
+#: cp/name-lookup.cc:4060
 #, gcc-internal-format
 msgid "friend declaration %qD in local class without prior local declaration"
 msgstr ""
 
-#: cp/name-lookup.cc:4565
+#: cp/name-lookup.cc:4652
 #, gcc-internal-format
 msgid "%s %<%s(%E)%> %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:4568
+#: cp/name-lookup.cc:4655
 #, gcc-internal-format
 msgid "%s %s %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:5154
+#: cp/name-lookup.cc:5251
 #, gcc-internal-format
 msgid "exporting %q#D that does not have external linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:5159
+#: cp/name-lookup.cc:5255
 #, gcc-internal-format
 msgid "%q#D declared here with no linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:5162
+#: cp/name-lookup.cc:5258
 #, gcc-internal-format
 msgid "%q#D declared here with internal linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:5165
+#: cp/name-lookup.cc:5261
 #, gcc-internal-format
 msgid "%q#D declared here with module linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:5964
+#: cp/name-lookup.cc:6069
 #, gcc-internal-format
 msgid "%<%T%s%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.cc:5980
+#: cp/name-lookup.cc:6085
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5988
+#: cp/name-lookup.cc:6093
 #, 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:6004 cp/pt.cc:18517
+#: cp/name-lookup.cc:6109 cp/pt.cc:18900
 #, gcc-internal-format
 msgid "%qT is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/name-lookup.cc:6014
+#: cp/name-lookup.cc:6119
 #, gcc-internal-format
 msgid "non-member using-declaration names constructor of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:6025 cp/name-lookup.cc:6098
+#: cp/name-lookup.cc:6130 cp/name-lookup.cc:6203
 #, gcc-internal-format
 msgid "using-declaration for member at non-class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:6048
+#: cp/name-lookup.cc:6153
 #, gcc-internal-format
 msgid "%qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:6108
+#: cp/name-lookup.cc:6213
 #, gcc-internal-format
 msgid "did you mean %<using enum %T::%D%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:6120
+#: cp/name-lookup.cc:6225
 #, gcc-internal-format
 msgid "%qD has not been declared in %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6134
+#: cp/name-lookup.cc:6240
 #, gcc-internal-format
 msgid "using-declaration may not name namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6145
+#: cp/name-lookup.cc:6251
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:6238
+#: cp/name-lookup.cc:6344
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6279
+#: cp/name-lookup.cc:6386
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6289
+#: cp/name-lookup.cc:6396
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6358
+#: cp/name-lookup.cc:6466
 #, gcc-internal-format
 msgid "%qD has not been declared within %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:6360
+#: cp/name-lookup.cc:6468
 #, gcc-internal-format
 msgid "only here as a %<friend%>"
 msgstr ""
 
-#: cp/name-lookup.cc:6414
+#: cp/name-lookup.cc:6522
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.cc:6421
+#: cp/name-lookup.cc:6529
 #, gcc-internal-format
 msgid ""
 "%qD attribute is meaningless since members of the anonymous namespace get "
 "local symbols"
 msgstr ""
 
-#: cp/name-lookup.cc:6431 cp/name-lookup.cc:6458
+#: cp/name-lookup.cc:6539 cp/name-lookup.cc:6566
 #, gcc-internal-format
 msgid "ignoring %qD attribute on anonymous namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6437
+#: cp/name-lookup.cc:6545
 #, gcc-internal-format
 msgid "ignoring %qD attribute on non-inline namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6474 cp/name-lookup.cc:8868
+#: cp/name-lookup.cc:6582 cp/name-lookup.cc:8999
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.cc:6800
+#: cp/name-lookup.cc:6911
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6852
+#: cp/name-lookup.cc:6963
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.cc:6858
+#: cp/name-lookup.cc:6969
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:7172
+#: cp/name-lookup.cc:7294
 #, gcc-internal-format
 msgid ""
 "%<std::%s%> is defined in header %qs; this is probably fixable by adding "
 "%<#include %s%>"
 msgstr ""
 
-#: cp/name-lookup.cc:7178
+#: cp/name-lookup.cc:7300
 #, gcc-internal-format
 msgid "%<std::%s%> is only available from %s onwards"
 msgstr ""
 
-#: cp/name-lookup.cc:7614
+#: cp/name-lookup.cc:7738
 #, gcc-internal-format
 msgid "the macro %qs had not yet been defined"
 msgstr ""
 
-#: cp/name-lookup.cc:7617
+#: cp/name-lookup.cc:7741
 #, gcc-internal-format
 msgid "it was later defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:8412
+#: cp/name-lookup.cc:8537
 #, gcc-internal-format
 msgid ""
 "declaration of %<std::initializer_list%> does not match %<#include "
 "<initializer_list>%>, isn%'t a template"
 msgstr ""
 
-#: cp/name-lookup.cc:8840
+#: cp/name-lookup.cc:8971
 #, gcc-internal-format
 msgid "%<strong%> using directive no longer supported"
 msgstr ""
 
-#: cp/name-lookup.cc:8843
+#: cp/name-lookup.cc:8974
 #, gcc-internal-format
 msgid "you can use an inline namespace instead"
 msgstr ""
 
-#: cp/name-lookup.cc:8862
+#: cp/name-lookup.cc:8993
 #, gcc-internal-format
 msgid "%<omp::%E%> not allowed to be specified in this context"
 msgstr ""
 
 #. We only allow depth 255.
-#: cp/name-lookup.cc:8954
+#: cp/name-lookup.cc:9085
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot nest more than %d namespaces"
 msgstr ""
 
-#: cp/name-lookup.cc:9051
+#: cp/name-lookup.cc:9187
 #, gcc-internal-format
 msgid "%<namespace %E%> is ambiguous"
 msgstr ""
 
-#: cp/name-lookup.cc:9067
+#: cp/name-lookup.cc:9203
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:9152
+#: cp/name-lookup.cc:9286
+#, gcc-internal-format
+msgid "exporting namespace %qD with internal linkage"
+msgstr ""
+
+#: cp/name-lookup.cc:9288
 #, gcc-internal-format
-msgid "exporting namespace with internal linkage"
+msgid ""
+"%qD has internal linkage because it was declared in an unnamed namespace"
+msgstr ""
+
+#: cp/name-lookup.cc:9292
+#, gcc-internal-format
+msgid "exporting unnamed namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:9160
+#: cp/name-lookup.cc:9302
 #, gcc-internal-format
 msgid "inline namespace must be specified at initial definition"
 msgstr ""
 
-#: cp/name-lookup.cc:9161
+#: cp/name-lookup.cc:9303
 #, gcc-internal-format
 msgid "%qD defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:9209
+#: cp/name-lookup.cc:9352
 #, gcc-internal-format
 msgid "%s namespace %qD conflicts with reachable definition"
 msgstr ""
 
-#: cp/name-lookup.cc:9211
+#: cp/name-lookup.cc:9354
 #, gcc-internal-format, gfc-internal-format
 msgid "reachable %s definition here"
 msgstr ""
 
-#: cp/name-lookup.cc:9254
+#: cp/name-lookup.cc:9397
 #, gcc-internal-format
 msgid "XXX entering %<pop_everything ()%>"
 msgstr ""
 
-#: cp/name-lookup.cc:9263
+#: cp/name-lookup.cc:9406
 #, gcc-internal-format
 msgid "XXX leaving %<pop_everything ()%>"
 msgstr ""
 
-#: cp/optimize.cc:629
+#: cp/optimize.cc:633
 #, gcc-internal-format
 msgid "making multiple clones of %qD"
 msgstr ""
 
-#: cp/parser.cc:1008
+#: cp/parser.cc:1122
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++11"
 msgstr ""
 
-#: cp/parser.cc:1022
+#: cp/parser.cc:1136
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++20"
 msgstr ""
 
-#: cp/parser.cc:1571 cp/parser.cc:1584
+#: cp/parser.cc:1686 cp/parser.cc:1699
 #, gcc-internal-format
 msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
 msgstr ""
 
-#: cp/parser.cc:1609 cp/parser.cc:48005
+#: cp/parser.cc:1724 cp/parser.cc:49637
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by function declaration "
 "or definition"
 msgstr ""
 
-#: cp/parser.cc:1649
+#: cp/parser.cc:1764
 #, gcc-internal-format
 msgid ""
 "%<declare %s%> directive not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: cp/parser.cc:3228
+#: cp/parser.cc:3348
 #, gcc-internal-format
 msgid "%<#pragma%> is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:3357
+#: cp/parser.cc:3356
+#, gcc-internal-format
+msgid "unexpected module directive"
+msgstr ""
+
+#: cp/parser.cc:3358
+#, gcc-internal-format
+msgid ""
+"perhaps insert a line break after %qs, or other disambiguation, to prevent "
+"this being considered a module control-line"
+msgstr ""
+
+#: cp/parser.cc:3501
+#, gcc-internal-format
+msgid "%<%E::%E%> has not been declared; did you mean %<%E::%s%>?"
+msgstr ""
+
+#: cp/parser.cc:3507
 #, gcc-internal-format
 msgid "%<%E::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3360
+#: cp/parser.cc:3511
 #, gcc-internal-format
 msgid "%<::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3363
+#: cp/parser.cc:3514
 #, gcc-internal-format
 msgid "request for member %qE in non-class type %qT"
 msgstr ""
 
-#: cp/parser.cc:3366 cp/parser.cc:21753
+#: cp/parser.cc:3517 cp/parser.cc:22247
 #, gcc-internal-format
 msgid "%<%T::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3376
+#: cp/parser.cc:3529
+#, gcc-internal-format
+msgid "%qE has not been declared; did you mean %qs?"
+msgstr ""
+
+#: cp/parser.cc:3541
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3380
+#: cp/parser.cc:3545
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3385
+#: cp/parser.cc:3550
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3398
+#: cp/parser.cc:3563
 #, gcc-internal-format
 msgid "%<::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3401
+#: cp/parser.cc:3566
 #, gcc-internal-format
 msgid "%<::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3405
+#: cp/parser.cc:3570
 #, gcc-internal-format
 msgid "%<::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3417
+#: cp/parser.cc:3582
 #, gcc-internal-format
 msgid "%qE is not a type"
 msgstr ""
 
-#: cp/parser.cc:3420
+#: cp/parser.cc:3585
 #, gcc-internal-format
 msgid "%qE is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3424
+#: cp/parser.cc:3589
 #, gcc-internal-format
 msgid "%qE is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3488
+#: cp/parser.cc:3654
 #, gcc-internal-format
 msgid "new types may not be defined in a return type"
 msgstr ""
 
-#: cp/parser.cc:3490
+#: cp/parser.cc:3656
 #, gcc-internal-format
 msgid "(perhaps a semicolon is missing after the definition of %qT)"
 msgstr ""
 
-#: cp/parser.cc:3518
+#: cp/parser.cc:3684
 #, gcc-internal-format
 msgid "%qE is not a class template"
 msgstr ""
 
-#: cp/parser.cc:3520
+#: cp/parser.cc:3686
 #, gcc-internal-format
 msgid "%qE is not a template"
 msgstr ""
 
-#: cp/parser.cc:3523
+#: cp/parser.cc:3689
 #, gcc-internal-format
 msgid "invalid template-id"
 msgstr ""
 
-#: cp/parser.cc:3557
+#: cp/parser.cc:3723
 #, gcc-internal-format
 msgid "ISO C++ forbids using a floating-point literal in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3561
+#: cp/parser.cc:3727
 #, 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:3566
+#: cp/parser.cc:3732
 #, gcc-internal-format
 msgid "%<typeid%> operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3570
+#: cp/parser.cc:3736
 #, gcc-internal-format
 msgid "non-constant compound literals cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3574
+#: cp/parser.cc:3740
 #, gcc-internal-format
 msgid "a function call cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3578
+#: cp/parser.cc:3744
 #, gcc-internal-format
 msgid "an increment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3582
+#: cp/parser.cc:3748
 #, gcc-internal-format
 msgid "an decrement cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3586
+#: cp/parser.cc:3752
 #, gcc-internal-format
 msgid "an array reference cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3590
+#: cp/parser.cc:3756
 #, gcc-internal-format
 msgid "the address of a label cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3594
+#: cp/parser.cc:3760
 #, gcc-internal-format
 msgid "calls to overloaded operators cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3598
+#: cp/parser.cc:3764
 #, gcc-internal-format
 msgid "an assignment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3601
+#: cp/parser.cc:3767
 #, gcc-internal-format
 msgid "a comma operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3605
+#: cp/parser.cc:3771
 #, gcc-internal-format
 msgid "a call to a constructor cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3609
+#: cp/parser.cc:3775
 #, gcc-internal-format
 msgid "a transaction expression cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3655
+#: cp/parser.cc:3821
 #, gcc-internal-format
 msgid "%qs cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3692
+#: cp/parser.cc:3858
 #, gcc-internal-format
 msgid ""
 "class template argument deduction is only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:3697
+#: cp/parser.cc:3863
 #, gcc-internal-format
 msgid "invalid use of destructor %qD as a type"
 msgstr ""
 
 #. Something like 'unsigned A a;'
-#: cp/parser.cc:3700
+#: cp/parser.cc:3866
 #, gcc-internal-format
 msgid "invalid combination of multiple type-specifiers"
 msgstr ""
 
-#: cp/parser.cc:3713
+#: cp/parser.cc:3879
 #, gcc-internal-format
 msgid "%qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3717
+#: cp/parser.cc:3883
 #, gcc-internal-format
 msgid "%qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3726
+#: cp/parser.cc:3892
 #, gcc-internal-format
 msgid ""
 "C++11 %<constexpr%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3729
+#: cp/parser.cc:3895
 #, gcc-internal-format
 msgid ""
 "C++11 %<noexcept%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3735
+#: cp/parser.cc:3901
 #, gcc-internal-format
 msgid "%qE is not recognized as a module control-line"
 msgstr ""
 
-#: cp/parser.cc:3738
+#: cp/parser.cc:3904
 #, gcc-internal-format
 msgid "C++20 %qE only available with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:3741
+#: cp/parser.cc:3907
 #, 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:3747
+#: cp/parser.cc:3913
 #, gcc-internal-format
 msgid ""
 "C++11 %<thread_local%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3750
+#: cp/parser.cc:3916
 #, gcc-internal-format
 msgid ""
 "C++20 %<constinit%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:3753
+#: cp/parser.cc:3919
 #, gcc-internal-format
 msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3756 cp/parser.cc:31475
+#: cp/parser.cc:3922 cp/parser.cc:32249
 #, gcc-internal-format
 msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3778
+#: cp/parser.cc:3944
 #, gcc-internal-format
 msgid "(perhaps %<typename %T::%E%> was intended)"
 msgstr ""
 
-#: cp/parser.cc:3806 cp/parser.cc:3818
+#: cp/parser.cc:3972 cp/parser.cc:3984
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3811 cp/parser.cc:3823
+#: cp/parser.cc:3977 cp/parser.cc:3989
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3831
+#: cp/parser.cc:3997
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3836
+#: cp/parser.cc:4002
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3847
+#: cp/parser.cc:4013
 #, gcc-internal-format
 msgid "%<%T::%E%> names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:3850
+#: cp/parser.cc:4016
 #, gcc-internal-format
 msgid "and %qT has no template constructors"
 msgstr ""
 
-#: cp/parser.cc:3860
+#: cp/parser.cc:4026
 #, gcc-internal-format
 msgid ""
 "need %<typename%> before %<%T::%D::%E%> because %<%T::%D%> is a dependent "
 "scope"
 msgstr ""
 
-#: cp/parser.cc:3868
+#: cp/parser.cc:4034
 #, gcc-internal-format
 msgid "need %<typename%> before %<%T::%E%> because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:3880 cp/parser.cc:3884
+#: cp/parser.cc:4047 cp/parser.cc:4051
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3888
+#: cp/parser.cc:4055
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a type"
 msgstr ""
 
-#: cp/parser.cc:4578
+#: cp/parser.cc:4760
 #, gcc-internal-format
 msgid "expected string-literal"
 msgstr ""
 
-#: cp/parser.cc:4650
+#: cp/parser.cc:4832
 #, gcc-internal-format
 msgid ""
 "inconsistent user-defined literal suffixes %qD and %qD in string literal"
 msgstr ""
 
-#: cp/parser.cc:4669
+#: cp/parser.cc:4851
 #, gcc-internal-format
 msgid "concatenation of string literals with conflicting encoding prefixes"
 msgstr ""
 
-#: cp/parser.cc:4890
+#: cp/parser.cc:5072
 #, gcc-internal-format
 msgid "unable to find character literal operator %qD with %qT argument"
 msgstr ""
 
-#: cp/parser.cc:4996
+#: cp/parser.cc:5178
 #, gcc-internal-format
 msgid "integer literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:5003
+#: cp/parser.cc:5185
 #, gcc-internal-format
 msgid "floating literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:5007
+#: cp/parser.cc:5189
 #, gcc-internal-format
 msgid "floating literal truncated to zero"
 msgstr ""
 
-#: cp/parser.cc:5036
+#: cp/parser.cc:5218
 #, gcc-internal-format
 msgid "failed to translate literal to execution character set %qT"
 msgstr ""
 
-#: cp/parser.cc:5070
+#: cp/parser.cc:5254
 #, gcc-internal-format
 msgid "unable to find numeric literal operator %qD"
 msgstr ""
 
-#: cp/parser.cc:5076
+#: cp/parser.cc:5260
 #, 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:5080
+#: cp/parser.cc:5264
 #, gcc-internal-format
 msgid "or use %<j%> instead of %<i%> for the GNU built-in suffix"
 msgstr ""
 
-#: cp/parser.cc:5084
+#: cp/parser.cc:5268
 #, gcc-internal-format
 msgid "use %<-fext-numeric-literals%> to enable more built-in suffixes"
 msgstr ""
 
-#: cp/parser.cc:5168
+#: cp/parser.cc:5353
 #, gcc-internal-format
 msgid "unable to find string literal operator %qD with %qT, %qT arguments"
 msgstr ""
 
-#: cp/parser.cc:5262
+#: cp/parser.cc:5447
 #, gcc-internal-format
 msgid "global module fragment contents must be from preprocessor inclusion"
 msgstr ""
 
-#: cp/parser.cc:5277 cp/parser.cc:15847
-#, gcc-internal-format
-msgid "expected declaration"
-msgstr ""
-
-#: cp/parser.cc:5642 cp/parser.cc:5658
+#: cp/parser.cc:5827 cp/parser.cc:5843
 #, gcc-internal-format
 msgid "expected binary operator"
 msgstr ""
 
-#: cp/parser.cc:5664
+#: cp/parser.cc:5849
 #, gcc-internal-format
 msgid "expected ..."
 msgstr ""
 
-#: cp/parser.cc:5676
+#: cp/parser.cc:5861
 #, gcc-internal-format
 msgid "binary expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5681
+#: cp/parser.cc:5866
 #, gcc-internal-format
 msgid "conditional expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5692
+#: cp/parser.cc:5877
 #, gcc-internal-format
 msgid "mismatched operator in fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5797
+#: cp/parser.cc:5918
+#, gcc-internal-format
+msgid "pack indexing only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
+msgstr ""
+
+#: cp/parser.cc:5928
+#, gcc-internal-format
+msgid "pack index missing"
+msgstr ""
+
+#: cp/parser.cc:6038
 #, gcc-internal-format
 msgid "fixed-point types not supported in C++"
 msgstr ""
 
-#: cp/parser.cc:5887
+#: cp/parser.cc:6128
 #, gcc-internal-format
 msgid "ISO C++ forbids braced-groups within expressions"
 msgstr ""
 
-#: cp/parser.cc:5899
+#: cp/parser.cc:6140
 #, gcc-internal-format
 msgid ""
 "statement-expressions are not allowed outside functions nor in template-"
 "argument lists"
 msgstr ""
 
-#: cp/parser.cc:5939
+#: cp/parser.cc:6180
 #, gcc-internal-format
 msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:6000 cp/parser.cc:6155 cp/parser.cc:6339 cp/semantics.cc:4401
+#: cp/parser.cc:6241 cp/parser.cc:6396 cp/parser.cc:6585 cp/semantics.cc:4780
 #, gcc-internal-format
 msgid "expected primary-expression"
 msgstr ""
 
-#: cp/parser.cc:6030
+#: cp/parser.cc:6271
 #, gcc-internal-format
 msgid "%<this%> may not be used in this context"
 msgstr ""
 
-#: cp/parser.cc:6149
+#: cp/parser.cc:6390
 #, gcc-internal-format
 msgid "a template declaration cannot appear at block scope"
 msgstr ""
 
-#: cp/parser.cc:6299
+#: cp/parser.cc:6540
 #, gcc-internal-format
 msgid "parameter %qD may not appear in this context"
 msgstr ""
 
-#: cp/parser.cc:6300
+#: cp/parser.cc:6541
 #, gcc-internal-format
 msgid "local variable %qD may not appear in this context"
 msgstr ""
 
-#: cp/parser.cc:6367
+#: cp/parser.cc:6613
 #, gcc-internal-format
 msgid "expected %qs keyword before dependent template name"
 msgstr ""
 
-#: cp/parser.cc:6510
+#: cp/parser.cc:6757
 #, gcc-internal-format
 msgid "expected id-expression"
 msgstr ""
 
-#: cp/parser.cc:6673
+#: cp/parser.cc:6922
 #, gcc-internal-format
 msgid "scope %qT before %<~%> is not a class-name"
 msgstr ""
 
-#: cp/parser.cc:6683
+#: cp/parser.cc:6932
 #, gcc-internal-format
 msgid "%<template%> keyword not permitted in destructor name"
 msgstr ""
 
-#: cp/parser.cc:6720 cp/parser.cc:8916
+#: cp/parser.cc:6969 cp/parser.cc:9244
 #, gcc-internal-format
 msgid "%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:6734 cp/parser.cc:6738
+#: cp/parser.cc:6983 cp/parser.cc:6987
 #, gcc-internal-format
 msgid "template-id not allowed for destructor in C++20"
 msgstr ""
 
-#: cp/parser.cc:6740 cp/parser.cc:32708
+#: cp/parser.cc:6989 cp/parser.cc:33481
 #, gcc-internal-format
 msgid "remove the %qs"
 msgstr ""
 
-#: cp/parser.cc:6848
+#: cp/parser.cc:7097
 #, gcc-internal-format
 msgid "declaration of %<~%T%> as member of %qT"
 msgstr ""
 
-#: cp/parser.cc:6863
+#: cp/parser.cc:7112
 #, gcc-internal-format
 msgid "typedef-name %qD used as destructor declarator"
 msgstr ""
 
-#: cp/parser.cc:6899 cp/parser.cc:24277
+#: cp/parser.cc:7155 cp/parser.cc:24849
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
 
-#: cp/parser.cc:6926 cp/typeck.cc:3165 cp/typeck.cc:3168 cp/typeck.cc:3185
+#: cp/parser.cc:7182 cp/typeck.cc:3189 cp/typeck.cc:3192 cp/typeck.cc:3209
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr ""
 
-#: cp/parser.cc:7040
+#: cp/parser.cc:7297
 #, gcc-internal-format
 msgid "found %<:%> in nested-name-specifier, expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:7121
+#: cp/parser.cc:7382
 #, gcc-internal-format
 msgid "%<decltype%> evaluates to %qT, which is not a class or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:7148 cp/parser.cc:7159
+#: cp/parser.cc:7409
 #, gcc-internal-format
-msgid "concept-id %qD in nested-name-specifier"
+msgid "function template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7151
+#: cp/parser.cc:7416
 #, gcc-internal-format
-msgid "function template-id %qD in nested-name-specifier"
+msgid "concept-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7165
+#: cp/parser.cc:7422
 #, gcc-internal-format
 msgid "variable template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7339
+#: cp/parser.cc:7596
 #, gcc-internal-format
 msgid "expected nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7546 cp/parser.cc:10161
+#: cp/parser.cc:7808 cp/parser.cc:10516
 #, gcc-internal-format
 msgid "types may not be defined in casts"
 msgstr ""
 
-#: cp/parser.cc:7635
+#: cp/parser.cc:7896
 #, gcc-internal-format
 msgid "types may not be defined in a %<typeid%> expression"
 msgstr ""
 
-#: cp/parser.cc:7727
+#: cp/parser.cc:7990
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_addressof%>"
 msgstr ""
 
-#: cp/parser.cc:7739 cp/pt.cc:21024
+#: cp/parser.cc:8002 cp/pt.cc:21495
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_launder%>"
 msgstr ""
 
-#: cp/parser.cc:7752
+#: cp/parser.cc:8015
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_assoc_barrier%>"
 msgstr ""
 
-#: cp/parser.cc:7778
+#: cp/parser.cc:8041
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: cp/parser.cc:7912
+#: cp/parser.cc:8069 cp/pt.cc:21610
+#, gcc-internal-format
+msgid ""
+"call to %<__builtin_operator_new%> does not select replaceable global "
+"allocation function"
+msgstr ""
+
+#: cp/parser.cc:8073 cp/pt.cc:21614
+#, gcc-internal-format
+msgid ""
+"call to %<__builtin_operator_delete%> does not select replaceable global "
+"deallocation function"
+msgstr ""
+
+#: cp/parser.cc:8078 cp/pt.cc:21619
+#, gcc-internal-format
+msgid "selected function declared here"
+msgstr ""
+
+#: cp/parser.cc:8211
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr ""
 
-#: cp/parser.cc:7971
+#: cp/parser.cc:8270
 #, gcc-internal-format
 msgid "two consecutive %<[%> shall only introduce an attribute"
 msgstr ""
 
-#: cp/parser.cc:8022
+#: cp/parser.cc:8321
 #, gcc-internal-format
 msgid "types may not be defined in %<__builtin_classify_type%> calls"
 msgstr ""
 
-#: cp/parser.cc:8405 cp/parser.cc:8434
+#: cp/parser.cc:8717 cp/parser.cc:8746
 #, gcc-internal-format
 msgid "cannot use multidimensional subscript in OpenMP array section"
 msgstr ""
 
-#: cp/parser.cc:8692 cp/typeck.cc:3053
+#: cp/parser.cc:9005 cp/typeck.cc:3077
 #, gcc-internal-format
 msgid "invalid use of %qD"
 msgstr ""
 
-#: cp/parser.cc:8701
+#: cp/parser.cc:9014
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a class member"
 msgstr ""
 
-#: cp/parser.cc:8968
+#: cp/parser.cc:9296
 #, gcc-internal-format
 msgid "non-scalar type"
 msgstr ""
 
-#: cp/parser.cc:9078
+#: cp/parser.cc:9406
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<alignof%> with a non-type"
 msgstr ""
 
-#: cp/parser.cc:9173
+#: cp/parser.cc:9507
 #, gcc-internal-format
 msgid "types may not be defined in %<noexcept%> expressions"
 msgstr ""
 
-#: cp/parser.cc:9449 cp/parser.cc:34121
+#: cp/parser.cc:9566
+#, gcc-internal-format
+msgid "%<co_await%> cannot be used in default arguments"
+msgstr ""
+
+#: cp/parser.cc:9791 cp/parser.cc:34794
 #, gcc-internal-format
 msgid "types may not be defined in %qs expressions"
 msgstr ""
 
-#: cp/parser.cc:9514
+#: cp/parser.cc:9856
 #, gcc-internal-format
 msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
 msgstr ""
 
-#: cp/parser.cc:9600
+#: cp/parser.cc:9942
 #, gcc-internal-format
 msgid "types may not be defined in a new-expression"
 msgstr ""
 
-#: cp/parser.cc:9616
+#: cp/parser.cc:9960
 #, gcc-internal-format
 msgid "array bound forbidden after parenthesized type-id"
 msgstr ""
 
-#: cp/parser.cc:9618
+#: cp/parser.cc:9962
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr ""
 
-#: cp/parser.cc:9650
+#: cp/parser.cc:9995
 #, gcc-internal-format
 msgid ""
 "initialization of new-expression for type %<auto%> requires exactly one "
 "element"
 msgstr ""
 
-#: cp/parser.cc:9695
+#: cp/parser.cc:10040
 #, gcc-internal-format
 msgid "expected expression-list or type-id"
 msgstr ""
 
-#: cp/parser.cc:9724
+#: cp/parser.cc:10069
 #, gcc-internal-format
 msgid "types may not be defined in a new-type-id"
 msgstr ""
 
-#: cp/parser.cc:9859
+#: cp/parser.cc:10117
+#, gcc-internal-format
+msgid "attributes ignored on outermost array type in new expression"
+msgstr ""
+
+#: cp/parser.cc:10213
 #, gcc-internal-format
 msgid "expression in new-declarator must have integral or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:10266
+#: cp/parser.cc:10619
 #, gcc-internal-format
 msgid "use of old-style cast to %q#T"
 msgstr ""
 
-#: cp/parser.cc:10415
+#: cp/parser.cc:10769
 #, gcc-internal-format
 msgid "%<>>%> operator is treated as two right angle brackets in C++11"
 msgstr ""
 
-#: cp/parser.cc:10418
+#: cp/parser.cc:10772
 #, gcc-internal-format
 msgid "suggest parentheses around %<>>%> expression"
 msgstr ""
 
-#: cp/parser.cc:10644
+#: cp/parser.cc:10998
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<?:%> with omitted middle operand"
 msgstr ""
 
-#: cp/parser.cc:10952
+#: cp/parser.cc:11322
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript is deprecated"
 msgstr ""
 
-#: cp/parser.cc:11100
+#: cp/parser.cc:11470
 #, gcc-internal-format
 msgid "types may not be defined within %<__builtin_offsetof%>"
 msgstr ""
 
-#: cp/parser.cc:11234
+#: cp/parser.cc:11604
 #, gcc-internal-format
 msgid "trailing argument to %<__type_pack_element%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:11334
+#: cp/parser.cc:11704
 #, gcc-internal-format
 msgid "lambda-expression in template parameter type"
 msgstr ""
 
-#: cp/parser.cc:11344
+#: cp/parser.cc:11714
 #, gcc-internal-format
 msgid ""
 "lambda-expression in unevaluated context only available with %<-std=c++20%> "
 "or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11354
+#: cp/parser.cc:11724
 #, gcc-internal-format
 msgid ""
 "lambda-expression in template-argument only available with %<-std=c++20%> or "
 "%<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11514
+#: cp/parser.cc:11882
 #, gcc-internal-format
 msgid "non-local lambda expression cannot have a capture-default"
 msgstr ""
 
-#: cp/parser.cc:11537
+#: cp/parser.cc:11905
 #, gcc-internal-format
 msgid "expected end of capture-list"
 msgstr ""
 
-#: cp/parser.cc:11553
+#: cp/parser.cc:11921
 #, 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:11559 cp/parser.cc:11581 cp/parser.cc:11777
+#: cp/parser.cc:11927 cp/parser.cc:11949 cp/parser.cc:12147
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/parser.cc:11575
+#: cp/parser.cc:11943
 #, gcc-internal-format
 msgid ""
 "%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:11595
+#: cp/parser.cc:11963
 #, gcc-internal-format
 msgid "%<this%> cannot be captured by reference"
 msgstr ""
 
-#: cp/parser.cc:11615
+#: cp/parser.cc:11983
 #, gcc-internal-format
 msgid ""
 "pack init-capture only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11626
+#: cp/parser.cc:11994
 #, gcc-internal-format
 msgid "%<&%> should come before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:11656
+#: cp/parser.cc:12024
 #, gcc-internal-format
 msgid ""
 "lambda capture initializers only available with %<-std=c++14%> or %<-std=gnu+"
 "+14%>"
 msgstr ""
 
-#: cp/parser.cc:11665
+#: cp/parser.cc:12033
 #, gcc-internal-format
 msgid "empty initializer for lambda init-capture"
 msgstr ""
 
-#: cp/parser.cc:11689
+#: cp/parser.cc:12058
 #, gcc-internal-format
 msgid "capture of non-variable %qE"
 msgstr ""
 
-#: cp/parser.cc:11693 cp/parser.cc:11703 cp/semantics.cc:4243
-#: cp/semantics.cc:4258
+#: cp/parser.cc:12062 cp/parser.cc:12073 cp/semantics.cc:4620
+#: cp/semantics.cc:4636
 #, gcc-internal-format
 msgid "%q#D declared here"
 msgstr ""
 
-#: cp/parser.cc:11699
+#: cp/parser.cc:12069
 #, gcc-internal-format
 msgid "capture of variable %qD with non-automatic storage duration"
 msgstr ""
 
-#: cp/parser.cc:11737
+#: cp/parser.cc:12107
 #, gcc-internal-format
 msgid "too many %<...%> in lambda capture"
 msgstr ""
 
-#: cp/parser.cc:11748
+#: cp/parser.cc:12118
 #, gcc-internal-format
 msgid "explicit by-copy capture of %qD redundant with by-copy capture default"
 msgstr ""
 
-#: cp/parser.cc:11753
+#: cp/parser.cc:12123
 #, gcc-internal-format
 msgid ""
 "explicit by-reference capture of %qD redundant with by-reference capture "
 "default"
 msgstr ""
 
-#: cp/parser.cc:11835
+#: cp/parser.cc:12205
 #, gcc-internal-format
 msgid ""
 "lambda templates are only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11884
+#: cp/parser.cc:12259
 #, gcc-internal-format
 msgid "default argument specified for lambda parameter"
 msgstr ""
 
-#: cp/parser.cc:11907
+#: cp/parser.cc:12282
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda declaration specifiers only optional "
-"with %<-std=c++2b%> or %<-std=gnu++2b%>"
+"with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:11937 cp/pt.cc:14769
+#: cp/parser.cc:12312 cp/pt.cc:14995
 #, gcc-internal-format
 msgid ""
 "a lambda with captures may not have an explicit object parameter of an "
 "unrelated type"
 msgstr ""
 
-#: cp/parser.cc:11950
+#: cp/parser.cc:12325
 #, gcc-internal-format
 msgid "%<mutable%> lambda specifier with explicit object parameter"
 msgstr ""
 
-#: cp/parser.cc:11959
+#: cp/parser.cc:12334
 #, gcc-internal-format
 msgid ""
 "the passed in closure object will not be mutated because it is taken by value"
 msgstr ""
 
-#: cp/parser.cc:11963
+#: cp/parser.cc:12338
 #, gcc-internal-format
 msgid "declare the explicit object parameter as non-const reference instead"
 msgstr ""
 
-#: cp/parser.cc:11967
+#: cp/parser.cc:12342
 #, gcc-internal-format
 msgid "explicit object parameter is already a mutable reference"
 msgstr ""
 
-#: cp/parser.cc:11974
+#: cp/parser.cc:12349
 #, gcc-internal-format
 msgid "%<static%> lambda specifier with explicit object parameter"
 msgstr ""
 
-#: cp/parser.cc:11992
+#: cp/parser.cc:12367
 #, gcc-internal-format
 msgid "%<static%> lambda specifier with lambda capture"
 msgstr ""
 
-#: cp/parser.cc:12004
+#: cp/parser.cc:12379
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda transaction qualifier only optional with "
-"%<-std=c++2b%> or %<-std=gnu++2b%>"
+"%<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:12017
+#: cp/parser.cc:12392
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda exception specification only optional "
-"with %<-std=c++2b%> or %<-std=gnu++2b%>"
+"with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:12035
+#: cp/parser.cc:12410
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda trailing return type only optional with "
-"%<-std=c++2b%> or %<-std=gnu++2b%>"
+"%<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:12077
+#: cp/parser.cc:12452
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:12641
+#: cp/parser.cc:13013
 #, gcc-internal-format
 msgid "preconditions cannot be statements"
 msgstr ""
 
-#: cp/parser.cc:12644
+#: cp/parser.cc:13016
 #, gcc-internal-format
 msgid "postconditions cannot be statements"
 msgstr ""
 
-#: cp/parser.cc:12649
+#: cp/parser.cc:13021
 #, gcc-internal-format
 msgid "assertions must be followed by %<;%>"
 msgstr ""
 
-#: cp/parser.cc:12814
+#: cp/parser.cc:13186
 #, gcc-internal-format
 msgid ""
-"label at end of compound statement only available with %<-std=c++2b%> or %<-"
-"std=gnu++2b%>"
+"label at end of compound statement only available with %<-std=c++23%> or %<-"
+"std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:12992 cp/parser.cc:13202
+#: cp/parser.cc:13366 cp/parser.cc:13611
 #, gcc-internal-format
 msgid "attributes at the beginning of statement are ignored"
 msgstr ""
 
-#: cp/parser.cc:13036
+#: cp/parser.cc:13437
 #, gcc-internal-format
 msgid "expected labeled-statement"
 msgstr ""
 
-#: cp/parser.cc:13085
+#: cp/parser.cc:13486
 #, gcc-internal-format
 msgid "case label %qE not within a switch statement"
 msgstr ""
 
-#: cp/parser.cc:13209
+#: cp/parser.cc:13619
 #, gcc-internal-format
 msgid "need %<typename%> before %qE because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:13218
+#. A::A a;
+#: cp/parser.cc:13625
 #, gcc-internal-format
-msgid "%<%T::%D%> names the constructor, not the type"
+msgid "%qE names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:13270
+#: cp/parser.cc:13683
 #, gcc-internal-format
 msgid "compound-statement in %<constexpr%> function"
 msgstr ""
 
-#: cp/parser.cc:13532
+#: cp/parser.cc:13747
+#, gcc-internal-format
+msgid "inner loops must be perfectly nested with %<tile%> directive"
+msgstr ""
+
+#: cp/parser.cc:13952
 #, gcc-internal-format
 msgid "%<if constexpr%> only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:13554
+#: cp/parser.cc:13974
 #, gcc-internal-format
-msgid "%<if consteval%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "%<if consteval%> only available with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:13579 cp/parser.cc:13614
+#: cp/parser.cc:13999 cp/parser.cc:14034
 #, gcc-internal-format
 msgid "%<if consteval%> requires compound statement"
 msgstr ""
 
-#: cp/parser.cc:13656
+#: cp/parser.cc:14076
 #, gcc-internal-format
 msgid ""
 "init-statement in selection statements only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:13824 cp/parser.cc:34633
+#: cp/parser.cc:14244 cp/parser.cc:35306
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
 
-#: cp/parser.cc:13865
+#: cp/parser.cc:14285
 #, gcc-internal-format
 msgid "condition declares an array"
 msgstr ""
 
-#: cp/parser.cc:13867
+#: cp/parser.cc:14287
 #, gcc-internal-format
 msgid "condition declares a function"
 msgstr ""
 
-#: cp/parser.cc:13907
+#: cp/parser.cc:14328
 #, gcc-internal-format
 msgid "types may not be defined in conditions"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.cc:13989 cp/parser.cc:23548 cp/parser.cc:26189
+#: cp/parser.cc:14430 cp/parser.cc:24089 cp/parser.cc:26808
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr ""
 
-#: cp/parser.cc:14039
+#: cp/parser.cc:14480
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops with initializer only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:14292
+#: cp/parser.cc:14742
 #, gcc-internal-format
 msgid ""
 "loop variable %qD of type %qT binds to a temporary constructed from type %qT"
 msgstr ""
 
 #. rval
-#: cp/parser.cc:14299
+#: cp/parser.cc:14749
 #, gcc-internal-format
 msgid ""
 "use non-reference type %qT to make the copy explicit or %qT to prevent "
 "copying"
 msgstr ""
 
-#: cp/parser.cc:14323
+#: cp/parser.cc:14775
 #, gcc-internal-format
 msgid "loop variable %qD creates a copy from type %qT"
 msgstr ""
 
-#: cp/parser.cc:14328
+#: cp/parser.cc:14780
 #, gcc-internal-format
 msgid "use reference type to prevent copying"
 msgstr ""
 
-#: cp/parser.cc:14469
+#: cp/parser.cc:14919
 #, gcc-internal-format
 msgid "range-based %<for%> expression of type %qT has incomplete type"
 msgstr ""
 
-#: cp/parser.cc:14553
+#: cp/parser.cc:15003
 #, gcc-internal-format
 msgid ""
 "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.cc:14705 cp/parser.cc:34636
+#: cp/parser.cc:15155 cp/parser.cc:35309
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
 
-#: cp/parser.cc:14750
+#: cp/parser.cc:15200
 #, gcc-internal-format
 msgid ""
 "alias-declaration in init-statement only available with %<-std=c++23%> or %<-"
 "std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:14767
+#: cp/parser.cc:15217
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/parser.cc:14898
+#: cp/parser.cc:15374
 #, gcc-internal-format
 msgid ""
-"%<goto%> in %<constexpr%> function only available with %<-std=c++2b%> or %<-"
-"std=gnu++2b%>"
+"%<goto%> in %<constexpr%> function only available with %<-std=c++23%> or %<-"
+"std=gnu++23%>"
 msgstr ""
 
 #. Issue a warning about this use of a GNU extension.
-#: cp/parser.cc:14907
+#: cp/parser.cc:15383
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.cc:14920 cp/parser.cc:34639
+#: cp/parser.cc:15402 cp/parser.cc:35312
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.cc:15095
+#: cp/parser.cc:15577
 #, gcc-internal-format
 msgid "expected module-partition"
 msgstr ""
 
-#: cp/parser.cc:15097
+#: cp/parser.cc:15579
 #, gcc-internal-format
 msgid "expected module-name"
 msgstr ""
 
-#: cp/parser.cc:15138
+#: cp/parser.cc:15621
 #, gcc-internal-format
 msgid "module-declaration not permitted in header-unit"
 msgstr ""
 
-#: cp/parser.cc:15164
+#: cp/parser.cc:15627
+#, gcc-internal-format
+msgid "module-declaration must be at global scope"
+msgstr ""
+
+#: cp/parser.cc:15628
+#, gcc-internal-format
+msgid "scope opened here"
+msgstr ""
+
+#: cp/parser.cc:15654
 #, gcc-internal-format
 msgid "private module fragment"
 msgstr ""
 
-#: cp/parser.cc:15168
+#: cp/parser.cc:15658
 #, gcc-internal-format
 msgid ""
 "private module fragment only permitted in purview of module interface or "
@@ -64460,894 +65670,934 @@ msgid ""
 msgstr ""
 
 #. Neither the first declaration, nor in a GMF.
-#: cp/parser.cc:15174
+#: cp/parser.cc:15664
 #, gcc-internal-format
 msgid ""
 "module-declaration only permitted as first declaration, or ending a global "
 "module fragment"
 msgstr ""
 
-#: cp/parser.cc:15214
+#: cp/parser.cc:15705
 #, gcc-internal-format
 msgid "post-module-declaration imports must be contiguous"
 msgstr ""
 
-#: cp/parser.cc:15217
+#: cp/parser.cc:15707 cp/parser.cc:15716
 #, gcc-internal-format
 msgid ""
-"perhaps insert a line break, or other disambiguation, to prevent this being "
-"considered a module control-line"
+"perhaps insert a line break after %<import%>, or other disambiguation, to "
+"prevent this being considered a module control-line"
 msgstr ""
 
-#: cp/parser.cc:15225
+#: cp/parser.cc:15715
 #, gcc-internal-format
 msgid "import-declaration must be at global scope"
 msgstr ""
 
-#: cp/parser.cc:15246
+#: cp/parser.cc:15739
 #, gcc-internal-format
 msgid ""
 "import specifying a module-partition must appear after a named module-"
 "declaration"
 msgstr ""
 
-#: cp/parser.cc:15264
+#: cp/parser.cc:15760
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be include-translated"
 msgstr ""
 
-#: cp/parser.cc:15267
+#: cp/parser.cc:15763
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be from header inclusion"
 msgstr ""
 
-#: cp/parser.cc:15288
+#: cp/parser.cc:15784
 #, gcc-internal-format
 msgid "%qE may only occur after a module interface declaration"
 msgstr ""
 
-#: cp/parser.cc:15296
+#: cp/parser.cc:15792
 #, gcc-internal-format
 msgid "%qE may only occur once in an export declaration"
 msgstr ""
 
-#: cp/parser.cc:15317
+#: cp/parser.cc:15813
 #, gcc-internal-format
 msgid "%<export%> not part of following module-directive"
 msgstr ""
 
-#: cp/parser.cc:15434 cp/parser.cc:28123
+#: cp/parser.cc:15852
+#, gcc-internal-format
+msgid "extra %<;%> outside of a function only allowed in C++11"
+msgstr ""
+
+#: cp/parser.cc:15855
 #, gcc-internal-format
-msgid "extra %<;%>"
+msgid "extra %<;%> outside of a function"
 msgstr ""
 
-#: cp/parser.cc:15492
+#: cp/parser.cc:15864
+#, gcc-internal-format
+msgid "extra %<;%> inside a struct only allowed in C++11"
+msgstr ""
+
+#: cp/parser.cc:15866
+#, gcc-internal-format
+msgid "extra %<;%> inside a struct"
+msgstr ""
+
+#: cp/parser.cc:15874
+#, gcc-internal-format
+msgid "extra %<;%> after in-class function definition"
+msgstr ""
+
+#: cp/parser.cc:16044
 #, gcc-internal-format
 msgid "attributes are not permitted in this position"
 msgstr ""
 
-#: cp/parser.cc:15496
+#: cp/parser.cc:16048
 #, gcc-internal-format
 msgid "attributes may be inserted here"
 msgstr ""
 
-#: cp/parser.cc:15536
+#: cp/parser.cc:16088
 #, gcc-internal-format
 msgid "explicit specializations are not permitted here"
 msgstr ""
 
-#: cp/parser.cc:15538 cp/parser.cc:27591
+#: cp/parser.cc:16090 cp/parser.cc:28228
 #, gcc-internal-format
 msgid "a specialization is always exported alongside its primary template"
 msgstr ""
 
-#: cp/parser.cc:15551
+#: cp/parser.cc:16103
 #, gcc-internal-format
 msgid "explicit instantiations are not permitted here"
 msgstr ""
 
-#: cp/parser.cc:15567
+#: cp/parser.cc:16119
 #, gcc-internal-format
 msgid "export-declarations are not permitted here"
 msgstr ""
 
-#: cp/parser.cc:15738
+#: cp/parser.cc:16290
 #, gcc-internal-format
 msgid "%<__label__%> not at the beginning of a block"
 msgstr ""
 
-#: cp/parser.cc:15984
+#: cp/parser.cc:16536
 #, gcc-internal-format
 msgid ""
 "non-variable %qD in declaration with more than one declarator with "
 "placeholder type"
 msgstr ""
 
-#: cp/parser.cc:16003
+#: cp/parser.cc:16555
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
 
-#: cp/parser.cc:16024
+#: cp/parser.cc:16576
 #, gcc-internal-format
 msgid "mixing declarations and function-definitions is forbidden"
 msgstr ""
 
-#: cp/parser.cc:16049
+#: cp/parser.cc:16601
 #, gcc-internal-format
 msgid "types may not be defined in a for-range-declaration"
 msgstr ""
 
-#: cp/parser.cc:16106
+#: cp/parser.cc:16658
 #, gcc-internal-format
 msgid "initializer in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:16109
+#: cp/parser.cc:16661
 #, gcc-internal-format
 msgid "multiple declarations in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:16149
+#: cp/parser.cc:16701
 #, gcc-internal-format
 msgid ""
 "structured bindings with attributed identifiers only available with %<-std=c+"
 "+2c%> or %<-std=gnu++2c%>"
 msgstr ""
 
-#: cp/parser.cc:16186
+#: cp/parser.cc:16738
+#, gcc-internal-format
+msgid ""
+"structured bindings in conditions only available with %<-std=c++2c%> or %<-"
+"std=gnu++2c%>"
+msgstr ""
+
+#: cp/parser.cc:16742
 #, gcc-internal-format
 msgid ""
 "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:16243
+#: cp/parser.cc:16799
 #, gcc-internal-format
 msgid "empty structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:16261
+#: cp/parser.cc:16817
 #, gcc-internal-format
 msgid "invalid initializer for structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:16453
+#: cp/parser.cc:17012
 #, gcc-internal-format
 msgid "%<this%> must be the first specifier in a parameter declaration"
 msgstr ""
 
-#: cp/parser.cc:16476
+#: cp/parser.cc:17035
 #, gcc-internal-format
 msgid "%<friend%> used outside of class"
 msgstr ""
 
-#: cp/parser.cc:16515
+#: cp/parser.cc:17073
 #, gcc-internal-format
 msgid "the %<bool%> keyword is not allowed in a C++20 concept definition"
 msgstr ""
 
-#: cp/parser.cc:16518
+#: cp/parser.cc:17076
 #, gcc-internal-format
 msgid "C++20 concept definition syntax is %<concept <name> = <expr>%>"
 msgstr ""
 
-#: cp/parser.cc:16569
+#: cp/parser.cc:17127
 #, gcc-internal-format
 msgid "%<typedef%> specifier conflicts with %qs"
 msgstr ""
 
-#: cp/parser.cc:16595
+#: cp/parser.cc:17153
 #, gcc-internal-format
 msgid "%<auto%> changes meaning in C++11; please remove it"
 msgstr ""
 
-#: cp/parser.cc:16631
+#: cp/parser.cc:17189
 #, gcc-internal-format
 msgid "%qD invalid in condition"
 msgstr ""
 
-#: cp/parser.cc:16640
+#: cp/parser.cc:17198
 #, gcc-internal-format
 msgid "%qD invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:16644
+#: cp/parser.cc:17202
 #, gcc-internal-format
 msgid "%qD only valid in lambda with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:16726
+#: cp/parser.cc:17284
 #, gcc-internal-format
 msgid "type-specifier invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:16738
+#: cp/parser.cc:17297
 #, gcc-internal-format
 msgid "standard attributes in middle of decl-specifiers"
 msgstr ""
 
-#: cp/parser.cc:16740
+#: cp/parser.cc:17299
 #, 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:16755
+#: cp/parser.cc:17314
 #, gcc-internal-format
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.cc:16828 cp/parser.cc:28686
+#: cp/parser.cc:17387 cp/parser.cc:29413
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:16847
+#: cp/parser.cc:17406
 #, gcc-internal-format
 msgid "types may not be defined in explicit-specifier"
 msgstr ""
 
-#: cp/parser.cc:16851
+#: cp/parser.cc:17410
 #, gcc-internal-format
 msgid ""
 "%<explicit(bool)%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:16919
+#: cp/parser.cc:17478
 #, gcc-internal-format
 msgid "invalid linkage-specification"
 msgstr ""
 
-#: cp/parser.cc:17026
+#: cp/parser.cc:17585
 #, gcc-internal-format
 msgid ""
 "%<static_assert%> without a message only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:17056
+#: cp/parser.cc:17615
 #, gcc-internal-format
 msgid ""
 "%<static_assert%> with non-string message only available with %<-std=c++2c%> "
 "or %<-std=gnu++2c%>"
 msgstr ""
 
-#: cp/parser.cc:17254
+#: cp/parser.cc:17819
 #, gcc-internal-format
 msgid ""
 "%<decltype(auto)%> type specifier only available with %<-std=c++14%> or %<-"
 "std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:17267
+#: cp/parser.cc:17832
 #, gcc-internal-format
 msgid "types may not be defined in %<decltype%> expressions"
 msgstr ""
 
-#: cp/parser.cc:17440
+#: cp/parser.cc:18008
 #, gcc-internal-format
 msgid "types may not be defined in a conversion-type-id"
 msgstr ""
 
-#: cp/parser.cc:17469
+#: cp/parser.cc:18037
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in conversion operator"
 msgstr ""
 
-#: cp/parser.cc:17473
+#: cp/parser.cc:18041
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in member template conversion operator can never be deduced"
 msgstr ""
 
-#: cp/parser.cc:17557
+#: cp/parser.cc:18125
 #, gcc-internal-format
 msgid "only constructors take member initializers"
 msgstr ""
 
-#: cp/parser.cc:17584
+#: cp/parser.cc:18152
 #, gcc-internal-format
 msgid "cannot expand initializer for member %qD"
 msgstr ""
 
-#: cp/parser.cc:17596 cp/pt.cc:27681
+#: cp/parser.cc:18164 cp/pt.cc:28209
 #, gcc-internal-format
 msgid "mem-initializer for %qD follows constructor delegation"
 msgstr ""
 
-#: cp/parser.cc:17608 cp/pt.cc:27693
+#: cp/parser.cc:18176 cp/pt.cc:28221
 #, gcc-internal-format
 msgid "constructor delegation follows mem-initializer for %qD"
 msgstr ""
 
-#: cp/parser.cc:17660
+#: cp/parser.cc:18228
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr ""
 
-#: cp/parser.cc:17744
+#: cp/parser.cc:18316
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (a qualified member "
 "initializer is implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:18144
+#: cp/parser.cc:18728
+#, gcc-internal-format
+msgid "space between quotes and suffix is deprecated in C++23"
+msgstr ""
+
+#: cp/parser.cc:18734
 #, gcc-internal-format
 msgid "unexpected keyword; remove space between quotes and suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:18150
+#: cp/parser.cc:18740
 #, gcc-internal-format
 msgid "expected suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:18159
+#: cp/parser.cc:18749
 #, gcc-internal-format
 msgid "expected empty string after %<operator%> keyword"
 msgstr ""
 
-#: cp/parser.cc:18165
+#: cp/parser.cc:18755
 #, gcc-internal-format
 msgid "invalid encoding prefix in literal operator"
 msgstr ""
 
-#: cp/parser.cc:18199
+#: cp/parser.cc:18789
 #, gcc-internal-format
 msgid "expected operator"
 msgstr ""
 
-#: cp/parser.cc:18246
+#: cp/parser.cc:18836
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.cc:18248
+#: cp/parser.cc:18838
 #, gcc-internal-format
 msgid "keyword %<export%> is deprecated, and is ignored"
 msgstr ""
 
-#: cp/parser.cc:18250
+#: cp/parser.cc:18840
 #, gcc-internal-format
 msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:18429
+#: cp/parser.cc:18945
 #, gcc-internal-format
 msgid "invalid constrained type parameter"
 msgstr ""
 
-#: cp/parser.cc:18437
+#: cp/parser.cc:18953
 #, gcc-internal-format
 msgid "cv-qualified type parameter"
 msgstr ""
 
-#: cp/parser.cc:18584
+#: cp/parser.cc:19069
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in default template argument"
 msgstr ""
 
-#: cp/parser.cc:18820 cp/parser.cc:18906 cp/parser.cc:25937
+#: cp/parser.cc:19305 cp/parser.cc:19391 cp/parser.cc:26556
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:18824 cp/parser.cc:18910
+#: cp/parser.cc:19309 cp/parser.cc:19395
 #, gcc-internal-format
 msgid "template parameter packs cannot have default arguments"
 msgstr ""
 
-#: cp/parser.cc:18977
+#: cp/parser.cc:19462
 #, gcc-internal-format
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.cc:19039
+#: cp/parser.cc:19525
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr ""
 
-#: cp/parser.cc:19043
+#: cp/parser.cc:19529
 #, gcc-internal-format
 msgid ""
 "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> "
 "and %<::%>"
 msgstr ""
 
-#: cp/parser.cc:19047
+#: cp/parser.cc:19533
 #, 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:19077
+#: cp/parser.cc:19564
 #, gcc-internal-format
 msgid "invalid template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:19078
+#: cp/parser.cc:19565
 #, 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:19085
+#: cp/parser.cc:19572
 #, gcc-internal-format
 msgid "expected %<(%> after template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:19199
+#: cp/parser.cc:19678
 #, gcc-internal-format
 msgid "parse error in template argument list"
 msgstr ""
 
 #. The name does not name a template.
-#: cp/parser.cc:19284 cp/parser.cc:19475 cp/parser.cc:19673
+#: cp/parser.cc:19763 cp/parser.cc:19955 cp/parser.cc:20164
 #, gcc-internal-format
 msgid "expected template-name"
 msgstr ""
 
-#. Explain what went wrong.
-#: cp/parser.cc:19330
+#: cp/parser.cc:19811
 #, gcc-internal-format
 msgid "non-template %qD used as template"
 msgstr ""
 
-#: cp/parser.cc:19332
+#: cp/parser.cc:19813
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr ""
 
-#: cp/parser.cc:19537
+#: cp/parser.cc:20028
 #, gcc-internal-format
 msgid "expected parameter pack before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:19638 cp/parser.cc:19656 cp/parser.cc:19826
+#: cp/parser.cc:20129 cp/parser.cc:20147 cp/parser.cc:20324
 #, gcc-internal-format
 msgid "expected template-argument"
 msgstr ""
 
-#: cp/parser.cc:19796
+#: cp/parser.cc:20294
 #, gcc-internal-format
 msgid "invalid non-type template argument"
 msgstr ""
 
-#: cp/parser.cc:19935
+#: cp/parser.cc:20433
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<inline%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19939
+#: cp/parser.cc:20437
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<constexpr%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19943
+#: cp/parser.cc:20441
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<consteval%> specifier"
 msgstr ""
 
-#: cp/parser.cc:20003
+#: cp/parser.cc:20502
 #, gcc-internal-format
 msgid "template specialization with C linkage"
 msgstr ""
 
-#: cp/parser.cc:20232
+#: cp/parser.cc:20731
 #, gcc-internal-format
 msgid "expected type specifier"
 msgstr ""
 
-#: cp/parser.cc:20432
+#: cp/parser.cc:20931
 #, 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:20438
+#: cp/parser.cc:20937
 #, gcc-internal-format
-msgid ""
-"use of %<auto%> in template argument only available with %<-fconcepts-ts%>"
+msgid "use of %<auto%> in template argument"
 msgstr ""
 
-#: cp/parser.cc:20442
+#: cp/parser.cc:20940
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++20%> "
 "or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:20446
+#: cp/parser.cc:20944
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++14%> "
 "or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:20600
+#: cp/parser.cc:21098
 #, gcc-internal-format
 msgid "expected template-id for type"
 msgstr ""
 
-#: cp/parser.cc:20731
+#: cp/parser.cc:21239
 #, gcc-internal-format
 msgid "expected type-name"
 msgstr ""
 
-#: cp/parser.cc:20843
+#: cp/parser.cc:21323
 #, gcc-internal-format
 msgid "%qE does not constrain a type"
 msgstr ""
 
-#: cp/parser.cc:20844
+#: cp/parser.cc:21324
 #, gcc-internal-format
 msgid "concept defined here"
 msgstr ""
 
-#: cp/parser.cc:20876
+#: cp/parser.cc:21355
+#, gcc-internal-format
+msgid "invalid use of concept-name %qD"
+msgstr ""
+
+#: cp/parser.cc:21371
 #, gcc-internal-format
 msgid "expected %<auto%> or %<decltype(auto)%> after %qE"
 msgstr ""
 
-#: cp/parser.cc:20883
+#: cp/parser.cc:21378
 #, gcc-internal-format
 msgid "unexpected placeholder in constrained result type"
 msgstr ""
 
-#: cp/parser.cc:21126
+#: cp/parser.cc:21619
 #, gcc-internal-format
 msgid ""
 "elaborated-type-specifier for a scoped enum must not use the %qD keyword"
 msgstr ""
 
-#: cp/parser.cc:21202
+#: cp/parser.cc:21695
 #, gcc-internal-format
 msgid "%<template%> must follow a nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:21364
+#: cp/parser.cc:21857
 #, gcc-internal-format
 msgid "declaration %qD does not declare anything"
 msgstr ""
 
-#: cp/parser.cc:21452
+#: cp/parser.cc:21945
 #, gcc-internal-format
 msgid "attributes ignored on uninstantiated type"
 msgstr ""
 
-#: cp/parser.cc:21458
+#: cp/parser.cc:21951
 #, gcc-internal-format
 msgid "attributes ignored on template instantiation"
 msgstr ""
 
-#: cp/parser.cc:21469
+#: cp/parser.cc:21963
 #, gcc-internal-format
 msgid ""
 "attributes ignored on elaborated-type-specifier that is not a forward "
 "declaration"
 msgstr ""
 
-#: cp/parser.cc:21610
+#: cp/parser.cc:22104
 #, gcc-internal-format
 msgid "%qD is an enumeration template"
 msgstr ""
 
-#: cp/parser.cc:21621
+#: cp/parser.cc:22115
 #, gcc-internal-format
 msgid "%qD does not name an enumeration in %qT"
 msgstr ""
 
-#: cp/parser.cc:21636
+#: cp/parser.cc:22130
 #, gcc-internal-format
 msgid "unnamed scoped enum is not allowed"
 msgstr ""
 
-#: cp/parser.cc:21654
+#: cp/parser.cc:22148
 #, gcc-internal-format
 msgid "types may not be defined in enum-base"
 msgstr ""
 
-#: cp/parser.cc:21700
+#: cp/parser.cc:22194
 #, 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:21704
+#: cp/parser.cc:22198
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%>"
 msgstr ""
 
-#: cp/parser.cc:21747
+#: cp/parser.cc:22241
 #, gcc-internal-format
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.cc:21761
+#: cp/parser.cc:22255
 #, gcc-internal-format
 msgid ""
 "nested name specifier %qT for enum declaration does not name a class or "
 "namespace"
 msgstr ""
 
-#: cp/parser.cc:21773 cp/parser.cc:27560
+#: cp/parser.cc:22267 cp/parser.cc:28197
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:21778 cp/parser.cc:27565
+#: cp/parser.cc:22272 cp/parser.cc:28202
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:21790 cp/parser.cc:27578
+#: cp/parser.cc:22284 cp/parser.cc:28215
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.cc:21829
+#: cp/parser.cc:22324
 #, gcc-internal-format
 msgid "ISO C++ forbids empty unnamed enum"
 msgstr ""
 
-#: cp/parser.cc:21853
+#: cp/parser.cc:22348
 #, gcc-internal-format
 msgid "opaque-enum-specifier without name"
 msgstr ""
 
-#: cp/parser.cc:21856
+#: cp/parser.cc:22351
 #, gcc-internal-format
 msgid "opaque-enum-specifier must use a simple identifier"
 msgstr ""
 
-#: cp/parser.cc:21977
+#: cp/parser.cc:22472
 #, gcc-internal-format
 msgid "unexpanded parameter pack in enumerator in lambda"
 msgstr ""
 
-#: cp/parser.cc:22052
+#: cp/parser.cc:22547
 #, gcc-internal-format
 msgid "%qD is not a namespace-name; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:22056
+#: cp/parser.cc:22551
 #, gcc-internal-format
 msgid "%qD is not a namespace-name"
 msgstr ""
 
-#: cp/parser.cc:22060
+#: cp/parser.cc:22555
 #, gcc-internal-format
 msgid "expected namespace-name"
 msgstr ""
 
-#: cp/parser.cc:22121
+#: cp/parser.cc:22616
 #, gcc-internal-format
 msgid ""
 "nested inline namespace definitions only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:22133
+#: cp/parser.cc:22628
 #, gcc-internal-format
 msgid "standard attributes on namespaces must precede the namespace name"
 msgstr ""
 
-#: cp/parser.cc:22152
+#: cp/parser.cc:22647
 #, gcc-internal-format
 msgid ""
 "nested namespace definitions only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:22162
+#: cp/parser.cc:22657
 #, gcc-internal-format
 msgid "nested namespace name required"
 msgstr ""
 
-#: cp/parser.cc:22167
+#: cp/parser.cc:22662
 #, gcc-internal-format
 msgid "namespace name required"
 msgstr ""
 
-#: cp/parser.cc:22171
+#: cp/parser.cc:22666
 #, gcc-internal-format
 msgid "a nested namespace definition cannot have attributes"
 msgstr ""
 
-#: cp/parser.cc:22174
+#: cp/parser.cc:22669
 #, gcc-internal-format
 msgid "a nested namespace definition cannot be inline"
 msgstr ""
 
-#: cp/parser.cc:22181
+#: cp/parser.cc:22676
 #, gcc-internal-format
 msgid "namespace %qD entered"
 msgstr ""
 
-#: cp/parser.cc:22236
+#: cp/parser.cc:22732
 #, gcc-internal-format
 msgid "%<namespace%> definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:22418
+#: cp/parser.cc:22914
 #, gcc-internal-format
 msgid ""
 "pack expansion in using-declaration only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:22462
+#: cp/parser.cc:22958
 #, gcc-internal-format
 msgid "a template-id may not appear in a using-declaration"
 msgstr ""
 
-#: cp/parser.cc:22480
+#: cp/parser.cc:22976
 #, gcc-internal-format
 msgid ""
 "comma-separated list in using-declaration only available with %<-std=c++17%> "
 "or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:22490
+#: cp/parser.cc:22986
 #, gcc-internal-format
 msgid ""
 "access declarations are deprecated in favor of using-declarations; "
 "suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.cc:22536
+#: cp/parser.cc:23032
 #, gcc-internal-format
 msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:22539
+#: cp/parser.cc:23035
 #, gcc-internal-format
 msgid "%<using enum%> of dependent type %qT"
 msgstr ""
 
-#: cp/parser.cc:22541
+#: cp/parser.cc:23037
 #, gcc-internal-format
 msgid "%<using enum%> of non-enumeration type %q#T"
 msgstr ""
 
-#: cp/parser.cc:22543
+#: cp/parser.cc:23039
 #, gcc-internal-format
 msgid "%<using enum%> of incomplete type %qT"
 msgstr ""
 
-#: cp/parser.cc:22545
+#: cp/parser.cc:23041
 #, gcc-internal-format
 msgid "%<using enum%> of %qT before its enum-specifier"
 msgstr ""
 
-#: cp/parser.cc:22555
+#: cp/parser.cc:23051
 #, gcc-internal-format
 msgid "opaque-enum-declaration here"
 msgstr ""
 
-#: cp/parser.cc:22625
+#: cp/parser.cc:23121
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.cc:22804
+#: cp/parser.cc:23273
+#, gcc-internal-format
+msgid "expected string-literal or constexpr in parentheses"
+msgstr ""
+
+#: cp/parser.cc:23334
 #, gcc-internal-format
 msgid ""
 "%<asm%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:22824 cp/parser.cc:22841 cp/parser.cc:22855
+#: cp/parser.cc:23355 cp/parser.cc:23373 cp/parser.cc:23388
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qT"
 msgstr ""
 
-#: cp/parser.cc:22831
+#: cp/parser.cc:23362
 #, gcc-internal-format
 msgid "%<asm%> qualifier %qT ignored outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22868
+#: cp/parser.cc:23401
 #, gcc-internal-format
 msgid "%qT is not an %<asm%> qualifier"
 msgstr ""
 
-#: cp/parser.cc:22884
+#: cp/parser.cc:23417
 #, gcc-internal-format
 msgid "%<asm%> qualifier outside of function body"
 msgstr ""
 
-#: cp/parser.cc:23030
+#: cp/parser.cc:23567
 #, gcc-internal-format
 msgid "attributes ignored on %<asm%> declaration"
 msgstr ""
 
-#: cp/parser.cc:23117
+#: cp/parser.cc:23658
 #, gcc-internal-format
 msgid "empty parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:23128
+#: cp/parser.cc:23669
 #, gcc-internal-format
 msgid "remove parentheses to default-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:23133
+#: cp/parser.cc:23674
 #, gcc-internal-format
 msgid "or replace parentheses with braces to aggregate-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:23136
+#: cp/parser.cc:23677
 #, gcc-internal-format
 msgid "or replace parentheses with braces to value-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:23153 cp/parser.cc:23178
+#: cp/parser.cc:23694 cp/parser.cc:23719
 #, gcc-internal-format
 msgid "parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:23165 cp/parser.cc:23186
+#: cp/parser.cc:23706 cp/parser.cc:23727
 #, gcc-internal-format
 msgid "replace parentheses with braces to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:23172
+#: cp/parser.cc:23713
 #, gcc-internal-format
 msgid "add parentheses to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:23419
+#: cp/parser.cc:23960
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:23430
+#: cp/parser.cc:23971
 #, gcc-internal-format
 msgid "an %<asm%> specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:23434
+#: cp/parser.cc:23975
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:23485
+#: cp/parser.cc:24026
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
-#: cp/parser.cc:23629
+#: cp/parser.cc:24184
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr ""
 
-#: cp/parser.cc:23671
+#: cp/parser.cc:24229
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.cc:23685
+#: cp/parser.cc:24241
 #, gcc-internal-format
 msgid "non-function %qD declared as implicit template"
 msgstr ""
 
-#: cp/parser.cc:24197
+#: cp/parser.cc:24770
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.cc:24323
+#: cp/parser.cc:24895
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.cc:24327
+#: cp/parser.cc:24899
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
@@ -65356,17 +66606,17 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.cc:24356
+#: cp/parser.cc:24928
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr ""
 
-#: cp/parser.cc:24364
+#: cp/parser.cc:24937
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr ""
 
-#: cp/parser.cc:24366
+#: cp/parser.cc:24939
 #, gcc-internal-format
 msgid ""
 "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified "
@@ -65375,245 +66625,267 @@ msgstr ""
 
 #. But declarations with qualified-ids can't appear in a
 #. function.
-#: cp/parser.cc:24481
+#: cp/parser.cc:25054
 #, gcc-internal-format
 msgid "qualified-id in declaration"
 msgstr ""
 
-#: cp/parser.cc:24506
+#: cp/parser.cc:25079
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr ""
 
-#: cp/parser.cc:24627
+#: cp/parser.cc:25200
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.cc:24629
+#: cp/parser.cc:25202
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.cc:24650
+#: cp/parser.cc:25223
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr ""
 
-#: cp/parser.cc:24711
+#: cp/parser.cc:25284
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.cc:24765
+#: cp/parser.cc:25338
 #, gcc-internal-format
 msgid "multiple ref-qualifiers"
 msgstr ""
 
-#: cp/parser.cc:24802
+#: cp/parser.cc:25375
 #, gcc-internal-format
 msgid "%qE requires %<-fgnu-tm%>"
 msgstr ""
 
-#: cp/parser.cc:24860
+#: cp/parser.cc:25433
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr ""
 
-#: cp/parser.cc:25125
+#: cp/parser.cc:25715
 #, gcc-internal-format
 msgid "missing template arguments after %qE"
 msgstr ""
 
-#: cp/parser.cc:25131
+#: cp/parser.cc:25721
 #, gcc-internal-format
 msgid "%qT not permitted in template argument"
 msgstr ""
 
-#: cp/parser.cc:25134 cp/typeck2.cc:336 cp/typeck2.cc:382 cp/typeck2.cc:2473
-#: rust/backend/rust-tree.cc:3909
+#: cp/parser.cc:25724 cp/typeck2.cc:337 cp/typeck2.cc:383 cp/typeck2.cc:2520
+#: rust/backend/rust-tree.cc:3896
 #, gcc-internal-format
 msgid "invalid use of %qT"
 msgstr ""
 
-#: cp/parser.cc:25160
+#: cp/parser.cc:25750
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.cc:25169
+#: cp/parser.cc:25759
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in template argument"
 msgstr ""
 
-#: cp/parser.cc:25275
+#: cp/parser.cc:25880
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr ""
 
-#: cp/parser.cc:25615
+#: cp/parser.cc:26027
+#, gcc-internal-format
+msgid "omission of %<,%> before varargs %<...%> is deprecated in C++26"
+msgstr ""
+
+#: cp/parser.cc:26234
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.cc:25693
+#: cp/parser.cc:26312
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.cc:25814
+#: cp/parser.cc:26436
 #, gcc-internal-format
 msgid "%<this%> specifier in template parameter declaration"
 msgstr ""
 
-#: cp/parser.cc:25874
+#: cp/parser.cc:26439
+#, gcc-internal-format
+msgid "%<this%> specifier in a requires-expression parameter"
+msgstr ""
+
+#: cp/parser.cc:26499
 #, gcc-internal-format
 msgid "an explicit object parameter cannot be a function parameter pack"
 msgstr ""
 
-#: cp/parser.cc:25921
+#: cp/parser.cc:26540
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.cc:25939
+#: cp/parser.cc:26558
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25945
+#: cp/parser.cc:26564
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25947
+#: cp/parser.cc:26566
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25970
+#: cp/parser.cc:26589
 #, gcc-internal-format
 msgid "an explicit object parameter may not have a default argument"
 msgstr ""
 
-#: cp/parser.cc:26094
+#: cp/parser.cc:26713
 #, 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:26098
+#: cp/parser.cc:26717
 #, 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:26439
+#: cp/parser.cc:26904
+#, gcc-internal-format
+msgid "probably missing a comma or an operator before"
+msgstr ""
+
+#: cp/parser.cc:27066
 #, gcc-internal-format
 msgid ""
 "C++ designated initializers only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/parser.cc:26461
+#: cp/parser.cc:27088
 #, gcc-internal-format
 msgid "ISO C++ does not allow GNU designated initializers"
 msgstr ""
 
-#: cp/parser.cc:26499
+#: cp/parser.cc:27126
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.cc:26513
+#: cp/parser.cc:27140
 #, gcc-internal-format
 msgid ""
 "either all initializer clauses should be designated or none of them should be"
 msgstr ""
 
-#: cp/parser.cc:26546
+#: cp/parser.cc:27180
 #, gcc-internal-format
 msgid "%<...%> not allowed in designated initializer list"
 msgstr ""
 
-#: cp/parser.cc:26597
+#: cp/parser.cc:27231
 #, gcc-internal-format
 msgid "%<.%s%> designator used multiple times in the same initializer list"
 msgstr ""
 
-#: cp/parser.cc:26653 cp/parser.cc:26790
+#: cp/parser.cc:27287 cp/parser.cc:27422
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.cc:27042
+#: cp/parser.cc:27679
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.cc:27045
+#: cp/parser.cc:27682
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.cc:27048
+#: cp/parser.cc:27685
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.cc:27502
+#: cp/parser.cc:28139
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.cc:27513
+#: cp/parser.cc:28150
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.cc:27521
+#: cp/parser.cc:28158
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.cc:27528
+#: cp/parser.cc:28165
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.cc:27540
+#: cp/parser.cc:28177
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in class-head-name"
 msgstr ""
 
-#: cp/parser.cc:27546
+#: cp/parser.cc:28183
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.cc:27589
+#: cp/parser.cc:28226
 #, gcc-internal-format
 msgid "declaration of partial specialization in unbraced export-declaration"
 msgstr ""
 
-#: cp/parser.cc:27614
+#: cp/parser.cc:28252
+#, gcc-internal-format
+msgid ""
+"an explicit instantiation cannot have a definition; use %<template <>%> to "
+"declare a specialization"
+msgstr ""
+
+#: cp/parser.cc:28259
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.cc:27646
+#: cp/parser.cc:28292
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.cc:27679
+#: cp/parser.cc:28325
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.cc:27743
+#: cp/parser.cc:28390
 #, gcc-internal-format
 msgid "previous definition of %q#T"
 msgstr ""
@@ -65621,261 +66893,278 @@ 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:27757 cp/pt.cc:4327
+#: cp/parser.cc:28404 cp/pt.cc:4367
 #, gcc-internal-format
 msgid "unexpanded parameter pack in local class in lambda"
 msgstr ""
 
-#: cp/parser.cc:27863 cp/parser.cc:34642
+#: cp/parser.cc:28510 cp/parser.cc:35315
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.cc:27888
+#: cp/parser.cc:28535
 #, 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:27892
+#: cp/parser.cc:28539
 #, gcc-internal-format
 msgid "expected %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/parser.cc:28142
+#: cp/parser.cc:28808
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.cc:28173
+#: cp/parser.cc:28814
+#, gcc-internal-format
+msgid ""
+"variadic friends or friend type declarations with multiple types only "
+"available with %<-std=c++2c%> or %<-std=gnu++2c%>"
+msgstr ""
+
+#: cp/parser.cc:28855
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.cc:28191
+#: cp/parser.cc:28895
 #, gcc-internal-format
 msgid "a storage class on an anonymous aggregate in class scope is not allowed"
 msgstr ""
 
-#: cp/parser.cc:28293
+#: cp/parser.cc:28998
 #, gcc-internal-format
 msgid ""
 "default member initializers for bit-fields only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:28300
+#: cp/parser.cc:29005
 #, gcc-internal-format
 msgid "default member initializer for unnamed bit-field"
 msgstr ""
 
-#: cp/parser.cc:28313
+#: cp/parser.cc:29018
 #, gcc-internal-format
 msgid "ISO C++ allows bit-field attributes only before the %<:%> token"
 msgstr ""
 
-#: cp/parser.cc:28472
+#: cp/parser.cc:29199
 #, gcc-internal-format
 msgid "bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/parser.cc:28500
+#: cp/parser.cc:29227
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.cc:28521
-#, gcc-internal-format
-msgid "extra %<;%> after in-class function definition"
-msgstr ""
-
-#: cp/parser.cc:28570
+#: cp/parser.cc:29297
 #, gcc-internal-format
 msgid "stray %<,%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:28584
+#: cp/parser.cc:29311
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:28657
+#: cp/parser.cc:29384
 #, gcc-internal-format
 msgid ""
 "%<delete%> reason only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
 msgstr ""
 
-#: cp/parser.cc:28680
+#: cp/parser.cc:29407
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.cc:28715
+#: cp/parser.cc:29442
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:28845
+#: cp/parser.cc:29573
+#, gcc-internal-format
+msgid "attributes on base specifiers are ignored"
+msgstr ""
+
+#: cp/parser.cc:29588
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:28865
+#: cp/parser.cc:29608
 #, gcc-internal-format
 msgid "more than one access specifier in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:28889
+#: cp/parser.cc:29632
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.cc:28892
+#: cp/parser.cc:29635
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (the base class is "
 "implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:29091 cp/parser.cc:29185
+#: cp/parser.cc:29837 cp/parser.cc:29931
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.cc:29193
+#: cp/parser.cc:29939
 #, gcc-internal-format
 msgid "ISO C++17 does not allow dynamic exception specifications"
 msgstr ""
 
-#: cp/parser.cc:29199
+#: cp/parser.cc:29945
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++11"
 msgstr ""
 
-#: cp/parser.cc:29243
+#: cp/parser.cc:29989
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in exception-specification"
 msgstr ""
 
-#: cp/parser.cc:29284
+#: cp/parser.cc:30030
 #, gcc-internal-format
 msgid ""
 "%<try%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:29396
+#: cp/parser.cc:30142
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.cc:29962
+#: cp/parser.cc:30177
+#, gcc-internal-format
+msgid "%<alignas%> on exception declaration"
+msgstr ""
+
+#: cp/parser.cc:30256
+#, gcc-internal-format
+msgid "%<co_yield%> cannot be used in default arguments"
+msgstr ""
+
+#: cp/parser.cc:30724
 #, gcc-internal-format
 msgid "expected attribute argument as balanced token sequence"
 msgstr ""
 
-#: cp/parser.cc:30108
+#: cp/parser.cc:30870
 #, gcc-internal-format
 msgid "attribute using prefix used together with scoped attribute token"
 msgstr ""
 
-#: cp/parser.cc:30122
+#: cp/parser.cc:30884
 #, gcc-internal-format
 msgid "expected an identifier for the attribute name"
 msgstr ""
 
 #. e.g. [[attr()]].
-#: cp/parser.cc:30265
+#: cp/parser.cc:31026
 #, gcc-internal-format
 msgid "parentheses must be omitted if %qE attribute argument list is empty"
 msgstr ""
 
-#: cp/parser.cc:30300
+#: cp/parser.cc:31061
 #, gcc-internal-format
 msgid "attribute %qs specified multiple times"
 msgstr ""
 
-#: cp/parser.cc:30342
+#: cp/parser.cc:31103
 #, gcc-internal-format
 msgid "expected attribute before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:30345
+#: cp/parser.cc:31106
 #, gcc-internal-format
 msgid "attribute with no arguments contains no parameter packs"
 msgstr ""
 
-#: cp/parser.cc:30391
+#: cp/parser.cc:31152
 #, gcc-internal-format
 msgid "expected contract-role"
 msgstr ""
 
 #. We got some other token other than a ':'.
-#: cp/parser.cc:30472
+#: cp/parser.cc:31233
 #, gcc-internal-format
 msgid "expected contract semantic or level"
 msgstr ""
 
-#: cp/parser.cc:30482
+#: cp/parser.cc:31243
 #, gcc-internal-format
 msgid "expected contract level: %<default%>, %<audit%>, or %<axiom%>"
 msgstr ""
 
-#: cp/parser.cc:30492
+#: cp/parser.cc:31253
 #, gcc-internal-format
 msgid "invalid use of contract role for explicit semantic"
 msgstr ""
 
-#: cp/parser.cc:30629
+#: cp/parser.cc:31390
 #, gcc-internal-format
 msgid "contracts are only available with %<-fcontracts%>"
 msgstr ""
 
-#: cp/parser.cc:30788
+#: cp/parser.cc:31549
 #, gcc-internal-format
 msgid ""
 "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:31137 cp/parser.cc:31146
+#: cp/parser.cc:31910 cp/parser.cc:31919
 #, gcc-internal-format
 msgid "expression must be enclosed in parentheses"
 msgstr ""
 
-#: cp/parser.cc:31492
+#: cp/parser.cc:32266
 #, gcc-internal-format
 msgid "missing additional %<requires%> to start a requires-expression"
 msgstr ""
 
-#: cp/parser.cc:31735
+#: cp/parser.cc:32507
 #, gcc-internal-format
 msgid ""
 "testing if a concept-id is a valid expression; add %<requires%> to check "
 "satisfaction"
 msgstr ""
 
-#: cp/parser.cc:31873
+#: cp/parser.cc:32645
 #, gcc-internal-format
 msgid "result type is not a plain type-constraint"
 msgstr ""
 
-#: cp/parser.cc:31881
+#: cp/parser.cc:32653
 #, gcc-internal-format
 msgid "return-type-requirement is not a type-constraint"
 msgstr ""
 
-#: cp/parser.cc:32399
+#: cp/parser.cc:33172
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.cc:32404
+#: cp/parser.cc:33177
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr ""
 
-#: cp/parser.cc:32408
+#: cp/parser.cc:33181
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -65884,29 +67173,29 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.cc:32415
+#: cp/parser.cc:33188
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.cc:32707
+#: cp/parser.cc:33480
 #, gcc-internal-format
 msgid "template-id not allowed for constructor in C++20"
 msgstr ""
 
-#: cp/parser.cc:32818
+#: cp/parser.cc:33591
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.cc:32991
+#: cp/parser.cc:33763
 #, gcc-internal-format
 msgid ""
 "ISO C++ did not adopt string literal operator templates taking an argument "
 "pack of characters"
 msgstr ""
 
-#: cp/parser.cc:33000
+#: cp/parser.cc:33772
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
@@ -65914,417 +67203,406 @@ msgid ""
 "type"
 msgstr ""
 
-#: cp/parser.cc:33006
+#: cp/parser.cc:33778
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
 "template parameter pack %<<char...>%>"
 msgstr ""
 
-#: cp/parser.cc:33113
-#, gcc-internal-format
-msgid ""
-"template-introductions are not part of C++20 concepts; use %qs to enable"
-msgstr ""
-
-#: cp/parser.cc:33123
-#, gcc-internal-format
-msgid "no matching concept for template-introduction"
-msgstr ""
-
-#: cp/parser.cc:33146
+#: cp/parser.cc:33818
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.cc:33155
+#: cp/parser.cc:33828
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.cc:33175
+#: cp/parser.cc:33848
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr ""
 
-#: cp/parser.cc:33287
+#: cp/parser.cc:33958
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:33338
+#: cp/parser.cc:34009
 #, gcc-internal-format
 msgid "a class template declaration must not declare anything else"
 msgstr ""
 
-#: cp/parser.cc:33390
+#: cp/parser.cc:34061
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.cc:33707
+#: cp/parser.cc:34380
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.cc:33720
+#: cp/parser.cc:34393
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:33751
+#: cp/parser.cc:34424
 #, gcc-internal-format
 msgid "%qs should be %qs to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:34068
+#: cp/parser.cc:34741
 #, gcc-internal-format
 msgid "%<sizeof...%> argument must be surrounded by parentheses"
 msgstr ""
 
-#: cp/parser.cc:34245
+#: cp/parser.cc:34916
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.cc:34256
+#: cp/parser.cc:34928
 #, gcc-internal-format
 msgid "duplicate %qD specifier"
 msgstr ""
 
-#: cp/parser.cc:34259
+#: cp/parser.cc:34931
 #, gcc-internal-format
 msgid "%qD specifier conflicts with %qs"
 msgstr ""
 
-#: cp/parser.cc:34271
+#: cp/parser.cc:34943
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.cc:34287
+#: cp/parser.cc:34960
 #, gcc-internal-format
 msgid "%qD specifier conflicts with %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:34396
+#: cp/parser.cc:35069
 #, gcc-internal-format
 msgid "ISO C++ 1998 does not support %<long long%>"
 msgstr ""
 
-#: cp/parser.cc:34407
+#: cp/parser.cc:35080
 #, gcc-internal-format
 msgid "both %<__thread%> and %<thread_local%> specified"
 msgstr ""
 
-#: cp/parser.cc:34412
+#: cp/parser.cc:35085
 #, gcc-internal-format
 msgid "duplicate %qD"
 msgstr ""
 
-#: cp/parser.cc:34441
+#: cp/parser.cc:35114
 #, gcc-internal-format
 msgid "duplicate %qs"
 msgstr ""
 
-#: cp/parser.cc:34493
+#: cp/parser.cc:35166
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr ""
 
-#: cp/parser.cc:34496
+#: cp/parser.cc:35169
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.cc:34499
+#: cp/parser.cc:35172
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr ""
 
-#: cp/parser.cc:34505
+#: cp/parser.cc:35178
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr ""
 
-#: cp/parser.cc:34508
+#: cp/parser.cc:35181
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.cc:34511
+#: cp/parser.cc:35184
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr ""
 
-#: cp/parser.cc:34514
+#: cp/parser.cc:35187
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr ""
 
-#: cp/parser.cc:34517
+#: cp/parser.cc:35190
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.cc:34520
+#: cp/parser.cc:35193
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr ""
 
-#: cp/parser.cc:34523
+#: cp/parser.cc:35196
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr ""
 
-#: cp/parser.cc:34526
+#: cp/parser.cc:35199
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.cc:34529
+#: cp/parser.cc:35202
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr ""
 
-#: cp/parser.cc:34532
+#: cp/parser.cc:35205
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr ""
 
-#: cp/parser.cc:34535
+#: cp/parser.cc:35208
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.cc:34538
+#: cp/parser.cc:35211
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.cc:34541
+#: cp/parser.cc:35214
 #, gcc-internal-format
 msgid "expected %<auto%>"
 msgstr ""
 
-#: cp/parser.cc:34544
+#: cp/parser.cc:35217
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.cc:34547
+#: cp/parser.cc:35220
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr ""
 
-#: cp/parser.cc:34550
+#: cp/parser.cc:35223
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.cc:34553
+#: cp/parser.cc:35226
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.cc:34556
+#: cp/parser.cc:35229
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:34559
+#: cp/parser.cc:35232
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.cc:34562
+#: cp/parser.cc:35235
 #, gcc-internal-format
 msgid "expected %<co_yield%>"
 msgstr ""
 
-#: cp/parser.cc:34594
+#: cp/parser.cc:35267
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:34606
+#: cp/parser.cc:35279
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.cc:34609
+#: cp/parser.cc:35282
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr ""
 
-#: cp/parser.cc:34612
+#: cp/parser.cc:35285
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr ""
 
-#: cp/parser.cc:34618
+#: cp/parser.cc:35291
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.cc:34645
+#: cp/parser.cc:35318
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.cc:34980
+#: cp/parser.cc:35653
 #, gcc-internal-format
 msgid "redundant enum-key %<enum%s%> in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:35131
+#: cp/parser.cc:35805
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.cc:35136
+#: cp/parser.cc:35810
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr ""
 
-#: cp/parser.cc:35257
+#: cp/parser.cc:35931
 #, gcc-internal-format
 msgid "redundant class-key %qs in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:35415 cp/parser.cc:35449
+#: cp/parser.cc:36089 cp/parser.cc:36123
 #, gcc-internal-format
 msgid "%qT declared with a mismatched class-key %qs"
 msgstr ""
 
-#: cp/parser.cc:35422 cp/parser.cc:35455
+#: cp/parser.cc:36096 cp/parser.cc:36129
 #, gcc-internal-format
 msgid "remove the class-key or replace it with %qs"
 msgstr ""
 
-#: cp/parser.cc:35423 cp/parser.cc:35456
+#: cp/parser.cc:36097 cp/parser.cc:36130
 #, gcc-internal-format
 msgid "replace the class-key with %qs"
 msgstr ""
 
-#: cp/parser.cc:35430
+#: cp/parser.cc:36104
 #, gcc-internal-format
 msgid "%qT defined as %qs here"
 msgstr ""
 
-#: cp/parser.cc:35431
+#: cp/parser.cc:36105
 #, gcc-internal-format
 msgid "%qT first declared as %qs here"
 msgstr ""
 
-#: cp/parser.cc:35514
+#: cp/parser.cc:36188
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.cc:35535
+#: cp/parser.cc:36209
 #, gcc-internal-format
 msgid ""
 "in C++98 %<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.cc:35785
+#: cp/parser.cc:36458
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.cc:36026 cp/parser.cc:37334 cp/parser.cc:37523
+#: cp/parser.cc:36699 cp/parser.cc:38011 cp/parser.cc:38200
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.cc:36097
+#: cp/parser.cc:36770
 #, gcc-internal-format
 msgid "objective-c++ message receiver expected"
 msgstr ""
 
-#: cp/parser.cc:36167
+#: cp/parser.cc:36844
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.cc:36198
+#: cp/parser.cc:36875
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.cc:36602
+#: cp/parser.cc:37279
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.cc:36677 cp/parser.cc:36695
+#: cp/parser.cc:37354 cp/parser.cc:37372
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.cc:36689 cp/parser.cc:36755
+#: cp/parser.cc:37366 cp/parser.cc:37432
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.cc:36798
+#: cp/parser.cc:37475
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.cc:36995 cp/parser.cc:37002 cp/parser.cc:37009
+#: cp/parser.cc:37672 cp/parser.cc:37679 cp/parser.cc:37686
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.cc:37126
+#: cp/parser.cc:37803
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.cc:37299
+#: cp/parser.cc:37976
 #, gcc-internal-format
 msgid ""
 "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.cc:37306
+#: cp/parser.cc:37983
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.cc:37586 cp/parser.cc:37593 cp/parser.cc:37600
+#: cp/parser.cc:38263 cp/parser.cc:38270 cp/parser.cc:38277
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr ""
 
-#: cp/parser.cc:37762
+#: cp/parser.cc:38439
 #, gcc-internal-format
 msgid "unknown property attribute %qE"
 msgstr ""
 
-#: cp/parser.cc:39034
+#: cp/parser.cc:39737
 #, gcc-internal-format
 msgid "expected integer expression list"
 msgstr ""
 
-#: cp/parser.cc:39051
+#: cp/parser.cc:39754
 #, gcc-internal-format
 msgid "%<wait%> expression must be integral"
 msgstr ""
 
-#: cp/parser.cc:39807
+#: cp/parser.cc:40510
 #, gcc-internal-format
 msgid "expected %<scalar%>, %<aggregate%>, %<all%>"
 msgstr ""
 
-#: cp/parser.cc:40198
+#: cp/parser.cc:40901
 #, gcc-internal-format
 msgid "invalid reduction-identifier"
 msgstr ""
 
-#: cp/parser.cc:41167
+#: cp/parser.cc:41962
 #, gcc-internal-format
 msgid "types may not be defined in iterator type"
 msgstr ""
@@ -66333,194 +67611,218 @@ msgstr ""
 #. 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:42795
+#: cp/parser.cc:44094
 #, gcc-internal-format
 msgid "%<#pragma omp allocate%> not yet supported"
 msgstr ""
 
-#: cp/parser.cc:44246
+#: cp/parser.cc:45545
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:44986
+#: cp/parser.cc:46476
 #, gcc-internal-format
 msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:45068 cp/pt.cc:18177
+#: cp/parser.cc:46558 cp/pt.cc:18555
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.cc:47967
+#: cp/parser.cc:49599
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
 msgstr ""
 
-#: cp/parser.cc:48737
+#: cp/parser.cc:50286
+#, gcc-internal-format
+msgid ""
+"%<#pragma omp dispatch%> must be followed by a direct function call with "
+"optional assignment"
+msgstr ""
+
+#: cp/parser.cc:50513
+#, gcc-internal-format
+msgid "%qD is not a C pointer"
+msgstr ""
+
+#: cp/parser.cc:50635
+#, gcc-internal-format
+msgid ""
+"an %qs clause can only be specified if the %<dispatch%> selector of the "
+"construct selector set appears in the %<match%> clause"
+msgstr ""
+
+#: cp/parser.cc:50756
 #, gcc-internal-format
 msgid ""
 "OpenMP directive other than %<declare simd%> or %<declare variant%> "
 "appertains to a declaration"
 msgstr ""
 
-#: cp/parser.cc:49344
+#: cp/parser.cc:51810
 #, gcc-internal-format
 msgid "invalid initializer clause"
 msgstr ""
 
-#: cp/parser.cc:49375
+#: cp/parser.cc:51841
 #, gcc-internal-format
 msgid "expected id-expression (arguments)"
 msgstr ""
 
-#: cp/parser.cc:49387
+#: cp/parser.cc:51853
 #, gcc-internal-format
 msgid ""
 "one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
 msgstr ""
 
-#: cp/parser.cc:49490
+#: cp/parser.cc:51956
 #, gcc-internal-format
 msgid "types may not be defined in declare reduction type list"
 msgstr ""
 
-#: cp/parser.cc:49510 cp/semantics.cc:6442
+#: cp/parser.cc:51976 cp/semantics.cc:6842
 #, gcc-internal-format
 msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:49514 cp/semantics.cc:6450
+#: cp/parser.cc:51980 cp/semantics.cc:6850
 #, gcc-internal-format
 msgid "function or array type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:49517 cp/pt.cc:14662 cp/semantics.cc:6456
+#: cp/parser.cc:51983 cp/pt.cc:14888 cp/semantics.cc:6856
 #, gcc-internal-format
 msgid "reference type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:49520 cp/semantics.cc:6462
+#: cp/parser.cc:51986 cp/semantics.cc:6862
 #, gcc-internal-format
 msgid ""
 "%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma "
 "omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:50240
+#: cp/parser.cc:52737
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> names a set of overloads"
 msgstr ""
 
-#: cp/parser.cc:50250
+#: cp/parser.cc:52747
 #, gcc-internal-format
 msgid "%qD does not refer to a namespace scope function"
 msgstr ""
 
+#: cp/parser.cc:52917 cp/parser.cc:53452
+#, gcc-internal-format
+msgid "OpenMP directives may not appear in %<constexpr%> functions"
+msgstr ""
+
 #. cancel-and-throw is unimplemented.
-#: cp/parser.cc:50611
+#: cp/parser.cc:53128
 #, gcc-internal-format
 msgid "%<atomic_cancel%>"
 msgstr ""
 
-#: cp/parser.cc:50658 cp/semantics.cc:11474
+#: cp/parser.cc:53175 cp/semantics.cc:12154
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:50660 cp/semantics.cc:11476
+#: cp/parser.cc:53177 cp/semantics.cc:12156
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:50806
+#: cp/parser.cc:53323
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:50809
+#: cp/parser.cc:53326
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: cp/parser.cc:50856
+#: cp/parser.cc:53373
 #, gcc-internal-format
 msgid "malformed %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.cc:51156
+#: cp/parser.cc:53702
 #, gcc-internal-format
 msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
 msgstr ""
 
-#: cp/parser.cc:51167
+#: cp/parser.cc:53713
 #, gcc-internal-format
 msgid "%<#pragma omp assumes%> may only be used at file or namespace scope"
 msgstr ""
 
-#: cp/parser.cc:51244
+#: cp/parser.cc:53800
 #, gcc-internal-format
 msgid "%<#pragma GCC %s%> must be inside a function"
 msgstr ""
 
-#: cp/parser.cc:51386
+#: cp/parser.cc:53942
 #, gcc-internal-format
 msgid "multi-source compilation not implemented for C++"
 msgstr ""
 
-#: cp/parser.cc:51423
+#: cp/parser.cc:53979
 #, gcc-internal-format
 msgid "placeholder type not allowed in this context"
 msgstr ""
 
-#: cp/parser.cc:51632
+#: cp/parser.cc:54188
 #, gcc-internal-format
 msgid "implicit templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:51688
+#: cp/parser.cc:54244
 #, gcc-internal-format
 msgid "%<extern \"C\"%> linkage started here"
 msgstr ""
 
-#: cp/pt.cc:313
+#: cp/pt.cc:312
 #, gcc-internal-format
 msgid "data member %qD cannot be a member template"
 msgstr ""
 
-#: cp/pt.cc:326
+#: cp/pt.cc:325
 #, gcc-internal-format
 msgid "invalid member template declaration %qD"
 msgstr ""
 
-#: cp/pt.cc:780
+#: cp/pt.cc:779
 #, gcc-internal-format
 msgid "explicit specialization in non-namespace scope %qD"
 msgstr ""
 
-#: cp/pt.cc:794
+#: cp/pt.cc:793
 #, gcc-internal-format
 msgid "enclosing class templates are not explicitly specialized"
 msgstr ""
 
-#: cp/pt.cc:878
+#: cp/pt.cc:877
 #, gcc-internal-format
 msgid "specialization of %qD must appear at namespace scope"
 msgstr ""
 
-#: cp/pt.cc:889 cp/pt.cc:1129
+#: cp/pt.cc:888 cp/pt.cc:1130
 #, gcc-internal-format
 msgid "specialization of %qD in different namespace"
 msgstr ""
 
-#: cp/pt.cc:891
+#: cp/pt.cc:890
 #, gcc-internal-format
 msgid "  from definition of %q#D"
 msgstr ""
 
-#: cp/pt.cc:908
+#: cp/pt.cc:907
 #, gcc-internal-format
 msgid ""
 "explicit instantiation of %qD in namespace %qD (which does not enclose "
@@ -66537,7 +67839,7 @@ msgstr ""
 msgid "specialization of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:1056 cp/pt.cc:1195
+#: cp/pt.cc:1056 cp/pt.cc:1202
 #, gcc-internal-format
 msgid "explicit specialization of non-template %qT"
 msgstr ""
@@ -66547,78 +67849,78 @@ msgstr ""
 msgid "specialization of %qT after instantiation"
 msgstr ""
 
-#: cp/pt.cc:1132
+#: cp/pt.cc:1133
 #, 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:1173
+#: cp/pt.cc:1175
 #, gcc-internal-format
 msgid "specialization %qT after instantiation %qT"
 msgstr ""
 
-#: cp/pt.cc:1191
+#: cp/pt.cc:1198
 #, gcc-internal-format
 msgid "template specialization of %qD not allowed by ISO C++"
 msgstr ""
 
-#: cp/pt.cc:1568
+#: cp/pt.cc:1571
 #, gcc-internal-format
 msgid "specialization of %qD after instantiation"
 msgstr ""
 
-#: cp/pt.cc:2046 cp/semantics.cc:6312
+#: cp/pt.cc:2067 cp/semantics.cc:6712
 #, gcc-internal-format
 msgid "%s %#qD"
 msgstr ""
 
-#: cp/pt.cc:2182
+#: cp/pt.cc:2207
 #, gcc-internal-format
 msgid "%qD is not a function template"
 msgstr ""
 
-#: cp/pt.cc:2187
+#: cp/pt.cc:2212
 #, gcc-internal-format
 msgid "%qD is not a variable template"
 msgstr ""
 
-#: cp/pt.cc:2470
+#: cp/pt.cc:2496
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr ""
 
-#: cp/pt.cc:2474
+#: cp/pt.cc:2500
 #, gcc-internal-format
 msgid ""
 "saw %d %<template<>%>, need %d for specializing a member function template"
 msgstr ""
 
-#: cp/pt.cc:2484
+#: cp/pt.cc:2511
 #, gcc-internal-format
 msgid "ambiguous template specialization %qD for %q+D"
 msgstr ""
 
-#: cp/pt.cc:2688
+#: cp/pt.cc:2715
 #, gcc-internal-format
 msgid ""
 "variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/pt.cc:2698
+#: cp/pt.cc:2725
 #, gcc-internal-format
 msgid "too many template headers for %qD (should be %d)"
 msgstr ""
 
-#: cp/pt.cc:2704
+#: cp/pt.cc:2731
 #, gcc-internal-format
 msgid ""
 "members of an explicitly specialized class are defined without a template "
 "header"
 msgstr ""
 
-#: cp/pt.cc:2728
+#: cp/pt.cc:2755
 #, gcc-internal-format
 msgid ""
 "explicit specialization of %qD outside its namespace must use a nested-name-"
@@ -66626,79 +67928,77 @@ msgid ""
 msgstr ""
 
 #. This was allowed in C++98, so only pedwarn.
-#: cp/pt.cc:2733
+#: cp/pt.cc:2760
 #, gcc-internal-format
 msgid ""
 "explicit instantiation of %qD outside its namespace must use a nested-name-"
 "specifier"
 msgstr ""
 
-#: cp/pt.cc:2769
+#: cp/pt.cc:2796
 #, gcc-internal-format
 msgid "explicit specialization %q#D may be missing attributes"
 msgstr ""
 
-#: cp/pt.cc:2773
-#, gcc-internal-format, gfc-internal-format
-msgid "missing primary template attributes %s"
+#: cp/pt.cc:2802
+msgid "missing primary template attributes %e"
 msgstr ""
 
-#: cp/pt.cc:2774
-#, gcc-internal-format, gfc-internal-format
-msgid "missing primary template attribute %s"
+#: cp/pt.cc:2803
+msgid "missing primary template attribute %e"
 msgstr ""
 
-#: cp/pt.cc:2866 cp/pt.cc:2926
+#: cp/pt.cc:2896 cp/pt.cc:2956
 #, gcc-internal-format
 msgid "template-id %qE in declaration of primary template"
 msgstr ""
 
-#: cp/pt.cc:2879
+#: cp/pt.cc:2909
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2885
+#: cp/pt.cc:2915
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2893
+#: cp/pt.cc:2923
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2896
+#: cp/pt.cc:2926
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2898
+#: cp/pt.cc:2928
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr ""
 
-#: cp/pt.cc:2904
+#: cp/pt.cc:2934
 #, gcc-internal-format
 msgid "explicit specialization declared %<concept%>"
 msgstr ""
 
-#: cp/pt.cc:2937
+#: cp/pt.cc:2967
 #, gcc-internal-format
 msgid "non-type partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2941
+#: cp/pt.cc:2971
 #, gcc-internal-format
 msgid "non-class, non-variable partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2973
+#: cp/pt.cc:3003
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3016
+#: cp/pt.cc:3046
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr ""
@@ -66711,99 +68011,89 @@ msgstr ""
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.cc:3078
+#: cp/pt.cc:3108
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr ""
 
-#: cp/pt.cc:3094
+#: cp/pt.cc:3124
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr ""
 
-#: cp/pt.cc:3125
+#: cp/pt.cc:3155
 #, gcc-internal-format
 msgid "friend declaration %qD is not visible to explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3128
+#: cp/pt.cc:3158
 #, gcc-internal-format
 msgid "friend declaration here"
 msgstr ""
 
-#: cp/pt.cc:3239
-#, gcc-internal-format
-msgid "explicit specialization of function concept %qD"
-msgstr ""
-
-#: cp/pt.cc:3817
+#: cp/pt.cc:3835
 #, gcc-internal-format
 msgid "argument to %<__integer_pack%> must be between 0 and %d"
 msgstr ""
 
-#: cp/pt.cc:4190
+#: cp/pt.cc:4202
 #, gcc-internal-format
 msgid "base initializer expansion %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4258
+#: cp/pt.cc:4269
 #, gcc-internal-format
 msgid "expansion pattern %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4260
+#: cp/pt.cc:4271
 #, gcc-internal-format
 msgid "expansion pattern %qE contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4344
+#: cp/pt.cc:4385
 #, gcc-internal-format
 msgid "parameter packs not expanded with %<...%>:"
 msgstr ""
 
-#: cp/pt.cc:4361 cp/pt.cc:5242
+#: cp/pt.cc:4402 cp/pt.cc:5285
 #, gcc-internal-format
 msgid "        %qD"
 msgstr ""
 
-#: cp/pt.cc:4363
+#: cp/pt.cc:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "        %s"
 msgstr ""
 
-#: cp/pt.cc:4489
+#: cp/pt.cc:4531
 #, gcc-internal-format
 msgid "declaration of template parameter %q+D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4492
+#: cp/pt.cc:4534
 #, gcc-internal-format
 msgid "declaration of %q+#D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4494
+#: cp/pt.cc:4536
 #, gcc-internal-format
 msgid "template parameter %qD declared here"
 msgstr ""
 
-#: cp/pt.cc:5178
-#, gcc-internal-format
-msgid "specialization of variable concept %q#D"
-msgstr ""
-
-#: cp/pt.cc:5237
+#: cp/pt.cc:5280
 #, gcc-internal-format
 msgid "template parameters not deducible in partial specialization:"
 msgstr ""
 
-#: cp/pt.cc:5260
+#: cp/pt.cc:5305
 #, 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:5264
+#: cp/pt.cc:5309
 #, gcc-internal-format
 msgid ""
 "partial specialization %q+D does not specialize any template arguments and "
@@ -66811,63 +68101,63 @@ msgid ""
 "template, remove the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5268 cp/pt.cc:5279 cp/pt.cc:5287
+#: cp/pt.cc:5313 cp/pt.cc:5325 cp/pt.cc:5334
 #, gcc-internal-format
 msgid "primary template here"
 msgstr ""
 
-#: cp/pt.cc:5276
+#: cp/pt.cc:5322
 #, 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:5286
+#: cp/pt.cc:5333
 #, gcc-internal-format
 msgid "too many arguments for partial specialization %qT"
 msgstr ""
 
-#: cp/pt.cc:5301
+#: cp/pt.cc:5348
 #, gcc-internal-format
 msgid "partial specialization %qD is not more specialized than"
 msgstr ""
 
-#: cp/pt.cc:5303
+#: cp/pt.cc:5350
 #, gcc-internal-format
 msgid "primary template %qD"
 msgstr ""
 
-#: cp/pt.cc:5345
+#: cp/pt.cc:5392
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qE must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5348
+#: cp/pt.cc:5395
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qT must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5410
+#: cp/pt.cc:5457
 #, 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:5478
+#: cp/pt.cc:5527
 #, gcc-internal-format
 msgid "declaration of %qD ambiguates earlier template instantiation for %qD"
 msgstr ""
 
-#: cp/pt.cc:5482
+#: cp/pt.cc:5531
 #, gcc-internal-format
 msgid "partial specialization of %qD after instantiation of %qD"
 msgstr ""
 
-#: cp/pt.cc:5665
+#: cp/pt.cc:5712
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr ""
@@ -66876,52 +68166,52 @@ msgstr ""
 #. (DR 2032), or alias template can only have one
 #. parameter pack, at the end of the template
 #. parameter list.
-#: cp/pt.cc:5688
+#: cp/pt.cc:5735
 #, gcc-internal-format
 msgid "parameter pack %q+D must be at the end of the template parameter list"
 msgstr ""
 
-#: cp/pt.cc:5724
+#: cp/pt.cc:5771
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in function template friend re-"
 "declaration"
 msgstr ""
 
-#: cp/pt.cc:5727
+#: cp/pt.cc:5774
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in template friend declarations"
 msgstr ""
 
-#: cp/pt.cc:5730
+#: cp/pt.cc:5777
 #, 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:5733
+#: cp/pt.cc:5780
 #, gcc-internal-format
 msgid "default template arguments may not be used in partial specializations"
 msgstr ""
 
-#: cp/pt.cc:5736 cp/pt.cc:5794
+#: cp/pt.cc:5783 cp/pt.cc:5841
 #, gcc-internal-format
 msgid "default argument for template parameter for class enclosing %qD"
 msgstr ""
 
-#: cp/pt.cc:5905
+#: cp/pt.cc:5952
 #, gcc-internal-format
 msgid "template %qD declared"
 msgstr ""
 
-#: cp/pt.cc:5913
+#: cp/pt.cc:5960
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr ""
 
-#: cp/pt.cc:5921
+#: cp/pt.cc:5968
 #, gcc-internal-format
 msgid "member template %qD may not have virt-specifiers"
 msgstr ""
@@ -66931,538 +68221,577 @@ msgstr ""
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.cc:5944
+#: cp/pt.cc:5991
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6096
+#: cp/pt.cc:6144
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:6135
+#: cp/pt.cc:6183
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr ""
 
-#: cp/pt.cc:6149
+#: cp/pt.cc:6197
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr ""
 
-#: cp/pt.cc:6152
+#: cp/pt.cc:6200
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
 msgstr ""
 
-#: cp/pt.cc:6154
+#: cp/pt.cc:6202
 #, gcc-internal-format, gfc-internal-format
 msgid "  but %d required"
 msgstr ""
 
-#: cp/pt.cc:6175
+#: cp/pt.cc:6224
 #, gcc-internal-format
 msgid "template arguments to %qD do not match original template %qD"
 msgstr ""
 
-#: cp/pt.cc:6178
+#: cp/pt.cc:6227
 #, gcc-internal-format
 msgid "use %<template<>%> for an explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:6200
+#: cp/pt.cc:6249
 #, gcc-internal-format
 msgid "redeclaration of %qD with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6345
+#: cp/pt.cc:6406
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr ""
 
-#: cp/pt.cc:6358
+#: cp/pt.cc:6419
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6369
+#: cp/pt.cc:6431
 #, 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:6373
+#: cp/pt.cc:6435
 #, 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:6407
+#: cp/pt.cc:6469
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr ""
 
-#: cp/pt.cc:6409
+#: cp/pt.cc:6471
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr ""
 
-#: cp/pt.cc:6411
+#: cp/pt.cc:6473
 #, gcc-internal-format
 msgid "redeclared here"
 msgstr ""
 
-#: cp/pt.cc:6422
+#: cp/pt.cc:6484
 #, gcc-internal-format
 msgid "declaration of template parameter %q+#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6425 cp/pt.cc:6453
+#: cp/pt.cc:6487 cp/pt.cc:6515
 #, gcc-internal-format
 msgid "original declaration appeared here"
 msgstr ""
 
-#: cp/pt.cc:6450
+#: cp/pt.cc:6512
 #, gcc-internal-format
 msgid "redeclaration of %q#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6861 cp/pt.cc:6931
+#: cp/pt.cc:6955 cp/pt.cc:7026
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:6864
+#: cp/pt.cc:6958
 #, gcc-internal-format
 msgid "it must be the address of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6867
+#: cp/pt.cc:6961
 #, gcc-internal-format
 msgid "it must be the name of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6881
+#: cp/pt.cc:6975
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:6885
+#: cp/pt.cc:6979
 #, 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:6934
+#: cp/pt.cc:7029
 #, gcc-internal-format
 msgid "it must be a pointer-to-member of the form %<&X::Y%>"
 msgstr ""
 
-#: cp/pt.cc:6936
+#: cp/pt.cc:7031
 #, gcc-internal-format
 msgid "because it is a member of %qT"
 msgstr ""
 
-#: cp/pt.cc:7005
+#: cp/pt.cc:7100
 #, gcc-internal-format
 msgid "  couldn%'t deduce template parameter %qD"
 msgstr ""
 
-#: cp/pt.cc:7014
+#: cp/pt.cc:7109
 #, gcc-internal-format
 msgid "  types %qT and %qT have incompatible cv-qualifiers"
 msgstr ""
 
-#: cp/pt.cc:7023
+#: cp/pt.cc:7118
 #, gcc-internal-format
 msgid "  mismatched types %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:7032
+#: cp/pt.cc:7127
 #, gcc-internal-format
 msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
 msgstr ""
 
-#: cp/pt.cc:7043
+#: cp/pt.cc:7138
 #, gcc-internal-format
 msgid "  template argument %qE does not match pointer-to-member constant %qE"
 msgstr ""
 
-#: cp/pt.cc:7053
+#: cp/pt.cc:7148
 #, gcc-internal-format
 msgid "  %qE is not equivalent to %qE"
 msgstr ""
 
-#: cp/pt.cc:7062
+#: cp/pt.cc:7157
 #, gcc-internal-format
 msgid "  inconsistent parameter pack deduction with %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:7074
+#: cp/pt.cc:7169
 #, gcc-internal-format
 msgid "  deduced conflicting types for parameter %qT (%qT and %qT)"
 msgstr ""
 
-#: cp/pt.cc:7078
+#: cp/pt.cc:7173
 #, gcc-internal-format
 msgid "  deduced conflicting values for non-type parameter %qE (%qE and %qE)"
 msgstr ""
 
-#: cp/pt.cc:7089
+#: cp/pt.cc:7184
 #, gcc-internal-format
 msgid "  variable-sized array type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7100
+#: cp/pt.cc:7195
 #, gcc-internal-format
 msgid "  member function type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7143
+#: cp/pt.cc:7207
+#, 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/pt.cc:7212
+#, 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/pt.cc:7238
 #, gcc-internal-format
 msgid "  cannot convert %qE (type %qT) to type %qT"
 msgstr ""
 
-#: cp/pt.cc:7156
+#: cp/pt.cc:7251
 #, gcc-internal-format
 msgid "  %qT is an ambiguous base class of %qT"
 msgstr ""
 
-#: cp/pt.cc:7160
+#: cp/pt.cc:7255
 #, gcc-internal-format
 msgid "  %qT is not derived from %qT"
 msgstr ""
 
-#: cp/pt.cc:7171
+#: cp/pt.cc:7266
 #, gcc-internal-format
 msgid ""
 "  template parameters of a template template argument are inconsistent with "
 "other deduced template arguments"
 msgstr ""
 
-#: cp/pt.cc:7181
+#: cp/pt.cc:7276
 #, gcc-internal-format
 msgid "  cannot deduce a template for %qT from non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:7191
+#: cp/pt.cc:7286
 #, gcc-internal-format
 msgid "  template argument %qE does not match %qE"
 msgstr ""
 
-#: cp/pt.cc:7242
+#: cp/pt.cc:7337
 #, 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:7251
+#: cp/pt.cc:7346
 #, 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:7261
+#: cp/pt.cc:7356
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument of type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:7278
+#: cp/pt.cc:7373
 #, gcc-internal-format
 msgid "the address of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7288
+#: cp/pt.cc:7383
 #, gcc-internal-format
 msgid ""
 "the address of the %qT subobject of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7295
+#: cp/pt.cc:7390
 #, 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:7313
+#: cp/pt.cc:7408
 #, 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:7321
+#: cp/pt.cc:7416
 #, 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:7443
+#: cp/pt.cc:7548
 #, 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:7608
+#: cp/pt.cc:7713
 #, gcc-internal-format
 msgid "in template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:7622
+#: cp/pt.cc:7727
 #, gcc-internal-format
 msgid "template argument %qE for type %qT not a compile-time constant"
 msgstr ""
 
-#: cp/pt.cc:7708
+#: cp/pt.cc:7813
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because of conflicts in cv-"
 "qualification"
 msgstr ""
 
-#: cp/pt.cc:7716
+#: cp/pt.cc:7821
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is not an lvalue"
 msgstr ""
 
-#: cp/pt.cc:7734
+#: cp/pt.cc:7839
 #, 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:7793
+#: cp/pt.cc:7899
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is a pointer"
 msgstr ""
 
-#: cp/pt.cc:7795
+#: cp/pt.cc:7901
 #, gcc-internal-format
 msgid "try using %qE instead"
 msgstr ""
 
-#: cp/pt.cc:7849
+#: cp/pt.cc:7955
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is of type %qT"
 msgstr ""
 
-#: cp/pt.cc:8441
+#: cp/pt.cc:8546
 #, gcc-internal-format
 msgid "ignoring attributes on template argument %qT"
 msgstr ""
 
-#: cp/pt.cc:8457
+#: cp/pt.cc:8562
 #, gcc-internal-format
 msgid "ignoring attributes in template argument %qE"
 msgstr ""
 
-#: cp/pt.cc:8601
+#: cp/pt.cc:8692
 #, gcc-internal-format
 msgid "injected-class-name %qD used as template template argument"
 msgstr ""
 
-#: cp/pt.cc:8630
+#: cp/pt.cc:8721
 #, gcc-internal-format
 msgid "invalid use of destructor %qE as a type"
 msgstr ""
 
-#: cp/pt.cc:8635
+#: cp/pt.cc:8726
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr ""
 
-#: cp/pt.cc:8651 cp/pt.cc:8685 cp/pt.cc:8735
+#: cp/pt.cc:8743 cp/pt.cc:8778 cp/pt.cc:8829
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8659
+#: cp/pt.cc:8751
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8667
+#: cp/pt.cc:8759
 #, gcc-internal-format
 msgid ""
 "  ambiguous template argument for non-type template parameter is treated as "
 "function type"
 msgstr ""
 
-#: cp/pt.cc:8673
+#: cp/pt.cc:8765
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8676
+#: cp/pt.cc:8768
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8690
+#: cp/pt.cc:8783
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8693
+#: cp/pt.cc:8786
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8739
+#: cp/pt.cc:8833
 #, gcc-internal-format
 msgid "  expected a template of type %qD, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8753
+#: cp/pt.cc:8848
 #, gcc-internal-format
 msgid "constraint mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8756
+#: cp/pt.cc:8851
 #, gcc-internal-format
 msgid "  expected %qD but got %qD"
 msgstr ""
 
-#: cp/pt.cc:8844
+#: cp/pt.cc:8939
 #, gcc-internal-format
 msgid "could not convert template argument %qE from %qT to %qT"
 msgstr ""
 
-#: cp/pt.cc:8982 cp/pt.cc:9308
+#: cp/pt.cc:9067 cp/pt.cc:9403
 #, gcc-internal-format, gfc-internal-format
 msgid "template argument %d is invalid"
 msgstr ""
 
-#: cp/pt.cc:8997 cp/pt.cc:9142
+#: cp/pt.cc:9082 cp/pt.cc:9228
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr ""
 
-#: cp/pt.cc:9138
+#: cp/pt.cc:9224
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be at least %d)"
 msgstr ""
 
-#: cp/pt.cc:9147
+#: cp/pt.cc:9233
 #, gcc-internal-format
 msgid "provided for %qD"
 msgstr ""
 
-#: cp/pt.cc:9172
+#: cp/pt.cc:9259
 #, gcc-internal-format
 msgid ""
 "pack expansion argument for non-pack parameter %qD of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:9176
+#: cp/pt.cc:9263
 #, gcc-internal-format
 msgid "pack expansion argument for non-pack parameter %qD of concept %qD"
 msgstr ""
 
-#: cp/pt.cc:9274
+#: cp/pt.cc:9364
 #, gcc-internal-format
 msgid ""
 "so any instantiation with a non-empty parameter pack would be ill-formed"
 msgstr ""
 
-#: cp/pt.cc:9841
+#: cp/pt.cc:9933
+#, gcc-internal-format
+msgid "instantiation exposes TU-local entity %qD"
+msgstr ""
+
+#: cp/pt.cc:10007
 #, gcc-internal-format
 msgid "%q#D is not a function template"
 msgstr ""
 
-#: cp/pt.cc:10004
+#: cp/pt.cc:10194
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr ""
 
-#: cp/pt.cc:10006
+#: cp/pt.cc:10196
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:10175 cp/pt.cc:22284
+#: cp/pt.cc:10365 cp/pt.cc:22797
 #, gcc-internal-format
 msgid "template constraint failure for %qD"
 msgstr ""
 
-#: cp/pt.cc:10528
+#: cp/pt.cc:10715
 #, gcc-internal-format
 msgid "use of invalid variable template %qE"
 msgstr ""
 
-#: cp/pt.cc:11252
+#: cp/pt.cc:11434
 #, gcc-internal-format
 msgid ""
 "template instantiation depth exceeds maximum of %d (use %<-ftemplate-"
 "depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:12023
+#: cp/pt.cc:12237
 #, gcc-internal-format
 msgid "score argument must be constant integer expression"
 msgstr ""
 
-#: cp/pt.cc:12032
+#: cp/pt.cc:12246
 #, gcc-internal-format
 msgid "score argument must be non-negative"
 msgstr ""
 
-#: cp/pt.cc:12059
+#: cp/pt.cc:12273
 #, gcc-internal-format
 msgid "property must be constant integer expression or string literal"
 msgstr ""
 
-#: cp/pt.cc:12608
+#: cp/pt.cc:12277
+#, gcc-internal-format
+msgid "property must be constant integer expression"
+msgstr ""
+
+#: cp/pt.cc:12502
+#, gcc-internal-format
+msgid "instantiating erroneous template"
+msgstr ""
+
+#: cp/pt.cc:12503
+#, gcc-internal-format
+msgid "first error appeared here"
+msgstr ""
+
+#: cp/pt.cc:12854
 #, gcc-internal-format
 msgid "flexible array member %qD in union"
 msgstr ""
 
-#: cp/pt.cc:13098
+#: cp/pt.cc:13364
 #, gcc-internal-format
 msgid "fold of empty expansion over %O"
 msgstr ""
 
-#: cp/pt.cc:13558
+#: cp/pt.cc:13834
 #, gcc-internal-format
 msgid "%qE is not the entire pattern of the pack expansion"
 msgstr ""
 
-#: cp/pt.cc:13646
+#: cp/pt.cc:13922
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qT"
 msgstr ""
 
-#: cp/pt.cc:13649
+#: cp/pt.cc:13925
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qE"
 msgstr ""
 
-#: cp/pt.cc:14337
+#: cp/pt.cc:14110
+#, gcc-internal-format
+msgid "cannot index an empty pack"
+msgstr ""
+
+#: cp/pt.cc:14561
 #, gcc-internal-format
 msgid "  when instantiating default argument for call to %qD"
 msgstr ""
 
-#: cp/pt.cc:14433
+#: cp/pt.cc:14658
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:15425
+#: cp/pt.cc:15648
 #, gcc-internal-format, gfc-internal-format
 msgid "mismatched argument pack lengths (%d vs %d)"
 msgstr ""
@@ -67480,309 +68809,310 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.cc:15614
+#: cp/pt.cc:15836
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr ""
 
-#: cp/pt.cc:15815
+#: cp/pt.cc:16037
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr ""
 
-#: cp/pt.cc:15817
+#: cp/pt.cc:16039
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:15944
+#: cp/pt.cc:16166
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.cc:15946
+#: cp/pt.cc:16168
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.cc:16652
+#: cp/pt.cc:16896
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.cc:16654
+#: cp/pt.cc:16898
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16656
+#: cp/pt.cc:16900
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16669
+#: cp/pt.cc:16913
 #, gcc-internal-format
 msgid "forming pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16672
+#: cp/pt.cc:16916
 #, gcc-internal-format
 msgid "forming reference to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16720
+#: cp/pt.cc:16964
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:16726
+#: cp/pt.cc:16970
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16732
+#: cp/pt.cc:16976
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.cc:16798
+#: cp/pt.cc:17042
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.cc:16835
+#: cp/pt.cc:17078
+#, gcc-internal-format
+msgid "%qD expanded to more than one element"
+msgstr ""
+
+#: cp/pt.cc:17085
 #, gcc-internal-format
 msgid "%qD is instantiated for an empty pack"
 msgstr ""
 
-#: cp/pt.cc:16856
+#: cp/pt.cc:17106
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.cc:16896
+#: cp/pt.cc:17146
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.cc:16904
+#: cp/pt.cc:17154
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not a class type"
 msgstr ""
 
-#: cp/pt.cc:17022
+#: cp/pt.cc:17277
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.cc:17341
+#: cp/pt.cc:17596
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.cc:17356
+#: cp/pt.cc:17612
 #, gcc-internal-format
 msgid ""
 "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.cc:17358
+#: cp/pt.cc:17614
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.cc:17451
+#: cp/pt.cc:17698
 #, gcc-internal-format
 msgid "initializer for %q#D expands to an empty list of expressions"
 msgstr ""
 
-#: cp/pt.cc:19475 cp/pt.cc:21665
+#: cp/pt.cc:19947 cp/pt.cc:22165
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.cc:19479 cp/pt.cc:21669
+#: cp/pt.cc:19951 cp/pt.cc:22169
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.cc:19626
+#: cp/pt.cc:20098
 #, gcc-internal-format
 msgid "empty initializer in lambda init-capture"
 msgstr ""
 
-#: cp/pt.cc:20939
+#: cp/pt.cc:21410
 #, 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:20974
+#: cp/pt.cc:21445
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.cc:20979
+#: cp/pt.cc:21450
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:20982
+#: cp/pt.cc:21453
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:20987
+#: cp/pt.cc:21458
 #, gcc-internal-format
 msgid "%qD declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.cc:21038
+#: cp/pt.cc:21509
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_convertvector%>"
 msgstr ""
 
-#: cp/pt.cc:21065
+#: cp/pt.cc:21536
 #, gcc-internal-format
 msgid "wrong number of arguments to %<assume%> attribute"
 msgstr ""
 
-#: cp/pt.cc:21276
+#: cp/pt.cc:21775
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21279
+#: cp/pt.cc:21778
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21597
+#: cp/pt.cc:22094
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.cc:21930
+#: cp/pt.cc:22435
 #, gcc-internal-format
 msgid "%qT is/uses unnamed type"
 msgstr ""
 
-#: cp/pt.cc:21932
+#: cp/pt.cc:22437
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.cc:21942
+#: cp/pt.cc:22447
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.cc:21957
+#: cp/pt.cc:22462
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.cc:21975
+#: cp/pt.cc:22480
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.cc:26368
+#: cp/pt.cc:26899
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.cc:26370
+#: cp/pt.cc:26901
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#D"
 msgstr ""
 
-#: cp/pt.cc:26376
+#: cp/pt.cc:26907
 msgid "%s %#qS"
 msgstr ""
 
-#: cp/pt.cc:26403 cp/pt.cc:26498
+#: cp/pt.cc:26934 cp/pt.cc:27021
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:26409
-#, gcc-internal-format
-msgid "explicit instantiation of variable concept %q#D"
-msgstr ""
-
-#: cp/pt.cc:26411
-#, gcc-internal-format
-msgid "explicit instantiation of function concept %q#D"
-msgstr ""
-
-#: cp/pt.cc:26430
+#: cp/pt.cc:26953
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.cc:26436 cp/pt.cc:26493
+#: cp/pt.cc:26959 cp/pt.cc:27016
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.cc:26441
+#: cp/pt.cc:26964
 #, gcc-internal-format
 msgid ""
 "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.cc:26449
+#: cp/pt.cc:26972
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:26485
+#: cp/pt.cc:27008
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:26508 cp/pt.cc:26575
+#: cp/pt.cc:27031 cp/pt.cc:27098
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:26513 cp/pt.cc:26590
+#: cp/pt.cc:27036 cp/pt.cc:27113
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.cc:26547
+#: cp/pt.cc:27070
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.cc:26550
+#: cp/pt.cc:27073
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:26559
+#: cp/pt.cc:27082
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.cc:26580
+#: cp/pt.cc:27103
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:26620
+#: cp/pt.cc:27143
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
 
-#: cp/pt.cc:26936
+#: cp/pt.cc:27460
 #, gcc-internal-format
 msgid "exception specification of %qD depends on itself"
 msgstr ""
 
+#: cp/pt.cc:27466
+#, gcc-internal-format
+msgid ""
+"exception specification of %qD is not available until end of class definition"
+msgstr ""
+
 #. [temp.explicit]
 #.
 #. The definition of a non-exported function template, a
@@ -67790,12 +69120,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:27409
+#: cp/pt.cc:27937
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.cc:27454
+#: cp/pt.cc:27982
 #, gcc-internal-format
 msgid ""
 "template instantiation depth exceeds maximum of %d instantiating %q+D, "
@@ -67803,174 +69133,168 @@ msgid ""
 "increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:27828
+#: cp/pt.cc:28356
 #, 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:27858
+#: cp/pt.cc:28386
 #, 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:27867
+#: cp/pt.cc:28395
 #, 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:27875
+#: cp/pt.cc:28403
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:27877
+#: cp/pt.cc:28405
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:29321
+#: cp/pt.cc:29863
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in declarator-id"
 msgstr ""
 
-#: cp/pt.cc:29512
+#: cp/pt.cc:30048
 #, gcc-internal-format
 msgid "a concept cannot be constrained"
 msgstr ""
 
-#: cp/pt.cc:29521
+#: cp/pt.cc:30057
 #, gcc-internal-format
 msgid "concept %qE not in namespace scope"
 msgstr ""
 
-#: cp/pt.cc:29527
+#: cp/pt.cc:30063
 #, gcc-internal-format
 msgid "concept %qE has multiple template parameter lists"
 msgstr ""
 
-#: cp/pt.cc:29558
+#: cp/pt.cc:30107
 #, gcc-internal-format
 msgid ""
 "deducing from brace-enclosed initializer list requires %<#include "
 "<initializer_list>%>"
 msgstr ""
 
-#: cp/pt.cc:30836
+#: cp/pt.cc:31379
 #, gcc-internal-format
 msgid "non-deducible template %qT used without template arguments"
 msgstr ""
 
-#: cp/pt.cc:30848
+#: cp/pt.cc:31392
 #, gcc-internal-format
 msgid ""
 "alias template deduction only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/pt.cc:30854
+#: cp/pt.cc:31398
 #, gcc-internal-format
 msgid "use %qD directly instead"
 msgstr ""
 
-#: cp/pt.cc:30982
+#: cp/pt.cc:31526
 #, 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:30989
+#: cp/pt.cc:31533
 #, gcc-internal-format
 msgid ""
 "cannot deduce template arguments of %qT, as it has no viable deduction guides"
 msgstr ""
 
-#: cp/pt.cc:31001
+#: cp/pt.cc:31546
 #, gcc-internal-format
 msgid "class template argument deduction failed:"
 msgstr ""
 
-#: cp/pt.cc:31004
+#: cp/pt.cc:31549
 #, gcc-internal-format
 msgid "explicit deduction guides not considered for copy-initialization"
 msgstr ""
 
-#. TODO: Pass down location from cp_finish_decl.
-#: cp/pt.cc:31018
+#: cp/pt.cc:31564
 #, gcc-internal-format
 msgid ""
 "class template argument deduction for %qT failed: explicit deduction guide "
 "selected in copy-list-initialization"
 msgstr ""
 
-#: cp/pt.cc:31022
+#: cp/pt.cc:31568
 #, gcc-internal-format
 msgid "explicit deduction guide declared here"
 msgstr ""
 
-#: cp/pt.cc:31036
+#: cp/pt.cc:31583
 #, gcc-internal-format
 msgid "%qT may not intend to support class template argument deduction"
 msgstr ""
 
-#: cp/pt.cc:31038
+#: cp/pt.cc:31585
 #, gcc-internal-format
 msgid "add a deduction guide to suppress this warning"
 msgstr ""
 
-#: cp/pt.cc:31160
+#: cp/pt.cc:31708
 #, gcc-internal-format
 msgid "direct-list-initialization of %<auto%> requires exactly one element"
 msgstr ""
 
-#: cp/pt.cc:31163
+#: cp/pt.cc:31711
 #, gcc-internal-format
 msgid ""
 "for deduction to %<std::initializer_list%>, use copy-list-initialization (i."
 "e. add %<=%> before the %<{%>)"
 msgstr ""
 
-#: cp/pt.cc:31230
+#: cp/pt.cc:31771
 #, gcc-internal-format
 msgid "unable to deduce lambda return type from %qE"
 msgstr ""
 
-#: cp/pt.cc:31233
+#: cp/pt.cc:31774
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.cc:31308
+#: cp/pt.cc:31849
 #, gcc-internal-format
 msgid "placeholder constraints not satisfied"
 msgstr ""
 
-#: cp/pt.cc:31312
+#: cp/pt.cc:31853
 #, gcc-internal-format
 msgid "deduced initializer does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31316
+#: cp/pt.cc:31857
 #, gcc-internal-format
 msgid "deduced return type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31320
+#: cp/pt.cc:31861
 #, gcc-internal-format
 msgid "deduced expression type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:31475
-#, gcc-internal-format
-msgid "invalid use of %qT in template argument"
-msgstr ""
-
 #: cp/rtti.cc:310
 #, gcc-internal-format
 msgid "cannot use %<typeid%> with %<-fno-rtti%>"
@@ -68003,1600 +69327,1633 @@ msgstr ""
 msgid "%<dynamic_cast%> not permitted with %<-fno-rtti%>"
 msgstr ""
 
-#: cp/rtti.cc:822
+#: cp/rtti.cc:824
 #, gcc-internal-format
 msgid "cannot %<dynamic_cast%> %qE (of type %q#T) to type %q#T (%s)"
 msgstr ""
 
-#: cp/search.cc:298
+#: cp/search.cc:311
 #, gcc-internal-format
 msgid "%qT is an ambiguous base of %qT"
 msgstr ""
 
-#: cp/search.cc:314
+#: cp/search.cc:327
 #, gcc-internal-format
 msgid "%qT is an inaccessible base of %qT"
 msgstr ""
 
-#: cp/search.cc:1992
+#: cp/search.cc:2006
 #, gcc-internal-format
 msgid "looser exception specification on overriding virtual function %q+#F"
 msgstr ""
 
-#: cp/search.cc:1995
+#: cp/search.cc:2009
 #, gcc-internal-format
 msgid "overridden function is %q#F"
 msgstr ""
 
-#: cp/search.cc:2070
+#: cp/search.cc:2084
 #, gcc-internal-format
 msgid "invalid covariant return type for %q#D"
 msgstr ""
 
-#: cp/search.cc:2072 cp/search.cc:2089 cp/search.cc:2106
+#: cp/search.cc:2086 cp/search.cc:2103 cp/search.cc:2120
 #, gcc-internal-format
 msgid "overridden function is %q#D"
 msgstr ""
 
-#: cp/search.cc:2085
+#: cp/search.cc:2099
 #, gcc-internal-format
 msgid "invalid covariant return type for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2087
+#: cp/search.cc:2101
 #, gcc-internal-format
 msgid "conflicting return type specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2104
+#: cp/search.cc:2118
 #, gcc-internal-format
 msgid "conflicting type attributes specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2119
+#: cp/search.cc:2133
 #, gcc-internal-format
 msgid "%<consteval%> function %q+D overriding non-%<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2122
+#: cp/search.cc:2136
 #, gcc-internal-format
 msgid "non-%<consteval%> function %q+D overriding %<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2125 cp/search.cc:2154 cp/search.cc:2163 cp/search.cc:2174
-#: cp/search.cc:2199
+#: cp/search.cc:2139 cp/search.cc:2168 cp/search.cc:2177 cp/search.cc:2188
+#: cp/search.cc:2213
 #, gcc-internal-format
 msgid "overridden function is %qD"
 msgstr ""
 
-#: cp/search.cc:2141
+#: cp/search.cc:2155
 #, gcc-internal-format
 msgid "%qD declared %<transaction_safe_dynamic%>"
 msgstr ""
 
-#: cp/search.cc:2143
+#: cp/search.cc:2157
 #, gcc-internal-format
 msgid "overriding %qD declared %<transaction_safe%>"
 msgstr ""
 
-#: cp/search.cc:2151
+#: cp/search.cc:2165
 #, gcc-internal-format
 msgid "deleted function %q+D overriding non-deleted function"
 msgstr ""
 
-#: cp/search.cc:2160
+#: cp/search.cc:2174
 #, gcc-internal-format
 msgid "non-deleted function %q+D overriding deleted function"
 msgstr ""
 
-#: cp/search.cc:2171
+#: cp/search.cc:2185
 #, gcc-internal-format
 msgid "function with contracts %q+D overriding contractless function"
 msgstr ""
 
-#: cp/search.cc:2197
+#: cp/search.cc:2211
 #, gcc-internal-format
 msgid "virtual function %q+D overriding final function"
 msgstr ""
 
-#: cp/search.cc:2285
+#: cp/search.cc:2299
 #, gcc-internal-format
 msgid "%q+#D cannot be declared"
 msgstr ""
 
-#: cp/search.cc:2286
+#: cp/search.cc:2300
 #, gcc-internal-format
 msgid "  since %q+#D declared in base class"
 msgstr ""
 
-#: cp/search.cc:2292
+#: cp/search.cc:2306
 #, gcc-internal-format
 msgid "explicit object member function overrides virtual function"
 msgstr ""
 
-#: cp/search.cc:2295
+#: cp/search.cc:2309
 #, gcc-internal-format
 msgid "virtual function declared here"
 msgstr ""
 
-#: cp/semantics.cc:1114
+#: cp/semantics.cc:1291
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to true in %<if constexpr%>"
 msgstr ""
 
-#: cp/semantics.cc:1120
+#: cp/semantics.cc:1297
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> evaluates to true when checking if trivially "
 "empty iteration statement is trivial infinite loop"
 msgstr ""
 
-#: cp/semantics.cc:1125
+#: cp/semantics.cc:1302
 #, gcc-internal-format
 msgid ""
 "and evaluates to false when actually evaluating the condition in non-"
 "%<constexpr%> function"
 msgstr ""
 
-#: cp/semantics.cc:1130
+#: cp/semantics.cc:1307
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to false in a non-"
 "%<constexpr%> function"
 msgstr ""
 
-#: cp/semantics.cc:1134
+#: cp/semantics.cc:1311
 #, gcc-internal-format
 msgid ""
 "%<std::is_constant_evaluated%> always evaluates to true in a %<consteval%> "
 "function"
 msgstr ""
 
-#: cp/semantics.cc:1351
+#: cp/semantics.cc:1537
 #, gcc-internal-format
 msgid "suggest explicit braces around empty body in %<do%> statement"
 msgstr ""
 
-#: cp/semantics.cc:1890
+#: cp/semantics.cc:2105
 #, gcc-internal-format
 msgid "catching polymorphic type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1895
+#: cp/semantics.cc:2110
 #, gcc-internal-format
 msgid "catching type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1900
+#: cp/semantics.cc:2115
 #, gcc-internal-format
 msgid "catching non-reference type %q#T"
 msgstr ""
 
-#: cp/semantics.cc:2112
+#: cp/semantics.cc:2412
 #, gcc-internal-format
 msgid "type of %<asm%> operand %qE could not be determined"
 msgstr ""
 
-#: cp/semantics.cc:2194
+#: cp/semantics.cc:2564
 #, gcc-internal-format
 msgid "%<__label__%> declarations are only allowed in function scopes"
 msgstr ""
 
-#: cp/semantics.cc:2367
+#: cp/semantics.cc:2742
 #, gcc-internal-format
 msgid "invalid use of member %qD in static member function"
 msgstr ""
 
-#: cp/semantics.cc:2371
+#: cp/semantics.cc:2746
 #, gcc-internal-format
 msgid "invalid use of member %qD in constructor %<pre%> contract"
 msgstr ""
 
-#: cp/semantics.cc:2375
+#: cp/semantics.cc:2750
 #, gcc-internal-format
 msgid "invalid use of member %qD in destructor %<post%> contract"
 msgstr ""
 
-#: cp/semantics.cc:2638
+#: cp/semantics.cc:3018
 #, gcc-internal-format
 msgid "%qE missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:2698
+#: cp/semantics.cc:3078
 #, gcc-internal-format
 msgid ""
 "a statement expression is an insufficient context for overload resolution"
 msgstr ""
 
-#: cp/semantics.cc:3057
+#: cp/semantics.cc:3430
 #, gcc-internal-format
 msgid "cannot call a concept as a function"
 msgstr ""
 
-#: cp/semantics.cc:3140
+#: cp/semantics.cc:3510
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr ""
 
-#: cp/semantics.cc:3244
+#: cp/semantics.cc:3615
 #, gcc-internal-format
 msgid "%<this%> is unavailable for explicit object member functions"
 msgstr ""
 
-#: cp/semantics.cc:3256
+#: cp/semantics.cc:3627
 #, gcc-internal-format
 msgid "use explicit object parameter %qs instead"
 msgstr ""
 
-#: cp/semantics.cc:3260
+#: cp/semantics.cc:3631
 #, gcc-internal-format
 msgid "name the explicit object parameter"
 msgstr ""
 
-#: cp/semantics.cc:3265
+#: cp/semantics.cc:3636
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr ""
 
-#: cp/semantics.cc:3267
+#: cp/semantics.cc:3638
 #, gcc-internal-format
 msgid "invalid use of %<this%> before it is valid"
 msgstr ""
 
-#: cp/semantics.cc:3269
+#: cp/semantics.cc:3640
 #, gcc-internal-format
 msgid "invalid use of %<this%> after it is valid"
 msgstr ""
 
-#: cp/semantics.cc:3271
+#: cp/semantics.cc:3642
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr ""
 
-#: cp/semantics.cc:3273
+#: cp/semantics.cc:3644
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
 msgstr ""
 
-#: cp/semantics.cc:3295
+#: cp/semantics.cc:3667
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr ""
 
-#: cp/semantics.cc:3303 cp/typeck.cc:3085
+#: cp/semantics.cc:3676 cp/typeck.cc:3109
 #, gcc-internal-format
 msgid "qualified type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/semantics.cc:3325
+#: cp/semantics.cc:3699
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3439
+#: cp/semantics.cc:3813
 #, gcc-internal-format
 msgid "compound literal of non-object type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3459
+#: cp/semantics.cc:3833
 #, gcc-internal-format
 msgid "%<auto{x}%> cannot be constrained"
 msgstr ""
 
-#: cp/semantics.cc:3464
+#: cp/semantics.cc:3838
 #, gcc-internal-format
-msgid "%<auto{x}%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "%<auto{x}%> only available with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/semantics.cc:3656
+#: cp/semantics.cc:4030
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/semantics.cc:3709
+#: cp/semantics.cc:4083
 #, gcc-internal-format
 msgid ""
 "invalid use of type %qT as a default value for a template template-parameter"
 msgstr ""
 
-#: cp/semantics.cc:3713
+#: cp/semantics.cc:4087
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr ""
 
-#: cp/semantics.cc:3730
+#: cp/semantics.cc:4104
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr ""
 
-#: cp/semantics.cc:3761
+#: cp/semantics.cc:4135
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr ""
 
-#: cp/semantics.cc:4049
+#: cp/semantics.cc:4425
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.cc:4217
+#: cp/semantics.cc:4593
 #, gcc-internal-format
 msgid "cannot capture member %qD of anonymous union"
 msgstr ""
 
-#: cp/semantics.cc:4234
+#: cp/semantics.cc:4611
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
 
-#: cp/semantics.cc:4238
+#: cp/semantics.cc:4615
 #, gcc-internal-format
 msgid "the lambda has no capture-default"
 msgstr ""
 
-#: cp/semantics.cc:4240
+#: cp/semantics.cc:4617
 #, gcc-internal-format
 msgid ""
 "lambda in local class %q+T cannot capture variables from the enclosing "
 "context"
 msgstr ""
 
-#: cp/semantics.cc:4255
+#: cp/semantics.cc:4633
 #, gcc-internal-format
 msgid "use of local variable with automatic storage from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4257
+#: cp/semantics.cc:4635
 #, gcc-internal-format
 msgid "use of parameter from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4385
+#: cp/semantics.cc:4764
 #, gcc-internal-format
 msgid "use of parameter outside function body"
 msgstr ""
 
-#: cp/semantics.cc:4395
+#: cp/semantics.cc:4774
 #, gcc-internal-format
 msgid "missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:4431
+#: cp/semantics.cc:4810
 #, 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:4482
+#: cp/semantics.cc:4861
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr ""
 
-#. Ambiguous reference to base members.
-#: cp/semantics.cc:4489
+#: cp/semantics.cc:4869
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr ""
 
-#: cp/semantics.cc:4517
+#: cp/semantics.cc:4897
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/semantics.cc:4670
+#: cp/semantics.cc:5050
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr ""
 
-#: cp/semantics.cc:4688 rust/backend/rust-tree.cc:5511
+#: cp/semantics.cc:5068 rust/backend/rust-tree.cc:5498
 #, gcc-internal-format
 msgid "%qT is not an enumeration type"
 msgstr ""
 
-#: cp/semantics.cc:4715
+#: cp/semantics.cc:5095
 #, gcc-internal-format
-msgid "%<__type_pack_element%> index is not an integral constant"
+msgid "pack index is not an integral constant"
 msgstr ""
 
-#: cp/semantics.cc:4721
+#: cp/semantics.cc:5101
 #, gcc-internal-format
-msgid "%<__type_pack_element%> index is negative"
+msgid "pack index is negative"
 msgstr ""
 
-#: cp/semantics.cc:4727
+#: cp/semantics.cc:5107
 #, gcc-internal-format
-msgid "%<__type_pack_element%> index is out of range"
+msgid "pack index is out of range"
 msgstr ""
 
 #. Parameter packs can only be used in templates
-#: cp/semantics.cc:4850
+#: cp/semantics.cc:5244
 #, gcc-internal-format
 msgid "parameter pack %<__bases%> only valid in template declaration"
 msgstr ""
 
-#: cp/semantics.cc:4882
+#: cp/semantics.cc:5276
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
 msgstr ""
 
-#: cp/semantics.cc:4895
+#: cp/semantics.cc:5290
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function %qD"
 msgstr ""
 
-#: cp/semantics.cc:4899
+#: cp/semantics.cc:5294
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function"
 msgstr ""
 
-#: cp/semantics.cc:4904
+#: cp/semantics.cc:5299
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to an enumerator %qD"
 msgstr ""
 
-#: cp/semantics.cc:4915
+#: cp/semantics.cc:5310
 #, gcc-internal-format
 msgid ""
 "%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
 msgstr ""
 
-#: cp/semantics.cc:6115
+#: cp/semantics.cc:6514
 #, gcc-internal-format
 msgid "pointer-to-member mapping %qE not supported"
 msgstr ""
 
-#: cp/semantics.cc:6309
+#: cp/semantics.cc:6709
 #, gcc-internal-format
 msgid "user defined reduction lookup is ambiguous"
 msgstr ""
 
-#: cp/semantics.cc:6582
+#: cp/semantics.cc:6982
 #, gcc-internal-format
 msgid "%qE in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: cp/semantics.cc:6628
+#: cp/semantics.cc:7028
 #, gcc-internal-format
 msgid "%qE has const type for %<reduction%>"
 msgstr ""
 
-#: cp/semantics.cc:6747
+#: cp/semantics.cc:7147
 #, gcc-internal-format
 msgid "user defined reduction with constructor initializer for base class %qT"
 msgstr ""
 
-#: cp/semantics.cc:7219
+#: cp/semantics.cc:7506
+#, gcc-internal-format
+msgid "expected string literal or constant integer expression instead of %qE"
+msgstr ""
+
+#: cp/semantics.cc:7696
 #, 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:7234
+#: cp/semantics.cc:7711
 #, gcc-internal-format
 msgid ""
 "linear clause with %qs modifier applied to non-reference variable with %qT "
 "type"
 msgstr ""
 
-#: cp/semantics.cc:7249
+#: cp/semantics.cc:7726
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with %qT type"
 msgstr ""
 
-#: cp/semantics.cc:7273
+#: cp/semantics.cc:7750
 #, gcc-internal-format
 msgid "linear step expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7366 cp/semantics.cc:7498 cp/semantics.cc:7558
-#: cp/semantics.cc:7959 cp/semantics.cc:9085
+#: cp/semantics.cc:7843 cp/semantics.cc:7975 cp/semantics.cc:8035
+#: cp/semantics.cc:8460 cp/semantics.cc:9628
 #, gcc-internal-format
 msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7378 cp/semantics.cc:9098
+#: cp/semantics.cc:7855 cp/semantics.cc:9641
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:7511
+#: cp/semantics.cc:7988
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7571
+#: cp/semantics.cc:8048
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7622
+#: cp/semantics.cc:8119
 #, gcc-internal-format
 msgid "%<gang%> static expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7636
+#: cp/semantics.cc:8133
 #, gcc-internal-format
 msgid "%<gang%> static value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7670
+#: cp/semantics.cc:8171
 #, gcc-internal-format
 msgid "%<gang%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7673
+#: cp/semantics.cc:8174
 #, gcc-internal-format
 msgid "%<vector%> length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7677
+#: cp/semantics.cc:8178
 #, gcc-internal-format
 msgid "%<worker%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7699
+#: cp/semantics.cc:8200
 #, gcc-internal-format
 msgid "%<gang%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7703
+#: cp/semantics.cc:8204
 #, gcc-internal-format
 msgid "%<vector%> length value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7708
+#: cp/semantics.cc:8209
 #, gcc-internal-format
 msgid "%<worker%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7784
+#: cp/semantics.cc:8285
 #, gcc-internal-format
 msgid "schedule chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7817
+#: cp/semantics.cc:8318
 #, gcc-internal-format
 msgid "%qs length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7831
+#: cp/semantics.cc:8332
 #, gcc-internal-format
 msgid "%qs length expression must be positive constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:7851
+#: cp/semantics.cc:8352
 #, gcc-internal-format
 msgid "%<async%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7880
+#: cp/semantics.cc:8381
 #, gcc-internal-format
 msgid "%<thread_limit%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7910
+#: cp/semantics.cc:8411
 #, gcc-internal-format
 msgid "%<device%> id must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7941
+#: cp/semantics.cc:8442
 #, gcc-internal-format
 msgid "%<dist_schedule%> chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7970
+#: cp/semantics.cc:8471
 #, gcc-internal-format
 msgid "%qD is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7985
+#: cp/semantics.cc:8486
 #, 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:7992
+#: cp/semantics.cc:8493
 #, gcc-internal-format
 msgid "%qD appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:8007
+#: cp/semantics.cc:8508
 #, gcc-internal-format
 msgid "%<aligned%> clause alignment expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8040
+#: cp/semantics.cc:8539
 #, gcc-internal-format
 msgid "%qD is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: cp/semantics.cc:8051
+#: cp/semantics.cc:8550
 #, gcc-internal-format
 msgid "%qD appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:8068
+#: cp/semantics.cc:8567
 #, gcc-internal-format
 msgid "%<this%> not allowed in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:8080
+#: cp/semantics.cc:8579
 #, gcc-internal-format
 msgid "%qD is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:8089
+#: cp/semantics.cc:8588
 #, gcc-internal-format
 msgid "%qD appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:8237
+#: cp/semantics.cc:8738
 #, gcc-internal-format
 msgid "%qD is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: cp/semantics.cc:8739
+#: cp/semantics.cc:9242
 #, gcc-internal-format
 msgid "template %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8742
+#: cp/semantics.cc:9245
 #, gcc-internal-format
 msgid "overloaded function name %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8811
+#: cp/semantics.cc:9315
 #, gcc-internal-format
 msgid "%<grainsize%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8841
+#: cp/semantics.cc:9345
 #, gcc-internal-format
 msgid "%<priority%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8871
+#: cp/semantics.cc:9375
 #, gcc-internal-format
 msgid "%<hint%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8884
+#: cp/semantics.cc:9387
 #, gcc-internal-format
 msgid "%<hint%> expression must be constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:8901
+#: cp/semantics.cc:9404
 #, gcc-internal-format
 msgid "%<filter%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8932
+#: cp/semantics.cc:9435
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor reference to pointer"
 msgstr ""
 
-#: cp/semantics.cc:8942
+#: cp/semantics.cc:9445
 #, gcc-internal-format
 msgid ""
 "%qs variable is neither a pointer, nor an array nor reference to pointer or "
 "array"
 msgstr ""
 
-#: cp/semantics.cc:9026
+#: cp/semantics.cc:9529
 #, gcc-internal-format
 msgid "%<tile%> argument needs integral type"
 msgstr ""
 
-#: cp/semantics.cc:9443
+#: cp/semantics.cc:10092
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE without %<mutable%> member may appear only in "
 "%<shared%> or %<firstprivate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:9670
+#: cp/semantics.cc:10333
 #, gcc-internal-format
 msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
 msgstr ""
 
-#: cp/semantics.cc:9684
+#: cp/semantics.cc:10347
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE directive not in %qT definition"
 msgstr ""
 
-#: cp/semantics.cc:10421
+#: cp/semantics.cc:11084
 #, gcc-internal-format
 msgid "difference between %qE and %qD does not have integer type"
 msgstr ""
 
-#: cp/semantics.cc:10906
+#: cp/semantics.cc:11582
 #, gcc-internal-format
 msgid "%<#pragma omp simd%> used with class iteration variable %qE"
 msgstr ""
 
-#: cp/semantics.cc:11226 cp/semantics.cc:11236
+#: cp/semantics.cc:11906 cp/semantics.cc:11916
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
 msgstr ""
 
-#: cp/semantics.cc:11578
+#: cp/semantics.cc:12248
 #, gcc-internal-format
 msgid ""
-"%<static_assert%> message must be a string literal or object with %<size%> "
-"and %<data%> members"
+"constexpr string must be a string literal or object with %<size%> and "
+"%<data%> members"
 msgstr ""
 
-#: cp/semantics.cc:11594
+#: cp/semantics.cc:12264
 #, gcc-internal-format
 msgid ""
-"%<static_assert%> message %<size()%> must be implicitly convertible to "
-"%<std::size_t%>"
+"constexpr string %<size()%> must be implicitly convertible to %<std::size_t%>"
 msgstr ""
 
-#: cp/semantics.cc:11603
+#: cp/semantics.cc:12273
 #, gcc-internal-format
 msgid ""
-"%<static_assert%> message %<data()%> must be implicitly convertible to "
-"%<const char*%>"
+"constexpr string %<data()%> must be implicitly convertible to %<const char*%>"
 msgstr ""
 
-#: cp/semantics.cc:11661
+#: cp/semantics.cc:12311
 #, gcc-internal-format
-msgid "%<static_assert%> message %<size()%> must be a constant expression"
+msgid "constexpr string %<size()%> must be a constant expression"
 msgstr ""
 
-#: cp/semantics.cc:11669
+#: cp/semantics.cc:12319
 #, gcc-internal-format
-msgid "%<static_assert%> message %<size()%> %qE too large"
+msgid "constexpr string message %<size()%> %qE too large"
 msgstr ""
 
-#: cp/semantics.cc:11696
+#: cp/semantics.cc:12346
 #, gcc-internal-format
-msgid "%<static_assert%> message %<data()[%d]%> must be a constant expression"
+msgid "constexpr string %<data()[%d]%> must be a constant expression"
 msgstr ""
 
-#: cp/semantics.cc:11723
+#: cp/semantics.cc:12372
 #, gcc-internal-format
-msgid "%<static_assert%> message %<data()%> must be a core constant expression"
+msgid "constexpr string %<data()%> must be a core constant expression"
 msgstr ""
 
-#: cp/semantics.cc:11749
+#: cp/semantics.cc:12471
 #, gcc-internal-format
 msgid "static assertion failed: %.*s"
 msgstr ""
 
-#: cp/semantics.cc:11757
+#: cp/semantics.cc:12477
 #, gcc-internal-format
 msgid "non-constant condition for static assertion"
 msgstr ""
 
-#: cp/semantics.cc:11786
+#: cp/semantics.cc:12506
 #, gcc-internal-format
 msgid "argument to %<decltype%> must be an expression"
 msgstr ""
 
-#: cp/semantics.cc:11832
+#: cp/semantics.cc:12552
 #, gcc-internal-format
 msgid "%<decltype%> cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/semantics.cc:12144 rust/backend/rust-tree.cc:5225
+#: cp/semantics.cc:12856 rust/backend/rust-tree.cc:5212
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
 msgstr ""
 
-#: cp/semantics.cc:12153 rust/backend/rust-tree.cc:5234
+#: cp/semantics.cc:12865 rust/backend/rust-tree.cc:5221
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer "
 "to member"
 msgstr ""
 
-#: cp/semantics.cc:12324 rust/backend/rust-tree.cc:5838
+#: cp/semantics.cc:13036 rust/backend/rust-tree.cc:5825
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_corresponding_member%> not well defined for anonymous unions"
 msgstr ""
 
-#: cp/semantics.cc:12348 rust/backend/rust-tree.cc:5882
+#: cp/semantics.cc:13060 rust/backend/rust-tree.cc:5869
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> needs two arguments"
 msgstr ""
 
-#: cp/semantics.cc:12359 rust/backend/rust-tree.cc:5892
+#: cp/semantics.cc:13071 rust/backend/rust-tree.cc:5879
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member"
 msgstr ""
 
-#: cp/semantics.cc:12843
+#: cp/semantics.cc:13628
 #, gcc-internal-format
 msgid "%qD is not a class or alias template"
 msgstr ""
 
-#: cp/semantics.cc:13032
+#: cp/semantics.cc:13869
 #, gcc-internal-format
 msgid "operand of fold expression has no unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:13092
+#: cp/semantics.cc:13929
 #, gcc-internal-format
 msgid "both arguments in binary fold have unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:13094
+#: cp/semantics.cc:13931
 #, gcc-internal-format
 msgid "no unexpanded parameter packs in binary fold"
 msgstr ""
 
-#: cp/semantics.cc:13112
+#: cp/semantics.cc:13948
 #, gcc-internal-format
-msgid "non-pointer argument to %<__builtin_launder%>"
+msgid ""
+"type %qT of argument to %<__builtin_launder%> is not a pointer to object type"
 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:13161
+#: cp/semantics.cc:13998
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
 msgstr ""
 
-#: cp/semantics.cc:13167
+#: cp/semantics.cc:14004
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:13194
+#: cp/semantics.cc:14031
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:13202
+#: cp/semantics.cc:14039
 #, gcc-internal-format
 msgid ""
 "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
 msgstr ""
 
-#: cp/tree.cc:1486 rust/backend/rust-tree.cc:2609
+#: cp/tree.cc:1527 rust/backend/rust-tree.cc:2596
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.cc:2004
-#, gcc-internal-format
-msgid "statement-expression in a constant expression"
-msgstr ""
-
-#: cp/tree.cc:4524
+#: cp/tree.cc:4574
 #, gcc-internal-format
 msgid ""
 "%<-fabi-version=13%> (GCC 8.2) fixes the calling convention for %qT, which "
 "was accidentally changed in 8.1"
 msgstr ""
 
-#: cp/tree.cc:4528
+#: cp/tree.cc:4578
 #, gcc-internal-format
 msgid ""
 "%<-fabi-version=12%> (GCC 8.1) accidentally changes the calling convention "
 "for %qT"
 msgstr ""
 
-#: cp/tree.cc:4532
+#: cp/tree.cc:4582
 #, gcc-internal-format
 msgid " declared here"
 msgstr ""
 
-#: cp/tree.cc:4537
+#: cp/tree.cc:4587
 #, gcc-internal-format
 msgid ""
 "the calling convention for %qT changes in %<-fabi-version=13%> (GCC 8.2)"
 msgstr ""
 
-#: cp/tree.cc:4539
+#: cp/tree.cc:4589
 #, gcc-internal-format
 msgid " because all of its copy and move constructors are deleted"
 msgstr ""
 
-#: cp/tree.cc:4966
+#: cp/tree.cc:5018
 #, gcc-internal-format
 msgid "base class %qT is not public"
 msgstr ""
 
-#: cp/tree.cc:4969
+#: cp/tree.cc:5021
 #, gcc-internal-format
 msgid "%qD is not public"
 msgstr ""
 
-#: cp/tree.cc:4976
+#: cp/tree.cc:5028
 #, gcc-internal-format
 msgid "%qD is mutable"
 msgstr ""
 
-#: cp/tree.cc:4984
+#: cp/tree.cc:5036
 #, gcc-internal-format
 msgid "%qD has a non-structural type"
 msgstr ""
 
-#: cp/tree.cc:5007
+#: cp/tree.cc:5059
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to functions or parameters"
 msgstr ""
 
-#: cp/tree.cc:5028
+#: cp/tree.cc:5080
 #, gcc-internal-format
 msgid "%qE attribute argument must be a string constant"
 msgstr ""
 
-#: cp/tree.cc:5043
+#: cp/tree.cc:5095
 #, gcc-internal-format
 msgid ""
 "%qE attribute can only be applied to functions or to class or enumeration "
 "types"
 msgstr ""
 
-#: cp/tree.cc:5063 cp/tree.cc:5068
+#: cp/tree.cc:5115 cp/tree.cc:5120
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to non-static data members"
 msgstr ""
 
-#: cp/tree.cc:5074
+#: cp/tree.cc:5126
 #, gcc-internal-format
 msgid "%qE attribute cannot be applied to a bit-field"
 msgstr ""
 
-#: cp/tree.cc:5094
+#: cp/tree.cc:5146
 #, gcc-internal-format
 msgid "%qE attribute takes no arguments"
 msgstr ""
 
-#: cp/tree.cc:5098
+#: cp/tree.cc:5150
 #, gcc-internal-format
 msgid ""
 "ISO C++ %qE attribute does not apply to functions; treating as %<[[gnu::"
 "%E]]%>"
 msgstr ""
 
-#: cp/tree.cc:5182
+#: cp/tree.cc:5173
+#, gcc-internal-format
+msgid "%<alignas%> on function declaration"
+msgstr ""
+
+#: cp/tree.cc:5176
+#, gcc-internal-format
+msgid "%<alignas%> on enumerated type"
+msgstr ""
+
+#: cp/tree.cc:5179
+#, gcc-internal-format
+msgid "%<alignas%> on a type other than class"
+msgstr ""
+
+#: cp/tree.cc:5181
+#, gcc-internal-format
+msgid "%<alignas%> on bit-field"
+msgstr ""
+
+#: cp/tree.cc:5184
+#, gcc-internal-format
+msgid "%<alignas%> on a type alias"
+msgstr ""
+
+#: cp/tree.cc:5201 cp/tree.cc:5219
+#, gcc-internal-format
+msgid "%qE on a type other than class or enumeration definition"
+msgstr ""
+
+#: cp/tree.cc:5203 cp/tree.cc:5221
+#, gcc-internal-format
+msgid "%qE on unnamed bit-field"
+msgstr ""
+
+#: cp/tree.cc:5225
+#, gcc-internal-format
+msgid "%qE on %<case%> or %<default%> label"
+msgstr ""
+
+#: cp/tree.cc:5317
 #, gcc-internal-format
 msgid "requested %<init_priority%> is not an integer constant"
 msgstr ""
 
-#: cp/tree.cc:5204
+#: cp/tree.cc:5339
 #, gcc-internal-format
 msgid ""
 "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.cc:5212
+#: cp/tree.cc:5347
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is out of range [0, %i]"
 msgstr ""
 
-#: cp/tree.cc:5223
+#: cp/tree.cc:5360
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is reserved for internal use"
 msgstr ""
 
-#: cp/tree.cc:5253
+#: cp/tree.cc:5391
 #, gcc-internal-format
 msgid "redeclaration of %qD adds abi tag %qE"
 msgstr ""
 
-#: cp/tree.cc:5273
+#: cp/tree.cc:5411
 #, gcc-internal-format
 msgid "the %qE attribute requires arguments"
 msgstr ""
 
-#: cp/tree.cc:5284
+#: cp/tree.cc:5422
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must be narrow string literals"
 msgstr ""
 
-#: cp/tree.cc:5297 cp/tree.cc:5310
+#: cp/tree.cc:5436 cp/tree.cc:5450
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must contain valid identifiers"
 msgstr ""
 
-#: cp/tree.cc:5299
+#: cp/tree.cc:5438
 #, gcc-internal-format
 msgid "%<%c%> is not a valid first character for an identifier"
 msgstr ""
 
-#: cp/tree.cc:5312
+#: cp/tree.cc:5452
 #, gcc-internal-format
 msgid "%<%c%> is not a valid character in an identifier"
 msgstr ""
 
-#: cp/tree.cc:5336
+#: cp/tree.cc:5476
 #, gcc-internal-format
 msgid "%qE attribute applied to non-class, non-enum type %qT"
 msgstr ""
 
-#: cp/tree.cc:5342
+#: cp/tree.cc:5482
 #, gcc-internal-format
 msgid "%qE attribute applied to %qT after its definition"
 msgstr ""
 
-#: cp/tree.cc:5349
+#: cp/tree.cc:5489
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template instantiation %qT"
 msgstr ""
 
-#: cp/tree.cc:5356
+#: cp/tree.cc:5496
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template specialization %qT"
 msgstr ""
 
-#: cp/tree.cc:5378
+#: cp/tree.cc:5518
 #, gcc-internal-format
 msgid "%qE attribute applied to non-function, non-variable %qD"
 msgstr ""
 
-#: cp/tree.cc:5384
+#: cp/tree.cc:5524
 #, gcc-internal-format
 msgid "%qE attribute applied to extern \"C\" declaration %qD"
 msgstr ""
 
-#: cp/tree.cc:5417
+#: cp/tree.cc:5557
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument must be an expression that evaluates to true or false"
 msgstr ""
 
-#: cp/tree.cc:6283
-#, gcc-internal-format
-msgid "zero as null pointer constant"
-msgstr ""
-
-#: cp/tree.cc:6324 rust/backend/rust-tree.cc:3189
+#: cp/tree.cc:6508 rust/backend/rust-tree.cc:3176
 #, gcc-internal-format
 msgid "%<lang_*%> check: failed in %s, at %s:%d"
 msgstr ""
 
-#: cp/typeck.cc:625
+#: cp/typeck.cc:628
 #, gcc-internal-format
 msgid "comparison between distinct pointer types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:631
+#: cp/typeck.cc:634
 #, gcc-internal-format
 msgid "conversion between distinct pointer types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:637
+#: cp/typeck.cc:640
 #, gcc-internal-format
 msgid ""
 "conditional expression between distinct pointer types %qT and %qT lacks a "
 "cast"
 msgstr ""
 
-#: cp/typeck.cc:785
+#: cp/typeck.cc:788
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids comparison between pointer of type %<void *%> and pointer-to-"
 "function"
 msgstr ""
 
-#: cp/typeck.cc:790
+#: cp/typeck.cc:793
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids conversion between pointer of type %<void *%> and pointer-to-"
 "function"
 msgstr ""
 
-#: cp/typeck.cc:795
+#: cp/typeck.cc:798
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids conditional expression between pointer of type %<void *%> "
 "and pointer-to-function"
 msgstr ""
 
-#: cp/typeck.cc:874
+#: cp/typeck.cc:877
 #, gcc-internal-format
 msgid ""
 "comparison between distinct pointer-to-member types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:879
+#: cp/typeck.cc:882
 #, gcc-internal-format
 msgid ""
 "conversion between distinct pointer-to-member types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:884
+#: cp/typeck.cc:887
 #, gcc-internal-format
 msgid ""
 "conditional expression between distinct pointer-to-member types %qT and %qT "
 "lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:1710
+#: cp/typeck.cc:1738
 #, gcc-internal-format
 msgid "canonical types differ for identical types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:1717
+#: cp/typeck.cc:1745
 #, gcc-internal-format
 msgid "same canonical type node for different types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:2047
+#: cp/typeck.cc:2075
 #, gcc-internal-format
 msgid "invalid application of %qs to a member function"
 msgstr ""
 
-#: cp/typeck.cc:2152
+#: cp/typeck.cc:2173
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2160
+#: cp/typeck.cc:2181
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2225
+#: cp/typeck.cc:2246
 #, gcc-internal-format
 msgid "invalid application of %<__alignof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2236
+#: cp/typeck.cc:2257
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids applying %<__alignof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2320
+#: cp/typeck.cc:2341
 #, gcc-internal-format
 msgid "%<alignas%> argument has non-integral type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2366 rust/backend/rust-tree.cc:3817
+#: cp/typeck.cc:2388 rust/backend/rust-tree.cc:3804
 #, gcc-internal-format
 msgid "invalid use of non-static member function of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2716
+#: cp/typeck.cc:2738
 #, gcc-internal-format
 msgid "ISO C++ forbids converting a string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2720
+#: cp/typeck.cc:2742
 #, gcc-internal-format
 msgid "deprecated conversion from string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2835 cp/typeck.cc:3399
+#: cp/typeck.cc:2857 cp/typeck.cc:3424
 #, 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:2839 cp/typeck.cc:3403
+#: cp/typeck.cc:2861 cp/typeck.cc:3428
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2873
+#: cp/typeck.cc:2895
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qE"
 msgstr ""
 
-#: cp/typeck.cc:2950
+#: cp/typeck.cc:2972
 #, gcc-internal-format
 msgid ""
 "invalid access to non-static data member %qD in virtual base of NULL object"
 msgstr ""
 
-#: cp/typeck.cc:3100
+#: cp/typeck.cc:3124
 #, gcc-internal-format
 msgid "object type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/typeck.cc:3109
+#: cp/typeck.cc:3133
 #, gcc-internal-format
 msgid "the type being destroyed is %qT, but the destructor refers to %qT"
 msgstr ""
 
-#: cp/typeck.cc:3251
+#: cp/typeck.cc:3275
 #, gcc-internal-format
 msgid "field %q#D can be accessed via %q#D"
 msgstr ""
 
 #. No hint.
-#: cp/typeck.cc:3270
+#: cp/typeck.cc:3294
 #, gcc-internal-format
 msgid "%q#T has no member named %qE"
 msgstr ""
 
-#: cp/typeck.cc:3293
+#: cp/typeck.cc:3317
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)"
 msgstr ""
 
-#: cp/typeck.cc:3304
+#: cp/typeck.cc:3329
 #, 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:3319
+#: cp/typeck.cc:3344
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: cp/typeck.cc:3433 cp/typeck.cc:3459
+#: cp/typeck.cc:3458 cp/typeck.cc:3484
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a member of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3513
+#: cp/typeck.cc:3538
 #, gcc-internal-format
 msgid "%qT is not a base of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3576
+#: cp/typeck.cc:3604
 #, gcc-internal-format
 msgid "%qD is not a member template function"
 msgstr ""
 
-#: cp/typeck.cc:3841
+#: cp/typeck.cc:3869
 #, gcc-internal-format
 msgid "%qT is not a pointer-to-object type"
 msgstr ""
 
-#: cp/typeck.cc:3873
+#: cp/typeck.cc:3901
 #, gcc-internal-format
 msgid "invalid use of array indexing on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3876
+#: cp/typeck.cc:3904
 #, gcc-internal-format
 msgid "invalid use of unary %<*%> on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3879
+#: cp/typeck.cc:3907
 #, gcc-internal-format
 msgid "invalid use of implicit conversion on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3883
+#: cp/typeck.cc:3911
 #, 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:3949
+#: cp/typeck.cc:3977
 #, gcc-internal-format
 msgid "subscript missing in array reference"
 msgstr ""
 
-#: cp/typeck.cc:4054
+#: cp/typeck.cc:4082
 #, gcc-internal-format
 msgid "subscripting array declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:4093
+#: cp/typeck.cc:4122
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer"
 msgstr ""
 
-#: cp/typeck.cc:4165
+#: cp/typeck.cc:4194
 #, gcc-internal-format
 msgid "object missing in use of %qE"
 msgstr ""
 
-#: cp/typeck.cc:4390
+#: cp/typeck.cc:4447
 #, gcc-internal-format
 msgid "ISO C++ forbids calling %<::main%> from within program"
 msgstr ""
 
-#: cp/typeck.cc:4411
+#: cp/typeck.cc:4468
 #, gcc-internal-format
 msgid ""
 "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E "
 "(...)%>, e.g. %<(... ->* %E) (...)%>"
 msgstr ""
 
-#: cp/typeck.cc:4428
+#: cp/typeck.cc:4485
 #, gcc-internal-format
 msgid "%qE cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4431
+#: cp/typeck.cc:4488
 #, gcc-internal-format
 msgid "%qD cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4434
+#: cp/typeck.cc:4491
 #, gcc-internal-format
 msgid "expression cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4492
+#: cp/typeck.cc:4553
 #, gcc-internal-format
 msgid "too many arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4493
+#: cp/typeck.cc:4554
 #, gcc-internal-format
 msgid "too few arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4498
+#: cp/typeck.cc:4559
 #, gcc-internal-format
 msgid "too many arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4499
+#: cp/typeck.cc:4560
 #, gcc-internal-format
 msgid "too few arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4505
+#: cp/typeck.cc:4566
 #, gcc-internal-format
 msgid "too many arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4506
+#: cp/typeck.cc:4567
 #, gcc-internal-format
 msgid "too few arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4516
+#: cp/typeck.cc:4577
 #, gcc-internal-format
 msgid "too many arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4517
+#: cp/typeck.cc:4578
 #, gcc-internal-format
 msgid "too few arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4520
+#: cp/typeck.cc:4581
 #, gcc-internal-format
 msgid "too many arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4521
+#: cp/typeck.cc:4582
 #, gcc-internal-format
 msgid "too few arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4603
+#: cp/typeck.cc:4664
 #, gcc-internal-format
 msgid "parameter %P of %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4609
+#: cp/typeck.cc:4670
 #, gcc-internal-format
 msgid "parameter %P has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4918
+#: cp/typeck.cc:4984
 #, gcc-internal-format
 msgid "the address %qE will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4964
+#: cp/typeck.cc:5031
 #, gcc-internal-format
 msgid "the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4979
+#: cp/typeck.cc:5046
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qE will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4982
+#: cp/typeck.cc:5049
 #, gcc-internal-format
 msgid "comparing the result of pointer addition %qE and NULL"
 msgstr ""
 
-#: cp/typeck.cc:4997
+#: cp/typeck.cc:5064
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:5056
+#: cp/typeck.cc:5123
 #, gcc-internal-format
 msgid "bitwise operation between different enumeration types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:5059
+#: cp/typeck.cc:5126
 #, gcc-internal-format
 msgid ""
 "bitwise operation between different enumeration types %qT and %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5065
+#: cp/typeck.cc:5132
 #, gcc-internal-format
 msgid "arithmetic between different enumeration types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:5068
+#: cp/typeck.cc:5135
 #, gcc-internal-format
 msgid ""
 "arithmetic between different enumeration types %qT and %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5105
+#: cp/typeck.cc:5172
 #, gcc-internal-format
 msgid "comparison of enumeration type %qT with floating-point type %qT"
 msgstr ""
 
-#: cp/typeck.cc:5108
+#: cp/typeck.cc:5175
 #, gcc-internal-format
 msgid "comparison of floating-point type %qT with enumeration type %qT"
 msgstr ""
 
-#: cp/typeck.cc:5111
+#: cp/typeck.cc:5178
 #, gcc-internal-format
 msgid ""
 "comparison of enumeration type %qT with floating-point type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5115
+#: cp/typeck.cc:5182
 #, gcc-internal-format
 msgid ""
 "comparison of floating-point type %qT with enumeration type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5124
+#: cp/typeck.cc:5191
 #, gcc-internal-format
 msgid "arithmetic between enumeration type %qT and floating-point type %qT"
 msgstr ""
 
-#: cp/typeck.cc:5127
+#: cp/typeck.cc:5194
 #, gcc-internal-format
 msgid "arithmetic between floating-point type %qT and enumeration type %qT"
 msgstr ""
 
-#: cp/typeck.cc:5130
+#: cp/typeck.cc:5197
 #, gcc-internal-format
 msgid ""
 "arithmetic between enumeration type %qT and floating-point type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5134
+#: cp/typeck.cc:5201
 #, gcc-internal-format
 msgid ""
 "arithmetic between floating-point type %qT and enumeration type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:5269 cp/typeck.cc:5281
+#: cp/typeck.cc:5336 cp/typeck.cc:5348
 #, gcc-internal-format
 msgid "assuming cast to type %qT from overloaded function"
 msgstr ""
 
-#: cp/typeck.cc:5395
+#: cp/typeck.cc:5462
 #, gcc-internal-format
 msgid "NULL used in arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:5857 cp/typeck.cc:5866 cp/typeck.cc:6167 cp/typeck.cc:6176
+#: cp/typeck.cc:5929 cp/typeck.cc:5938 cp/typeck.cc:6244 cp/typeck.cc:6253
 #, gcc-internal-format
 msgid "ISO C++ forbids comparison between pointer and integer"
 msgstr ""
 
-#: cp/typeck.cc:6089 cp/typeck.cc:6102
+#: cp/typeck.cc:6165 cp/typeck.cc:6179
 #, gcc-internal-format
 msgid "operand types are %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:6125
+#: cp/typeck.cc:6202
 #, gcc-internal-format
 msgid "three-way comparison of vectors"
 msgstr ""
 
-#: cp/typeck.cc:6159
+#: cp/typeck.cc:6236
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero (%qT and %qT)"
 msgstr ""
 
-#: cp/typeck.cc:6206
+#: cp/typeck.cc:6283
 #, gcc-internal-format
 msgid "unordered comparison on non-floating-point argument"
 msgstr ""
 
-#: cp/typeck.cc:6272
+#: cp/typeck.cc:6349
 msgid ""
 "implicit conversion from %qH to %qI to match other operand of binary "
 "expression"
 msgstr ""
 
-#: cp/typeck.cc:6381
+#: cp/typeck.cc:6458
 #, gcc-internal-format
 msgid "invalid operands of types %qT and %qT to binary %qO"
 msgstr ""
 
-#: cp/typeck.cc:6782
+#: cp/typeck.cc:6859
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6790
+#: cp/typeck.cc:6867
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a function in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6798
+#: cp/typeck.cc:6875
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a method in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6851
+#: cp/typeck.cc:6928
 #, gcc-internal-format
 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:6928
+#: cp/typeck.cc:7005
 #, gcc-internal-format
 msgid "taking address of constructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6929
+#: cp/typeck.cc:7006
 #, gcc-internal-format
 msgid "taking address of destructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6945
+#: cp/typeck.cc:7023
 #, gcc-internal-format
 msgid "invalid use of %qE to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6948
+#: cp/typeck.cc:7026
 #, gcc-internal-format
 msgid "  a qualified-id is required"
 msgstr ""
 
-#: cp/typeck.cc:6955
+#: cp/typeck.cc:7033
 #, gcc-internal-format
 msgid ""
 "parentheses around %qE cannot be used to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:7150
+#: cp/typeck.cc:7228
 #, 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:7156
+#: cp/typeck.cc:7234
 #, 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:7162
+#: cp/typeck.cc:7240
 #, 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:7168
+#: cp/typeck.cc:7246
 #, 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:7173
+#: cp/typeck.cc:7251
 #, gcc-internal-format
 msgid ""
 "a pointer to explicit object member function can only be formed with %<&%T::"
@@ -69604,465 +70961,463 @@ msgid ""
 msgstr ""
 
 #. Make this a permerror because we used to accept it.
-#: cp/typeck.cc:7206
+#: cp/typeck.cc:7284
 #, gcc-internal-format
 msgid "taking address of rvalue"
 msgstr ""
 
-#: cp/typeck.cc:7223
+#: cp/typeck.cc:7301
 #, gcc-internal-format
 msgid "ISO C++ forbids taking address of function %<::main%>"
 msgstr ""
 
-#: cp/typeck.cc:7281
+#: cp/typeck.cc:7359
 #, gcc-internal-format
 msgid "cannot create pointer to reference member %qD"
 msgstr ""
 
-#: cp/typeck.cc:7316 cp/typeck.cc:7892 rust/backend/rust-tree.cc:4714
+#: cp/typeck.cc:7394 cp/typeck.cc:7976 rust/backend/rust-tree.cc:4701
 #, gcc-internal-format
 msgid "attempt to take address of bit-field"
 msgstr ""
 
-#: cp/typeck.cc:7478
+#: cp/typeck.cc:7561
 #, gcc-internal-format
 msgid "%<~%> on an expression of type %<bool%>"
 msgstr ""
 
-#: cp/typeck.cc:7479
+#: cp/typeck.cc:7562
 #, gcc-internal-format
 msgid "did you mean to use logical not (%<!%>)?"
 msgstr ""
 
-#: cp/typeck.cc:7611
+#: cp/typeck.cc:7695
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7612
+#: cp/typeck.cc:7696
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7628
+#: cp/typeck.cc:7712
 #, gcc-internal-format
 msgid "cannot increment a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7630
+#: cp/typeck.cc:7714
 #, gcc-internal-format
 msgid "cannot decrement a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7642
+#: cp/typeck.cc:7726
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7644
+#: cp/typeck.cc:7728
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7684
+#: cp/typeck.cc:7768
 #, gcc-internal-format
 msgid "%qs expression of %<volatile%>-qualified type is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7697
+#: cp/typeck.cc:7781
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator--%> is forbidden"
 msgstr ""
 
-#: cp/typeck.cc:7707
+#: cp/typeck.cc:7791
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is forbidden in C++17"
 msgstr ""
 
-#: cp/typeck.cc:7715
+#: cp/typeck.cc:7799
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7904 rust/backend/rust-tree.cc:4726
+#: cp/typeck.cc:7988 rust/backend/rust-tree.cc:4713
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr ""
 
-#: cp/typeck.cc:7926 d/d-codegen.cc:719 rust/backend/rust-tree.cc:4745
+#: cp/typeck.cc:8010 d/d-codegen.cc:750 rust/backend/rust-tree.cc:4732
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr ""
 
-#: cp/typeck.cc:7931 rust/backend/rust-tree.cc:4752
+#: cp/typeck.cc:8015 rust/backend/rust-tree.cc:4739
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:8002
+#: cp/typeck.cc:8086
 #, gcc-internal-format
 msgid "list-initializer for non-class type must not be parenthesized"
 msgstr ""
 
-#: cp/typeck.cc:8014
+#: cp/typeck.cc:8098
 #, gcc-internal-format
 msgid "expression list treated as compound expression in initializer"
 msgstr ""
 
-#: cp/typeck.cc:8018
+#: cp/typeck.cc:8102
 #, gcc-internal-format
 msgid "expression list treated as compound expression in mem-initializer"
 msgstr ""
 
-#: cp/typeck.cc:8022
+#: cp/typeck.cc:8106
 #, gcc-internal-format
 msgid "expression list treated as compound expression in functional cast"
 msgstr ""
 
-#: cp/typeck.cc:8060
+#: cp/typeck.cc:8144
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr ""
 
-#: cp/typeck.cc:8161
+#: cp/typeck.cc:8247
 #, gcc-internal-format
 msgid "no context to resolve type of %qE"
 msgstr ""
 
-#: cp/typeck.cc:8198
+#: cp/typeck.cc:8284
 #, gcc-internal-format
 msgid "cast from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8204
+#: cp/typeck.cc:8290
 #, gcc-internal-format
 msgid "%<static_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8211
+#: cp/typeck.cc:8297
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:8237
+#: cp/typeck.cc:8323
 #, gcc-internal-format
 msgid "useless cast to type %q#T"
 msgstr ""
 
-#: cp/typeck.cc:8251
+#: cp/typeck.cc:8337
 #, gcc-internal-format
 msgid "type qualifiers ignored on cast result type"
 msgstr ""
 
-#: cp/typeck.cc:8699
+#: cp/typeck.cc:8786
 #, gcc-internal-format
 msgid "invalid %<static_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8705 cp/typeck.cc:8711 cp/typeck.cc:10422
+#: cp/typeck.cc:8792 cp/typeck.cc:8798 cp/typeck.cc:10522
 #, gcc-internal-format
 msgid "class type %qT is incomplete"
 msgstr ""
 
-#: cp/typeck.cc:8739
+#: cp/typeck.cc:8826
 msgid "converting from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8814
+#: cp/typeck.cc:8901
 #, gcc-internal-format
 msgid "invalid cast of a prvalue expression of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8884
+#: cp/typeck.cc:8971
 msgid "cast from %qH to %qI loses precision"
 msgstr ""
 
-#: cp/typeck.cc:8909
+#: cp/typeck.cc:8996
 msgid "cast between incompatible function types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8920
+#: cp/typeck.cc:9007
 msgid "cast between incompatible pointer to member types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8941 cp/typeck.cc:9131
+#: cp/typeck.cc:9028 cp/typeck.cc:9218
 msgid "cast from %qH to %qI increases required alignment of target type"
 msgstr ""
 
-#: cp/typeck.cc:8958
+#: cp/typeck.cc:9045
 #, gcc-internal-format
 msgid ""
 "casting between pointer-to-function and pointer-to-object is conditionally-"
 "supported"
 msgstr ""
 
-#: cp/typeck.cc:8972
+#: cp/typeck.cc:9059
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9045
+#: cp/typeck.cc:9132
 #, 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:9054
+#: cp/typeck.cc:9141
 #, 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:9096
+#: cp/typeck.cc:9183
 #, gcc-internal-format
 msgid "invalid %<const_cast%> of an rvalue of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9166
+#: cp/typeck.cc:9253
 #, gcc-internal-format
 msgid "invalid %<const_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9267 cp/typeck.cc:9276
+#: cp/typeck.cc:9354 cp/typeck.cc:9363
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9285
+#: cp/typeck.cc:9372
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9398
+#: cp/typeck.cc:9488
 #, gcc-internal-format
 msgid "moving %qE of type %qT to itself"
 msgstr ""
 
-#: cp/typeck.cc:9399 cp/typeck.cc:10951 cp/typeck.cc:10967 cp/typeck.cc:10992
-#: cp/typeck.cc:11029
-#, gcc-internal-format
-msgid "remove %<std::move%> call"
-msgstr ""
-
-#: cp/typeck.cc:9659
+#: cp/typeck.cc:9753
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
 msgstr ""
 
-#: cp/typeck.cc:9719
+#: cp/typeck.cc:9814
 #, gcc-internal-format
 msgid "assigning to an array from an initializer list"
 msgstr ""
 
-#: cp/typeck.cc:9746
+#: cp/typeck.cc:9841
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr ""
 
-#: cp/typeck.cc:9762
+#: cp/typeck.cc:9857
 #, gcc-internal-format
 msgid "array used as initializer"
 msgstr ""
 
-#: cp/typeck.cc:9764
+#: cp/typeck.cc:9859
 #, gcc-internal-format
 msgid "invalid array assignment"
 msgstr ""
 
-#: cp/typeck.cc:9900
+#: cp/typeck.cc:9995
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
 msgstr ""
 
-#: cp/typeck.cc:9914
+#: cp/typeck.cc:10009
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr ""
 
-#: cp/typeck.cc:9961 cp/typeck.cc:9980
+#: cp/typeck.cc:10057 cp/typeck.cc:10076
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
 msgstr ""
 
-#: cp/typeck.cc:10061
+#: cp/typeck.cc:10157
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr ""
 
-#: cp/typeck.cc:10381
+#: cp/typeck.cc:10481
 msgid "cannot convert %qH to %qI in default argument"
 msgstr ""
 
-#: cp/typeck.cc:10386
+#: cp/typeck.cc:10486
 msgid "cannot convert %qH to %qI in argument passing"
 msgstr ""
 
-#: cp/typeck.cc:10395
+#: cp/typeck.cc:10495
 msgid "cannot convert %qH to %qI in initialization"
 msgstr ""
 
-#: cp/typeck.cc:10399
+#: cp/typeck.cc:10499
 msgid "cannot convert %qH to %qI in return"
 msgstr ""
 
-#: cp/typeck.cc:10404
+#: cp/typeck.cc:10504
 msgid "cannot convert %qH to %qI in assignment"
 msgstr ""
 
-#: cp/typeck.cc:10440
+#: cp/typeck.cc:10540
 #, gcc-internal-format
 msgid "parameter %qP of %qD might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10444
+#: cp/typeck.cc:10544
 #, gcc-internal-format
 msgid "parameter might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10449
+#: cp/typeck.cc:10549
 #, gcc-internal-format
 msgid "target of conversion might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10454
+#: cp/typeck.cc:10554
 #, gcc-internal-format
 msgid "target of initialization might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10464
+#: cp/typeck.cc:10564
 #, gcc-internal-format
 msgid ""
 "left-hand side of assignment might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10550
+#: cp/typeck.cc:10650
 #, gcc-internal-format
 msgid "in passing argument %P of %qD"
 msgstr ""
 
-#: cp/typeck.cc:10634
+#: cp/typeck.cc:10734
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr ""
 
-#: cp/typeck.cc:10637
+#: cp/typeck.cc:10737
 #, gcc-internal-format
 msgid "returning pointer to temporary"
 msgstr ""
 
-#: cp/typeck.cc:10640
+#: cp/typeck.cc:10740
 #, gcc-internal-format
 msgid ""
 "returning temporary %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10676
+#: cp/typeck.cc:10775
 #, gcc-internal-format
 msgid "reference to local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10680
+#: cp/typeck.cc:10779
 #, gcc-internal-format
 msgid ""
 "returning local %<initializer_list%> variable %qD does not extend the "
 "lifetime of the underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10686
+#: cp/typeck.cc:10785
 #, gcc-internal-format
 msgid "address of label %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10690
+#: cp/typeck.cc:10789
 #, gcc-internal-format
 msgid "address of local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10950
+#: cp/typeck.cc:11049
 #, gcc-internal-format
 msgid "moving a temporary object prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10965
+#: cp/typeck.cc:11050 cp/typeck.cc:11066 cp/typeck.cc:11091 cp/typeck.cc:11128
+#, gcc-internal-format
+msgid "remove %<std::move%> call"
+msgstr ""
+
+#: cp/typeck.cc:11064
 #, gcc-internal-format
 msgid "moving a local object in a return statement prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10991 cp/typeck.cc:11026
+#: cp/typeck.cc:11090 cp/typeck.cc:11125
 #, gcc-internal-format
 msgid "redundant move in return statement"
 msgstr ""
 
-#: cp/typeck.cc:11028
+#: cp/typeck.cc:11127
 #, gcc-internal-format
 msgid "redundant move in initialization"
 msgstr ""
 
-#: cp/typeck.cc:11066
+#: cp/typeck.cc:11165
 #, 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:11078
+#: cp/typeck.cc:11177
 #, 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:11081
+#: cp/typeck.cc:11180
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr ""
 
-#. Give a helpful error message.
-#: cp/typeck.cc:11120 cp/typeck.cc:11166
+#: cp/typeck.cc:11220 cp/typeck.cc:11266
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:11128
+#: cp/typeck.cc:11228
 #, gcc-internal-format
 msgid "returning initializer list"
 msgstr ""
 
-#: cp/typeck.cc:11147
+#: cp/typeck.cc:11247
 #, gcc-internal-format
 msgid "inconsistent types %qT and %qT deduced for lambda return type"
 msgstr ""
 
-#: cp/typeck.cc:11150
+#: cp/typeck.cc:11250
 #, gcc-internal-format
 msgid "inconsistent deduction for auto return type: %qT and then %qT"
 msgstr ""
 
-#: cp/typeck.cc:11185
+#: cp/typeck.cc:11287
 #, gcc-internal-format
 msgid "return-statement with a value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:11214
+#: cp/typeck.cc:11316
 #, 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:11303
+#: cp/typeck.cc:11405
 #, gcc-internal-format
 msgid "not eliding copy on return from %qD"
 msgstr ""
 
-#: cp/typeck.cc:11315
+#: cp/typeck.cc:11417
 #, gcc-internal-format
 msgid "not eliding copy on return in %qD"
 msgstr ""
 
-#: cp/typeck.cc:11902
+#: cp/typeck.cc:11997
 #, gcc-internal-format
 msgid "using rvalue as lvalue"
 msgstr ""
@@ -70219,221 +71574,221 @@ msgstr ""
 msgid "declaration of %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:314
+#: cp/typeck2.cc:315
 #, gcc-internal-format
 msgid "%qD has incomplete type"
 msgstr ""
 
-#: cp/typeck2.cc:328
+#: cp/typeck2.cc:329
 #, gcc-internal-format
 msgid "invalid use of incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:364 rust/backend/rust-tree.cc:3936
+#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3923
 #, gcc-internal-format
 msgid "invalid use of member function %qD (did you forget the %<()%> ?)"
 msgstr ""
 
-#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3942
+#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3929
 #, gcc-internal-format
 msgid "invalid use of member %qD (did you forget the %<&%> ?)"
 msgstr ""
 
-#: cp/typeck2.cc:379
+#: cp/typeck2.cc:380
 #, gcc-internal-format
 msgid "invalid use of placeholder %qT"
 msgstr ""
 
-#: cp/typeck2.cc:386
+#: cp/typeck2.cc:387
 #, gcc-internal-format
 msgid "invalid use of template type parameter %qT"
 msgstr ""
 
-#: cp/typeck2.cc:391
+#: cp/typeck2.cc:392
 #, gcc-internal-format
 msgid "invalid use of template template parameter %qT"
 msgstr ""
 
-#: cp/typeck2.cc:397
+#: cp/typeck2.cc:398
 #, gcc-internal-format
 msgid "invalid use of pack expansion %qT"
 msgstr ""
 
-#: cp/typeck2.cc:403
+#: cp/typeck2.cc:404
 #, gcc-internal-format
 msgid "invalid use of dependent type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:410 rust/backend/rust-tree.cc:3952
+#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3939
 #, gcc-internal-format
 msgid "invalid use of brace-enclosed initializer list"
 msgstr ""
 
-#: cp/typeck2.cc:418 rust/backend/rust-tree.cc:3960
+#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3947
 #, gcc-internal-format
 msgid "address of overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:422 rust/backend/rust-tree.cc:3965
+#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3952
 #, gcc-internal-format
 msgid "overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:425 rust/backend/rust-tree.cc:3969
+#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3956
 #, gcc-internal-format
 msgid "insufficient contextual information to determine type"
 msgstr ""
 
-#: cp/typeck2.cc:832
+#: cp/typeck2.cc:844
 #, gcc-internal-format
 msgid "constructor syntax used, but no constructor declared for type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:883 cp/typeck2.cc:900
+#: cp/typeck2.cc:895 cp/typeck2.cc:912
 #, gcc-internal-format
 msgid "%<constinit%> variable %qD does not have a constant initializer"
 msgstr ""
 
-#: cp/typeck2.cc:1088
+#: cp/typeck2.cc:1112
 msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.cc:1100 cp/typeck2.cc:1112
+#: cp/typeck2.cc:1124 cp/typeck2.cc:1136
 msgid "narrowing conversion of %qE from %qH to %qI"
 msgstr ""
 
-#: cp/typeck2.cc:1103
+#: cp/typeck2.cc:1127
 #, gcc-internal-format
 msgid ""
 " the expression has a constant value but is not a C++ constant-expression"
 msgstr ""
 
-#: cp/typeck2.cc:1275
+#: cp/typeck2.cc:1299
 #, gcc-internal-format
 msgid "initializer-string for %qT is too long"
 msgstr ""
 
-#: cp/typeck2.cc:1338
+#: cp/typeck2.cc:1392
 #, gcc-internal-format
 msgid "initializing a base class of type %qT results in object slicing"
 msgstr ""
 
-#: cp/typeck2.cc:1340
+#: cp/typeck2.cc:1394
 #, gcc-internal-format
 msgid "remove %<{ }%> around initializer"
 msgstr ""
 
-#: cp/typeck2.cc:1360
+#: cp/typeck2.cc:1414
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.cc:1820 cp/typeck2.cc:1851
+#: cp/typeck2.cc:1860 cp/typeck2.cc:1891
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.cc:1827
+#: cp/typeck2.cc:1867
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.cc:1834
+#: cp/typeck2.cc:1874
 #, gcc-internal-format
 msgid "member %qD with uninitialized reference fields"
 msgstr ""
 
-#: cp/typeck2.cc:1920
+#: cp/typeck2.cc:1967
 #, gcc-internal-format
 msgid "designator order for field %qD does not match declaration order in %qT"
 msgstr ""
 
-#: cp/typeck2.cc:1993
+#: cp/typeck2.cc:2040
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.cc:2004
+#: cp/typeck2.cc:2051
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.cc:2219
+#: cp/typeck2.cc:2266
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.cc:2233
+#: cp/typeck2.cc:2280
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2263
+#: cp/typeck2.cc:2310
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.cc:2265
+#: cp/typeck2.cc:2312
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.cc:2292
+#: cp/typeck2.cc:2339
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2301
+#: cp/typeck2.cc:2348
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2323
+#: cp/typeck2.cc:2370
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2385
+#: cp/typeck2.cc:2432
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an rvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2396
+#: cp/typeck2.cc:2443
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2404
+#: cp/typeck2.cc:2451
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue before C++20"
 msgstr ""
 
-#: cp/typeck2.cc:2445
+#: cp/typeck2.cc:2492
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2462
+#: cp/typeck2.cc:2509
 #, gcc-internal-format
 msgid "%<auto(x)%> cannot be constrained"
 msgstr ""
 
-#: cp/typeck2.cc:2467
+#: cp/typeck2.cc:2514
 #, gcc-internal-format
-msgid "%<auto(x)%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+msgid "%<auto(x)%> only available with %<-std=c++23%> or %<-std=gnu++23%>"
 msgstr ""
 
-#: cp/typeck2.cc:2492
+#: cp/typeck2.cc:2539
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.cc:2733
+#: cp/typeck2.cc:2780
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:2736
+#: cp/typeck2.cc:2783
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -70470,7 +71825,7 @@ msgid ""
 "attribute"
 msgstr ""
 
-#: d/d-builtins.cc:824
+#: d/d-builtins.cc:825
 #, gcc-internal-format
 msgid "conflicting types for built-in function %qs; expected %qs"
 msgstr ""
@@ -70480,53 +71835,53 @@ msgstr ""
 msgid "cannot determine the length of a %qs"
 msgstr ""
 
-#: d/d-codegen.cc:1242
+#: d/d-codegen.cc:1273
 #, gcc-internal-format
 msgid "overlapping initializer for field %qT.%qD"
 msgstr ""
 
-#: d/d-codegen.cc:1437
+#: d/d-codegen.cc:1468
 #, gcc-internal-format
 msgid "the address of %qD will never be %<null%>"
 msgstr ""
 
-#: d/d-codegen.cc:2222
+#: d/d-codegen.cc:2253
 #, gcc-internal-format
 msgid "need %<this%> to access member %qE"
 msgstr ""
 
-#: d/d-codegen.cc:2370
+#: d/d-codegen.cc:2403
 #, gcc-internal-format
 msgid "tried to perform floating-point modulo division on %qT"
 msgstr ""
 
-#: d/d-codegen.cc:2421
+#: d/d-codegen.cc:2454
 #, gcc-internal-format
 msgid "cannot get frame pointer to %qs"
 msgstr ""
 
 #. Should instead error on line that references `fd'.
-#: d/d-codegen.cc:2447
+#: d/d-codegen.cc:2480
 #, gcc-internal-format
 msgid "nested function missing body"
 msgstr ""
 
-#: d/d-codegen.cc:2489
+#: d/d-codegen.cc:2522
 #, gcc-internal-format
 msgid "%qs is a nested function and cannot be accessed from %qs"
 msgstr ""
 
-#: d/d-codegen.cc:2798
+#: d/d-codegen.cc:2831
 #, gcc-internal-format
 msgid "variable %qs has scoped destruction, cannot build closure"
 msgstr ""
 
-#: d/d-codegen.cc:2806
+#: d/d-codegen.cc:2839
 #, gcc-internal-format
 msgid "explicit register variable %qs cannot be used in nested function"
 msgstr ""
 
-#: d/d-codegen.cc:3031
+#: d/d-codegen.cc:3064
 #, gcc-internal-format
 msgid "forward reference to frame of %qs"
 msgstr ""
@@ -70554,33 +71909,33 @@ msgstr ""
 msgid "cannot cast %qs to %qs since sizes do not line up"
 msgstr ""
 
-#: d/d-convert.cc:515
+#: d/d-convert.cc:516
 #, gcc-internal-format
 msgid "cannot cast expression of type %qs to type %qs"
 msgstr ""
 
-#: d/d-convert.cc:562
+#: d/d-convert.cc:563
 #, gcc-internal-format
 msgid "cannot cast expression of type %qs to %qs"
 msgstr ""
 
-#: d/d-convert.cc:609
+#: d/d-convert.cc:610
 #, gcc-internal-format
 msgid "cast from %qs to %qs will produce zero result"
 msgstr ""
 
-#: d/d-convert.cc:748
+#: d/d-convert.cc:749
 #, gcc-internal-format
 msgid "cannot convert parameter %qs from type %qs to type %qs in assignment"
 msgstr ""
 
-#: d/d-convert.cc:754
+#: d/d-convert.cc:755
 #, gcc-internal-format
 msgid ""
 "cannot convert parameter %qs from type %qs to type %qs in argument passing"
 msgstr ""
 
-#: d/d-convert.cc:759
+#: d/d-convert.cc:760
 #, gcc-internal-format
 msgid ""
 "parameters of type %<va_list%> {aka %qs} are decayed to pointer types, and "
@@ -70602,37 +71957,37 @@ msgstr ""
 msgid "bad argument for %<-fmodule-file%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:698
+#: d/d-lang.cc:703
 #, gcc-internal-format
 msgid "bad argument for %<-fversion%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:968
+#: d/d-lang.cc:979
 #, gcc-internal-format
 msgid "unable to open %s for writing: %m"
 msgstr ""
 
-#: d/d-lang.cc:975
+#: d/d-lang.cc:986
 #, gcc-internal-format
 msgid "writing output file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:995
+#: d/d-lang.cc:1006
 #, gcc-internal-format
 msgid "unable to open %s for reading: %m"
 msgstr ""
 
-#: d/d-lang.cc:1020
+#: d/d-lang.cc:1031
 #, gcc-internal-format
 msgid "reading ddoc file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1079
+#: d/d-lang.cc:1090
 #, gcc-internal-format
 msgid "%<-fonly=%> argument is different from first input file name"
 msgstr ""
 
-#: d/d-lang.cc:1262
+#: d/d-lang.cc:1273
 #, gcc-internal-format
 msgid "unable to resolve forward reference in definition"
 msgstr ""
@@ -70652,66 +72007,66 @@ msgstr ""
 msgid "pragma(%s) not implemented"
 msgstr ""
 
-#: d/decl.cc:480 d/decl.cc:598 d/decl.cc:672 d/decl.cc:715 d/decl.cc:754
+#: d/decl.cc:480 d/decl.cc:596 d/decl.cc:670 d/decl.cc:713 d/decl.cc:752
 #, gcc-internal-format
 msgid "had semantic errors when compiling"
 msgstr ""
 
 #. Hiding detected; same name, overlapping specializations.
-#: d/decl.cc:571
+#: d/decl.cc:569
 #, gcc-internal-format
 msgid "use of %qs"
 msgstr ""
 
-#: d/decl.cc:573
+#: d/decl.cc:571
 #, gcc-internal-format
 msgid "is hidden by %qs"
 msgstr ""
 
-#: d/decl.cc:576
+#: d/decl.cc:574
 #, gcc-internal-format
 msgid "use %<alias %s = %s.%s;%> to introduce base class overload set"
 msgstr ""
 
-#: d/decl.cc:812
+#: d/decl.cc:810
 #, gcc-internal-format
 msgid "size is too large"
 msgstr ""
 
-#: d/decl.cc:1424
+#: d/decl.cc:1422
 #, gcc-internal-format
 msgid "function requires a dual-context, which is not yet supported by GDC"
 msgstr ""
 
-#: d/decl.cc:1601
+#: d/decl.cc:1599
 #, gcc-internal-format
 msgid "explicit register variable %qs declared %<extern%>"
 msgstr ""
 
-#: d/decl.cc:1604
+#: d/decl.cc:1602
 #, gcc-internal-format
 msgid "explicit register variable %qs declared thread local"
 msgstr ""
 
-#: d/decl.cc:1817
+#: d/decl.cc:1815
 #, gcc-internal-format
 msgid ""
 "mismatch between declaration %qE size (%wd) and its initializer size (%wd)"
 msgstr ""
 
-#: d/expr.cc:569
+#: d/expr.cc:570
 #, gcc-internal-format
 msgid "cannot handle comparison of type %<%s == %s%>"
 msgstr ""
 
-#: d/expr.cc:717
+#: d/expr.cc:718
 #, gcc-internal-format
 msgid ""
 "array concatenation of expression %qs requires the GC and cannot be used "
 "with %<-fno-druntime%>"
 msgstr ""
 
-#: d/expr.cc:811
+#: d/expr.cc:812
 #, gcc-internal-format
 msgid ""
 "appending to array in %qs requires the GC and cannot be used with %<-fno-"
@@ -70719,52 +72074,52 @@ msgid ""
 msgstr ""
 
 #. Static arrays have already been handled by the front-end.
-#: d/expr.cc:1286
+#: d/expr.cc:1288
 #, gcc-internal-format
 msgid "unexpected type for array length: %qs"
 msgstr ""
 
-#: d/expr.cc:1421
+#: d/expr.cc:1423
 #, gcc-internal-format
 msgid "don%'t know how to delete %qs"
 msgstr ""
 
-#: d/expr.cc:1445
+#: d/expr.cc:1447
 #, gcc-internal-format
 msgid "%qs is not an associative array"
 msgstr ""
 
-#: d/expr.cc:1729 d/expr.cc:2109
+#: d/expr.cc:1731 d/expr.cc:2111
 #, gcc-internal-format
 msgid "need %<this%> to access member %qs"
 msgstr ""
 
-#: d/expr.cc:1811
+#: d/expr.cc:1813
 #, gcc-internal-format
 msgid "delegates are only for non-static functions"
 msgstr ""
 
-#: d/expr.cc:1883
+#: d/expr.cc:1885
 #, gcc-internal-format
 msgid "%qs is not a field, but a %qs"
 msgstr ""
 
-#: d/expr.cc:2135
+#: d/expr.cc:2137
 #, gcc-internal-format
 msgid "recursive reference %qs"
 msgstr ""
 
-#: d/expr.cc:2155 d/expr.cc:3027
+#: d/expr.cc:2157 d/expr.cc:3024
 #, gcc-internal-format
 msgid "non-constant expression %qs"
 msgstr ""
 
-#: d/expr.cc:2994
+#: d/expr.cc:2991
 #, gcc-internal-format
 msgid "%qs is not an expression"
 msgstr ""
 
-#: d/expr.cc:3001
+#: d/expr.cc:2998
 #, gcc-internal-format
 msgid "type %qs is not an expression"
 msgstr ""
@@ -70859,19 +72214,19 @@ msgstr ""
 msgid "D inline assembler statements are not supported in GDC."
 msgstr ""
 
-#: d/typeinfo.cc:1424
+#: d/typeinfo.cc:1431
 #, gcc-internal-format
 msgid ""
 "expression %qs requires %<object.TypeInfo%> and cannot be used with %<-fno-"
 "rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1428
+#: d/typeinfo.cc:1435
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> cannot be used with %<-fno-rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1443
+#: d/typeinfo.cc:1450
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> could not be found, but is implicitly used"
 msgstr ""
@@ -70896,214 +72251,230 @@ msgstr ""
 msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER"
 msgstr ""
 
-#: fortran/arith.cc:97
+#: fortran/arith.cc:107
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic OK at %L"
 msgstr ""
 
-#: fortran/arith.cc:100
+#: fortran/arith.cc:110
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic overflow at %L"
 msgstr ""
 
-#: fortran/arith.cc:103
+#: fortran/arith.cc:113
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic underflow at %L"
 msgstr ""
 
-#: fortran/arith.cc:106
+#: fortran/arith.cc:116
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN at %L"
 msgstr ""
 
-#: fortran/arith.cc:109
+#: fortran/arith.cc:119
 #, gcc-internal-format, gfc-internal-format
 msgid "Division by zero at %L"
 msgstr ""
 
-#: fortran/arith.cc:112
+#: fortran/arith.cc:122
 #, gcc-internal-format, gfc-internal-format
 msgid "Array operands are incommensurate at %L"
 msgstr ""
 
-#: fortran/arith.cc:115
+#: fortran/arith.cc:125
 #, gcc-internal-format, gfc-internal-format
 msgid "Integer outside symmetric range implied by Standard Fortran at %L"
 msgstr ""
 
-#: fortran/arith.cc:119
+#: fortran/arith.cc:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal type in character concatenation at %L"
 msgstr ""
 
-#: fortran/arith.cc:122
+#: fortran/arith.cc:132
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid type in arithmetic operation at %L"
 msgstr ""
 
-#: fortran/arith.cc:126 fortran/arith.cc:2130
+#: fortran/arith.cc:135
+#, gcc-internal-format, gfc-internal-format
+msgid "Unsigned constant truncated at %L"
+msgstr ""
+
+#: fortran/arith.cc:138
+#, gcc-internal-format, gfc-internal-format
+msgid "Negation of unsigned constant at %L not permitted"
+msgstr ""
+
+#: fortran/arith.cc:141 fortran/arith.cc:2262
 #, gcc-internal-format
 msgid "gfc_arith_error(): Bad error code"
 msgstr ""
 
-#: fortran/arith.cc:183
+#: fortran/arith.cc:199
 #, gcc-internal-format
 msgid "Fix min_int calculation"
 msgstr ""
 
-#: fortran/arith.cc:578
+#: fortran/arith.cc:647
 #, gcc-internal-format
 msgid "gfc_range_check(): Bad type"
 msgstr ""
 
-#: fortran/arith.cc:651
+#: fortran/arith.cc:729
 #, gcc-internal-format
 msgid "gfc_arith_uminus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:688
+#: fortran/arith.cc:779
 #, gcc-internal-format
 msgid "gfc_arith_plus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:725
+#: fortran/arith.cc:821
 #, gcc-internal-format
 msgid "gfc_arith_minus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:763
+#: fortran/arith.cc:864
 #, gcc-internal-format
 msgid "gfc_arith_times(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:805
+#: fortran/arith.cc:907
 #, gcc-internal-format
 msgid "Integer division truncated to constant %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:854
+#: fortran/arith.cc:956
 #, gcc-internal-format
 msgid "gfc_arith_divide(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:910
+#: fortran/arith.cc:1012
 #, gcc-internal-format
 msgid "arith_power(): Bad base"
 msgstr ""
 
-#: fortran/arith.cc:949
+#: fortran/arith.cc:1051
 #, gcc-internal-format, gfc-internal-format
 msgid "Negative exponent of integer has zero result at %L"
 msgstr ""
 
-#: fortran/arith.cc:969
+#: fortran/arith.cc:1071
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of exponentiation at %L exceeds the range of %s"
 msgstr ""
 
-#: fortran/arith.cc:1006 fortran/arith.cc:1031
+#: fortran/arith.cc:1108 fortran/arith.cc:1133
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteger exponent in an initialization expression at %L"
 msgstr ""
 
-#: fortran/arith.cc:1017
+#: fortran/arith.cc:1119
 #, gcc-internal-format, gfc-internal-format
 msgid "Raising a negative REAL at %L to a REAL power is prohibited"
 msgstr ""
 
-#: fortran/arith.cc:1045
+#: fortran/arith.cc:1161
 #, gcc-internal-format
 msgid "arith_power(): unknown type"
 msgstr ""
 
-#: fortran/arith.cc:1116
+#: fortran/arith.cc:1232
 #, gcc-internal-format
 msgid "compare_real(): Bad operator"
 msgstr ""
 
-#: fortran/arith.cc:1156
+#: fortran/arith.cc:1273
 #, gcc-internal-format
 msgid "gfc_compare_expr(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:1777
+#: fortran/arith.cc:1846
+#, gcc-internal-format, gfc-internal-format
+msgid "Unsigned exponentiation not permitted with -pedantic at %L"
+msgstr ""
+
+#: fortran/arith.cc:1910
 #, gcc-internal-format
 msgid "eval_intrinsic(): Bad operator"
 msgstr ""
 
-#: fortran/arith.cc:1836
+#: fortran/arith.cc:1968
 #, gcc-internal-format
 msgid "eval_type_intrinsic0(): op NULL"
 msgstr ""
 
-#: fortran/arith.cc:2098
+#: fortran/arith.cc:2230
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic OK converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2102
+#: fortran/arith.cc:2234
 #, 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:2107
+#: fortran/arith.cc:2239
 #, 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:2112
+#: fortran/arith.cc:2244
 #, 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:2117
+#: fortran/arith.cc:2249
 #, gcc-internal-format, gfc-internal-format
 msgid "Division by zero converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2121
+#: fortran/arith.cc:2253
 #, gcc-internal-format, gfc-internal-format
 msgid "Array operands are incommensurate converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:2125
+#: fortran/arith.cc:2257
 #, 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:2215 fortran/arith.cc:2334 fortran/arith.cc:2397
-#: fortran/arith.cc:2452 fortran/arith.cc:2515 fortran/arith.cc:2587
-#: fortran/arith.cc:2657
+#: fortran/arith.cc:2348 fortran/arith.cc:2570 fortran/arith.cc:2616
+#: fortran/arith.cc:2678 fortran/arith.cc:2733 fortran/arith.cc:2796
+#: fortran/arith.cc:2859 fortran/arith.cc:2931 fortran/arith.cc:3001
 #, gcc-internal-format
 msgid "Conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2247 fortran/arith.cc:2283 fortran/arith.cc:2325
-#: fortran/arith.cc:2387 fortran/arith.cc:2442 fortran/arith.cc:2505
-#: fortran/arith.cc:2577 fortran/arith.cc:2649
+#: fortran/arith.cc:2380 fortran/arith.cc:2416 fortran/arith.cc:2484
+#: fortran/arith.cc:2520 fortran/arith.cc:2561 fortran/arith.cc:2607
+#: fortran/arith.cc:2668 fortran/arith.cc:2723 fortran/arith.cc:2786
+#: fortran/arith.cc:2849 fortran/arith.cc:2921 fortran/arith.cc:2993
 #, gcc-internal-format
 msgid "Change of value in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2491 fortran/arith.cc:2563
+#: fortran/arith.cc:2772 fortran/arith.cc:2834 fortran/arith.cc:2907
 #, gcc-internal-format
 msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2742
+#: fortran/arith.cc:3118
 #, gcc-internal-format
 msgid "The Hollerith constant at %L is truncated in conversion to %qs"
 msgstr ""
 
-#: fortran/arith.cc:2771
+#: fortran/arith.cc:3147
 #, gcc-internal-format, gfc-internal-format
 msgid "The character constant at %L is truncated in conversion to %s"
 msgstr ""
@@ -71138,288 +72509,293 @@ msgstr ""
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.cc:223
+#: fortran/array.cc:231
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.cc:230
+#: fortran/array.cc:238
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C has more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.cc:233 fortran/array.cc:334
+#: fortran/array.cc:241 fortran/array.cc:351
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.cc:248 fortran/array.cc:716 fortran/check.cc:3445
-#: fortran/check.cc:5976 fortran/check.cc:6021 fortran/check.cc:6063
-#: fortran/check.cc:6090 fortran/check.cc:6353 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:8472
+#: fortran/array.cc:265 fortran/array.cc:733 fortran/check.cc:3800
+#: fortran/check.cc:6470 fortran/check.cc:6513 fortran/check.cc:6555
+#: fortran/check.cc:6582 fortran/check.cc:6845 fortran/match.cc:1859
+#: fortran/match.cc:3656 fortran/match.cc:3998 fortran/match.cc:4194
+#: fortran/simplify.cc:3099 fortran/simplify.cc:3129 fortran/simplify.cc:6736
+#: fortran/simplify.cc:9043
 #, gcc-internal-format
 msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable"
 msgstr ""
 
-#: fortran/array.cc:254
+#: fortran/array.cc:271
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.cc:276
+#: fortran/array.cc:293
 #, gcc-internal-format, gfc-internal-format
 msgid "TEAM= attribute in %C misplaced"
 msgstr ""
 
-#: fortran/array.cc:288
+#: fortran/array.cc:305
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= attribute in %C misplaced"
 msgstr ""
 
-#: fortran/array.cc:297
+#: fortran/array.cc:314
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.cc:303
+#: fortran/array.cc:320
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.cc:313 fortran/array.cc:321
+#: fortran/array.cc:330 fortran/array.cc:338
 #, gcc-internal-format
 msgid "Unexpected %<*%> for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.cc:316
+#: fortran/array.cc:333
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr ""
 
-#: fortran/array.cc:328
+#: fortran/array.cc:345
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.cc:392
+#: fortran/array.cc:409
 #, gcc-internal-format
 msgid "Variable %qs at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.cc:395
+#: fortran/array.cc:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
 #. F2018:R821: "assumed-implied-spec  is  [ lower-bound : ] *".
-#: fortran/array.cc:497
+#: fortran/array.cc:514
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "A lower bound must precede colon in assumed-size array specification at %L"
 msgstr ""
 
-#: fortran/array.cc:509
+#: fortran/array.cc:526
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.cc:522 fortran/array.cc:554
+#: fortran/array.cc:539 fortran/array.cc:571
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a scalar INTEGER expression at %C, found %s"
 msgstr ""
 
-#: fortran/array.cc:591
+#: fortran/array.cc:608
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %C"
 msgstr ""
 
-#: fortran/array.cc:625
+#: fortran/array.cc:642
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:641 fortran/array.cc:754
+#: fortran/array.cc:658 fortran/array.cc:771
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.cc:651 fortran/array.cc:764
+#: fortran/array.cc:668 fortran/array.cc:781
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:665 fortran/array.cc:778
+#: fortran/array.cc:682 fortran/array.cc:795
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:675 fortran/array.cc:782
+#: fortran/array.cc:692 fortran/array.cc:799
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.cc:687 fortran/array.cc:794
+#: fortran/array.cc:704 fortran/array.cc:811
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.cc:693 fortran/array.cc:722 fortran/array.cc:800
+#: fortran/array.cc:710 fortran/array.cc:739 fortran/array.cc:817
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.cc:699
+#: fortran/array.cc:716
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.cc:711
+#: fortran/array.cc:728
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.cc:808
+#: fortran/array.cc:825
 #, gcc-internal-format
 msgid "Upper bound of last coarray dimension must be %<*%> at %C"
 msgstr ""
 
-#: fortran/array.cc:882
+#: fortran/array.cc:899
 #, gcc-internal-format
 msgid "The assumed-rank array %qs at %L shall not have a codimension"
 msgstr ""
 
-#: fortran/array.cc:938
+#: fortran/array.cc:955
 #, gcc-internal-format
 msgid "rank + corank of %qs exceeds %d at %C"
 msgstr ""
 
-#: fortran/array.cc:1061
+#: fortran/array.cc:1081
 #, gcc-internal-format
 msgid "DO-iterator %qs at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.cc:1153 fortran/array.cc:1381
+#: fortran/array.cc:1173 fortran/array.cc:1401
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.cc:1183
+#: fortran/array.cc:1203
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in an array constructor"
 msgstr ""
 
-#: fortran/array.cc:1192
+#: fortran/array.cc:1212
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() at %C cannot appear in an array constructor"
 msgstr ""
 
-#: fortran/array.cc:1254
+#: fortran/array.cc:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "[...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.cc:1274
+#: fortran/array.cc:1294
 #, gcc-internal-format, gfc-internal-format
 msgid "Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.cc:1280 fortran/match.cc:4290
+#: fortran/array.cc:1300 fortran/match.cc:4630
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.cc:1288
+#: fortran/array.cc:1308
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain an asterisk for a type parameter"
 msgstr ""
 
-#: fortran/array.cc:1306
+#: fortran/array.cc:1326
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.cc:1343 fortran/array.cc:1353
+#: fortran/array.cc:1363 fortran/array.cc:1373
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible typespec for array element at %L"
 msgstr ""
 
-#: fortran/array.cc:1428
+#: fortran/array.cc:1448
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.cc:1759
+#: fortran/array.cc:1779
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
-#: fortran/array.cc:1918
+#: fortran/array.cc:1938
 #, 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/array.cc:2097
+#: fortran/array.cc:2117
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO initial expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2104
+#: fortran/array.cc:2124
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO final expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2111
+#: fortran/array.cc:2131
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO step expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2123
+#: fortran/array.cc:2143
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array constructor value at %L shall not be unlimited polymorphic [F2008: "
 "C4106]"
 msgstr ""
 
-#: fortran/array.cc:2215
+#: fortran/array.cc:2154
+#, gcc-internal-format
+msgid "Array constructor value %qs at %L is of the ABSTRACT type %qs"
+msgstr ""
+
+#: fortran/array.cc:2248
 #, gcc-internal-format
 msgid "Different CHARACTER lengths (%wd/%wd) in array constructor at %L"
 msgstr ""
 
-#: fortran/array.cc:2333
+#: fortran/array.cc:2366
 #, gcc-internal-format
 msgid "spec_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2399
+#: fortran/array.cc:2432
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2403
+#: fortran/array.cc:2436
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array dimension at %L"
 msgstr ""
 
-#: fortran/array.cc:2541
+#: fortran/array.cc:2574
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimen_type"
 msgstr ""
 
-#: fortran/array.cc:2592
+#: fortran/array.cc:2625
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2644
+#: fortran/array.cc:2677
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad EXPR_ARRAY expr"
 msgstr ""
 
-#: fortran/array.cc:2792
+#: fortran/array.cc:2825
 #, gcc-internal-format
 msgid "gfc_find_array_ref(): No ref found"
 msgstr ""
@@ -71440,7 +72816,7 @@ msgstr ""
 msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
 msgstr ""
 
-#: fortran/check.cc:123 fortran/resolve.cc:11536
+#: fortran/check.cc:123 fortran/resolve.cc:12825
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of BOZ literal constant at %L"
 msgstr ""
@@ -71450,379 +72826,408 @@ msgstr ""
 msgid "Failure in conversion of BOZ to REAL at %L"
 msgstr ""
 
-#: fortran/check.cc:477
+#: fortran/check.cc:504
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a scalar"
 msgstr ""
 
-#: fortran/check.cc:493
+#: fortran/check.cc:520
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be %s"
 msgstr ""
 
-#: fortran/check.cc:527
+#: fortran/check.cc:535
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L must be %s or %s"
+msgstr ""
+
+#: fortran/check.cc:568
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must have a numeric type"
 msgstr ""
 
-#: fortran/check.cc:542 fortran/check.cc:572
+#: fortran/check.cc:583 fortran/check.cc:630
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER or REAL"
 msgstr ""
 
-#: fortran/check.cc:560
+#: fortran/check.cc:600
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L must be INTEGER, REAL or UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:618 fortran/check.cc:650
 #, gcc-internal-format
 msgid "Fortran 2003: Character for %qs argument of %qs intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:567
+#: fortran/check.cc:625
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be INTEGER or REAL or CHARACTER"
 msgstr ""
 
-#: fortran/check.cc:590 fortran/check.cc:3400
+#: fortran/check.cc:657
+#, gcc-internal-format
+msgid ""
+"%qs argument of %qs intrinsic at %L must be INTEGER or REAL or CHARACTER or "
+"UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:662
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L must be INTEGER or REAL or UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:681 fortran/check.cc:3755
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of intrinsic type"
 msgstr ""
 
-#: fortran/check.cc:605
+#: fortran/check.cc:696
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be REAL or COMPLEX"
 msgstr ""
 
-#: fortran/check.cc:622
+#: fortran/check.cc:713
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.cc:651 fortran/check.cc:7632
+#: fortran/check.cc:742 fortran/check.cc:8147
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a constant"
 msgstr ""
 
-#: fortran/check.cc:660
+#: fortran/check.cc:751
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid kind for %s at %L"
 msgstr ""
 
-#: fortran/check.cc:679
+#: fortran/check.cc:770
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be double precision"
 msgstr ""
 
-#: fortran/check.cc:702
+#: fortran/check.cc:793
 #, gcc-internal-format
 msgid "Expected coarray variable as %qs argument to the %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:719
+#: fortran/check.cc:810
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a logical array"
 msgstr ""
 
-#: fortran/check.cc:744
+#: fortran/check.cc:835
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be an array"
 msgstr ""
 
-#: fortran/check.cc:765
+#: fortran/check.cc:856
 #, gcc-internal-format
 msgid "%qs at %L must be nonnegative"
 msgstr ""
 
-#: fortran/check.cc:786
+#: fortran/check.cc:877
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be positive"
 msgstr ""
 
-#: fortran/check.cc:819
+#: fortran/check.cc:910
 #, gcc-internal-format
 msgid ""
 "The absolute value of SHIFT at %L must be less than or equal to BIT_SIZE(%qs)"
 msgstr ""
 
-#: fortran/check.cc:830
+#: fortran/check.cc:921
 #, gcc-internal-format
 msgid "%qs at %L must be less than or equal to BIT_SIZE(%qs)"
 msgstr ""
 
-#: fortran/check.cc:840
+#: fortran/check.cc:931
 #, gcc-internal-format
 msgid "%qs at %L must be less than BIT_SIZE(%qs)"
 msgstr ""
 
-#: fortran/check.cc:867
+#: fortran/check.cc:964
 #, gcc-internal-format
 msgid ""
 "%qs at %L must be less than or equal to the BIT_SIZE of INTEGER(KIND=%d)"
 msgstr ""
 
-#: fortran/check.cc:893
+#: fortran/check.cc:997
 #, gcc-internal-format
 msgid "%<%s + %s%> at %L must be less than or equal to BIT_SIZE(%qs)"
 msgstr ""
 
-#: fortran/check.cc:926
+#: fortran/check.cc:1030
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be the same type and kind as %qs"
 msgstr ""
 
-#: fortran/check.cc:943
+#: fortran/check.cc:1047
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of rank %d"
 msgstr ""
 
-#: fortran/check.cc:958
+#: fortran/check.cc:1062
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/check.cc:980
+#: fortran/check.cc:1084
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be ALLOCATABLE"
 msgstr ""
 
-#: fortran/check.cc:998
+#: fortran/check.cc:1102
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of kind %d"
 msgstr ""
 
-#: fortran/check.cc:1017
+#: fortran/check.cc:1121
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L cannot be INTENT(IN)"
 msgstr ""
 
-#: fortran/check.cc:1044
+#: fortran/check.cc:1148
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a variable"
 msgstr ""
 
-#: fortran/check.cc:1093
+#: fortran/check.cc:1193
 #, gcc-internal-format
 msgid ""
 "%<dim%> argument of %qs intrinsic at %L is not a valid codimension index"
 msgstr ""
 
-#: fortran/check.cc:1145
+#: fortran/check.cc:1245
 #, gcc-internal-format
 msgid "%<dim%> argument of %qs intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/check.cc:1248
+#: fortran/check.cc:1348
 #, gcc-internal-format, gfc-internal-format
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.cc:1269
+#: fortran/check.cc:1369
 #, gcc-internal-format
 msgid "Size of %qs argument of %qs intrinsic at %L too small (%wd/%ld)"
 msgstr ""
 
-#: fortran/check.cc:1332
+#: fortran/check.cc:1432
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in ACHAR intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:1423
+#: fortran/check.cc:1522 fortran/check.cc:1555
 #, gcc-internal-format
 msgid "%qs and %qs arguments of %qs intrinsic at %L must have the same type"
 msgstr ""
 
-#: fortran/check.cc:1432 fortran/check.cc:3717
+#: fortran/check.cc:1531 fortran/check.cc:1564 fortran/check.cc:4072
 #, gcc-internal-format, gfc-internal-format
 msgid "Different type kinds at %L"
 msgstr ""
 
-#: fortran/check.cc:1455
+#: fortran/check.cc:1587
 #, gcc-internal-format
 msgid ""
 "NULL at %L is not permitted as actual argument to %qs intrinsic function"
 msgstr ""
 
-#: fortran/check.cc:1477
+#: fortran/check.cc:1609
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a POINTER"
 msgstr ""
 
-#: fortran/check.cc:1486 fortran/check.cc:1521 fortran/check.cc:4412
+#: fortran/check.cc:1618 fortran/check.cc:1653 fortran/check.cc:4857
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:1503
+#: fortran/check.cc:1635
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be a pointer or target VARIABLE or "
 "FUNCTION"
 msgstr ""
 
-#: fortran/check.cc:1512
+#: fortran/check.cc:1644
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/check.cc:1539
+#: fortran/check.cc:1671
 #, 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:1586
+#: fortran/check.cc:1718
 #, 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:1594
+#: fortran/check.cc:1726
 #, 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:1601
+#: fortran/check.cc:1733
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L shall have the same type as %qs at %L"
 msgstr ""
 
-#: fortran/check.cc:1619 fortran/check.cc:1832
+#: fortran/check.cc:1751 fortran/check.cc:2000
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument to %s at %L"
 msgstr ""
 
-#: fortran/check.cc:1638 fortran/check.cc:1772 fortran/check.cc:1869
+#: fortran/check.cc:1770 fortran/check.cc:1940 fortran/check.cc:2037
 #, gcc-internal-format, gfc-internal-format
 msgid "ATOM argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1652 fortran/check.cc:1852
+#: fortran/check.cc:1784 fortran/check.cc:2020
 #, 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:1672
+#: fortran/check.cc:1804
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1691 fortran/check.cc:1705 fortran/check.cc:1740
+#: fortran/check.cc:1823 fortran/check.cc:1873 fortran/check.cc:1908
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L not yet supported"
 msgstr ""
 
-#: fortran/check.cc:1725
+#: fortran/check.cc:1848
+#, gcc-internal-format
+msgid ""
+"%qs argument of %qs intrinsic at %L shall have a type of "
+"CHARACTER(KIND=C_CHAR)"
+msgstr ""
+
+#: fortran/check.cc:1893
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall specify a valid integer kind"
 msgstr ""
 
-#: fortran/check.cc:1779 fortran/check.cc:1876
+#: fortran/check.cc:1947 fortran/check.cc:2044
 #, gcc-internal-format, gfc-internal-format
 msgid "OLD argument of the %s intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1794
+#: fortran/check.cc:1962
 #, 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:1804
+#: fortran/check.cc:1972
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "COUNT argument of the EVENT_QUERY intrinsic function at %L shall be definable"
 msgstr ""
 
-#: fortran/check.cc:1817
+#: fortran/check.cc:1985
 #, 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:1896
+#: fortran/check.cc:2064
 #, gcc-internal-format, gfc-internal-format
 msgid "Negative argument N at %L"
 msgstr ""
 
-#: fortran/check.cc:1994
+#: fortran/check.cc:2195
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in CHAR intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2118 fortran/check.cc:2608
+#: fortran/check.cc:2319 fortran/check.cc:2826
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must not be present if %<x%> is COMPLEX"
 msgstr ""
 
-#: fortran/check.cc:2127 fortran/check.cc:2617
+#: fortran/check.cc:2328 fortran/check.cc:2835
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must have a type of either REAL or "
 "INTEGER"
 msgstr ""
 
-#: fortran/check.cc:2137 fortran/check.cc:2143
+#: fortran/check.cc:2338 fortran/check.cc:2344
 #, 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:2165
+#: fortran/check.cc:2366
 #, 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:2173
+#: fortran/check.cc:2374
 #, gcc-internal-format, gfc-internal-format
 msgid "The A argument at %L to the intrinsic %s shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:2196
+#: fortran/check.cc:2397
 #, gcc-internal-format, gfc-internal-format
 msgid "The stat= argument at %L must be a kind=4 integer variable"
 msgstr ""
 
-#: fortran/check.cc:2212
+#: fortran/check.cc:2413
 #, gcc-internal-format, gfc-internal-format
 msgid "The errmsg= argument at %L must be a default-kind character variable"
 msgstr ""
 
-#: fortran/check.cc:2220
+#: fortran/check.cc:2421
 #, gcc-internal-format
 msgid "Coarrays disabled at %L, use %<-fcoarray=%> to enable"
 msgstr ""
 
-#: fortran/check.cc:2235
+#: fortran/check.cc:2436
 #, 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:2254
+#: fortran/check.cc:2455
 #, gcc-internal-format, gfc-internal-format
 msgid "The A argument at %L of CO_REDUCE shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:2261
+#: fortran/check.cc:2462
 #, 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:2275
+#: fortran/check.cc:2476
 #, gcc-internal-format, gfc-internal-format
 msgid "OPERATION argument at %L must be a PURE function"
 msgstr ""
@@ -71830,828 +73235,857 @@ 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:2285
+#: fortran/check.cc:2486
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic function %s at %L is not permitted for CO_REDUCE"
 msgstr ""
 
-#: fortran/check.cc:2302
+#: fortran/check.cc:2503
 #, gcc-internal-format, gfc-internal-format
 msgid "The function passed as OPERATION at %L shall have two arguments"
 msgstr ""
 
-#: fortran/check.cc:2312
+#: fortran/check.cc:2513
 #, 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:2321
+#: fortran/check.cc:2522
 #, 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:2332
+#: fortran/check.cc:2533
 #, 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:2340
+#: fortran/check.cc:2541
 #, 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:2347
+#: fortran/check.cc:2548
 #, 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:2354
+#: fortran/check.cc:2555
 #, 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:2362
+#: fortran/check.cc:2563
 #, 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:2392
+#: fortran/check.cc:2593
 #, 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:2399
+#: fortran/check.cc:2600
 #, 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:2417
+#: fortran/check.cc:2618
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L shall be of type integer, real or "
 "character"
 msgstr ""
 
-#: fortran/check.cc:2445 fortran/check.cc:2459
+#: fortran/check.cc:2647 fortran/check.cc:2655
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L shall not be UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:2663 fortran/check.cc:2677
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ constant at %L cannot appear in the COMPLEX intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2496 fortran/check.cc:3126 fortran/check.cc:3209
-#: fortran/check.cc:3431 fortran/check.cc:3479 fortran/check.cc:4959
-#: fortran/check.cc:5084 fortran/check.cc:5154 fortran/check.cc:6339
-#: fortran/check.cc:6470
+#: fortran/check.cc:2714 fortran/check.cc:3441 fortran/check.cc:3524
+#: fortran/check.cc:3786 fortran/check.cc:3834 fortran/check.cc:5446
+#: fortran/check.cc:5570 fortran/check.cc:5648 fortran/check.cc:6831
+#: fortran/check.cc:6962
 #, gcc-internal-format
 msgid "%qs intrinsic with KIND argument at %L"
 msgstr ""
 
-#: fortran/check.cc:2543 fortran/check.cc:2812 fortran/check.cc:2872
+#: fortran/check.cc:2761 fortran/check.cc:3069 fortran/check.cc:3129
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/"
 "%ld)"
 msgstr ""
 
-#: fortran/check.cc:2558 fortran/check.cc:2827 fortran/check.cc:2887
+#: fortran/check.cc:2776 fortran/check.cc:3084 fortran/check.cc:3144
 #, gcc-internal-format
 msgid "%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar"
 msgstr ""
 
-#: fortran/check.cc:2670 fortran/check.cc:3811 fortran/check.cc:3819
+#: fortran/check.cc:2898 fortran/check.cc:4184 fortran/check.cc:4192
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be numeric or LOGICAL"
 msgstr ""
 
-#: fortran/check.cc:2684
+#: fortran/check.cc:2906 fortran/check.cc:4202
+#, gcc-internal-format
+msgid "Argument types of %qs intrinsic at %L must match (%s/%s)"
+msgstr ""
+
+#: fortran/check.cc:2920
 #, gcc-internal-format
 msgid ""
 "Different shape for arguments %qs and %qs at %L for intrinsic %<dot_product%>"
 msgstr ""
 
-#: fortran/check.cc:2704 fortran/check.cc:2712
+#: fortran/check.cc:2940 fortran/check.cc:2948
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be default real"
 msgstr ""
 
-#: fortran/check.cc:2848
+#: fortran/check.cc:3105
 #, gcc-internal-format
 msgid "%qs must be of same type and kind as %qs at %L in %qs"
 msgstr ""
 
-#: fortran/check.cc:2906
+#: fortran/check.cc:3169
 #, gcc-internal-format
 msgid "Missing %qs argument to %qs intrinsic at %L for %qs of type %qs"
 msgstr ""
 
-#: fortran/check.cc:2924
+#: fortran/check.cc:3187
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "BOZ literal constant at %L cannot appear in the FLOAT intrinsic subprogram"
 msgstr ""
 
-#: fortran/check.cc:2938
+#: fortran/check.cc:3201
 #, gcc-internal-format, gfc-internal-format
 msgid "non-default INTEGER kind argument to %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:2999
+#: fortran/check.cc:3262
 #, gcc-internal-format
 msgid "COMPLEX argument %qs of %qs intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:3081
+#: fortran/check.cc:3388
 #, gcc-internal-format
 msgid "Arguments of %qs have different kind type parameters at %L"
 msgstr ""
 
-#: fortran/check.cc:3177
+#: fortran/check.cc:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s at %L must be of length one"
 msgstr ""
 
-#: fortran/check.cc:3216
+#: fortran/check.cc:3531
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be the same kind as %qs"
 msgstr ""
 
-#: fortran/check.cc:3250
+#: fortran/check.cc:3564
+#, gcc-internal-format
+msgid "UINT intrinsic only valid with %<-funsigned%> at %L"
+msgstr ""
+
+#: fortran/check.cc:3588
 #, gcc-internal-format
 msgid ""
 "%qs intrinsic subprogram at %L has been removed.  Use INT intrinsic "
 "subprogram."
 msgstr ""
 
-#: fortran/check.cc:3302
+#: fortran/check.cc:3657
 #, gcc-internal-format, gfc-internal-format
 msgid "SIZE at %L must be positive"
 msgstr ""
 
-#: fortran/check.cc:3314
+#: fortran/check.cc:3669
 #, 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:3373
+#: fortran/check.cc:3728
 #, gcc-internal-format, gfc-internal-format
 msgid "STATUS at %L shall be an INTENT(OUT) variable"
 msgstr ""
 
-#: fortran/check.cc:3382
+#: fortran/check.cc:3737
 #, gcc-internal-format
 msgid "%qs at %L shall be an INTENT(OUT) variable"
 msgstr ""
 
-#: fortran/check.cc:3407
+#: fortran/check.cc:3762
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a data entity"
 msgstr ""
 
-#: fortran/check.cc:3621
+#: fortran/check.cc:3976
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L must have at least two arguments"
 msgstr ""
 
-#: fortran/check.cc:3669
+#: fortran/check.cc:4024
 #, gcc-internal-format
 msgid "Missing %qs argument to the %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:3684
+#: fortran/check.cc:4039
 #, gcc-internal-format
 msgid "Duplicate argument %qs at %L to intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:3689
+#: fortran/check.cc:4044
 #, gcc-internal-format
 msgid "Unknown argument %qs at %L to intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:3714
+#: fortran/check.cc:4069
 #, gcc-internal-format, gfc-internal-format
 msgid "Different character kinds at %L"
 msgstr ""
 
-#: fortran/check.cc:3723
+#: fortran/check.cc:4078
 #, gcc-internal-format
 msgid "%<a%d%> argument of %qs intrinsic at %L must be %s(%d)"
 msgstr ""
 
-#: fortran/check.cc:3754
+#: fortran/check.cc:4109
 #, gcc-internal-format
 msgid "%qs intrinsic with CHARACTER argument at %L"
 msgstr ""
 
-#: fortran/check.cc:3761
+#: fortran/check.cc:4121
 #, gcc-internal-format
 msgid ""
-"%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER"
+"%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL, CHARACTER or "
+"UNSIGNED"
 msgstr ""
 
-#: fortran/check.cc:3828
+#: fortran/check.cc:4131
 #, gcc-internal-format
-msgid "Argument types of %qs intrinsic at %L must match (%s/%s)"
+msgid ""
+"%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER"
 msgstr ""
 
-#: fortran/check.cc:3842
+#: fortran/check.cc:4216
 #, gcc-internal-format
 msgid ""
 "Different shape on dimension 1 for arguments %qs and %qs at %L for intrinsic "
 "matmul"
 msgstr ""
 
-#: fortran/check.cc:3861
+#: fortran/check.cc:4235
 #, 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:3870
+#: fortran/check.cc:4244
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of rank 1 or 2"
 msgstr ""
 
-#: fortran/check.cc:4035
+#: fortran/check.cc:4422
 #, 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:4153 fortran/check.cc:7552 fortran/check.cc:7567
+#: fortran/check.cc:4556
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L must be INTEGER or UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:4564 fortran/check.cc:8067 fortran/check.cc:8082
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:4236
+#: fortran/check.cc:4681
 #, gcc-internal-format, gfc-internal-format
 msgid "The FROM argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4247
+#: fortran/check.cc:4692
 #, gcc-internal-format, gfc-internal-format
 msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4254
+#: fortran/check.cc:4699
 #, 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:4265
+#: fortran/check.cc:4710
 #, 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:4274
+#: fortran/check.cc:4719
 #, 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:4314
+#: fortran/check.cc:4759
 #, 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:4341
+#: fortran/check.cc:4786
 #, gcc-internal-format
 msgid "Argument %<S%> of NEAREST at %L shall not be zero"
 msgstr ""
 
-#: fortran/check.cc:4397
+#: fortran/check.cc:4842
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or "
 "procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:4405
+#: fortran/check.cc:4850
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.cc:4484 fortran/check.cc:6417
+#: fortran/check.cc:4893
+#, gcc-internal-format
+msgid ""
+"%qs argument of %qs intrinsic at %L shall appear only if %qs is of type REAL "
+"and %qs is of type INTEGER or UNSIGNED"
+msgstr ""
+
+#: fortran/check.cc:4971 fortran/check.cc:6909
 #, 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:4545
+#: fortran/check.cc:5032
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of a dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4555
+#: fortran/check.cc:5042
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4574
+#: fortran/check.cc:5061
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must not be a subobject of %qs"
 msgstr ""
 
-#: fortran/check.cc:4625
+#: fortran/check.cc:5112
 #, gcc-internal-format, gfc-internal-format
 msgid "The argument of the RANK intrinsic at %L must be a data object"
 msgstr ""
 
-#: fortran/check.cc:4733
+#: fortran/check.cc:5220
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L must be an array of "
 "constant size"
 msgstr ""
 
-#: fortran/check.cc:4743
+#: fortran/check.cc:5230
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is empty"
 msgstr ""
 
-#: fortran/check.cc:4750
+#: fortran/check.cc:5237
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L has more than %d elements"
 msgstr ""
 
-#: fortran/check.cc:4773
+#: fortran/check.cc:5260
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has negative element (%d)"
 msgstr ""
 
-#: fortran/check.cc:4813
+#: fortran/check.cc:5300
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)"
 msgstr ""
 
-#: fortran/check.cc:4831
+#: fortran/check.cc:5318
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)"
 msgstr ""
 
-#: fortran/check.cc:4840
+#: fortran/check.cc:5327
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has invalid permutation of dimensions "
 "(dimension %qd duplicated)"
 msgstr ""
 
-#: fortran/check.cc:4875 fortran/simplify.cc:7050
+#: fortran/check.cc:5362 fortran/simplify.cc:7594
 #, 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:4892 fortran/check.cc:4911
+#: fortran/check.cc:5379 fortran/check.cc:5398
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L cannot be of type %s"
 msgstr ""
 
-#: fortran/check.cc:4902 fortran/check.cc:4921
+#: fortran/check.cc:5389 fortran/check.cc:5408
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of an extensible type"
 msgstr ""
 
-#: fortran/check.cc:5020
+#: fortran/check.cc:5506
 #, gcc-internal-format
 msgid "SELECTED_REAL_KIND with neither %<P%> nor %<R%> argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5051
+#: fortran/check.cc:5537
 #, gcc-internal-format
 msgid "%qs intrinsic with RADIX argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5099
+#: fortran/check.cc:5585
 #, gcc-internal-format
 msgid ""
 "%<source%> argument of %<shape%> intrinsic at %L must not be an assumed size "
 "array"
 msgstr ""
 
-#: fortran/check.cc:5172 fortran/check.cc:7612
+#: fortran/check.cc:5666 fortran/check.cc:8127
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be a procedure"
 msgstr ""
 
-#: fortran/check.cc:5188 fortran/check.cc:5334 fortran/check.cc:7604
+#: fortran/check.cc:5682 fortran/check.cc:5828 fortran/check.cc:8119
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be TYPE(*)"
 msgstr ""
 
-#: fortran/check.cc:5199 fortran/check.cc:5346
+#: fortran/check.cc:5693 fortran/check.cc:5840
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be an assumed-size array"
 msgstr ""
 
-#: fortran/check.cc:5281
+#: fortran/check.cc:5775
 #, gcc-internal-format
 msgid "is_c_interoperable(): gfc_simplify_expr failed"
 msgstr ""
 
-#: fortran/check.cc:5325
+#: fortran/check.cc:5819
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s"
 msgstr ""
 
-#: fortran/check.cc:5364
+#: fortran/check.cc:5858
 #, 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:5378
+#: fortran/check.cc:5872
 #, 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:5402
+#: fortran/check.cc:5896
 #, 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:5414
+#: fortran/check.cc:5908
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER must be a pointer"
 msgstr ""
 
-#: fortran/check.cc:5421
+#: fortran/check.cc:5915
 #, gcc-internal-format, gfc-internal-format
 msgid "FPTR argument at %L to C_F_POINTER shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5428
+#: fortran/check.cc:5922
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5435
+#: fortran/check.cc:5929
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected SHAPE argument at %L to C_F_POINTER with scalar FPTR"
 msgstr ""
 
-#: fortran/check.cc:5441
+#: fortran/check.cc:5935
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SHAPE argument to C_F_POINTER with array FPTR at %L"
 msgstr ""
 
-#: fortran/check.cc:5460
+#: fortran/check.cc:5954
 #, 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:5470
+#: fortran/check.cc:5964
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic FPTR at %L to C_F_POINTER"
 msgstr ""
 
-#: fortran/check.cc:5476
+#: fortran/check.cc:5970
 #, gcc-internal-format, gfc-internal-format
 msgid "FPTR argument to C_F_POINTER at %L is a function returning a pointer"
 msgstr ""
 
-#: fortran/check.cc:5483
+#: fortran/check.cc:5977
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array FPTR argument to C_F_POINTER at %L: %s"
 msgstr ""
 
-#: fortran/check.cc:5499
+#: fortran/check.cc:5993
 #, 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:5511
+#: fortran/check.cc:6005
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall be a procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:5518
+#: fortran/check.cc:6012
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5524
+#: fortran/check.cc:6018
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure pointer at %L to C_F_PROCPOINTER"
 msgstr ""
 
-#: fortran/check.cc:5538
+#: fortran/check.cc:6032
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_FUNLOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5550
+#: fortran/check.cc:6044
 #, gcc-internal-format
 msgid "Function result %qs at %L is invalid as X argument to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5557
+#: fortran/check.cc:6051
 #, 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:5563
+#: fortran/check.cc:6057
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure at %L to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5577
+#: fortran/check.cc:6071
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_LOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5583
+#: fortran/check.cc:6077
 #, gcc-internal-format, gfc-internal-format
 msgid "X argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5594
+#: fortran/check.cc:6088
 #, 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:5602
+#: fortran/check.cc:6096
 #, 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:5611
+#: fortran/check.cc:6105
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5618
+#: fortran/check.cc:6112
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array at %L as argument to C_LOC: %s"
 msgstr ""
 
-#: fortran/check.cc:5629
+#: fortran/check.cc:6123
 #, 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:5634
+#: fortran/check.cc:6128
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section at %L to C_LOC"
 msgstr ""
 
-#: fortran/check.cc:5662
+#: fortran/check.cc:6156
 #, gcc-internal-format, gfc-internal-format
 msgid "non double precision REAL argument to %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:5678
+#: fortran/check.cc:6172
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be less than rank %d"
 msgstr ""
 
-#: fortran/check.cc:5697
+#: fortran/check.cc:6191
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/check.cc:5721
+#: fortran/check.cc:6215
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must have length at least 1"
 msgstr ""
 
-#: fortran/check.cc:5985
+#: fortran/check.cc:6479
 #, gcc-internal-format, gfc-internal-format
 msgid "%s argument to IMAGE_INDEX must be a rank one array at %L"
 msgstr ""
 
-#: fortran/check.cc:5992
+#: fortran/check.cc:6486
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of %s argument of IMAGE_INDEX at %L shall be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:6003
+#: fortran/check.cc:6495
 #, 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:6036
+#: fortran/check.cc:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6049
+#: fortran/check.cc:6541
 #, gcc-internal-format, gfc-internal-format
 msgid "FAILED= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6073
+#: fortran/check.cc:6565
 #, 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:6099
+#: fortran/check.cc:6591
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic "
 "at %L"
 msgstr ""
 
-#: fortran/check.cc:6106
+#: fortran/check.cc:6598
 #, 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:6117
+#: fortran/check.cc:6609
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected DIM argument with noncoarray argument at %L"
 msgstr ""
 
-#: fortran/check.cc:6135
+#: fortran/check.cc:6627
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to THIS_IMAGE at %L"
 msgstr ""
 
-#: fortran/check.cc:6193
+#: fortran/check.cc:6685
 #, 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:6245
+#: fortran/check.cc:6737
 #, gcc-internal-format
 msgid "%<SOURCE%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6264
+#: fortran/check.cc:6756
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6272
+#: fortran/check.cc:6764
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.cc:6307
+#: fortran/check.cc:6799
 msgid ""
 "Intrinsic TRANSFER at %L has partly undefined result: source size %zd < "
 "result size %zd"
 msgstr ""
 
-#: fortran/check.cc:6431
+#: fortran/check.cc:6923
 #, 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:6444
+#: fortran/check.cc:6936
 #, gcc-internal-format
 msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.cc:6580
+#: fortran/check.cc:7072
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUES argument of DATE_AND_TIME at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6592
+#: fortran/check.cc:7084
 #, 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:6731 fortran/check.cc:6763
+#: fortran/check.cc:7239 fortran/check.cc:7275
 #, gcc-internal-format
 msgid "Size of %qs argument of %qs intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.cc:6771
+#: fortran/check.cc:7286
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr ""
 
-#: fortran/check.cc:6789
+#: fortran/check.cc:7304
 #, gcc-internal-format
 msgid "fe_runtime_error string must be null terminated"
 msgstr ""
 
-#: fortran/check.cc:6801
+#: fortran/check.cc:7316
 #, gcc-internal-format, gfc-internal-format
 msgid "fe_runtime_error: Wrong number of arguments (%d instead of %d)"
 msgstr ""
 
-#: fortran/check.cc:6843
+#: fortran/check.cc:7358
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6850
+#: fortran/check.cc:7365
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "COUNT argument to SYSTEM_CLOCK at %L with kind smaller than default integer"
 msgstr ""
 
-#: fortran/check.cc:6871
+#: fortran/check.cc:7386
 #, gcc-internal-format, gfc-internal-format
 msgid "Real COUNT_RATE argument to SYSTEM_CLOCK at %L"
 msgstr ""
 
-#: fortran/check.cc:6881
+#: fortran/check.cc:7396
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_RATE argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6888
+#: fortran/check.cc:7403
 #, 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:6908
+#: fortran/check.cc:7423
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_MAX argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6918
+#: fortran/check.cc:7433
 #, 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:6933 fortran/check.cc:6940
+#: fortran/check.cc:7448 fortran/check.cc:7455
 #, gcc-internal-format, gfc-internal-format
 msgid "integer arguments to SYSTEM_CLOCK at %L with different kind parameters"
 msgstr ""
 
-#: fortran/check.cc:7154
+#: fortran/check.cc:7669
 #, 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:7336
+#: fortran/check.cc:7851
 #, gcc-internal-format
 msgid "Actual argument at %L of %qs intrinsic shall be an associated pointer"
 msgstr ""
 
-#: fortran/check.cc:7525 fortran/check.cc:7536
+#: fortran/check.cc:8040 fortran/check.cc:8051
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ "
 "literal constant"
 msgstr ""
 
-#: fortran/check.cc:7596
+#: fortran/check.cc:8111
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZE, "
@@ -72660,22 +74094,22 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.cc:799 fortran/decl.cc:4079 fortran/decl.cc:10785
+#: fortran/class.cc:811 fortran/decl.cc:4106 fortran/decl.cc:10857
 #, gcc-internal-format
 msgid "Maximum extension level reached with type %qs at %L"
 msgstr ""
 
-#: fortran/class.cc:3109 fortran/class.cc:3183
+#: fortran/class.cc:3123 fortran/class.cc:3197
 #, gcc-internal-format
 msgid "%qs of %qs is PRIVATE at %L"
 msgstr ""
 
-#: fortran/cpp.cc:501
+#: fortran/cpp.cc:504
 #, gcc-internal-format
 msgid "To enable preprocessing, use %<-cpp%>"
 msgstr ""
 
-#: fortran/cpp.cc:580 fortran/cpp.cc:591 fortran/cpp.cc:719
+#: fortran/cpp.cc:583 fortran/cpp.cc:594 fortran/cpp.cc:725
 #, gcc-internal-format
 msgid "opening output file %qs: %s"
 msgstr ""
@@ -72710,50 +74144,61 @@ msgstr ""
 msgid "Initialization string at %L was truncated to fit the variable (%wd/%wd)"
 msgstr ""
 
-#: fortran/data.cc:220 fortran/resolve.cc:5298
+#: fortran/data.cc:220 fortran/resolve.cc:5430
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/data.cc:226 fortran/resolve.cc:5328
+#: fortran/data.cc:226 fortran/resolve.cc:5460
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/data.cc:316
+#: fortran/data.cc:314
 #, gcc-internal-format
 msgid "%qs at %L already is initialized at %L"
 msgstr ""
 
-#: fortran/data.cc:343
+#: fortran/data.cc:342
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element below array lower bound at %L"
 msgstr ""
 
-#: fortran/data.cc:360 fortran/data.cc:449
+#: fortran/data.cc:359 fortran/data.cc:449
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element above array upper bound at %L"
 msgstr ""
 
-#: fortran/data.cc:390 fortran/data.cc:615
+#: fortran/data.cc:390 fortran/data.cc:620
 #, gcc-internal-format
 msgid "re-initialization of %qs at %L"
 msgstr ""
 
-#: fortran/data.cc:560
+#. After some discussion on clf it was determined that the following
+#. violates F18(R841). If the error is removed, the expected result
+#. is obtained. Leaving the code in place ensures a clean error
+#. recovery.
+#: fortran/data.cc:524
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"data-implied-do object at %L is neither an array-element nor a scalar-"
+"structure-component (F2018: R841)"
+msgstr ""
+
+#: fortran/data.cc:562
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN or KIND inquiry ref in DATA statement at %L"
 msgstr ""
 
-#: fortran/data.cc:638
+#: fortran/data.cc:643
 #, gcc-internal-format
 msgid ""
 "Nonpointer object %qs with default initialization shall not appear in a DATA "
 "statement at %L"
 msgstr ""
 
-#: fortran/data.cc:698 fortran/data.cc:717 fortran/data.cc:731
-#: fortran/data.cc:757 fortran/data.cc:904
+#: fortran/data.cc:703 fortran/data.cc:722 fortran/data.cc:736
+#: fortran/data.cc:762 fortran/data.cc:909
 #, gcc-internal-format
 msgid "Simplification error"
 msgstr ""
@@ -72773,253 +74218,253 @@ msgstr ""
 msgid "initialization of common block variable %qs in DATA statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:449
+#: fortran/decl.cc:452
 #, gcc-internal-format
 msgid "Symbol %qs must be a PARAMETER in DATA statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:475
+#: fortran/decl.cc:478
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid initializer %s in Data statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:580
+#: fortran/decl.cc:583
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ at %L cannot appear in an old-style initialization"
 msgstr ""
 
-#: fortran/decl.cc:588
+#: fortran/decl.cc:591
 #, gcc-internal-format
 msgid ""
 "BOZ literal constant near %L cannot be assigned to a %qs variable in an old-"
 "style initialization"
 msgstr ""
 
-#: fortran/decl.cc:598
+#: fortran/decl.cc:601
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:645
+#: fortran/decl.cc:648
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.cc:669
+#: fortran/decl.cc:672
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid substring in data-implied-do at %L in DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:692
+#: fortran/decl.cc:695
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component or deferred-shaped array near %C in DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:734
+#: fortran/decl.cc:737
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in a structure constructor"
 msgstr ""
 
-#: fortran/decl.cc:750
+#: fortran/decl.cc:753
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:759
+#: fortran/decl.cc:762
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "part-ref with pointer attribute near %L is not rightmost part-ref of data-"
 "stmt-object"
 msgstr ""
 
-#: fortran/decl.cc:798
+#: fortran/decl.cc:801
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty old style initializer list at %C"
 msgstr ""
 
-#: fortran/decl.cc:807
+#: fortran/decl.cc:810
 #, gcc-internal-format, gfc-internal-format
 msgid "Array in initializer list at %L must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.cc:830
+#: fortran/decl.cc:833
 #, gcc-internal-format, gfc-internal-format
 msgid "Repeat spec invalid in scalar initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:835
+#: fortran/decl.cc:838
 #, gcc-internal-format, gfc-internal-format
 msgid "Repeat spec must be an integer at %C"
 msgstr ""
 
-#: fortran/decl.cc:846
+#: fortran/decl.cc:849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected data constant after repeat spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:878
+#: fortran/decl.cc:881
 #, gcc-internal-format, gfc-internal-format
 msgid "End of scalar initializer expected at %C"
 msgstr ""
 
-#: fortran/decl.cc:906
+#: fortran/decl.cc:909
 #, gcc-internal-format, gfc-internal-format
 msgid "Not enough elements in array initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:908
+#: fortran/decl.cc:911
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many elements in array initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:934
+#: fortran/decl.cc:938
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in old style initializer list at %C"
 msgstr ""
 
-#: fortran/decl.cc:958
+#: fortran/decl.cc:962
 #, gcc-internal-format, gfc-internal-format
 msgid "The assumed-rank array at %C shall not have a codimension"
 msgstr ""
 
-#: fortran/decl.cc:1023
+#: fortran/decl.cc:1027
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sum of array rank %d and corank %d at %C exceeds maximum allowed dimensions "
 "of %d"
 msgstr ""
 
-#: fortran/decl.cc:1047
+#: fortran/decl.cc:1051
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad INTENT specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:1069
+#: fortran/decl.cc:1073
 #, gcc-internal-format, gfc-internal-format
 msgid "deferred type parameter at %C"
 msgstr ""
 
-#: fortran/decl.cc:1162 fortran/resolve.cc:13326
+#: fortran/decl.cc:1166 fortran/resolve.cc:14651
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar INTEGER expression expected at %L"
 msgstr ""
 
-#: fortran/decl.cc:1188
+#: fortran/decl.cc:1192
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style character length at %C"
 msgstr ""
 
-#: fortran/decl.cc:1219
+#: fortran/decl.cc:1223
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in character length specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:1371 fortran/decl.cc:1378 fortran/decl.cc:1444
+#: fortran/decl.cc:1375 fortran/decl.cc:1382 fortran/decl.cc:1448
 #, gcc-internal-format
 msgid "Procedure %qs at %C is already defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:1386
+#: fortran/decl.cc:1390
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C clashes with procedure defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:1398
+#: fortran/decl.cc:1402
 #, gcc-internal-format
 msgid "Name %qs at %C is already defined as a generic interface at %L"
 msgstr ""
 
-#: fortran/decl.cc:1416
+#: fortran/decl.cc:1420
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %C has an explicit interface from a previous declaration"
 msgstr ""
 
-#: fortran/decl.cc:1432
+#: fortran/decl.cc:1436
 #, gcc-internal-format
 msgid ""
 "Procedure %qs defined in interface body at %L clashes with internal "
 "procedure defined at %C"
 msgstr ""
 
-#: fortran/decl.cc:1515
+#: fortran/decl.cc:1519
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %L must have the BIND(C) attribute to be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:1542
+#: fortran/decl.cc:1546
 #, 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:1549
+#: fortran/decl.cc:1553
 #, 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:1556
+#: fortran/decl.cc:1560
 #, 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:1565
+#: fortran/decl.cc:1569
 #, 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:1575
+#: fortran/decl.cc:1579
 #, gcc-internal-format
 msgid ""
-"Default-initialized %s dummy argument %qs at %L is not permitted in BIND(C) "
-"procedure %qs"
+"Default-initialized dummy argument %qs with %s attribute at %L is not "
+"permitted in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/decl.cc:1596
+#: fortran/decl.cc:1600
 #, 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:1601
+#: fortran/decl.cc:1605
 #, 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:1608
+#: fortran/decl.cc:1612
 #, gcc-internal-format
 msgid ""
 "Deferred-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1620
+#: fortran/decl.cc:1624
 #, 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:1631
+#: fortran/decl.cc:1635
 #, gcc-internal-format
 msgid ""
 "Assumed-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1645
+#: fortran/decl.cc:1649
 #, gcc-internal-format
 msgid ""
 "Character dummy argument %qs at %L must be of constant length of one or "
@@ -73027,740 +74472,740 @@ msgid ""
 "%qs has the BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1663
+#: fortran/decl.cc:1667
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with ALLOCATABLE attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1671
+#: fortran/decl.cc:1675
 #, gcc-internal-format
 msgid "Variable %qs at %L with POINTER attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1680
+#: fortran/decl.cc:1684
 #, 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:1687
+#: fortran/decl.cc:1691
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with OPTIONAL attribute in procedure %qs which is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1698
+#: fortran/decl.cc:1702
 #, 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:1766
+#: fortran/decl.cc:1769
 #, gcc-internal-format
 msgid "Symbol %qs at %C also declared as a type at %L"
 msgstr ""
 
-#: fortran/decl.cc:1828
+#: fortran/decl.cc:1831
 #, 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:1868
+#: fortran/decl.cc:1871
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length must be a constant at %L"
 msgstr ""
 
-#: fortran/decl.cc:1883
+#: fortran/decl.cc:1886
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression at %L is being truncated (%ld/%ld)"
 msgstr ""
 
-#: fortran/decl.cc:1891
+#: fortran/decl.cc:1895 fortran/decl.cc:1901
 #, 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:2029
+#: fortran/decl.cc:2040
 #, gcc-internal-format
 msgid "Initializer not allowed for PARAMETER %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:2042
+#: fortran/decl.cc:2053
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER at %L is missing an initializer"
 msgstr ""
 
-#: fortran/decl.cc:2052
+#: fortran/decl.cc:2063
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %C with an initializer already appears in a DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:2095
+#: fortran/decl.cc:2106
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize parameter array at %L with variable length elements"
 msgstr ""
 
-#: fortran/decl.cc:2129
+#: fortran/decl.cc:2140
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch of array at %L and its initializer (%d/%d)"
 msgstr ""
 
-#: fortran/decl.cc:2142
+#: fortran/decl.cc:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize implied-shape array at %L with scalar"
 msgstr ""
 
-#: fortran/decl.cc:2152
+#: fortran/decl.cc:2163
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad shape of initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2159
+#: fortran/decl.cc:2170
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot determine shape of initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2194
+#: fortran/decl.cc:2205
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-constant lower bound in implied-shape declaration at %L"
 msgstr ""
 
-#: fortran/decl.cc:2244
+#: fortran/decl.cc:2255
 #, gcc-internal-format
 msgid "Entity %qs at %L is incompatible with a BOZ literal constant"
 msgstr ""
 
-#: fortran/decl.cc:2309 fortran/decl.cc:2316
+#: fortran/decl.cc:2321 fortran/decl.cc:2328
 #, gcc-internal-format, gfc-internal-format
 msgid "Component at %C must have the POINTER attribute"
 msgstr ""
 
-#: fortran/decl.cc:2325
+#: fortran/decl.cc:2337
 #, gcc-internal-format
 msgid "Component %qs with CLASS at %C must be allocatable or pointer"
 msgstr ""
 
-#: fortran/decl.cc:2334
+#: fortran/decl.cc:2346
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have explicit or deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2358 fortran/symbol.cc:2283
+#: fortran/decl.cc:2370 fortran/symbol.cc:2276
 #, gcc-internal-format
 msgid "Component %qs at %C already declared at %L"
 msgstr ""
 
-#: fortran/decl.cc:2413
+#: fortran/decl.cc:2425
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer array component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2422
+#: fortran/decl.cc:2432
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2431
+#: fortran/decl.cc:2456
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.cc:2448
+#: fortran/decl.cc:2473
 #, 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:2505
+#: fortran/decl.cc:2530
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:2522
+#: fortran/decl.cc:2547
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C may not have MOLD"
 msgstr ""
 
-#: fortran/decl.cc:2539
+#: fortran/decl.cc:2564
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:2560
+#: fortran/decl.cc:2585
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2567
+#: fortran/decl.cc:2592
 #, gcc-internal-format, gfc-internal-format
 msgid "non-NULL pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2590
+#: fortran/decl.cc:2615
 #, 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:2644
+#: fortran/decl.cc:2670
 #, gcc-internal-format
 msgid "%qs not allowed outside STRUCTURE at %C"
 msgstr ""
 
-#: fortran/decl.cc:2646
+#: fortran/decl.cc:2672
 #, gcc-internal-format
 msgid "%qs at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:2654
+#: fortran/decl.cc:2680
 #, gcc-internal-format
 msgid "%qs entity cannot have attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:2664
+#: fortran/decl.cc:2690
 #, gcc-internal-format
 msgid "Invalid character %qc in variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:2706
+#: fortran/decl.cc:2732
 #, gcc-internal-format
 msgid "Non-PARAMETER symbol %qs at %L cannot be implied-shape"
 msgstr ""
 
-#: fortran/decl.cc:2716
+#: fortran/decl.cc:2742
 #, gcc-internal-format, gfc-internal-format
 msgid "Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.cc:2773
+#: fortran/decl.cc:2799
 #, 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:2781
+#: fortran/decl.cc:2807
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit shaped array with nonconstant bounds at %C"
 msgstr ""
 
-#: fortran/decl.cc:2882
+#: fortran/decl.cc:2908
 #, gcc-internal-format
 msgid ""
-"%qs at %C is a redefinition of the declaration in the corresponding "
+"%qs at %L is a redefinition of the declaration in the corresponding "
 "interface for MODULE PROCEDURE %qs"
 msgstr ""
 
-#: fortran/decl.cc:2893
+#: fortran/decl.cc:2919
 #, gcc-internal-format
-msgid "%qs entity cannot have an initializer at %C"
+msgid "%qs entity cannot have an initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2918 fortran/decl.cc:9015
+#: fortran/decl.cc:2945
 #, gcc-internal-format, gfc-internal-format
-msgid "Duplicate array spec for Cray pointee at %C"
+msgid "Duplicate array spec for Cray pointee at %L"
 msgstr ""
 
-#: fortran/decl.cc:2926
+#: fortran/decl.cc:2953
 #, gcc-internal-format
 msgid "Cannot set pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:2989
+#: fortran/decl.cc:3016
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2997
+#: fortran/decl.cc:3024
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid old style initialization for derived type component at %C"
 msgstr ""
 
-#: fortran/decl.cc:3010
+#: fortran/decl.cc:3037
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in old style initialization of %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:3030 fortran/decl.cc:7230
+#: fortran/decl.cc:3057 fortran/decl.cc:7271
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
 
-#: fortran/decl.cc:3053
+#: fortran/decl.cc:3080
 #, gcc-internal-format
 msgid "Pointer initialization at %C requires %<=>%>, not %<=%>"
 msgstr ""
 
-#: fortran/decl.cc:3062 fortran/decl.cc:10959
+#: fortran/decl.cc:3089 fortran/decl.cc:11031
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3069
+#: fortran/decl.cc:3096
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of variable at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:3086
+#: fortran/decl.cc:3113
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of allocatable component at %C is not allowed"
 msgstr ""
 
-#: fortran/decl.cc:3095
+#: fortran/decl.cc:3122
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Initialization of structure component with a HOLLERITH constant at %L is not "
 "allowed"
 msgstr ""
 
-#: fortran/decl.cc:3109
+#: fortran/decl.cc:3136
 #, 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:3117
+#: fortran/decl.cc:3144
 #, 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:3125
+#: fortran/decl.cc:3152
 #, gcc-internal-format, gfc-internal-format
 msgid "The component at %C which is a type parameter must be a scalar"
 msgstr ""
 
-#: fortran/decl.cc:3134
+#: fortran/decl.cc:3161
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear as an initializer"
 msgstr ""
 
-#: fortran/decl.cc:3151
+#: fortran/decl.cc:3178
 #, gcc-internal-format
 msgid ""
 "Incompatible initialization between a derived type entity and an entity with "
 "%qs type at %C"
 msgstr ""
 
-#: fortran/decl.cc:3214 fortran/decl.cc:3249
+#: fortran/decl.cc:3241 fortran/decl.cc:3276
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style type declaration %s*%d not supported at %C"
 msgstr ""
 
-#: fortran/decl.cc:3255
+#: fortran/decl.cc:3282
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonstandard type declaration %s*%d at %C"
 msgstr ""
 
-#: fortran/decl.cc:3314 fortran/decl.cc:3391
+#: fortran/decl.cc:3341 fortran/decl.cc:3418
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis at %C"
 msgstr ""
 
-#: fortran/decl.cc:3327 fortran/decl.cc:3462
+#: fortran/decl.cc:3354 fortran/decl.cc:3489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3335 fortran/decl.cc:3468
+#: fortran/decl.cc:3362 fortran/decl.cc:3495
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3365 fortran/decl.cc:4115
+#: fortran/decl.cc:3392 fortran/decl.cc:4142
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d not supported for type %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:3378
+#: fortran/decl.cc:3405
 #, 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:3389
+#: fortran/decl.cc:3416
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis or comma at %C"
 msgstr ""
 
-#: fortran/decl.cc:3494
+#: fortran/decl.cc:3521
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d is not supported for CHARACTER at %C"
 msgstr ""
 
-#: fortran/decl.cc:3626
+#: fortran/decl.cc:3653
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CHARACTER declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:3727
+#: fortran/decl.cc:3754
 #, gcc-internal-format
 msgid "RECORD at %C is an extension, enable it with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:3740
+#: fortran/decl.cc:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected after RECORD at %C"
 msgstr ""
 
-#: fortran/decl.cc:3853
+#: fortran/decl.cc:3880
 #, 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:3877
+#: fortran/decl.cc:3904
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C does not contain enough parameter "
 "expressions"
 msgstr ""
 
-#: fortran/decl.cc:3901
+#: fortran/decl.cc:3928
 #, gcc-internal-format
 msgid "The derived parameter %qs at %C does not have a default value"
 msgstr ""
 
-#: fortran/decl.cc:3934
+#: fortran/decl.cc:3961
 #, 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:3941
+#: fortran/decl.cc:3968
 #, gcc-internal-format, gfc-internal-format
 msgid "The parameter expression at %C does not simplify to an INTEGER constant"
 msgstr ""
 
-#: fortran/decl.cc:3968
+#: fortran/decl.cc:3995
 #, gcc-internal-format
 msgid "The KIND parameter %qs at %C cannot either be ASSUMED or DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:3975
+#: fortran/decl.cc:4002
 #, gcc-internal-format
 msgid ""
 "The value for the KIND parameter %qs at %C does not reduce to a constant "
 "expression"
 msgstr ""
 
-#: fortran/decl.cc:3990
+#: fortran/decl.cc:4017
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C contains too many parameter expressions"
 msgstr ""
 
-#: fortran/decl.cc:3999
+#: fortran/decl.cc:4026
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameterized derived type at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4250
+#: fortran/decl.cc:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4262
+#: fortran/decl.cc:4289
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type used at %C is not available on the target machine"
 msgstr ""
 
-#: fortran/decl.cc:4324
+#: fortran/decl.cc:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C is not allowed for components"
 msgstr ""
 
-#: fortran/decl.cc:4327
+#: fortran/decl.cc:4354
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4349 fortran/decl.cc:4383 fortran/decl.cc:4416
-#: fortran/decl.cc:4715
+#: fortran/decl.cc:4387 fortran/decl.cc:4421 fortran/decl.cc:4454
+#: fortran/decl.cc:4753
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE with intrinsic-type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4361 fortran/decl.cc:4389 fortran/decl.cc:4422
-#: fortran/decl.cc:4448 fortran/decl.cc:4740 fortran/decl.cc:4758
+#: fortran/decl.cc:4399 fortran/decl.cc:4427 fortran/decl.cc:4460
+#: fortran/decl.cc:4486 fortran/decl.cc:4778 fortran/decl.cc:4796
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4412
+#: fortran/decl.cc:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "DOUBLE COMPLEX at %C"
 msgstr ""
 
-#: fortran/decl.cc:4464 fortran/decl.cc:4606 fortran/decl.cc:4618
-#: fortran/decl.cc:4632 fortran/decl.cc:5117 fortran/decl.cc:5125
+#: fortran/decl.cc:4502 fortran/decl.cc:4644 fortran/decl.cc:4656
+#: fortran/decl.cc:4670 fortran/decl.cc:5155 fortran/decl.cc:5163
 #, gcc-internal-format
 msgid "Type name %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4565
+#: fortran/decl.cc:4603
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4647
+#: fortran/decl.cc:4685
 #, 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:4793
+#: fortran/decl.cc:4831
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate IMPLICIT NONE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4802
+#: fortran/decl.cc:4840
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT NONE with spec list at %C"
 msgstr ""
 
-#: fortran/decl.cc:4861
+#: fortran/decl.cc:4899
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing character range in IMPLICIT at %C"
 msgstr ""
 
-#: fortran/decl.cc:4907
+#: fortran/decl.cc:4945
 #, gcc-internal-format, gfc-internal-format
 msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4960
+#: fortran/decl.cc:4998
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT statement at %C following an IMPLICIT NONE (type) statement"
 msgstr ""
 
-#: fortran/decl.cc:4970
+#: fortran/decl.cc:5008
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5076
+#: fortran/decl.cc:5114
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C only permitted in an INTERFACE body"
 msgstr ""
 
-#: fortran/decl.cc:5083
+#: fortran/decl.cc:5121
 #, 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:5088
+#: fortran/decl.cc:5126
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5102
+#: fortran/decl.cc:5140
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting list of named entities at %C"
 msgstr ""
 
-#: fortran/decl.cc:5131
+#: fortran/decl.cc:5169
 #, gcc-internal-format
 msgid "Cannot IMPORT %qs from host scoping unit at %C - does not exist."
 msgstr ""
 
-#: fortran/decl.cc:5138
+#: fortran/decl.cc:5176
 #, gcc-internal-format
 msgid "%qs is already IMPORTed from host scoping unit at %C"
 msgstr ""
 
-#: fortran/decl.cc:5179
+#: fortran/decl.cc:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5519
+#: fortran/decl.cc:5557
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing codimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5521
+#: fortran/decl.cc:5559
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing dimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5616
+#: fortran/decl.cc:5654
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s attribute at %L"
 msgstr ""
 
-#: fortran/decl.cc:5633
+#: fortran/decl.cc:5671
 #, gcc-internal-format
 msgid "%s at %L is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:5652
+#: fortran/decl.cc:5690
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5654
+#: fortran/decl.cc:5692
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5664
+#: fortran/decl.cc:5702
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5666
+#: fortran/decl.cc:5704
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5674
+#: fortran/decl.cc:5712
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with KIND attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5683
+#: fortran/decl.cc:5721
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5685
+#: fortran/decl.cc:5723
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5693
+#: fortran/decl.cc:5731
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with LEN attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5701
+#: fortran/decl.cc:5739
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5703
+#: fortran/decl.cc:5741
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5721
+#: fortran/decl.cc:5759
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute %s at %L in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5731
+#: fortran/decl.cc:5769
 #, 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:5741
+#: fortran/decl.cc:5779
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed outside a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5754
+#: fortran/decl.cc:5792
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5765
+#: fortran/decl.cc:5803
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5820 fortran/decl.cc:9317
+#: fortran/decl.cc:5858 fortran/decl.cc:9389
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:5826
+#: fortran/decl.cc:5864
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5860
+#: fortran/decl.cc:5898
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5867
+#: fortran/decl.cc:5905
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5874
+#: fortran/decl.cc:5912
 #, gcc-internal-format
 msgid "match_attr_spec(): Bad attribute"
 msgstr ""
 
-#: fortran/decl.cc:5915
+#: fortran/decl.cc:5953
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:6013
+#: fortran/decl.cc:6051
 #, gcc-internal-format
 msgid ""
 "Implicitly declared BIND(C) function %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:6035
+#: fortran/decl.cc:6073
 #, 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:6046
+#: fortran/decl.cc:6084
 #, gcc-internal-format
 msgid "Type declaration %qs at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:6052
+#: fortran/decl.cc:6090
 #, gcc-internal-format
 msgid "Variable %qs at %L may not be a C interoperable kind but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:6064
+#: fortran/decl.cc:6102
 #, 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:6078
+#: fortran/decl.cc:6116
 #, gcc-internal-format
 msgid "Variable %qs at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6086
+#: fortran/decl.cc:6124
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6098
+#: fortran/decl.cc:6136
 #, gcc-internal-format
 msgid "Return type of BIND(C) function %qs at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.cc:6104
+#: fortran/decl.cc:6142
 #, gcc-internal-format
 msgid ""
 "Return type of BIND(C) function %qs of character type at %L must have length "
@@ -73769,1050 +75214,1055 @@ msgstr ""
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.cc:6115
+#: fortran/decl.cc:6153
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %L is marked PRIVATE but has been given the binding label %qs"
 msgstr ""
 
-#: fortran/decl.cc:6189
+#: fortran/decl.cc:6227
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Need either entity or common block name for attribute specification "
 "statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6234
+#: fortran/decl.cc:6272
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing entity or common block name for attribute specification statement at "
 "%C"
 msgstr ""
 
-#: fortran/decl.cc:6241
+#: fortran/decl.cc:6279
 #, gcc-internal-format
 msgid "Missing symbol"
 msgstr ""
 
-#: fortran/decl.cc:6270
+#: fortran/decl.cc:6308
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6332
+#: fortran/decl.cc:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS entity at %C cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/decl.cc:6364
+#: fortran/decl.cc:6402
 #, 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:6406
+#: fortran/decl.cc:6444
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in anonymous structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6415
+#: fortran/decl.cc:6453
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6487
+#: fortran/decl.cc:6525
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C"
 msgstr ""
 
-#: fortran/decl.cc:6492
+#: fortran/decl.cc:6530
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C found outside of a module, submodule, or interface"
 msgstr ""
 
-#: fortran/decl.cc:6543
+#: fortran/decl.cc:6581
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.cc:6555
+#: fortran/decl.cc:6593
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.cc:6601
+#: fortran/decl.cc:6639
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6608
+#: fortran/decl.cc:6646
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6615
+#: fortran/decl.cc:6653
 #, gcc-internal-format, gfc-internal-format
 msgid "RECURSIVE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6676
+#: fortran/decl.cc:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "A type parameter list is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6690 fortran/primary.cc:1885
+#: fortran/decl.cc:6729 fortran/primary.cc:1998
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate-return argument at %C"
 msgstr ""
 
-#: fortran/decl.cc:6696 fortran/decl.cc:6704
+#: fortran/decl.cc:6735 fortran/decl.cc:6744
 #, gcc-internal-format, gfc-internal-format
 msgid "A parameter name is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6744
+#: fortran/decl.cc:6785
 #, gcc-internal-format
 msgid "Name %qs at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.cc:6757
+#: fortran/decl.cc:6798
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected parameter list in type declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6760
+#: fortran/decl.cc:6801
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6778
+#: fortran/decl.cc:6819
 #, gcc-internal-format
 msgid "Duplicate name %qs in parameter list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6781
+#: fortran/decl.cc:6822
 #, gcc-internal-format
 msgid "Duplicate symbol %qs in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6823
+#: fortran/decl.cc:6864
 #, gcc-internal-format
 msgid ""
 "MODULE PROCEDURE formal argument %qs conflicts with alternate return at %C"
 msgstr ""
 
-#: fortran/decl.cc:6827
+#: fortran/decl.cc:6868
 #, 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:6832
+#: fortran/decl.cc:6873
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in MODULE PROCEDURE formal argument names (%s/%s) at %C"
 msgstr ""
 
-#: fortran/decl.cc:6839
+#: fortran/decl.cc:6880
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in number of MODULE PROCEDURE formal arguments at %C"
 msgstr ""
 
-#: fortran/decl.cc:6878
+#: fortran/decl.cc:6919
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.cc:6955
+#: fortran/decl.cc:6996
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6965 fortran/decl.cc:8103
+#: fortran/decl.cc:7006 fortran/decl.cc:8146
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.cc:7169
+#: fortran/decl.cc:7210
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:7176
+#: fortran/decl.cc:7217
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:7182
+#: fortran/decl.cc:7223
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.cc:7205
+#: fortran/decl.cc:7246
 #, gcc-internal-format
 msgid "Procedure %qs at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:7251 fortran/decl.cc:7439 fortran/decl.cc:11443
+#: fortran/decl.cc:7292 fortran/decl.cc:7480 fortran/decl.cc:11515
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7300 fortran/decl.cc:11343
+#: fortran/decl.cc:7341 fortran/decl.cc:11415
 #, gcc-internal-format
 msgid "Expected %<::%> after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:7307
+#: fortran/decl.cc:7348
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.cc:7311
+#: fortran/decl.cc:7352
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7383
+#: fortran/decl.cc:7424
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7401
+#: fortran/decl.cc:7442
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.cc:7410 fortran/decl.cc:10083
+#: fortran/decl.cc:7451 fortran/decl.cc:10155
 #, gcc-internal-format, gfc-internal-format
 msgid "double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:7480
+#: fortran/decl.cc:7521
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7552
+#: fortran/decl.cc:7593
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:7582 fortran/decl.cc:7861 fortran/decl.cc:8070
-#: fortran/symbol.cc:1923
+#: fortran/decl.cc:7623 fortran/decl.cc:7902 fortran/decl.cc:8113
+#: fortran/symbol.cc:1916
 #, 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:7612 fortran/decl.cc:8128
+#: fortran/decl.cc:7653 fortran/decl.cc:8171
 #, gcc-internal-format
 msgid "Mismatch in BIND(C) names (%qs/%qs) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7755
+#: fortran/decl.cc:7796
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7764
+#: fortran/decl.cc:7805
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.cc:7767
+#: fortran/decl.cc:7808
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.cc:7770
+#: fortran/decl.cc:7811
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SUBMODULE"
 msgstr ""
 
-#: fortran/decl.cc:7773
+#: fortran/decl.cc:7814
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.cc:7777 fortran/decl.cc:7822
+#: fortran/decl.cc:7818 fortran/decl.cc:7863
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.cc:7781
+#: fortran/decl.cc:7822
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a STRUCTURE block"
 msgstr ""
 
-#: fortran/decl.cc:7785
+#: fortran/decl.cc:7826
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.cc:7789
+#: fortran/decl.cc:7830
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.cc:7794
+#: fortran/decl.cc:7835
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.cc:7798
+#: fortran/decl.cc:7839
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.cc:7802
+#: fortran/decl.cc:7843
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.cc:7806
+#: fortran/decl.cc:7847
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.cc:7810
+#: fortran/decl.cc:7851
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.cc:7814
+#: fortran/decl.cc:7855
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7835
+#: fortran/decl.cc:7876
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.cc:7886 fortran/decl.cc:8110
+#: fortran/decl.cc:7927 fortran/decl.cc:8153
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7980
+#: fortran/decl.cc:8021
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %L with BIND(C) prohibited in an elemental procedure"
 msgstr ""
 
-#: fortran/decl.cc:8137
+#: fortran/decl.cc:8180
 #, 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:8200 fortran/decl.cc:8207
+#: fortran/decl.cc:8243 fortran/decl.cc:8250
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid C identifier in NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:8247
+#: fortran/decl.cc:8290
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8263
+#: fortran/decl.cc:8306
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a constant expression"
 msgstr ""
 
-#: fortran/decl.cc:8271
+#: fortran/decl.cc:8314
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a scalar of default character kind"
 msgstr ""
 
-#: fortran/decl.cc:8290
+#: fortran/decl.cc:8333
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8296
+#: fortran/decl.cc:8339
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:8302
+#: fortran/decl.cc:8345
 #, 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:8331
+#: fortran/decl.cc:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.cc:8578
+#: fortran/decl.cc:8650
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8587
+#: fortran/decl.cc:8659
 #, 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:8596
+#: fortran/decl.cc:8668
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.cc:8607
+#: fortran/decl.cc:8679
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8627
+#: fortran/decl.cc:8699
 #, gcc-internal-format
 msgid "Expected block name of %qs in %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8644
+#: fortran/decl.cc:8716
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8658 fortran/decl.cc:8666
+#: fortran/decl.cc:8730 fortran/decl.cc:8738
 #, gcc-internal-format
 msgid "Expected label %qs for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8765
+#: fortran/decl.cc:8837
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8773
+#: fortran/decl.cc:8845
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialization"
 msgstr ""
 
-#: fortran/decl.cc:8781
+#: fortran/decl.cc:8853
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8790
+#: fortran/decl.cc:8862
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.cc:8895
+#: fortran/decl.cc:8967
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.cc:8932
+#: fortran/decl.cc:9004
 #, gcc-internal-format
 msgid "Expected %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:8946 fortran/decl.cc:8986
+#: fortran/decl.cc:9018 fortran/decl.cc:9058
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8962
+#: fortran/decl.cc:9034
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.cc:8966
+#: fortran/decl.cc:9038
 #, 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:8972
+#: fortran/decl.cc:9044
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:9011
+#: fortran/decl.cc:9083
 #, gcc-internal-format
 msgid "Cannot set Cray pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:9035
+#: fortran/decl.cc:9087
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicate array spec for Cray pointee at %C"
+msgstr ""
+
+#: fortran/decl.cc:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:9047
+#: fortran/decl.cc:9119
 #, gcc-internal-format
 msgid "Expected %<,%> or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9073
+#: fortran/decl.cc:9145
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9105
+#: fortran/decl.cc:9177
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9124
+#: fortran/decl.cc:9196
 #, gcc-internal-format
 msgid "Cray pointer declaration at %C requires %<-fcray-pointer%> flag"
 msgstr ""
 
-#: fortran/decl.cc:9163
+#: fortran/decl.cc:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9261
+#: fortran/decl.cc:9333
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9277
+#: fortran/decl.cc:9349
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9325
+#: fortran/decl.cc:9397
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9359
+#: fortran/decl.cc:9431
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9386 fortran/decl.cc:9411
+#: fortran/decl.cc:9458 fortran/decl.cc:9483
 #, 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:9432 fortran/decl.cc:9452
+#: fortran/decl.cc:9504 fortran/decl.cc:9524
 #, 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:9474
+#: fortran/decl.cc:9546
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9481
+#: fortran/decl.cc:9553
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9487
+#: fortran/decl.cc:9559
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9507
+#: fortran/decl.cc:9579
 #, 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:9532
+#: fortran/decl.cc:9604
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER without '()' at %C"
 msgstr ""
 
-#: fortran/decl.cc:9548
+#: fortran/decl.cc:9620
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9567 fortran/decl.cc:9623
+#: fortran/decl.cc:9639 fortran/decl.cc:9695
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:9602
+#: fortran/decl.cc:9674
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9609
+#: fortran/decl.cc:9681
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9658
+#: fortran/decl.cc:9730
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9665
+#: fortran/decl.cc:9737
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9684
+#: fortran/decl.cc:9756
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9695
+#: fortran/decl.cc:9767
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9743
+#: fortran/decl.cc:9815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9760
+#: fortran/decl.cc:9832
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9764
+#: fortran/decl.cc:9836
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9802
+#: fortran/decl.cc:9874
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9814
+#: fortran/decl.cc:9886
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9841
+#: fortran/decl.cc:9913
 #, gcc-internal-format
 msgid ""
 "Specifying VOLATILE for coarray variable %qs at %C, which is use-/host-"
 "associated"
 msgstr ""
 
-#: fortran/decl.cc:9866
+#: fortran/decl.cc:9938
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9878
+#: fortran/decl.cc:9950
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9922
+#: fortran/decl.cc:9994
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9947
+#: fortran/decl.cc:10019
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10058
+#: fortran/decl.cc:10130
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.cc:10116
+#: fortran/decl.cc:10188
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.cc:10165
+#: fortran/decl.cc:10237
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10174
+#: fortran/decl.cc:10246
 #, gcc-internal-format
 msgid "Symbol %qs at %C has not been previously defined"
 msgstr ""
 
-#: fortran/decl.cc:10180
+#: fortran/decl.cc:10252
 #, gcc-internal-format
 msgid "%qs in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.cc:10187
+#: fortran/decl.cc:10259
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:10194
+#: fortran/decl.cc:10266
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.cc:10217
+#: fortran/decl.cc:10289
 #, 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:10229
+#: fortran/decl.cc:10301
 #, 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:10250
+#: fortran/decl.cc:10322
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10296
+#: fortran/decl.cc:10368
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to create structure type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.cc:10302
+#: fortran/decl.cc:10374
 #, gcc-internal-format
 msgid "Type definition of %qs at %C was already defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:10349
+#: fortran/decl.cc:10421
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after MAP statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10382
+#: fortran/decl.cc:10454
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after UNION statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10417
+#: fortran/decl.cc:10489
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:10431
+#: fortran/decl.cc:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected in non-nested structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10449
+#: fortran/decl.cc:10521
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after non-nested STRUCTURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10456
+#: fortran/decl.cc:10528
 #, gcc-internal-format
 msgid "Structure name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10619
+#: fortran/decl.cc:10691
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10632
+#: fortran/decl.cc:10704
 #, gcc-internal-format, gfc-internal-format
 msgid "Mangled derived type definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10661
+#: fortran/decl.cc:10733
 #, gcc-internal-format
 msgid "Type name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10672
+#: fortran/decl.cc:10744
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:10675
+#: fortran/decl.cc:10747
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type"
 msgstr ""
 
-#: fortran/decl.cc:10690
+#: fortran/decl.cc:10762
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be a derived type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10699
+#: fortran/decl.cc:10771
 #, gcc-internal-format
 msgid "Derived type definition of %qs at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.cc:10762
+#: fortran/decl.cc:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "Garbage after PARAMETERIZED TYPE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10845
+#: fortran/decl.cc:10917
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.cc:10865
+#: fortran/decl.cc:10937
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.cc:10897
+#: fortran/decl.cc:10969
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10976
+#: fortran/decl.cc:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.cc:11024
+#: fortran/decl.cc:11096
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.cc:11060
+#: fortran/decl.cc:11132
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:11107 fortran/decl.cc:11122
+#: fortran/decl.cc:11179 fortran/decl.cc:11194
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11142
+#: fortran/decl.cc:11214
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11162
+#: fortran/decl.cc:11234
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11189
+#: fortran/decl.cc:11261
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11207
+#: fortran/decl.cc:11279
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.cc:11223
+#: fortran/decl.cc:11295
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.cc:11236
+#: fortran/decl.cc:11308
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11238
+#: fortran/decl.cc:11310
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11246
+#: fortran/decl.cc:11318
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED cannot both appear at %C"
 msgstr ""
 
-#: fortran/decl.cc:11259
+#: fortran/decl.cc:11331
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:11301
+#: fortran/decl.cc:11373
 #, gcc-internal-format
 msgid "Interface-name expected after %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11307
+#: fortran/decl.cc:11379
 #, gcc-internal-format
 msgid "%<)%> expected at %C"
 msgstr ""
 
-#: fortran/decl.cc:11327
+#: fortran/decl.cc:11399
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11332
+#: fortran/decl.cc:11404
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:11355
+#: fortran/decl.cc:11427
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11359
+#: fortran/decl.cc:11431
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.cc:11371
+#: fortran/decl.cc:11443
 #, gcc-internal-format
 msgid "%<=> target%> is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11377
+#: fortran/decl.cc:11449
 #, gcc-internal-format
 msgid "%<::%> needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.cc:11387
+#: fortran/decl.cc:11459
 #, gcc-internal-format
 msgid "Expected binding target after %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11404
+#: fortran/decl.cc:11476
 #, gcc-internal-format
 msgid "Type %qs containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.cc:11415
+#: fortran/decl.cc:11487
 #, gcc-internal-format
 msgid ""
 "There is already a procedure with binding name %qs for the derived type %qs "
 "at %C"
 msgstr ""
 
-#: fortran/decl.cc:11466
+#: fortran/decl.cc:11538
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.cc:11486
+#: fortran/decl.cc:11558
 #, gcc-internal-format
 msgid "Expected %<::%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11498
+#: fortran/decl.cc:11570
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.cc:11519
+#: fortran/decl.cc:11591
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed GENERIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11530
+#: fortran/decl.cc:11602
 #, gcc-internal-format
 msgid "Expected %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11566
+#: fortran/decl.cc:11638
 #, 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:11574
+#: fortran/decl.cc:11646
 #, gcc-internal-format
 msgid "Binding at %C must have the same access as already defined binding %qs"
 msgstr ""
 
-#: fortran/decl.cc:11622
+#: fortran/decl.cc:11694
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11632
+#: fortran/decl.cc:11704
 #, gcc-internal-format
 msgid "%qs already defined as specific binding for the generic %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11650
+#: fortran/decl.cc:11722
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11685
+#: fortran/decl.cc:11757
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.cc:11697
+#: fortran/decl.cc:11769
 #, 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:11719
+#: fortran/decl.cc:11791
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.cc:11726
+#: fortran/decl.cc:11798
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11736
+#: fortran/decl.cc:11808
 #, gcc-internal-format
 msgid "Expected %<,%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11742
+#: fortran/decl.cc:11814
 #, gcc-internal-format
 msgid "Unknown procedure name %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11755
+#: fortran/decl.cc:11827
 #, gcc-internal-format
 msgid "%qs at %C is already defined as FINAL procedure"
 msgstr ""
 
-#: fortran/decl.cc:11829
+#: fortran/decl.cc:11901
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11875
+#: fortran/decl.cc:11947
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11896
+#: fortran/decl.cc:11968
 #, 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:11910
+#: fortran/decl.cc:11982
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ UNROLL directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11974
+#: fortran/decl.cc:12046
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ IVDEP directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11991
+#: fortran/decl.cc:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ VECTOR directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:12008
+#: fortran/decl.cc:12080
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ NOVECTOR directive at %C"
 msgstr ""
@@ -74827,537 +76277,527 @@ msgstr ""
 msgid "are_identical_variables: Bad type"
 msgstr ""
 
-#: fortran/dependency.cc:989
+#: fortran/dependency.cc:1021
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "INTENT(%s) actual argument at %L might interfere with actual argument at %L."
 msgstr ""
 
-#: fortran/dependency.cc:1293
+#: fortran/dependency.cc:1325
 #, gcc-internal-format
 msgid "gfc_check_dependency: expecting an EXPR_VARIABLE"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:296
+#: fortran/dump-parse-tree.cc:298
 #, gcc-internal-format
 msgid "show_array_spec(): Unhandled array shape type."
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:375
+#: fortran/dump-parse-tree.cc:377
 #, gcc-internal-format
 msgid "show_array_ref(): Unknown array reference"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:449
+#: fortran/dump-parse-tree.cc:451
 #, gcc-internal-format
 msgid "show_ref(): Bad component code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:722
+#: fortran/dump-parse-tree.cc:732
 #, gcc-internal-format
 msgid "show_expr(): Bad intrinsic in expression"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:765
+#: fortran/dump-parse-tree.cc:775
 #, gcc-internal-format
 msgid "show_expr(): Don't know how to show expr"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3567
+#: fortran/dump-parse-tree.cc:3897
 #, gcc-internal-format
 msgid "show_code_node(): Bad statement code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3903 fortran/dump-parse-tree.cc:4008
+#: fortran/dump-parse-tree.cc:4351 fortran/dump-parse-tree.cc:4461
 #, gcc-internal-format
 msgid "Cannot convert %qs to interoperable type at %L"
 msgstr ""
 
-#: fortran/error.cc:388
-#, gcc-internal-format, gfc-internal-format
-msgid "    Included at %s:%d:"
-msgstr ""
-
-#: fortran/error.cc:474
-#, gcc-internal-format
-msgid "<During initialization>\n"
-msgstr ""
-
 #: fortran/expr.cc:149
 #, gcc-internal-format
 msgid "gfc_get_constant_expr(): locus %<where%> cannot be NULL"
 msgstr ""
 
-#: fortran/expr.cc:357
+#: fortran/expr.cc:372
 #, gcc-internal-format
 msgid "gfc_copy_expr(): Bad expr node"
 msgstr ""
 
-#: fortran/expr.cc:514
+#: fortran/expr.cc:530
 #, gcc-internal-format
 msgid "free_expr0(): Bad expr type"
 msgstr ""
 
-#: fortran/expr.cc:669 fortran/expr.cc:671 fortran/expr.cc:722
-#: fortran/expr.cc:724
+#: fortran/expr.cc:685 fortran/expr.cc:687 fortran/expr.cc:737
+#: fortran/expr.cc:739
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant expression required at %C"
 msgstr ""
 
-#: fortran/expr.cc:678 fortran/expr.cc:680 fortran/expr.cc:731
-#: fortran/expr.cc:733
+#: fortran/expr.cc:694 fortran/expr.cc:696 fortran/expr.cc:746
+#: fortran/expr.cc:748
 #, gcc-internal-format, gfc-internal-format
 msgid "Integer expression required at %C"
 msgstr ""
 
-#: fortran/expr.cc:688 fortran/expr.cc:690 fortran/expr.cc:744
-#: fortran/expr.cc:746
+#: fortran/expr.cc:704 fortran/expr.cc:706 fortran/expr.cc:759
+#: fortran/expr.cc:761
 #, gcc-internal-format, gfc-internal-format
 msgid "Integer value too large in expression at %C"
 msgstr ""
 
-#: fortran/expr.cc:1117
+#: fortran/expr.cc:1141
 #, gcc-internal-format
 msgid "gfc_is_constant_expr(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:1312
+#: fortran/expr.cc:1336
 #, gcc-internal-format
 msgid "simplify_intrinsic_op(): Bad operator"
 msgstr ""
 
-#: fortran/expr.cc:1417
+#: fortran/expr.cc:1442
 #, gcc-internal-format, gfc-internal-format
 msgid "Index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1616 fortran/expr.cc:1667
+#: fortran/expr.cc:1641 fortran/expr.cc:1692
 #, gcc-internal-format, gfc-internal-format
 msgid "index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1742
+#: fortran/expr.cc:1767
 #, gcc-internal-format
 msgid ""
 "The number of elements in the array constructor at %L requires an increase "
 "of the allowed %d upper limit.  See %<-fmax-array-constructor%> option"
 msgstr ""
 
-#: fortran/expr.cc:1753
+#: fortran/expr.cc:1778
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in array constructor referenced at %L"
 msgstr ""
 
-#: fortran/expr.cc:1861 fortran/primary.cc:2398 fortran/primary.cc:2575
+#: fortran/expr.cc:1888 fortran/primary.cc:2521 fortran/primary.cc:2698
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1886 fortran/primary.cc:2393 fortran/primary.cc:2590
+#: fortran/expr.cc:1913 fortran/primary.cc:2516 fortran/primary.cc:2713
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1897
+#: fortran/expr.cc:1924
 #, gcc-internal-format, gfc-internal-format
 msgid "RE part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1909
+#: fortran/expr.cc:1936
 #, gcc-internal-format, gfc-internal-format
 msgid "IM part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:2559
+#: fortran/expr.cc:2590
 #, gcc-internal-format, gfc-internal-format
 msgid "elemental function arguments at %C are not compliant"
 msgstr ""
 
-#: fortran/expr.cc:2603
+#: fortran/expr.cc:2634
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric or CHARACTER operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2628
+#: fortran/expr.cc:2659
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Concatenation operator in expression at %L must have two CHARACTER operands"
 msgstr ""
 
-#: fortran/expr.cc:2635
+#: fortran/expr.cc:2666
 #, gcc-internal-format, gfc-internal-format
 msgid "Concat operator at %L must concatenate strings of the same kind"
 msgstr ""
 
-#: fortran/expr.cc:2645
+#: fortran/expr.cc:2676
 #, gcc-internal-format, gfc-internal-format
 msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
 msgstr ""
 
-#: fortran/expr.cc:2661
+#: fortran/expr.cc:2692
 #, gcc-internal-format, gfc-internal-format
 msgid "LOGICAL operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2672
+#: fortran/expr.cc:2703
 #, gcc-internal-format, gfc-internal-format
 msgid "Only intrinsic operators can be used in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2680
+#: fortran/expr.cc:2711
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2703
+#: fortran/expr.cc:2734
 #, gcc-internal-format
 msgid ""
 "Invalid initialization expression for ALLOCATABLE component %qs in structure "
 "constructor at %L"
 msgstr ""
 
-#: fortran/expr.cc:2840
+#: fortran/expr.cc:2871
 #, gcc-internal-format
 msgid ""
 "Assumed or deferred character length variable %qs in constant expression at "
 "%L"
 msgstr ""
 
-#: fortran/expr.cc:2924
+#: fortran/expr.cc:2955
 #, gcc-internal-format
 msgid ""
 "transformational intrinsic %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:2955
+#: fortran/expr.cc:2986
 #, gcc-internal-format, gfc-internal-format
 msgid "Evaluation of nonstandard initialization expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3032 fortran/resolve.cc:2862
+#: fortran/expr.cc:3063 fortran/resolve.cc:2890
 #, gcc-internal-format
 msgid ""
 "Function %qs in initialization expression at %L must be an intrinsic function"
 msgstr ""
 
-#: fortran/expr.cc:3044
+#: fortran/expr.cc:3075
 #, gcc-internal-format
 msgid ""
 "Intrinsic function %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3083
+#: fortran/expr.cc:3114
 #, gcc-internal-format
 msgid "PARAMETER %qs is used at %L before its definition is complete"
 msgstr ""
 
-#: fortran/expr.cc:3103
+#: fortran/expr.cc:3134
 #, gcc-internal-format
 msgid ""
 "Assumed size array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3109
+#: fortran/expr.cc:3140
 #, gcc-internal-format
 msgid ""
 "Assumed shape array %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:3118
+#: fortran/expr.cc:3149
 #, gcc-internal-format
 msgid ""
 "Assumed-shape array %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:3122
+#: fortran/expr.cc:3153
 #, gcc-internal-format
 msgid ""
 "Deferred array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3128
+#: fortran/expr.cc:3159
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L is a variable, which does not reduce to a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:3134
+#: fortran/expr.cc:3165
 #, gcc-internal-format
 msgid ""
 "Assumed-rank array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3144
+#: fortran/expr.cc:3175
 #, gcc-internal-format
 msgid ""
 "Parameter %qs at %L has not been declared or is a variable, which does not "
 "reduce to a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:3198
+#: fortran/expr.cc:3229
 #, gcc-internal-format
 msgid "check_init_expr(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:3333
+#: fortran/expr.cc:3369
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be a statement function"
 msgstr ""
 
-#: fortran/expr.cc:3340
+#: fortran/expr.cc:3376
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be an internal function"
 msgstr ""
 
-#: fortran/expr.cc:3347
+#: fortran/expr.cc:3383
 #, gcc-internal-format
 msgid "Specification function %qs at %L must be PURE"
 msgstr ""
 
-#: fortran/expr.cc:3355
+#: fortran/expr.cc:3391
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be RECURSIVE"
 msgstr ""
 
-#: fortran/expr.cc:3502
+#: fortran/expr.cc:3538
 #, gcc-internal-format
 msgid "Dummy argument %qs not allowed in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3510
+#: fortran/expr.cc:3546
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be OPTIONAL"
 msgstr ""
 
-#: fortran/expr.cc:3517
+#: fortran/expr.cc:3553
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be INTENT(OUT)"
 msgstr ""
 
-#: fortran/expr.cc:3539
+#: fortran/expr.cc:3575
 #, gcc-internal-format
 msgid "Variable %qs cannot appear in the expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3570
+#: fortran/expr.cc:3606
 #, gcc-internal-format
 msgid "check_restricted(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:3590
+#: fortran/expr.cc:3626
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/expr.cc:3602
+#: fortran/expr.cc:3638
 #, gcc-internal-format
 msgid "Function %qs at %L must be PURE"
 msgstr ""
 
-#: fortran/expr.cc:3611
+#: fortran/expr.cc:3647
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be scalar"
 msgstr ""
 
 #. Reject truncation.
-#: fortran/expr.cc:3643
+#: fortran/expr.cc:3679
 #, gcc-internal-format, gfc-internal-format
 msgid "optype_msgid overflow: %d"
 msgstr ""
 
-#: fortran/expr.cc:3647
+#: fortran/expr.cc:3683
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks in %s (%d and %d) at %L"
 msgstr ""
 
-#: fortran/expr.cc:3661
+#: fortran/expr.cc:3697
 #, gcc-internal-format, gfc-internal-format
 msgid "Different shape for %s at %L on dimension %d (%d and %d)"
 msgstr ""
 
-#: fortran/expr.cc:3709
+#: fortran/expr.cc:3745
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a LEN or KIND part_ref at %L is not allowed"
 msgstr ""
 
-#: fortran/expr.cc:3765
+#: fortran/expr.cc:3801
 #, gcc-internal-format
 msgid "%qs at %L is not a VALUE"
 msgstr ""
 
-#: fortran/expr.cc:3776
+#: fortran/expr.cc:3812
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal assignment to external procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:3784
+#: fortran/expr.cc:3820
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks %d and %d in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3791
+#: fortran/expr.cc:3827
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable type is UNKNOWN in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3803
+#: fortran/expr.cc:3839
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL appears on right-hand side in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3813
+#: fortran/expr.cc:3849
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER-valued function appears on right-hand side of assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3856
+#: fortran/expr.cc:3892
 #, gcc-internal-format
 msgid "BOZ literal constant near %L cannot be assigned to a %qs variable"
 msgstr ""
 
-#: fortran/expr.cc:3863
+#: fortran/expr.cc:3899
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The assignment to a KIND or LEN component of a parameterized type at %L is "
 "not allowed"
 msgstr ""
 
-#: fortran/expr.cc:3893
+#: fortran/expr.cc:3930
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Incompatible types in DATA statement at %L; attempted conversion of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:3937
+#: fortran/expr.cc:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is not a POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:3945
+#: fortran/expr.cc:3982
 #, gcc-internal-format
 msgid ""
 "%qs in the pointer assignment at %L cannot be an l-value since it is a "
 "procedure"
 msgstr ""
 
-#: fortran/expr.cc:3969
+#: fortran/expr.cc:4006
 #, gcc-internal-format
 msgid "Expected bounds specification for %qs at %L"
 msgstr ""
 
-#: fortran/expr.cc:3974
+#: fortran/expr.cc:4011
 #, gcc-internal-format
 msgid "Bounds specification for %qs in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4003
+#: fortran/expr.cc:4040
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride must not be present at %L"
 msgstr ""
 
-#: fortran/expr.cc:4009 fortran/expr.cc:4029
+#: fortran/expr.cc:4046 fortran/expr.cc:4066
 #, gcc-internal-format
 msgid ""
 "Rank remapping requires a list of %<lower-bound : upper-bound%> "
 "specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:4017 fortran/expr.cc:4036
+#: fortran/expr.cc:4054 fortran/expr.cc:4073
 #, gcc-internal-format
 msgid ""
 "Expected list of %<lower-bound :%> or list of %<lower-bound : upper-bound%> "
 "specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:4063
+#: fortran/expr.cc:4100
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4084
+#: fortran/expr.cc:4121
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4109
+#: fortran/expr.cc:4146
 #, gcc-internal-format
 msgid ""
 "Function result %qs is invalid as proc-target in procedure pointer "
 "assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4118
+#: fortran/expr.cc:4155
 #, gcc-internal-format
 msgid "Abstract interface %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4128
+#: fortran/expr.cc:4165
 #, gcc-internal-format
 msgid "Statement function %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4134
+#: fortran/expr.cc:4171
 #, gcc-internal-format
 msgid "Internal procedure %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4141
+#: fortran/expr.cc:4178
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment"
 msgstr ""
 
-#: fortran/expr.cc:4149
+#: fortran/expr.cc:4186
 #, gcc-internal-format
 msgid ""
 "Nonintrinsic elemental procedure %qs is invalid in procedure pointer "
 "assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4172
+#: fortran/expr.cc:4209
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Mismatch in the procedure pointer assignment at %L: mismatch in the calling "
 "convention"
 msgstr ""
 
-#: fortran/expr.cc:4225
+#: fortran/expr.cc:4262
 #, gcc-internal-format
 msgid ""
 "Interface mismatch in procedure pointer assignment at %L: %qs is not a "
 "subroutine"
 msgstr ""
 
-#: fortran/expr.cc:4235 fortran/expr.cc:4250
+#: fortran/expr.cc:4272 fortran/expr.cc:4287
 #, gcc-internal-format
 msgid "Explicit interface required for component %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4241 fortran/expr.cc:4256 fortran/resolve.cc:2742
+#: fortran/expr.cc:4278 fortran/expr.cc:4293 fortran/resolve.cc:2764
 #, gcc-internal-format
 msgid "Explicit interface required for %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4268
+#: fortran/expr.cc:4305
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch in procedure pointer assignment at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4277
+#: fortran/expr.cc:4314
 #, gcc-internal-format
 msgid ""
 "Procedure pointer target %qs at %L must be either an intrinsic, host or use "
 "associated, referenced or have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/expr.cc:4290
+#: fortran/expr.cc:4327
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target cannot be a constant at %L"
 msgstr ""
 
-#: fortran/expr.cc:4304
+#: fortran/expr.cc:4341
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Data-pointer-object at %L must be unlimited polymorphic, or of a type with "
@@ -75365,392 +76805,412 @@ msgid ""
 "polymorphic target"
 msgstr ""
 
-#: fortran/expr.cc:4309
+#: fortran/expr.cc:4346
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Different types in pointer assignment at %L; attempted assignment of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:4317
+#: fortran/expr.cc:4354
 #, gcc-internal-format, gfc-internal-format
 msgid "Different kind type parameters in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4324
+#: fortran/expr.cc:4361
 #, gcc-internal-format, gfc-internal-format
 msgid "Different ranks in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4343
+#: fortran/expr.cc:4382
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Rank remapping target is smaller than size of the pointer (%ld < %ld) at %L"
 msgstr ""
 
-#: fortran/expr.cc:4356
+#: fortran/expr.cc:4398
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"The assumed rank target at %L is an experimental F202y feature. Use option -"
+"std=f202y to enable"
+msgstr ""
+
+#: fortran/expr.cc:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target must be rank 1 or simply contiguous at %L"
 msgstr ""
 
-#: fortran/expr.cc:4360
+#: fortran/expr.cc:4414
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target is not rank 1 at %L"
 msgstr ""
 
+#: fortran/expr.cc:4421
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"The data-target at %L is an assumed rank object and so the data-pointer-"
+"object %s must have a bounds remapping list (list of lbound:ubound for each "
+"dimension)"
+msgstr ""
+
+#: fortran/expr.cc:4430
+#, gcc-internal-format, gfc-internal-format
+msgid "The assumed rank data-target at %L must be contiguous"
+msgstr ""
+
 #. The test above might need to be extend when F08, Note 5.4 has to be
 #. interpreted in the way that target and pointer with the same coindex
 #. are allowed.
-#: fortran/expr.cc:4385 fortran/expr.cc:4511
+#: fortran/expr.cc:4454 fortran/expr.cc:4580
 #, gcc-internal-format, gfc-internal-format
 msgid "Data target at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4388
+#: fortran/expr.cc:4457
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Target expression in pointer assignment at %L must deliver a pointer result"
 msgstr ""
 
-#: fortran/expr.cc:4402
+#: fortran/expr.cc:4471
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Zero-sized array detected at %L where an entity with the TARGET attribute is "
 "expected"
 msgstr ""
 
-#: fortran/expr.cc:4408 fortran/expr.cc:4423
+#: fortran/expr.cc:4477 fortran/expr.cc:4492
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Pointer assignment target in initialization expression does not have the "
 "TARGET attribute at %L"
 msgstr ""
 
-#: fortran/expr.cc:4439
+#: fortran/expr.cc:4508
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Every subscript of target specification at %L must be a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:4450
+#: fortran/expr.cc:4519
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Substring starting and ending points of target specification at %L must be "
 "constant expressions"
 msgstr ""
 
-#: fortran/expr.cc:4466
+#: fortran/expr.cc:4535
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:4481
+#: fortran/expr.cc:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad target in pointer assignment in PURE procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:4490
+#: fortran/expr.cc:4559
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment with vector subscript on rhs at %L"
 msgstr ""
 
-#: fortran/expr.cc:4498
+#: fortran/expr.cc:4567
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target has PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/expr.cc:4526 fortran/expr.cc:4531
+#: fortran/expr.cc:4595 fortran/expr.cc:4600
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to contiguous pointer from non-contiguous target at %L"
 msgstr ""
 
-#: fortran/expr.cc:4571
+#: fortran/expr.cc:4640
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer at %L in pointer assignment might outlive the pointer target"
 msgstr ""
 
-#: fortran/expr.cc:4647 fortran/resolve.cc:1565
+#: fortran/expr.cc:4720 fortran/resolve.cc:1575
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/expr.cc:4653
+#: fortran/expr.cc:4726
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the TARGET attribute"
 msgstr ""
 
-#: fortran/expr.cc:4668 fortran/resolve.cc:1571
+#: fortran/expr.cc:4741 fortran/resolve.cc:1581
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/expr.cc:4680
+#: fortran/expr.cc:4753
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Procedure pointer initialization target at %L may not be a procedure pointer"
 msgstr ""
 
-#: fortran/expr.cc:4686
+#: fortran/expr.cc:4759
 #, gcc-internal-format
 msgid ""
 "Internal procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr ""
 
-#: fortran/expr.cc:4693
+#: fortran/expr.cc:4766
 #, gcc-internal-format
 msgid ""
 "Dummy procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr ""
 
-#: fortran/expr.cc:5161
+#: fortran/expr.cc:5250
 #, gcc-internal-format
 msgid ""
 "generate_isocbinding_initializer(): bad iso_c_binding type, expected "
 "%<c_ptr%> or %<c_funptr%>"
 msgstr ""
 
-#: fortran/expr.cc:6276
+#: fortran/expr.cc:6377
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Fortran 2008: Pointer functions in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6284
+#: fortran/expr.cc:6385
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-variable expression in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6292
+#: fortran/expr.cc:6393
 #, gcc-internal-format
 msgid "Named constant %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6303
+#: fortran/expr.cc:6404
 #, gcc-internal-format
 msgid "%qs in variable definition context (%s) at %L is not a variable"
 msgstr ""
 
-#: fortran/expr.cc:6314
+#: fortran/expr.cc:6415
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-POINTER in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6323
+#: fortran/expr.cc:6424
 #, gcc-internal-format, gfc-internal-format
 msgid "Type inaccessible in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6336
+#: fortran/expr.cc:6437
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_TYPE in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6349
+#: fortran/expr.cc:6450
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_EVENT in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6380
+#: fortran/expr.cc:6481
 #, gcc-internal-format
 msgid "%qs parameter inquiry for %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6397
+#: fortran/expr.cc:6498
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6407
+#: fortran/expr.cc:6508
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6420
+#: fortran/expr.cc:6524
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a pointer association context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6428
+#: fortran/expr.cc:6532
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a variable definition context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6443
+#: fortran/expr.cc:6547
 #, gcc-internal-format
 msgid ""
 "Variable %qs cannot appear in a variable definition context (%s) at %L in "
 "PURE procedure"
 msgstr ""
 
-#: fortran/expr.cc:6503 fortran/expr.cc:6524
+#: fortran/expr.cc:6607 fortran/expr.cc:6628
 #, 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:6508
+#: fortran/expr.cc:6612
 #, gcc-internal-format
 msgid ""
 "%qs at %L associated to expression cannot be used in a variable definition "
 "context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6517
+#: fortran/expr.cc:6621
 #, gcc-internal-format
 msgid ""
 "%qs at %L associated to pointer function target being used in a variable "
 "definition context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6536
+#: fortran/expr.cc:6640
 #, 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:6578
+#: fortran/expr.cc:6682
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Elements with the same value at %L and %L in vector subscript in a variable "
 "definition context (%s)"
 msgstr ""
 
-#: fortran/frontend-passes.cc:195
+#: fortran/frontend-passes.cc:201
 #, gcc-internal-format
 msgid "Inconsistent internal state: No location in statement"
 msgstr ""
 
-#: fortran/frontend-passes.cc:211
+#: fortran/frontend-passes.cc:223
 #, gcc-internal-format, gfc-internal-format
 msgid "Inconsistent internal state: No location in expression near %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:419
+#: fortran/frontend-passes.cc:420
 #, gcc-internal-format
 msgid "Illegal id in copy_walk_reduction_arg"
 msgstr ""
 
-#: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1514
-#: fortran/trans-array.cc:7194 fortran/trans-array.cc:8856
-#: fortran/trans-intrinsic.cc:8475
+#: fortran/frontend-passes.cc:874 fortran/trans-array.cc:1563
+#: fortran/trans-array.cc:7426 fortran/trans-array.cc:9236
+#: fortran/trans-intrinsic.cc:9151
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:897
+#: fortran/frontend-passes.cc:901
 #, gcc-internal-format
 msgid "Removing call to impure function %qs at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:901
+#: fortran/frontend-passes.cc:905
 #, gcc-internal-format, gfc-internal-format
 msgid "Removing call to impure function at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:1356 fortran/frontend-passes.cc:1395
+#: fortran/frontend-passes.cc:1360 fortran/frontend-passes.cc:1399
 #, gcc-internal-format
 msgid "bad expression"
 msgstr ""
 
-#: fortran/frontend-passes.cc:1391
+#: fortran/frontend-passes.cc:1395
 #, gcc-internal-format
 msgid "bad op"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2175
+#: fortran/frontend-passes.cc:2180
 #, gcc-internal-format
 msgid "illegal OP in optimize_comparison"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2352
+#: fortran/frontend-passes.cc:2313
 #, gcc-internal-format
 msgid ""
 "Index variable %qs set to undefined as INTENT(OUT) argument at %L in "
 "procedure %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2361
+#: fortran/frontend-passes.cc:2322
 #, gcc-internal-format
 msgid ""
 "Index variable %qs not definable as INTENT(INOUT) argument at %L in "
 "procedure %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2499
+#: fortran/frontend-passes.cc:2460
 #, gcc-internal-format
 msgid ""
 "Index variable %qs set to undefined as INTENT(OUT) argument at %L in "
 "subroutine %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2508
+#: fortran/frontend-passes.cc:2469
 #, gcc-internal-format
 msgid ""
 "Index variable %qs not definable as INTENT(INOUT) argument at %L in "
 "subroutine %qs called from within DO loop at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2661
+#: fortran/frontend-passes.cc:2622
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L set to undefined value inside loop beginning at %L as "
 "INTENT(OUT) argument to subroutine %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2668
+#: fortran/frontend-passes.cc:2629
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L not definable inside loop beginning at %L as "
 "INTENT(INOUT) argument to subroutine %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2931 fortran/frontend-passes.cc:2957
+#: fortran/frontend-passes.cc:2892 fortran/frontend-passes.cc:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L out of bounds (%ld < %ld) in loop beginning at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2941 fortran/frontend-passes.cc:2967
+#: fortran/frontend-passes.cc:2902 fortran/frontend-passes.cc:2928
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L out of bounds (%ld > %ld) in loop beginning at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3059
+#: fortran/frontend-passes.cc:3020
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L set to undefined value inside loop beginning at %L as "
 "INTENT(OUT) argument to function %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3065
+#: fortran/frontend-passes.cc:3026
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L not definable inside loop beginning at %L as "
 "INTENT(INOUT) argument to function %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3481 fortran/trans-expr.cc:1932
+#: fortran/frontend-passes.cc:3442 fortran/trans-expr.cc:2037
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable array at %L will be added"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4006
+#: fortran/frontend-passes.cc:3967
 #, gcc-internal-format
 msgid "Scalarization using DIMEN_RANGE unimplemented"
 msgstr ""
 
-#: fortran/frontend-passes.cc:5215
+#: fortran/frontend-passes.cc:5176
 #, gcc-internal-format, gfc-internal-format
 msgid "Interchanging loops at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:5855
+#: fortran/frontend-passes.cc:5825
 #, gcc-internal-format, gfc-internal-format
 msgid "%s between %L and %L"
 msgstr ""
@@ -75825,242 +77285,272 @@ msgstr ""
 msgid "Expecting %<END INTERFACE %s%> at %C"
 msgstr ""
 
-#: fortran/interface.cc:648
+#: fortran/interface.cc:655
 #, gcc-internal-format
 msgid "gfc_compare_derived_types: invalid derived type"
 msgstr ""
 
-#: fortran/interface.cc:936
+#: fortran/interface.cc:943
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate return cannot appear in operator interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:965
+#: fortran/interface.cc:972
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment operator interface at %L must have two arguments"
 msgstr ""
 
-#: fortran/interface.cc:968
+#: fortran/interface.cc:975
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L has the wrong number of arguments"
 msgstr ""
 
-#: fortran/interface.cc:981
+#: fortran/interface.cc:988
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment operator interface at %L must be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.cc:999
+#: fortran/interface.cc:1006
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assignment operator interface at %L must not redefine an INTRINSIC type "
 "assignment"
 msgstr ""
 
-#: fortran/interface.cc:1008
+#: fortran/interface.cc:1015
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic operator interface at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.cc:1019
+#: fortran/interface.cc:1026
 #, 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:1026
+#: fortran/interface.cc:1033
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1035 fortran/resolve.cc:18228
+#: fortran/interface.cc:1042 fortran/resolve.cc:19621
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1042 fortran/resolve.cc:18246
+#: fortran/interface.cc:1049 fortran/resolve.cc:19639
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1147
+#: fortran/interface.cc:1154
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L conflicts with intrinsic interface"
 msgstr ""
 
-#: fortran/interface.cc:1511 fortran/interface.cc:1583
+#: fortran/interface.cc:1518 fortran/interface.cc:1590
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_dummy_characteristics: Unexpected result %i of gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1696
+#: fortran/interface.cc:1715
+#, gcc-internal-format, gfc-internal-format
+msgid "Possible character length mismatch in function result between %L and %L"
+msgstr ""
+
+#: fortran/interface.cc:1724
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (1): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1743
+#: fortran/interface.cc:1771
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (2): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1940
+#: fortran/interface.cc:1968
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:1945
+#: fortran/interface.cc:1973
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:1949
+#: fortran/interface.cc:1977
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in %s at %L is neither function nor subroutine; did you mean "
 "%qs?"
 msgstr ""
 
-#: fortran/interface.cc:1953
+#: fortran/interface.cc:1981
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L is neither function nor subroutine"
 msgstr ""
 
-#: fortran/interface.cc:1965
+#: fortran/interface.cc:1993
 #, gcc-internal-format, gfc-internal-format
 msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
 msgstr ""
 
-#: fortran/interface.cc:1969
+#: fortran/interface.cc:1997
 #, 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:1977
+#: fortran/interface.cc:2005
 #, gcc-internal-format
 msgid "Internal procedure %qs in %s at %L"
 msgstr ""
 
-#: fortran/interface.cc:2034 fortran/interface.cc:2039
+#: fortran/interface.cc:2062 fortran/interface.cc:2067
 #, gcc-internal-format
 msgid "Ambiguous interfaces in %s for %qs at %L and %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:2044
+#: fortran/interface.cc:2072
 #, gcc-internal-format
 msgid "Although not referenced, %qs has ambiguous interfaces at %L"
 msgstr ""
 
-#: fortran/interface.cc:2082
+#: fortran/interface.cc:2110
 #, gcc-internal-format
 msgid "%qs at %L is not a module procedure"
 msgstr ""
 
-#: fortran/interface.cc:2287
+#: fortran/interface.cc:2315
 #, gcc-internal-format
 msgid ""
 "The assumed-rank array at %L requires that the dummy argument %qs has "
 "assumed-rank"
 msgstr ""
 
-#: fortran/interface.cc:2290
+#: fortran/interface.cc:2318
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (scalar and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2293
+#: fortran/interface.cc:2321
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and scalar)"
 msgstr ""
 
-#: fortran/interface.cc:2296
+#: fortran/interface.cc:2324
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2308
+#: fortran/interface.cc:2336
 #, 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:2312
+#: fortran/interface.cc:2340
 #, 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:2316
+#: fortran/interface.cc:2344
 #, 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:2439
+#: fortran/interface.cc:2468
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:2448 fortran/interface.cc:2457
-#: fortran/interface.cc:2484
+#: fortran/interface.cc:2480
+#, gcc-internal-format, gfc-internal-format
+msgid "Interface mismatch in dummy procedure at %L conflicts with %L: %s"
+msgstr ""
+
+#: fortran/interface.cc:2484 fortran/interface.cc:2500
+#: fortran/interface.cc:2573
 #, gcc-internal-format
 msgid "Interface mismatch in dummy procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:2495
+#: fortran/interface.cc:2496
+#, gcc-internal-format, gfc-internal-format
+msgid "Interface mismatch in dummy procedure at %L conflichts with %L: %s"
+msgstr ""
+
+#: fortran/interface.cc:2519
+#, gcc-internal-format
+msgid "Passing global subroutine %qs declared at %L as function at %L"
+msgstr ""
+
+#: fortran/interface.cc:2526
+#, gcc-internal-format
+msgid "Passing global function %qs declared at %L as subroutine at %L"
+msgstr ""
+
+#: fortran/interface.cc:2540
+#, gcc-internal-format
+msgid "Type mismatch at %L passing global function %qs declared at %L (%s/%s)"
+msgstr ""
+
+#: fortran/interface.cc:2584
 #, gcc-internal-format
 msgid ""
 "Actual argument to contiguous pointer dummy %qs at %L must be simply "
 "contiguous"
 msgstr ""
 
-#: fortran/interface.cc:2518
+#: fortran/interface.cc:2607
 #, 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:2528
+#: fortran/interface.cc:2617
 #, gcc-internal-format
 msgid "Type mismatch in argument %qs at %L; passed %s to %s"
 msgstr ""
 
-#: fortran/interface.cc:2538
+#: fortran/interface.cc:2627
 #, gcc-internal-format
 msgid ""
 "Assumed-type actual argument at %L requires that dummy argument %qs is of "
 "assumed type"
 msgstr ""
 
-#: fortran/interface.cc:2552
+#: fortran/interface.cc:2641
 #, 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:2569
+#: fortran/interface.cc:2658
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be polymorphic"
 msgstr ""
 
-#: fortran/interface.cc:2579
+#: fortran/interface.cc:2668
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must have the same declared type"
 msgstr ""
 
-#: fortran/interface.cc:2594
+#: fortran/interface.cc:2683
 #, gcc-internal-format
 msgid ""
 "Actual argument to %qs at %L must be unlimited polymorphic since the formal "
@@ -76068,38 +77558,38 @@ msgid ""
 "12.5.2.5]"
 msgstr ""
 
-#: fortran/interface.cc:2610
+#: fortran/interface.cc:2699
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be a coarray"
 msgstr ""
 
-#: fortran/interface.cc:2632
+#: fortran/interface.cc:2721
 #, gcc-internal-format
 msgid "Corank mismatch in argument %qs at %L (%d and %d)"
 msgstr ""
 
-#: fortran/interface.cc:2650
+#: fortran/interface.cc:2739
 #, 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:2665
+#: fortran/interface.cc:2754
 #, 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:2680
+#: fortran/interface.cc:2769
 #, 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:2699
+#: fortran/interface.cc:2788
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array "
@@ -76107,244 +77597,250 @@ msgid ""
 "contiguous and both are ASYNCHRONOUS or VOLATILE"
 msgstr ""
 
-#: fortran/interface.cc:2712
+#: fortran/interface.cc:2801
 #, gcc-internal-format
 msgid ""
 "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument "
 "%qs"
 msgstr ""
 
-#: fortran/interface.cc:2719
+#: fortran/interface.cc:2808
 #, 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:2805
+#: fortran/interface.cc:2895
 #, gcc-internal-format
 msgid "Polymorphic scalar passed to array dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:2816
+#: fortran/interface.cc:2906
 #, 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:2821
+#: fortran/interface.cc:2911
 #, gcc-internal-format
 msgid ""
 "Element of assumed-shape or pointer array passed to array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:2834
+#: fortran/interface.cc:2924
 #, 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:2842
+#: fortran/interface.cc:2932
 #, gcc-internal-format
 msgid ""
 "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3230
+#: fortran/interface.cc:3321
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is invalid in a statement function"
 msgstr ""
 
-#: fortran/interface.cc:3253
+#: fortran/interface.cc:3344
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:3257
+#: fortran/interface.cc:3348
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure"
 msgstr ""
 
-#: fortran/interface.cc:3266
+#: fortran/interface.cc:3357
 #, gcc-internal-format
 msgid ""
 "Keyword argument %qs at %L is already associated with another actual argument"
 msgstr ""
 
-#: fortran/interface.cc:3276
+#: fortran/interface.cc:3367
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in procedure call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3289
+#: fortran/interface.cc:3380
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3303
+#: fortran/interface.cc:3394
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3326
+#: fortran/interface.cc:3417
 #, gcc-internal-format
 msgid ""
 "Intrinsic %<NULL()%> without %<MOLD%> argument at %L passed to assumed-rank "
 "dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3340
+#: fortran/interface.cc:3430
+#, gcc-internal-format
+msgid ""
+"The assumed-size dummy %qs is being passed at %L to an assumed-rank dummy %qs"
+msgstr ""
+
+#: fortran/interface.cc:3441
 #, gcc-internal-format
 msgid ""
 "Intrinsic %<NULL()%> without %<MOLD%> argument at %L passed to assumed-"
 "length dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3362
+#: fortran/interface.cc:3481
 #, gcc-internal-format
 msgid "Unexpected NULL() intrinsic at %L to dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3365
+#: fortran/interface.cc:3484
 #, gcc-internal-format
 msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3391
+#: fortran/interface.cc:3510
 #, 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:3403
+#: fortran/interface.cc:3522
 #, 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:3427
+#: fortran/interface.cc:3546
 #, 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:3434
+#: fortran/interface.cc:3553
 #, gcc-internal-format
 msgid ""
 "Character length mismatch (%ld/%ld) between actual argument and assumed-"
 "shape dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3449
+#: fortran/interface.cc:3568
 #, 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:3472
+#: fortran/interface.cc:3591
 #, gcc-internal-format
 msgid ""
 "Character length of actual argument shorter than of dummy argument %qs (%lu/"
 "%lu) at %L"
 msgstr ""
 
-#: fortran/interface.cc:3482 fortran/interface.cc:3487
+#: fortran/interface.cc:3601 fortran/interface.cc:3606
 #, gcc-internal-format
 msgid ""
 "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3508
+#: fortran/interface.cc:3632
 #, gcc-internal-format
 msgid "Expected a procedure pointer for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3525
+#: fortran/interface.cc:3649
 #, gcc-internal-format
 msgid "Expected a procedure for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3590
+#: fortran/interface.cc:3716
 #, gcc-internal-format
 msgid "Actual argument for %qs cannot be an assumed-size array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3619
+#: fortran/interface.cc:3745
 #, gcc-internal-format
 msgid ""
 "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of "
 "unknown size"
 msgstr ""
 
-#: fortran/interface.cc:3634
+#: fortran/interface.cc:3760
 #, gcc-internal-format
 msgid "Actual argument for %qs at %L must be a pointer"
 msgstr ""
 
-#: fortran/interface.cc:3643
+#: fortran/interface.cc:3769
 #, gcc-internal-format
 msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3652
+#: fortran/interface.cc:3778
 #, 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:3666
+#: fortran/interface.cc:3792
 #, gcc-internal-format
 msgid "Coindexed actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3680
+#: fortran/interface.cc:3806
 #, gcc-internal-format
 msgid ""
 "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:3695
+#: fortran/interface.cc:3821
 #, 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:3710
+#: fortran/interface.cc:3836
 #, 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:3723
+#: fortran/interface.cc:3849
 #, gcc-internal-format
 msgid "Actual CLASS array argument for %qs must be a full array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3734
+#: fortran/interface.cc:3860
 #, gcc-internal-format
 msgid "Actual argument for %qs must be ALLOCATABLE at %L"
 msgstr ""
 
-#: fortran/interface.cc:3745
+#: fortran/interface.cc:3871
 #, gcc-internal-format
 msgid ""
 "Actual argument for %qs at %L is a function result and the dummy argument is "
 "ALLOCATABLE"
 msgstr ""
 
-#: fortran/interface.cc:3783
+#: fortran/interface.cc:3909
 #, gcc-internal-format
 msgid ""
 "Array-section actual argument with vector subscripts at %L is incompatible "
@@ -76352,391 +77848,397 @@ msgid ""
 "dummy argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:3803
+#: fortran/interface.cc:3929
 #, 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:3821
+#: fortran/interface.cc:3947
 #, 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:3842
+#: fortran/interface.cc:3968
 #, 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:3870
+#: fortran/interface.cc:3996
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return spec in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3883
+#: fortran/interface.cc:4009
 #, gcc-internal-format
 msgid "Missing actual argument for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4011
+#: fortran/interface.cc:4137
 #, gcc-internal-format
 msgid "compare_actual_expr(): Bad component code"
 msgstr ""
 
-#: fortran/interface.cc:4040
+#: fortran/interface.cc:4166
 #, gcc-internal-format
 msgid "check_some_aliasing(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:4066
+#: fortran/interface.cc:4192
 #, gcc-internal-format
 msgid "check_some_aliasing(): corrupted data"
 msgstr ""
 
-#: fortran/interface.cc:4076
+#: fortran/interface.cc:4202
 #, gcc-internal-format
 msgid ""
 "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) "
 "argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4106
+#: fortran/interface.cc:4232
 #, gcc-internal-format
 msgid "check_intents(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:4126
+#: fortran/interface.cc:4252
 #, 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:4138
+#: fortran/interface.cc:4264
 #, 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:4148
+#: fortran/interface.cc:4274
 #, 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:4159
+#: fortran/interface.cc:4285
 #, gcc-internal-format
 msgid ""
 "Coindexed polymorphic actual argument at %L is passed polymorphic dummy "
 "argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:4201
+#: fortran/interface.cc:4327
 #, gcc-internal-format
 msgid ""
 "Procedure %qs called at %L is not explicitly declared; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:4205 fortran/interface.cc:4215
+#: fortran/interface.cc:4331 fortran/interface.cc:4341
 #, gcc-internal-format
 msgid "Procedure %qs called at %L is not explicitly declared"
 msgstr ""
 
-#: fortran/interface.cc:4211
+#: fortran/interface.cc:4337
 #, gcc-internal-format
 msgid "Procedure %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4224
+#: fortran/interface.cc:4350
 #, 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:4232
+#: fortran/interface.cc:4358
 #, 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:4240
+#: fortran/interface.cc:4366
 #, gcc-internal-format
 msgid "Allocatable function %qs at %L must have an explicit function interface"
 msgstr ""
 
-#: fortran/interface.cc:4257
+#: fortran/interface.cc:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit interface required for polymorphic argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:4266
+#: fortran/interface.cc:4392
 #, gcc-internal-format
 msgid "Keyword argument requires explicit interface for procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4275
+#: fortran/interface.cc:4401
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type argument %s at %L requires an explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:4290
+#: fortran/interface.cc:4416
 #, 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:4305
+#: fortran/interface.cc:4431
 #, 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:4315
+#: fortran/interface.cc:4441
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD argument to NULL required at %L"
 msgstr ""
 
-#: fortran/interface.cc:4323
+#: fortran/interface.cc:4449
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Passing intrinsic NULL as actual argument at %L requires an explicit "
 "interface"
 msgstr ""
 
-#: fortran/interface.cc:4333
+#: fortran/interface.cc:4459
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank argument requires an explicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4375
+#: fortran/interface.cc:4501
 #, gcc-internal-format
 msgid "Procedure pointer component %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4386
+#: fortran/interface.cc:4512
 #, gcc-internal-format
 msgid ""
 "Keyword argument requires explicit interface for procedure pointer component "
 "%qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4471
+#: fortran/interface.cc:4597
 #, 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:4541
+#: fortran/interface.cc:4667
 #, gcc-internal-format
 msgid "Unable to find symbol %qs"
 msgstr ""
 
-#: fortran/interface.cc:4925
+#: fortran/interface.cc:5051
 #, gcc-internal-format
 msgid "Entity %qs at %L is already present in the interface"
 msgstr ""
 
-#: fortran/interface.cc:5042
+#: fortran/interface.cc:5168
 #, gcc-internal-format
 msgid "gfc_add_interface(): Bad interface type"
 msgstr ""
 
-#: fortran/interface.cc:5136
+#: fortran/interface.cc:5262
 #, gcc-internal-format
 msgid "Cannot overwrite GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:5148
+#: fortran/interface.cc:5274
 #, gcc-internal-format
 msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE"
 msgstr ""
 
-#: fortran/interface.cc:5156
+#: fortran/interface.cc:5282
 #, gcc-internal-format
 msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
 msgstr ""
 
-#: fortran/interface.cc:5164
+#: fortran/interface.cc:5290
 #, gcc-internal-format
 msgid "%qs at %L overrides a PURE procedure and must also be PURE"
 msgstr ""
 
-#: fortran/interface.cc:5173
+#: fortran/interface.cc:5299
 #, gcc-internal-format
 msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
 msgstr ""
 
-#: fortran/interface.cc:5179
+#: fortran/interface.cc:5305
 #, gcc-internal-format
 msgid ""
 "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
 "either"
 msgstr ""
 
-#: fortran/interface.cc:5188
+#: fortran/interface.cc:5314
 #, gcc-internal-format
 msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.cc:5199
+#: fortran/interface.cc:5325
 #, gcc-internal-format
 msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.cc:5207
+#: fortran/interface.cc:5333
 #, gcc-internal-format
 msgid "Result mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5218
+#: fortran/interface.cc:5344
 #, gcc-internal-format
 msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE"
 msgstr ""
 
-#: fortran/interface.cc:5248
+#: fortran/interface.cc:5374
 #, 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:5259
+#: fortran/interface.cc:5385
 #, gcc-internal-format
 msgid "Argument mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5268
+#: fortran/interface.cc:5394
 #, gcc-internal-format
 msgid ""
 "%qs at %L must have the same number of formal arguments as the overridden "
 "procedure"
 msgstr ""
 
-#: fortran/interface.cc:5277
+#: fortran/interface.cc:5403
 #, gcc-internal-format
 msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS"
 msgstr ""
 
-#: fortran/interface.cc:5288
+#: fortran/interface.cc:5414
 #, gcc-internal-format
 msgid "%qs at %L overrides a binding with PASS and must also be PASS"
 msgstr ""
 
-#: fortran/interface.cc:5295
+#: fortran/interface.cc:5421
 #, 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:5316
+#: fortran/interface.cc:5442
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of type %s"
 msgstr ""
 
-#: fortran/interface.cc:5323
+#: fortran/interface.cc:5449
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of KIND = %d"
 msgstr ""
 
-#: fortran/interface.cc:5330
+#: fortran/interface.cc:5456
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be a scalar"
 msgstr ""
 
-#: fortran/interface.cc:5334
+#: fortran/interface.cc:5460
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY"
 msgstr ""
 
-#: fortran/interface.cc:5338
+#: fortran/interface.cc:5464
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO character argument at %L must have assumed length"
 msgstr ""
 
-#: fortran/interface.cc:5342
+#: fortran/interface.cc:5468
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must have INTENT %s"
 msgstr ""
 
-#: fortran/interface.cc:5400 fortran/interface.cc:5446
+#: fortran/interface.cc:5526 fortran/interface.cc:5572
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate return at %L is not permitted in a DTIO procedure"
 msgstr ""
 
-#: fortran/interface.cc:5412
+#: fortran/interface.cc:5538
 #, gcc-internal-format
 msgid "DTIO procedure %qs at %L must be a subroutine"
 msgstr ""
 
-#: fortran/interface.cc:5424
+#: fortran/interface.cc:5550
 #, gcc-internal-format
 msgid "Too few dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:5431
+#: fortran/interface.cc:5557
 #, gcc-internal-format
 msgid "Too many dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:261
+#: fortran/intrinsic.cc:268
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Variable with NO_ARG_CHECK attribute at %L is only permitted as argument to "
 "the intrinsic functions C_LOC and PRESENT"
 msgstr ""
 
-#: fortran/intrinsic.cc:277
+#: fortran/intrinsic.cc:284
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-type argument at %L is not permitted as actual argument to the "
 "intrinsic %s"
 msgstr ""
 
-#: fortran/intrinsic.cc:284
+#: fortran/intrinsic.cc:291
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-type argument at %L is only permitted as first actual argument to "
 "the intrinsic %s"
 msgstr ""
 
-#: fortran/intrinsic.cc:291
+#: fortran/intrinsic.cc:301
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-rank argument at %L is only permitted as actual argument to "
-"intrinsic inquiry functions"
+"intrinsic inquiry functions or to RESHAPE. The latter is an experimental "
+"F202y feature. Use -std=f202y to enable"
 msgstr ""
 
-#: fortran/intrinsic.cc:298
+#: fortran/intrinsic.cc:309
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-rank argument at %L is only permitted as first actual argument to "
 "the intrinsic inquiry function %s"
 msgstr ""
 
-#: fortran/intrinsic.cc:346
+#: fortran/intrinsic.cc:317
+#, gcc-internal-format, gfc-internal-format
+msgid "Assumed rank argument to the RESHAPE intrinsic at %L must be contiguous"
+msgstr ""
+
+#: fortran/intrinsic.cc:364
 #, gcc-internal-format
 msgid "do_check(): too many args"
 msgstr ""
 
-#: fortran/intrinsic.cc:426
+#: fortran/intrinsic.cc:444
 #, gcc-internal-format
 msgid "add_sym(): Bad sizing mode"
 msgstr ""
 
-#: fortran/intrinsic.cc:1186
+#: fortran/intrinsic.cc:1204
 #, gcc-internal-format
 msgid ""
 "The intrinsic %qs at %L is not included in the selected standard but %s and "
@@ -76744,146 +78246,146 @@ msgid ""
 "option or define %<-fall-intrinsics%> to allow this intrinsic."
 msgstr ""
 
-#: fortran/intrinsic.cc:1221
+#: fortran/intrinsic.cc:1239
 #, gcc-internal-format
 msgid "make_generic(): Cannot find generic symbol %qs"
 msgstr ""
 
-#: fortran/intrinsic.cc:4322
+#: fortran/intrinsic.cc:4403
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ALLOCATED intrinsic at %L requires an array or scalar allocatable entity"
 msgstr ""
 
-#: fortran/intrinsic.cc:4335
+#: fortran/intrinsic.cc:4416
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar entity required at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4346
+#: fortran/intrinsic.cc:4427
 #, gcc-internal-format, gfc-internal-format
 msgid "Array entity required at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4353
+#: fortran/intrinsic.cc:4434
 #, gcc-internal-format
 msgid "Invalid keyword %qs in %qs intrinsic function at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4380
+#: fortran/intrinsic.cc:4461
 #, gcc-internal-format
 msgid "Too many arguments in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4396
+#: fortran/intrinsic.cc:4477
 #, 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:4399
+#: fortran/intrinsic.cc:4480
 #, gcc-internal-format
 msgid "Cannot find keyword named %qs in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4406
+#: fortran/intrinsic.cc:4487
 #, gcc-internal-format
 msgid "Argument %qs appears twice in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4420
+#: fortran/intrinsic.cc:4501
 #, gcc-internal-format
 msgid "Missing actual argument %qs in call to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4436
+#: fortran/intrinsic.cc:4517
 #, gcc-internal-format, gfc-internal-format
 msgid "ALTERNATE RETURN not permitted at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4490
+#: fortran/intrinsic.cc:4571
 #, gcc-internal-format
 msgid "In call to %qs at %L, type mismatch in argument %qs; pass %qs to %qs"
 msgstr ""
 
-#: fortran/intrinsic.cc:4618
+#: fortran/intrinsic.cc:4699
 #, gcc-internal-format
 msgid "resolve_intrinsic(): Too many args for intrinsic"
 msgstr ""
 
-#: fortran/intrinsic.cc:4713
+#: fortran/intrinsic.cc:4794
 #, gcc-internal-format
 msgid "do_simplify(): Too many args for intrinsic"
 msgstr ""
 
-#: fortran/intrinsic.cc:4725
+#: fortran/intrinsic.cc:4806
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot simplify expression at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4758
+#: fortran/intrinsic.cc:4839
 #, gcc-internal-format
 msgid "init_arglist(): too many arguments"
 msgstr ""
 
-#: fortran/intrinsic.cc:4914
+#: fortran/intrinsic.cc:4999
 #, gcc-internal-format
 msgid "Invalid standard code on intrinsic %qs (%d)"
 msgstr ""
 
-#: fortran/intrinsic.cc:4923
+#: fortran/intrinsic.cc:5008
 #, gcc-internal-format
 msgid "Intrinsic %qs (%s) used at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:4995
+#: fortran/intrinsic.cc:5080
 #, gcc-internal-format
 msgid "Function %qs as initialization expression at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5014
+#: fortran/intrinsic.cc:5099
 #, gcc-internal-format
 msgid ""
 "Transformational function %qs at %L is invalid in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/intrinsic.cc:5090
+#: fortran/intrinsic.cc:5175
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Elemental function as initialization expression with non-integer/non-"
 "character arguments at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5181
+#: fortran/intrinsic.cc:5266
 #, gcc-internal-format
 msgid ""
 "Subroutine call to intrinsic %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/intrinsic.cc:5188
+#: fortran/intrinsic.cc:5273
 #, gcc-internal-format
 msgid "Subroutine call to intrinsic %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/intrinsic.cc:5291
+#: fortran/intrinsic.cc:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Conversion from %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5312
+#: fortran/intrinsic.cc:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonstandard conversion from %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5329 fortran/intrinsic.cc:5346
+#: fortran/intrinsic.cc:5415 fortran/intrinsic.cc:5432
 #, 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:5334 fortran/intrinsic.cc:5354
+#: fortran/intrinsic.cc:5420 fortran/intrinsic.cc:5440
 #, gcc-internal-format, gfc-internal-format
 msgid "Conversion from %s to %s at %L"
 msgstr ""
@@ -76891,31 +78393,31 @@ msgstr ""
 #. Use of -fdec-char-conversions allows assignment of character data
 #. to non-character variables.  This not permitted for nonconstant
 #. strings.
-#: fortran/intrinsic.cc:5420 fortran/resolve.cc:11511
+#: fortran/intrinsic.cc:5507 fortran/resolve.cc:12793
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot convert %s to %s at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5425
+#: fortran/intrinsic.cc:5512
 #, gcc-internal-format
 msgid "Cannot convert %qs to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5517
+#: fortran/intrinsic.cc:5605
 #, 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:5523
+#: fortran/intrinsic.cc:5611
 #, gcc-internal-format
 msgid ""
 "%qs declared at %L is also the name of an intrinsic.  It can only be called "
 "via an explicit interface or if declared EXTERNAL."
 msgstr ""
 
-#: fortran/io.cc:176 fortran/primary.cc:940
+#: fortran/io.cc:176 fortran/primary.cc:1043
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: backslash character at %C"
 msgstr ""
@@ -77358,7 +78860,7 @@ msgstr ""
 msgid "UNIT number in CLOSE statement at %L must be non-negative"
 msgstr ""
 
-#: fortran/io.cc:2846 fortran/match.cc:3131
+#: fortran/io.cc:2846 fortran/match.cc:3471
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement not allowed in PURE procedure at %C"
 msgstr ""
@@ -77459,7 +78961,7 @@ msgid ""
 "defined input/output procedure"
 msgstr ""
 
-#: fortran/io.cc:3422 fortran/resolve.cc:16056
+#: fortran/io.cc:3422 fortran/resolve.cc:17435
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER "
@@ -77589,7 +79091,7 @@ msgstr ""
 msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
 msgstr ""
 
-#: fortran/io.cc:4659 fortran/trans-io.cc:1358
+#: fortran/io.cc:4659 fortran/trans-io.cc:1364
 #, gcc-internal-format, gfc-internal-format
 msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
 msgstr ""
@@ -77631,6 +79133,11 @@ msgstr ""
 msgid "check_charlen_present(): length not set"
 msgstr ""
 
+#: fortran/iresolve.cc:3109
+#, gcc-internal-format, gfc-internal-format
+msgid "TODO: unlimited polymorphic MOLD in TRANSFER intrinsic at %L"
+msgstr ""
+
 #: fortran/match.cc:118
 #, gcc-internal-format
 msgid "gfc_op2string(): Bad code"
@@ -77658,7 +79165,7 @@ msgstr ""
 msgid "Integer too large at %C"
 msgstr ""
 
-#: fortran/match.cc:553 fortran/parse.cc:1499
+#: fortran/match.cc:553 fortran/parse.cc:1550
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many digits in statement label at %C"
 msgstr ""
@@ -77695,714 +79202,779 @@ msgid ""
 "extension"
 msgstr ""
 
-#: fortran/match.cc:934
+#: fortran/match.cc:939
 #, gcc-internal-format, gfc-internal-format
 msgid ".XOR. operator at %C"
 msgstr ""
 
-#: fortran/match.cc:989
+#: fortran/match.cc:994
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be an array"
 msgstr ""
 
-#: fortran/match.cc:996
+#: fortran/match.cc:1001
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be a coarray"
 msgstr ""
 
-#: fortran/match.cc:1002
+#: fortran/match.cc:1007
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be a sub-component"
 msgstr ""
 
-#: fortran/match.cc:1036
+#: fortran/match.cc:1041
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a step value in iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:1048
+#: fortran/match.cc:1053
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:1221
+#: fortran/match.cc:1226
 #, gcc-internal-format, gfc-internal-format
 msgid "gfc_match(): Bad match code %c"
 msgstr ""
 
-#: fortran/match.cc:1295
+#: fortran/match.cc:1300
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of PROGRAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1339
+#: fortran/match.cc:1344
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "BOZ literal constant at %L is neither a DATA statement value nor an actual "
 "argument of INT/REAL/DBLE/CMPLX intrinsic subprogram"
 msgstr ""
 
-#: fortran/match.cc:1348
+#: fortran/match.cc:1353
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a constant expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1452 fortran/match.cc:1543
+#: fortran/match.cc:1457 fortran/match.cc:1548
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1499
+#: fortran/match.cc:1504
 #, gcc-internal-format
 msgid "Missing %<(%> in IF-expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1517
+#: fortran/match.cc:1522
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IF-expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1528
+#: fortran/match.cc:1533
 #, gcc-internal-format, gfc-internal-format
 msgid "Block label not appropriate for arithmetic IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1566
+#: fortran/match.cc:1571
 #, gcc-internal-format, gfc-internal-format
 msgid "Block label is not appropriate for IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1659 fortran/match.cc:1666
+#: fortran/match.cc:1664 fortran/match.cc:1671
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IF-clause after %C"
 msgstr ""
 
-#: fortran/match.cc:1709
+#: fortran/match.cc:1714
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid character(s) in ELSE statement after %C"
 msgstr ""
 
-#: fortran/match.cc:1715
+#: fortran/match.cc:1720
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match IF label %qs"
 msgstr ""
 
-#: fortran/match.cc:1736
+#: fortran/match.cc:1741
 #, gcc-internal-format
 msgid "Missing %<(%> in ELSE IF expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1746
+#: fortran/match.cc:1751
 #, gcc-internal-format
 msgid "Missing %<)%> in ELSE IF expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1761
+#: fortran/match.cc:1766
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing THEN in ELSE IF statement after %L"
 msgstr ""
 
-#: fortran/match.cc:1769
+#: fortran/match.cc:1774
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ELSE IF statement after %L"
 msgstr ""
 
-#: fortran/match.cc:1775
+#: fortran/match.cc:1780
 #, gcc-internal-format
 msgid "Label %qs after %L doesn't match IF label %qs"
 msgstr ""
 
-#: fortran/match.cc:1836
+#: fortran/match.cc:1841
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement CRITICAL at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:1842
+#: fortran/match.cc:1847
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement CRITICAL at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:1849
+#: fortran/match.cc:1854
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1861
+#: fortran/match.cc:1866
 #, gcc-internal-format, gfc-internal-format
 msgid "Nested CRITICAL block at %C"
 msgstr ""
 
-#: fortran/match.cc:1913
+#: fortran/match.cc:1918
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected association list at %C"
 msgstr ""
 
-#: fortran/match.cc:1925
+#: fortran/match.cc:1930
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected associate name at %C"
+msgstr ""
+
+#: fortran/match.cc:1940
+#, gcc-internal-format, gfc-internal-format
+msgid "Bad bounds remapping list at %C"
+msgstr ""
+
+#: fortran/match.cc:1946
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"The bounds remapping list at %C is an experimental F202y feature. Use "
+"std=f202y to enable"
+msgstr ""
+
+#: fortran/match.cc:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected association at %C"
 msgstr ""
 
-#: fortran/match.cc:1935
+#: fortran/match.cc:1963
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid association target at %C"
 msgstr ""
 
-#: fortran/match.cc:1946
+#: fortran/match.cc:1974
 #, gcc-internal-format
 msgid "Duplicate name %qs in association at %C"
 msgstr ""
 
-#: fortran/match.cc:1954
+#: fortran/match.cc:1982
 #, gcc-internal-format, gfc-internal-format
 msgid "Association target at %C must not be coindexed"
 msgstr ""
 
-#: fortran/match.cc:1961
+#: fortran/match.cc:1989
 #, gcc-internal-format, gfc-internal-format
 msgid "Association target at %L cannot be a BOZ literal constant"
 msgstr ""
 
-#: fortran/match.cc:1980
+#: fortran/match.cc:2009
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"The associate name %s with an assumed rank target at %L must have a bounds "
+"remapping list (list of lbound:ubound for each dimension)"
+msgstr ""
+
+#: fortran/match.cc:2018
+#, gcc-internal-format, gfc-internal-format
+msgid "The assumed rank target at %C must be contiguous"
+msgstr ""
+
+#: fortran/match.cc:2037
 #, gcc-internal-format
 msgid "Expected %<)%> or %<,%> at %C"
 msgstr ""
 
-#: fortran/match.cc:1998
+#: fortran/match.cc:2055
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after ASSOCIATE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:2120
+#: fortran/match.cc:2177
 #, gcc-internal-format
 msgid "Derived type %qs at %L may not be ABSTRACT"
 msgstr ""
 
-#: fortran/match.cc:2192 fortran/match.cc:2264 fortran/match.cc:2287
+#: fortran/match.cc:2256 fortran/match.cc:2328 fortran/match.cc:2351
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid type-spec at %C"
 msgstr ""
 
-#: fortran/match.cc:2382
+#: fortran/match.cc:2446
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in FORALL iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:2647
+#: fortran/match.cc:2722
 #, gcc-internal-format, gfc-internal-format
 msgid "DO CONCURRENT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:2772
+#: fortran/match.cc:2826
+#, gcc-internal-format, gfc-internal-format
+msgid "DEFAULT (NONE) specified more than once in DO CONCURRENT at %C"
+msgstr ""
+
+#: fortran/match.cc:2915
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected reduction operator or function name at %C"
+msgstr ""
+
+#: fortran/match.cc:2935 fortran/openmp.cc:2446 fortran/openmp.cc:2482
+#: fortran/openmp.cc:2892 fortran/openmp.cc:2917
+#, gcc-internal-format
+msgid "Expected %<:%> at %C"
+msgstr ""
+
+#: fortran/match.cc:2945
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected variable name in reduction list at %C"
+msgstr ""
+
+#: fortran/match.cc:2964
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected ',' or ')' in reduction list at %C"
+msgstr ""
+
+#: fortran/match.cc:2970
+#, gcc-internal-format, gfc-internal-format
+msgid "REDUCE locality spec at %L"
+msgstr ""
+
+#: fortran/match.cc:2977
+#, gcc-internal-format, gfc-internal-format
+msgid "Locality spec at %L"
+msgstr ""
+
+#: fortran/match.cc:3112
 #, gcc-internal-format
 msgid "Name %qs in %s statement at %C is unknown"
 msgstr ""
 
-#: fortran/match.cc:2780
+#: fortran/match.cc:3120
 #, gcc-internal-format
 msgid "Name %qs in %s statement at %C is not a construct name"
 msgstr ""
 
-#: fortran/match.cc:2792
+#: fortran/match.cc:3132
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaves CRITICAL construct"
 msgstr ""
 
 #. F2008, C821 & C845.
-#: fortran/match.cc:2800
+#: fortran/match.cc:3140
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaves DO CONCURRENT construct"
 msgstr ""
 
-#: fortran/match.cc:2812
+#: fortran/match.cc:3152
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C is not within a construct"
 msgstr ""
 
-#: fortran/match.cc:2815
+#: fortran/match.cc:3155
 #, gcc-internal-format
 msgid "%s statement at %C is not within construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2841
+#: fortran/match.cc:3181
 #, gcc-internal-format
 msgid "CYCLE statement at %C is not applicable to non-loop construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2846
+#: fortran/match.cc:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement with no do-construct-name at %C"
 msgstr ""
 
-#: fortran/match.cc:2852
+#: fortran/match.cc:3192
 #, gcc-internal-format
 msgid "%s statement at %C is not applicable to construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2860
+#: fortran/match.cc:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaving OpenACC structured block"
 msgstr ""
 
-#: fortran/match.cc:2861
+#: fortran/match.cc:3201
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaving OpenMP structured block"
 msgstr ""
 
-#: fortran/match.cc:2901
+#: fortran/match.cc:3241
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement at %C terminating !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2907
+#: fortran/match.cc:3247
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost tiled !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2909
+#: fortran/match.cc:3249
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost collapsed !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2956
+#: fortran/match.cc:3296
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement at %C terminating !$OMP DO loop"
 msgstr ""
 
-#: fortran/match.cc:2961
+#: fortran/match.cc:3301
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost collapsed !$OMP DO loop"
 msgstr ""
 
-#: fortran/match.cc:3066
+#: fortran/match.cc:3406
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank required in %s statement near %C"
 msgstr ""
 
-#: fortran/match.cc:3089
+#: fortran/match.cc:3429
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C cannot be negative"
 msgstr ""
 
-#: fortran/match.cc:3095
+#: fortran/match.cc:3435
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C contains too many digits"
 msgstr ""
 
-#: fortran/match.cc:3111
+#: fortran/match.cc:3451
 #, gcc-internal-format, gfc-internal-format
 msgid "QUIET= specifier for %s at %L"
 msgstr ""
 
-#: fortran/match.cc:3125
+#: fortran/match.cc:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3141
+#: fortran/match.cc:3481
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3146
+#: fortran/match.cc:3486
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3158
+#: fortran/match.cc:3498
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "STOP code at %L must be a scalar CHARACTER constant or "
 "digit[digit[digit[digit[digit]]]]"
 msgstr ""
 
-#: fortran/match.cc:3170
+#: fortran/match.cc:3510
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "STOP code at %L must be a scalar default CHARACTER or INTEGER constant "
 "expression"
 msgstr ""
 
-#: fortran/match.cc:3177
+#: fortran/match.cc:3517
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be either INTEGER or CHARACTER type"
 msgstr ""
 
-#: fortran/match.cc:3184
+#: fortran/match.cc:3524
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:3191
+#: fortran/match.cc:3531
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default character KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3198
+#: fortran/match.cc:3538
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default integer KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3210 fortran/resolve.cc:12650
+#: fortran/match.cc:3550 fortran/resolve.cc:13948
 #, gcc-internal-format, gfc-internal-format
 msgid "QUIET specifier at %L must be a scalar LOGICAL"
 msgstr ""
 
-#: fortran/match.cc:3260
+#: fortran/match.cc:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "PAUSE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3281
+#: fortran/match.cc:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "ERROR STOP statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3307
+#: fortran/match.cc:3647
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3322
+#: fortran/match.cc:3662
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3329
+#: fortran/match.cc:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3359 fortran/match.cc:3701 fortran/match.cc:3913
-#: fortran/match.cc:4465 fortran/match.cc:4836
+#: fortran/match.cc:3699 fortran/match.cc:4041 fortran/match.cc:4253
+#: fortran/match.cc:4805 fortran/match.cc:5176
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant STAT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3380 fortran/match.cc:3722 fortran/match.cc:3933
-#: fortran/match.cc:4497 fortran/match.cc:4861
+#: fortran/match.cc:3720 fortran/match.cc:4062 fortran/match.cc:4273
+#: fortran/match.cc:4837 fortran/match.cc:5201
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant ERRMSG tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3401
+#: fortran/match.cc:3741
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant UNTIL_COUNT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3467
+#: fortran/match.cc:3807
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT POST statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3477
+#: fortran/match.cc:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT WAIT statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3489
+#: fortran/match.cc:3829
 #, gcc-internal-format, gfc-internal-format
 msgid "FAIL IMAGE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3513
+#: fortran/match.cc:3853
 #, gcc-internal-format, gfc-internal-format
 msgid "FORM TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3552
+#: fortran/match.cc:3892
 #, gcc-internal-format, gfc-internal-format
 msgid "CHANGE TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3582
+#: fortran/match.cc:3922
 #, gcc-internal-format, gfc-internal-format
 msgid "END TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3606
+#: fortran/match.cc:3946
 #, gcc-internal-format, gfc-internal-format
 msgid "SYNC TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3649
+#: fortran/match.cc:3989
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3664
+#: fortran/match.cc:4004
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3671
+#: fortran/match.cc:4011
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3743
+#: fortran/match.cc:4083
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant ACQUIRED_LOCK tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3808
+#: fortran/match.cc:4148
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3818
+#: fortran/match.cc:4158
 #, gcc-internal-format, gfc-internal-format
 msgid "UNLOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3843
+#: fortran/match.cc:4183
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3849
+#: fortran/match.cc:4189
 #, gcc-internal-format, gfc-internal-format
 msgid "SYNC statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3861
+#: fortran/match.cc:4201
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3867
+#: fortran/match.cc:4207
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4047
+#: fortran/match.cc:4387
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %C"
 msgstr ""
 
-#: fortran/match.cc:4091
+#: fortran/match.cc:4431
 #, gcc-internal-format, gfc-internal-format
 msgid "Assigned GOTO statement at %C"
 msgstr ""
 
-#: fortran/match.cc:4135 fortran/match.cc:4186
+#: fortran/match.cc:4475 fortran/match.cc:4526
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label list in GOTO at %C cannot be empty"
 msgstr ""
 
-#: fortran/match.cc:4196
+#: fortran/match.cc:4536
 #, gcc-internal-format, gfc-internal-format
 msgid "Computed GOTO at %C"
 msgstr ""
 
-#: fortran/match.cc:4271
+#: fortran/match.cc:4611
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in type-spec at %L"
 msgstr ""
 
-#: fortran/match.cc:4284
+#: fortran/match.cc:4624
 #, gcc-internal-format, gfc-internal-format
 msgid "typespec in ALLOCATE at %L"
 msgstr ""
 
-#: fortran/match.cc:4307
+#: fortran/match.cc:4647
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list in the type-spec at %L cannot contain DEFERRED "
 "parameters"
 msgstr ""
 
-#: fortran/match.cc:4337 fortran/match.cc:4774
+#: fortran/match.cc:4677 fortran/match.cc:5114
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected constant at %C"
 msgstr ""
 
-#: fortran/match.cc:4347
+#: fortran/match.cc:4687
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4362
+#: fortran/match.cc:4702
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible allocate-object at %C for CHARACTER type-spec at %L"
 msgstr ""
 
-#: fortran/match.cc:4384
+#: fortran/match.cc:4724
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4389
+#: fortran/match.cc:4729
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4411
+#: fortran/match.cc:4751
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocate-object at %L is neither a data pointer nor an allocatable variable"
 msgstr ""
 
-#: fortran/match.cc:4423
+#: fortran/match.cc:4763
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with typespec"
 msgstr ""
 
-#: fortran/match.cc:4431
+#: fortran/match.cc:4771
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Kind type parameter for entity at %L differs from the kind type parameter of "
 "the typespec"
 msgstr ""
 
-#: fortran/match.cc:4448
+#: fortran/match.cc:4788
 #, gcc-internal-format, gfc-internal-format
 msgid "Shape specification for allocatable scalar at %C"
 msgstr ""
 
-#: fortran/match.cc:4475
+#: fortran/match.cc:4815
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT tag at %L cannot be a constant"
 msgstr ""
 
-#: fortran/match.cc:4491
+#: fortran/match.cc:4831
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4514
+#: fortran/match.cc:4854
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4520
+#: fortran/match.cc:4860
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant SOURCE tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:4527
+#: fortran/match.cc:4867
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4533
+#: fortran/match.cc:4873
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L with more than a single allocate object"
 msgstr ""
 
-#: fortran/match.cc:4551
+#: fortran/match.cc:4891
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4557
+#: fortran/match.cc:4897
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant MOLD tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:4564
+#: fortran/match.cc:4904
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4590
+#: fortran/match.cc:4930
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with SOURCE tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4598
+#: fortran/match.cc:4938
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocate-object at %L with a deferred type parameter requires either a type-"
 "spec or SOURCE tag or a MOLD tag"
 msgstr ""
 
-#: fortran/match.cc:4610
+#: fortran/match.cc:4950
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Unlimited polymorphic allocate-object at %L requires either a type-spec or "
 "SOURCE tag or a MOLD tag"
 msgstr ""
 
-#: fortran/match.cc:4677
+#: fortran/match.cc:5017
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %C shall not be coindexed"
 msgstr ""
 
-#: fortran/match.cc:4692
+#: fortran/match.cc:5032
 #, gcc-internal-format, gfc-internal-format
 msgid "NULLIFY does not allow bounds remapping for pointer object at %C"
 msgstr ""
 
-#: fortran/match.cc:4786
+#: fortran/match.cc:5126
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4796
+#: fortran/match.cc:5136
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4803
+#: fortran/match.cc:5143
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4819
+#: fortran/match.cc:5159
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocate-object at %C is not a nonprocedure pointer nor an allocatable "
 "variable"
 msgstr ""
 
-#: fortran/match.cc:4856
+#: fortran/match.cc:5196
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L"
 msgstr ""
 
-#: fortran/match.cc:4913
+#: fortran/match.cc:5253
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4919
+#: fortran/match.cc:5259
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4928
+#: fortran/match.cc:5268
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
 msgstr ""
 
-#: fortran/match.cc:4959
+#: fortran/match.cc:5299
 #, gcc-internal-format, gfc-internal-format
 msgid "RETURN statement in main program at %C"
 msgstr ""
 
-#: fortran/match.cc:4987
+#: fortran/match.cc:5327
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected component reference at %C"
 msgstr ""
 
-#: fortran/match.cc:4996
+#: fortran/match.cc:5336
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after CALL at %C"
 msgstr ""
 
-#: fortran/match.cc:5007
+#: fortran/match.cc:5347
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected type-bound procedure or procedure pointer component at %C"
 msgstr ""
 
-#: fortran/match.cc:5105
+#: fortran/match.cc:5445
 #, 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:5246
+#: fortran/match.cc:5586
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in common block name at %C"
 msgstr ""
@@ -78410,69 +79982,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:5321
+#: fortran/match.cc:5661
 #, 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:5330
+#: fortran/match.cc:5670
 #, 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:5337
+#: fortran/match.cc:5677
 #, gcc-internal-format
 msgid "Symbol %qs at %C is already in a COMMON block"
 msgstr ""
 
-#: fortran/match.cc:5345
+#: fortran/match.cc:5685
 #, gcc-internal-format
 msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA"
 msgstr ""
 
-#: fortran/match.cc:5356
+#: fortran/match.cc:5696
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %C is USE associated from module %qs and cannot occur in COMMON"
 msgstr ""
 
-#: fortran/match.cc:5371
+#: fortran/match.cc:5711
 #, gcc-internal-format
 msgid "Array specification for symbol %qs in COMMON at %C must be explicit"
 msgstr ""
 
-#: fortran/match.cc:5378
+#: fortran/match.cc:5718
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a coarray"
 msgstr ""
 
-#: fortran/match.cc:5388
+#: fortran/match.cc:5728
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a POINTER array"
 msgstr ""
 
-#: fortran/match.cc:5434
+#: fortran/match.cc:5774
 #, 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:5496
+#: fortran/match.cc:5836
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA construct at %L"
 msgstr ""
 
-#: fortran/match.cc:5599
+#: fortran/match.cc:5949
 #, gcc-internal-format
 msgid "Namelist group name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/match.cc:5607
+#: fortran/match.cc:5959
 #, gcc-internal-format
 msgid ""
 "Namelist group name %qs at %C already is USE associated and cannot be "
@@ -78482,197 +80054,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:5632
+#: fortran/match.cc:5984
 #, gcc-internal-format
 msgid ""
 "Symbol %qs in namelist %qs at %C must be declared before the namelist is "
 "declared."
 msgstr ""
 
-#: fortran/match.cc:5652
+#: fortran/match.cc:6004
 #, gcc-internal-format
 msgid "Derived type %qs at %L conflicts with namelist object %qs at %C"
 msgstr ""
 
-#: fortran/match.cc:5672
+#: fortran/match.cc:6024
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %C is not allowed"
 msgstr ""
 
-#: fortran/match.cc:5815
+#: fortran/match.cc:6167
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
 msgstr ""
 
-#: fortran/match.cc:5823
+#: fortran/match.cc:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
 msgstr ""
 
-#: fortran/match.cc:5856
+#: fortran/match.cc:6208
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE at %C requires two or more objects"
 msgstr ""
 
-#: fortran/match.cc:5870
+#: fortran/match.cc:6222
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5883
+#: fortran/match.cc:6235
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a comma in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5888
+#: fortran/match.cc:6240
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:5981
+#: fortran/match.cc:6333
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of statement function argument at %L"
 msgstr ""
 
-#: fortran/match.cc:6048
+#: fortran/match.cc:6400
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L is recursive"
 msgstr ""
 
-#: fortran/match.cc:6054
+#: fortran/match.cc:6406
 #, gcc-internal-format
 msgid "Statement function %qs at %L conflicts with function name"
 msgstr ""
 
-#: fortran/match.cc:6068
+#: fortran/match.cc:6420
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/match.cc:6073
+#: fortran/match.cc:6425
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %C"
 msgstr ""
 
-#: fortran/match.cc:6198 fortran/match.cc:6214 fortran/match.cc:6233
+#: fortran/match.cc:6552 fortran/match.cc:6570 fortran/match.cc:6591
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L cannot be %s"
 msgstr ""
 
-#: fortran/match.cc:6243 fortran/match.cc:6249
+#: fortran/match.cc:6601 fortran/match.cc:6607
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:6258
+#: fortran/match.cc:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr ""
 
-#: fortran/match.cc:6290
+#: fortran/match.cc:6648
 #, gcc-internal-format
 msgid "Expected block name %qs of SELECT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:6654
+#: fortran/match.cc:7028
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT TYPE at %C cannot appear in this scope"
 msgstr ""
 
-#: fortran/match.cc:6682
+#: fortran/match.cc:7056
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT TYPE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6707
+#: fortran/match.cc:7081
 #, 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:6874
+#: fortran/match.cc:7269
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6915 fortran/match.cc:6969
+#: fortran/match.cc:7310 fortran/match.cc:7364
 #, gcc-internal-format, gfc-internal-format
 msgid "The SELECT RANK selector at %C must be an assumed rank variable"
 msgstr ""
 
-#: fortran/match.cc:6979
+#: fortran/match.cc:7374
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7015
+#: fortran/match.cc:7410
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected CASE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7067
+#: fortran/match.cc:7462
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CASE specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7085
+#: fortran/match.cc:7480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected TYPE IS statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7117
+#: fortran/match.cc:7512
 #, 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:7128
+#: fortran/match.cc:7523
 #, 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:7139
+#: fortran/match.cc:7534
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in TYPE IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7215
+#: fortran/match.cc:7610
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CLASS IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7235
+#: fortran/match.cc:7630
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7281
+#: fortran/match.cc:7676
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The SELECT RANK CASE expression at %C must be a scalar, integer constant"
 msgstr ""
 
-#: fortran/match.cc:7290
+#: fortran/match.cc:7685
 #, 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:7317
+#: fortran/match.cc:7712
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in RANK specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7439
+#: fortran/match.cc:7834
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr ""
 
-#: fortran/match.cc:7477
+#: fortran/match.cc:7872
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match WHERE label %qs"
 msgstr ""
@@ -78687,1195 +80259,1357 @@ msgstr ""
 msgid "The name %qs cannot be used as a defined operator at %C"
 msgstr ""
 
-#: fortran/matchexp.cc:173
+#: fortran/matchexp.cc:174
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a right parenthesis in expression at %C"
 msgstr ""
 
-#: fortran/matchexp.cc:281
+#: fortran/matchexp.cc:282
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected exponent in expression at %C"
 msgstr ""
 
-#: fortran/matchexp.cc:319 fortran/matchexp.cc:324 fortran/matchexp.cc:428
-#: fortran/matchexp.cc:433
+#: fortran/matchexp.cc:320 fortran/matchexp.cc:325 fortran/matchexp.cc:429
+#: fortran/matchexp.cc:434
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Extension: Unary operator following arithmetic operator (use parentheses) at "
 "%C"
 msgstr ""
 
-#: fortran/matchexp.cc:665
+#: fortran/matchexp.cc:666
 #, gcc-internal-format
 msgid "match_level_4(): Bad operator"
 msgstr ""
 
-#: fortran/misc.cc:113
+#: fortran/misc.cc:116
 #, gcc-internal-format
 msgid "gfc_basic_typename(): Undefined type"
 msgstr ""
 
-#: fortran/misc.cc:212
+#: fortran/misc.cc:218
 #, gcc-internal-format
 msgid "gfc_typename(): Undefined type"
 msgstr ""
 
-#: fortran/misc.cc:316
+#: fortran/misc.cc:322
 #, gcc-internal-format
 msgid "gfc_code2string(): Bad code"
 msgstr ""
 
-#: fortran/module.cc:243
+#: fortran/module.cc:245
 #, gcc-internal-format
 msgid "free_pi_tree(): Unresolved fixup"
 msgstr ""
 
-#: fortran/module.cc:460
+#: fortran/module.cc:462
 #, gcc-internal-format
 msgid "associate_integer_pointer(): Already associated"
 msgstr ""
 
-#: fortran/module.cc:544
+#: fortran/module.cc:546
 #, gcc-internal-format, gfc-internal-format
 msgid "module nature in USE statement at %C"
 msgstr ""
 
-#: fortran/module.cc:556
+#: fortran/module.cc:558
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Module nature in USE statement at %C shall be either INTRINSIC or "
 "NON_INTRINSIC"
 msgstr ""
 
-#: fortran/module.cc:569
+#: fortran/module.cc:571
 #, gcc-internal-format, gfc-internal-format
 msgid "\"::\" was expected after module nature at %C but was not found"
 msgstr ""
 
-#: fortran/module.cc:579
+#: fortran/module.cc:581
 #, gcc-internal-format, gfc-internal-format
 msgid "\"USE :: module\" at %C"
 msgstr ""
 
-#: fortran/module.cc:638
+#: fortran/module.cc:640
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing generic specification in USE statement at %C"
 msgstr ""
 
-#: fortran/module.cc:649
+#: fortran/module.cc:651
 #, gcc-internal-format, gfc-internal-format
 msgid "Renaming operators in USE statements at %C"
 msgstr ""
 
-#: fortran/module.cc:693
+#: fortran/module.cc:695
 #, gcc-internal-format
 msgid "Symbol %qs at %L conflicts with the rename symbol at %L"
 msgstr ""
 
-#: fortran/module.cc:696
+#: fortran/module.cc:698
 #, gcc-internal-format
 msgid "Symbol %qs at %L conflicts with the symbol at %L"
 msgstr ""
 
-#: fortran/module.cc:704
+#: fortran/module.cc:706
 #, gcc-internal-format
 msgid "The name %qs at %C has already been used as an external module name"
 msgstr ""
 
-#: fortran/module.cc:767
+#: fortran/module.cc:769
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBMODULE declaration at %C"
 msgstr ""
 
-#: fortran/module.cc:772
+#: fortran/module.cc:774
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBMODULE declaration at %C cannot appear within another scoping unit"
 msgstr ""
 
-#: fortran/module.cc:847
+#: fortran/module.cc:849
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SUBMODULE statement at %C"
 msgstr ""
 
-#: fortran/module.cc:1207
+#: fortran/module.cc:1209
 #, gcc-internal-format
 msgid "Reading module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1211
+#: fortran/module.cc:1213
 #, gcc-internal-format
 msgid "Writing module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1215
+#: fortran/module.cc:1217
 #, gcc-internal-format
 msgid "Module %qs at line %d column %d: %s"
 msgstr ""
 
-#: fortran/module.cc:1648
+#: fortran/module.cc:1650
 #, gcc-internal-format
 msgid "require_atom(): bad atom type required"
 msgstr ""
 
-#: fortran/module.cc:1697
+#: fortran/module.cc:1699
 #, gcc-internal-format, gfc-internal-format
 msgid "Error writing modules file: %s"
 msgstr ""
 
-#: fortran/module.cc:1747
+#: fortran/module.cc:1749
 #, gcc-internal-format
 msgid "write_atom(): Trying to write dab atom"
 msgstr ""
 
-#: fortran/module.cc:1968
+#: fortran/module.cc:1970
 #, gcc-internal-format
 msgid "unquote_string(): got bad string"
 msgstr ""
 
-#: fortran/module.cc:2984
+#: fortran/module.cc:2996
 #, gcc-internal-format
 msgid "mio_array_ref(): Unknown array ref"
 msgstr ""
 
-#: fortran/module.cc:5119
+#: fortran/module.cc:5132
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5122
+#: fortran/module.cc:5135
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION from module %s at %L"
 msgstr ""
 
-#: fortran/module.cc:5316
+#: fortran/module.cc:5329
 #, gcc-internal-format
 msgid ""
 "%qs of module %qs, imported at %C, is also the name of the current program "
 "unit"
 msgstr ""
 
-#: fortran/module.cc:5453
+#: fortran/module.cc:5466
 #, gcc-internal-format
 msgid ""
 "Mismatch in components of derived type %qs from %qs at %C: expecting %qs, "
 "but got %qs"
 msgstr ""
 
-#: fortran/module.cc:5732
+#: fortran/module.cc:5745
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5739
+#: fortran/module.cc:5752
 #, gcc-internal-format
 msgid "User operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5744
+#: fortran/module.cc:5757
 #, gcc-internal-format
 msgid "Intrinsic operator %qs referenced at %L not found in module %qs"
 msgstr ""
 
-#: fortran/module.cc:5980
+#: fortran/module.cc:5993
 #, gcc-internal-format
 msgid "write_symbol(): bad module symbol %qs"
 msgstr ""
 
-#: fortran/module.cc:6324
+#: fortran/module.cc:6337
 #, gcc-internal-format
 msgid "write_symtree(): Symbol not written"
 msgstr ""
 
-#: fortran/module.cc:6514
+#: fortran/module.cc:6527
 #, gcc-internal-format
 msgid "Cannot open module file %qs for writing at %C: %s"
 msgstr ""
 
-#: fortran/module.cc:6535
+#: fortran/module.cc:6548
 #, gcc-internal-format
 msgid "Error writing module file %qs for writing: %s"
 msgstr ""
 
-#: fortran/module.cc:6546
+#: fortran/module.cc:6559
 #, gcc-internal-format
 msgid "Cannot delete module file %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6549
+#: fortran/module.cc:6562
 #, gcc-internal-format
 msgid "Cannot rename module file %qs to %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6555
+#: fortran/module.cc:6568
 #, gcc-internal-format
 msgid "Cannot delete temporary module file %qs: %s"
 msgstr ""
 
-#: fortran/module.cc:6612
+#: fortran/module.cc:6625
 #, gcc-internal-format
 msgid "Symbol %qs at %C already declared"
 msgstr ""
 
-#: fortran/module.cc:6683
+#: fortran/module.cc:6696
 #, gcc-internal-format, gfc-internal-format
 msgid "import_iso_c_binding_module(): Unable to create symbol for %s"
 msgstr ""
 
-#: fortran/module.cc:6791 fortran/module.cc:7135
+#: fortran/module.cc:6809 fortran/module.cc:7172
 #, gcc-internal-format
 msgid "The symbol %qs, referenced at %L, is not in the selected standard"
 msgstr ""
 
-#: fortran/module.cc:6919
+#: fortran/module.cc:6942
 #, gcc-internal-format
 msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_C_BINDING"
 msgstr ""
 
-#: fortran/module.cc:6940 fortran/module.cc:6973 fortran/module.cc:7015
+#: fortran/module.cc:6963 fortran/module.cc:6996 fortran/module.cc:7038
 #, gcc-internal-format
 msgid "Symbol %qs already declared"
 msgstr ""
 
-#: fortran/module.cc:7120
+#: fortran/module.cc:7157
 #, gcc-internal-format
 msgid ""
 "Use of intrinsic module %qs at %C conflicts with non-intrinsic module name "
 "used previously"
 msgstr ""
 
-#: fortran/module.cc:7142
+#: fortran/module.cc:7179
 #, 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:7210
+#: fortran/module.cc:7256
 #, 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:7264
+#: fortran/module.cc:7316
 #, gcc-internal-format
 msgid ""
 "Symbol %qs referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
 msgstr ""
 
-#: fortran/module.cc:7290
+#: fortran/module.cc:7342
 #, gcc-internal-format, gfc-internal-format
 msgid "USE statement at %C has no ONLY qualifier"
 msgstr ""
 
-#: fortran/module.cc:7319
+#: fortran/module.cc:7371
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_FORTRAN_ENV intrinsic module at %C"
 msgstr ""
 
-#: fortran/module.cc:7331
+#: fortran/module.cc:7383
 #, gcc-internal-format, gfc-internal-format
 msgid "ISO_C_BINDING module at %C"
 msgstr ""
 
-#: fortran/module.cc:7344
+#: fortran/module.cc:7396
 #, gcc-internal-format
 msgid "Cannot find an intrinsic module named %qs at %C"
 msgstr ""
 
-#: fortran/module.cc:7350
+#: fortran/module.cc:7402
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_FEATURES module at %C"
 msgstr ""
 
-#: fortran/module.cc:7356
+#: fortran/module.cc:7408
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_EXCEPTIONS module at %C"
 msgstr ""
 
-#: fortran/module.cc:7362
+#: fortran/module.cc:7414
 #, gcc-internal-format, gfc-internal-format
 msgid "IEEE_ARITHMETIC module at %C"
 msgstr ""
 
-#: fortran/module.cc:7372
+#: fortran/module.cc:7424
 #, gcc-internal-format
 msgid "Cannot open module file %qs for reading at %C: %s"
 msgstr ""
 
-#: fortran/module.cc:7375
+#: fortran/module.cc:7427
 #, 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:7386
+#: fortran/module.cc:7438
 #, gcc-internal-format
 msgid ""
 "Use of non-intrinsic module %qs at %C conflicts with intrinsic module name "
 "used previously"
 msgstr ""
 
-#: fortran/module.cc:7409
+#: fortran/module.cc:7461
 #, gcc-internal-format
 msgid "File %qs opened at %C is not a GNU Fortran module file"
 msgstr ""
 
-#: fortran/module.cc:7417
+#: fortran/module.cc:7482
 #, 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:7434
+#: fortran/module.cc:7499
 #, gcc-internal-format
 msgid "Cannot USE a submodule that is currently built"
 msgstr ""
 
-#: fortran/module.cc:7436
+#: fortran/module.cc:7501
 #, gcc-internal-format
 msgid "Cannot USE a module that is currently built"
 msgstr ""
 
-#: fortran/openmp.cc:150 fortran/openmp.cc:7113
+#: fortran/openmp.cc:162 fortran/openmp.cc:8048
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk at %C"
 msgstr ""
 
-#: fortran/openmp.cc:429
+#: fortran/openmp.cc:464
 #, gcc-internal-format
-msgid "%<omp_all_memory%> at %C not permitted in this clause"
+msgid "%<omp_all_memory%> at %L not permitted in this clause"
 msgstr ""
 
-#: fortran/openmp.cc:474
+#: fortran/openmp.cc:509
 #, gcc-internal-format, gfc-internal-format
-msgid "List item shall not be coindexed at %C"
+msgid "List item shall not be coindexed at %L"
 msgstr ""
 
-#: fortran/openmp.cc:493
+#: fortran/openmp.cc:535
 #, 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:518 fortran/openmp.cc:619 fortran/openmp.cc:949
-#: fortran/openmp.cc:6165
-#, gcc-internal-format, gfc-internal-format
-msgid "COMMON block /%s/ not found at %C"
+#: fortran/openmp.cc:562
+#, gcc-internal-format
+msgid "COMMON block %</%s/%> not found at %L"
 msgstr ""
 
-#: fortran/openmp.cc:557 fortran/openmp.cc:647
+#: fortran/openmp.cc:606 fortran/openmp.cc:696
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:674
+#: fortran/openmp.cc:668 fortran/openmp.cc:1004 fortran/openmp.cc:7081
+#, gcc-internal-format, gfc-internal-format
+msgid "COMMON block /%s/ not found at %C"
+msgstr ""
+
+#: fortran/openmp.cc:723
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP detach clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:703
+#: fortran/openmp.cc:755
 #, gcc-internal-format
 msgid ""
-"%<omp_all_memory%> used with dependence-type other than OUT or INOUT at %C"
+"%<omp_all_memory%> used with dependence-type other than OUT or INOUT at %L"
 msgstr ""
 
-#: fortran/openmp.cc:756
+#: fortran/openmp.cc:808
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP SINK dependence-type list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:818
+#: fortran/openmp.cc:871
+#, gcc-internal-format, gfc-internal-format
+msgid "Syntax error in OpenMP expression list at %C"
+msgstr ""
+
+#: fortran/openmp.cc:873
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenACC expression list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:885
+#: fortran/openmp.cc:940
 #, gcc-internal-format
 msgid "Unexpected OpenACC parallelism."
 msgstr ""
 
-#: fortran/openmp.cc:917
+#: fortran/openmp.cc:972
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:977
+#: fortran/openmp.cc:1032
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC DECLARE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:987
+#: fortran/openmp.cc:1042
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC DECLARE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1242
+#: fortran/openmp.cc:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INTEGER type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1256
+#: fortran/openmp.cc:1320
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1261
+#: fortran/openmp.cc:1325
 #, gcc-internal-format
 msgid "Same identifier %qs specified again at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1288
+#: fortran/openmp.cc:1352
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected range-specification at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1398
+#: fortran/openmp.cc:1462
 #, gcc-internal-format, gfc-internal-format
 msgid "Comma expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1510
+#: fortran/openmp.cc:1574
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1570
+#: fortran/openmp.cc:1634
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1572
+#: fortran/openmp.cc:1636
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid combined or composite directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1580
+#: fortran/openmp.cc:1644
 #, gcc-internal-format
 msgid ""
-"Invalid %qs directive at %L in %s clause: declarative, informational and "
+"Invalid %qs directive at %L in %s clause: declarative, informational, and "
 "meta directives not permitted"
 msgstr ""
 
-#: fortran/openmp.cc:1612
+#: fortran/openmp.cc:1676 fortran/openmp.cc:2031 fortran/openmp.cc:2056
+#: fortran/openmp.cc:2125 fortran/openmp.cc:2180 fortran/openmp.cc:2200
+#: fortran/openmp.cc:2229 fortran/openmp.cc:6846
 #, gcc-internal-format
 msgid "Expected %<,%> or %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1638 fortran/openmp.cc:1648
+#: fortran/openmp.cc:1702 fortran/openmp.cc:1712
 #, gcc-internal-format
 msgid ""
 "%qs directive mentioned multiple times in %s clause in %s directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1656
+#: fortran/openmp.cc:1720
 #, gcc-internal-format
 msgid ""
 "%qs directive mentioned both times in ABSENT and CONTAINS clauses in %s "
 "directive at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1746
+#: fortran/openmp.cc:1810
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s modifier at %L in USES_ALLOCATORS clause"
 msgstr ""
 
-#: fortran/openmp.cc:1780
+#: fortran/openmp.cc:1844
 #, gcc-internal-format
 msgid "Unexpected %<(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1827
+#: fortran/openmp.cc:1909
+#, gcc-internal-format
+msgid "Expected %<{%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:1919
+#, gcc-internal-format
+msgid "Duplicated %<fr%> preference-selector-name at %C"
+msgstr ""
+
+#: fortran/openmp.cc:1944 fortran/openmp.cc:2082
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Expected constant scalar integer expression or non-empty default-kind "
+"character literal at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1958 fortran/openmp.cc:2095
+#, gcc-internal-format
+msgid "Unknown foreign runtime identifier %qd at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1972 fortran/openmp.cc:2107
+#, gcc-internal-format, gfc-internal-format
+msgid "Unexpected null character in character literal at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1979 fortran/openmp.cc:2114
+#, gcc-internal-format
+msgid "Unknown foreign runtime identifier %qs at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1986 fortran/openmp.cc:6957
+#, gcc-internal-format
+msgid "Expected %<)%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2002
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected default-kind character literal at %L"
+msgstr ""
+
+#: fortran/openmp.cc:2013
+#, gcc-internal-format
+msgid "Character literal at %L must start with %<ompx_%>"
+msgstr ""
+
+#: fortran/openmp.cc:2021
+#, gcc-internal-format
+msgid "Unexpected null or %<,%> character in character literal at %L"
+msgstr ""
+
+#: fortran/openmp.cc:2038
+#, gcc-internal-format
+msgid "Expected %<fr(%> or %<attr(%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2045
+#, gcc-internal-format
+msgid "Expected %<,%> or %<}%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2162
+#, gcc-internal-format
+msgid "Duplicate %<prefer_type%> modifier at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2174 fortran/openmp.cc:2212 fortran/openmp.cc:2241
+#, gcc-internal-format
+msgid "Expected %<,%> or %<:%> at %C"
+msgstr ""
+
+#. Avoid the word 'modifier' as it could be also be no clauses and
+#. twice a variable named 'targetsync', which is also invalid.
+#: fortran/openmp.cc:2190
+#, gcc-internal-format
+msgid "Duplicate %<targetsync%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2219
+#, gcc-internal-format
+msgid "Duplicate %<target%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2246
+#, gcc-internal-format
+msgid "Expected %<target%> or %<targetsync%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2302
 #, gcc-internal-format
 msgid "Duplicated %qs clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1834
+#: fortran/openmp.cc:2309 fortran/openmp.cc:4218
 #, gcc-internal-format
 msgid "Expected %<(%> after %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1841
+#: fortran/openmp.cc:2316
 #, gcc-internal-format
 msgid "Invalid expression after %<%s(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1902
+#: fortran/openmp.cc:2376
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C after trailing comma"
 msgstr ""
 
-#: fortran/openmp.cc:1972 fortran/openmp.cc:2008 fortran/openmp.cc:2418
-#: fortran/openmp.cc:2443
-#, gcc-internal-format
-msgid "Expected %<:%> at %C"
-msgstr ""
-
-#: fortran/openmp.cc:2032
+#: fortran/openmp.cc:2506
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2056
+#: fortran/openmp.cc:2530
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected COMPILATION or EXECUTION in AT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2117
+#: fortran/openmp.cc:2591
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected TEAMS, PARALLEL or THREAD as binding in BIND at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2148
+#: fortran/openmp.cc:2622
 #, gcc-internal-format, gfc-internal-format
 msgid "COLLAPSE clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2251
+#: fortran/openmp.cc:2725
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected ALLOC, TO, FROM, TOFROM, FIRSTPRIVATE, PRESENT, NONE or DEFAULT at "
 "%C"
 msgstr ""
 
-#: fortran/openmp.cc:2273
+#: fortran/openmp.cc:2747
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SCALAR, AGGREGATE, ALLOCATABLE, POINTER or ALL at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2306
+#: fortran/openmp.cc:2780
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP with unspecified category"
 msgstr ""
 
-#: fortran/openmp.cc:2309
+#: fortran/openmp.cc:2783
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP for category %s"
 msgstr ""
 
-#: fortran/openmp.cc:2345
+#: fortran/openmp.cc:2819
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE or PRESENT in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2348
+#: fortran/openmp.cc:2822
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE, FIRSTPRIVATE, PRIVATE or SHARED in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2398
+#: fortran/openmp.cc:2872
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2404
+#: fortran/openmp.cc:2878
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE at %C not permitted as dependence-type for this directive"
 msgstr ""
 
-#: fortran/openmp.cc:2410
+#: fortran/openmp.cc:2884
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicated clause with SOURCE dependence-type at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2425
+#: fortran/openmp.cc:2899
 #, gcc-internal-format
 msgid "Expected %<)%> or %<omp_cur_iteration)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2437
+#: fortran/openmp.cc:2911
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK at %C not permitted as dependence-type for this directive"
 msgstr ""
 
-#: fortran/openmp.cc:2448
+#: fortran/openmp.cc:2922
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SINK at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2462
+#: fortran/openmp.cc:2936
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected dependence-type SINK or SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2479
+#: fortran/openmp.cc:2953
 #, gcc-internal-format
 msgid "%<omp_all_memory%> used with DEPEND kind other than OUT or INOUT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2517 fortran/openmp.cc:2552
+#: fortran/openmp.cc:2996 fortran/openmp.cc:3031
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2533
+#: fortran/openmp.cc:3012
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2545
+#: fortran/openmp.cc:3024
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2558
+#: fortran/openmp.cc:3037
 #, gcc-internal-format
 msgid ""
 "Expected integer expression or a single device-modifier %<device_num%> or "
 "%<ancestor%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2588
+#: fortran/openmp.cc:3067
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected HOST, NOHOST or ANY at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2643
+#: fortran/openmp.cc:3122
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, ACQUIRE or RELAXED at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2831
+#: fortran/openmp.cc:3318
 #, gcc-internal-format, gfc-internal-format
 msgid "INDIRECT clause at %C requires a constant logical expression"
 msgstr ""
 
-#: fortran/openmp.cc:3018
+#: fortran/openmp.cc:3528
 #, gcc-internal-format
 msgid "Multiple %qs modifiers specified at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3128
+#: fortran/openmp.cc:3638
 #, gcc-internal-format
 msgid "too many %<always%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3134
+#: fortran/openmp.cc:3644
 #, gcc-internal-format
 msgid "too many %<close%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3140
+#: fortran/openmp.cc:3650
 #, gcc-internal-format
 msgid "too many %<present%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3331
+#: fortran/openmp.cc:3860
 #, gcc-internal-format
 msgid ""
 "Expected ORDER(CONCURRENT) at %C with optional %<reproducible%> or "
 "%<unconstrained%> modifier"
 msgstr ""
 
-#: fortran/openmp.cc:3356
+#: fortran/openmp.cc:3885
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3646
+#: fortran/openmp.cc:3919
+#, gcc-internal-format, gfc-internal-format
+msgid "PARTIAL clause argument not constant positive integer at %C"
+msgstr ""
+
+#: fortran/openmp.cc:4201
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected FATAL or WARNING in SEVERITY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3839
+#: fortran/openmp.cc:4411
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to match clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4022
+#: fortran/openmp.cc:4594
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid clause in module with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4032
+#: fortran/openmp.cc:4604
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable is USE-associated with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4041
+#: fortran/openmp.cc:4613
 #, gcc-internal-format
 msgid ""
 "Variable %qs shall be declared in the same scoping unit as !$ACC DECLARE at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:4049
+#: fortran/openmp.cc:4621
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-size dummy array with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4098
+#: fortran/openmp.cc:4670
 #, gcc-internal-format
 msgid ""
 "%<acc update%> must contain at least one %<device%> or %<host%> or %<self%> "
 "clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4146
+#: fortran/openmp.cc:4718
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid argument to !$ACC WAIT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4153
+#: fortran/openmp.cc:4725
 #, gcc-internal-format, gfc-internal-format
 msgid "WAIT clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:4201
+#: fortran/openmp.cc:4773
 #, gcc-internal-format, gfc-internal-format
 msgid "ACC CACHE directive must be inside of loop %C"
 msgstr ""
 
-#: fortran/openmp.cc:4270
+#: fortran/openmp.cc:4842
 #, 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:4304
+#: fortran/openmp.cc:4876
 #, gcc-internal-format
 msgid "Invalid NAME %qs in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4312
+#: fortran/openmp.cc:4884
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4319
+#: fortran/openmp.cc:4891
 #, gcc-internal-format
 msgid ""
 "Syntax error in !$ACC ROUTINE ( NAME ) at %C, expecting %<)%> after NAME"
 msgstr ""
 
-#: fortran/openmp.cc:4334
+#: fortran/openmp.cc:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple loop axes specified for routine at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4345
+#: fortran/openmp.cc:4917
 #, 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:4353
+#: fortran/openmp.cc:4925
 #, 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:4374 fortran/openmp.cc:4402
+#: fortran/openmp.cc:4946 fortran/openmp.cc:4974
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC ROUTINE already applied at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4419
+#: fortran/openmp.cc:4991
 #, 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:4598
+#: fortran/openmp.cc:5181
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ALIGN or ALLOCATOR clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4606
+#: fortran/openmp.cc:5189
 #, 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:4609
+#: fortran/openmp.cc:5192
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected expression as list item at %L in ALLOCATE directive"
 msgstr ""
 
-#: fortran/openmp.cc:4680
+#: fortran/openmp.cc:5263
 #, 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:4747
+#: fortran/openmp.cc:5330
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4769
+#: fortran/openmp.cc:5352
 #, gcc-internal-format
 msgid "Expected %<( depobj )%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4787
+#: fortran/openmp.cc:5370
 #, gcc-internal-format
 msgid ""
 "Expected IN, OUT, INOUT, INOUTSET or MUTEXINOUTSET followed by %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4801
+#: fortran/openmp.cc:5384
 #, 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:4815
+#: fortran/openmp.cc:5398
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DEPEND, UPDATE, or DESTROY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4820
+#: fortran/openmp.cc:5403
 #, 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:4828
+#: fortran/openmp.cc:5411
 #, 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:4954 fortran/openmp.cc:9206
+#: fortran/openmp.cc:5543 fortran/openmp.cc:10268
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression"
 msgstr ""
 
-#: fortran/openmp.cc:4961
+#: fortran/openmp.cc:5550
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant character expression required in MESSAGE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4967
+#: fortran/openmp.cc:5556
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L: %s"
 msgstr ""
 
-#: fortran/openmp.cc:4986
+#: fortran/openmp.cc:5575
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5014
+#: fortran/openmp.cc:5603
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5023
+#: fortran/openmp.cc:5612
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "List specified together with memory order clause in FLUSH directive at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5031
+#: fortran/openmp.cc:5620
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP FLUSH statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5431 fortran/openmp.cc:11778
+#: fortran/openmp.cc:6020 fortran/openmp.cc:13057
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5435 fortran/openmp.cc:11782
+#: fortran/openmp.cc:6024 fortran/openmp.cc:13061
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5440
+#: fortran/openmp.cc:6029
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5442
+#: fortran/openmp.cc:6031
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5462
+#: fortran/openmp.cc:6051
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE REDUCTION at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5499
+#: fortran/openmp.cc:6088
 #, 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:5514
+#: fortran/openmp.cc:6103
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE TARGET at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5539
+#: fortran/openmp.cc:6128
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:5542
+#: fortran/openmp.cc:6131
 #, 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:5548
+#: fortran/openmp.cc:6137
 #, 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:5554
+#: fortran/openmp.cc:6143
 #, 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:5568 fortran/openmp.cc:5623
+#: fortran/openmp.cc:6157 fortran/openmp.cc:6212
 #, 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:5577 fortran/openmp.cc:5631
+#: fortran/openmp.cc:6166 fortran/openmp.cc:6220
 #, gcc-internal-format, gfc-internal-format
 msgid "DEVICE_TYPE must be ANY when used with INDIRECT at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5587
+#: fortran/openmp.cc:6176
 #, 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:5593
+#: fortran/openmp.cc:6182
 #, 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:5597
+#: fortran/openmp.cc:6186
 #, 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:5606
+#: fortran/openmp.cc:6195
 #, 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:5641
+#: fortran/openmp.cc:6230
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET directive at %L with only DEVICE_TYPE or INDIRECT clauses "
 "is ignored"
 msgstr ""
 
-#: fortran/openmp.cc:5652
+#: fortran/openmp.cc:6241
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP DECLARE TARGET list at %C"
 msgstr ""
 
 #. FIXME: constant integer expressions.
-#: fortran/openmp.cc:5691
+#: fortran/openmp.cc:6280
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected trait-property-extension at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5706 fortran/openmp.cc:5803 fortran/openmp.cc:5934
-#: fortran/openmp.cc:6084 fortran/openmp.cc:6112
+#: fortran/openmp.cc:6295 fortran/openmp.cc:6401 fortran/openmp.cc:6553
+#: fortran/openmp.cc:6704 fortran/openmp.cc:6765
 #, gcc-internal-format
 msgid "expected %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5728
+#: fortran/openmp.cc:6326
 #, gcc-internal-format, gfc-internal-format
 msgid "expected trait selector name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5747
+#: fortran/openmp.cc:6345
 #, gcc-internal-format
 msgid "unknown selector %qs for context selector set %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5765
+#: fortran/openmp.cc:6363
 #, gcc-internal-format
 msgid "selector %qs does not accept any properties at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5774
+#: fortran/openmp.cc:6372
 #, gcc-internal-format
 msgid ""
 "%<score%> cannot be specified in traits in the %qs trait-selector-set at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5781 fortran/openmp.cc:5944 fortran/openmp.cc:6036
-#: fortran/openmp.cc:6103
+#: fortran/openmp.cc:6379 fortran/openmp.cc:6563 fortran/openmp.cc:6655
+#: fortran/openmp.cc:6746 fortran/openmp.cc:6814
 #, gcc-internal-format
 msgid "expected %<(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5789
+#: fortran/openmp.cc:6387
 #, gcc-internal-format
 msgid "%<score%> argument must be constant integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5797
+#: fortran/openmp.cc:6395
 #, gcc-internal-format
 msgid "%<score%> argument must be non-negative at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5809
+#: fortran/openmp.cc:6407
 #, gcc-internal-format, gfc-internal-format
 msgid "expected : at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5831
+#: fortran/openmp.cc:6429
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5850
+#: fortran/openmp.cc:6448
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier or string literal at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5871
+#: fortran/openmp.cc:6469
 #, gcc-internal-format, gfc-internal-format
 msgid "expected expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5883
+#: fortran/openmp.cc:6484
+#, gcc-internal-format, gfc-internal-format
+msgid "property must be a logical expression at %L"
+msgstr ""
+
+#: fortran/openmp.cc:6488
+#, gcc-internal-format, gfc-internal-format
+msgid "property must be an integer expression at %L"
+msgstr ""
+
+#: fortran/openmp.cc:6495
 #, gcc-internal-format, gfc-internal-format
-msgid "property must be a constant logical expression at %C"
+msgid "property must be a constant logical expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5886
+#: fortran/openmp.cc:6499
 #, gcc-internal-format, gfc-internal-format
-msgid "property must be a constant integer expression at %C"
+msgid "property must be a constant integer expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5898
+#: fortran/openmp.cc:6513
 #, gcc-internal-format, gfc-internal-format
 msgid "property must be a conforming device number at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5912
+#: fortran/openmp.cc:6529
 #, gcc-internal-format, gfc-internal-format
 msgid "expected simd clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5985
+#: fortran/openmp.cc:6605
 #, gcc-internal-format, gfc-internal-format
 msgid "expected context selector set name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5992
+#: fortran/openmp.cc:6612
 #, gcc-internal-format
 msgid "expected %<=%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5999
+#: fortran/openmp.cc:6619
 #, gcc-internal-format
 msgid "expected %<{%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6014
+#: fortran/openmp.cc:6634
 #, gcc-internal-format
 msgid "expected %<}%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6043
+#: fortran/openmp.cc:6662
 #, gcc-internal-format, gfc-internal-format
 msgid "expected name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6054
+#: fortran/openmp.cc:6673
 #, gcc-internal-format, gfc-internal-format
 msgid "expected variant name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6094
+#: fortran/openmp.cc:6754 fortran/openmp.cc:6798 fortran/openmp.cc:7432
 #, gcc-internal-format
-msgid "expected %<match%> at %C"
+msgid "%qs clause at %L specified more than once"
 msgstr ""
 
-#: fortran/openmp.cc:6145
+#: fortran/openmp.cc:6779
+#, gcc-internal-format
+msgid "expected %<nothing%> or %<need_device_ptr%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6787
 #, gcc-internal-format, gfc-internal-format
-msgid "Threadprivate variable at %C is an element of a COMMON block"
+msgid "expected argument list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6182
+#: fortran/openmp.cc:6809
+#, gcc-internal-format
+msgid "expected %<interop%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6859
+#, gcc-internal-format
+msgid "expected %<match%>, %<adjust_args%> or %<append_args%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6865
+#, gcc-internal-format
+msgid ""
+"the %qs clause at %L can only be specified if the %<dispatch%> selector of "
+"the construct selector set appears in the %<match%> clause"
+msgstr ""
+
+#: fortran/openmp.cc:6905
+#, gcc-internal-format
+msgid "expected %<when%>, %<otherwise%>, or %<default%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6912
+#, gcc-internal-format
+msgid ""
+"too many %<otherwise%> or %<default%> clauses in %<metadirective%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6919
+#, gcc-internal-format
+msgid ""
+"%<otherwise%> or %<default%> clause must appear last in %<metadirective%> at "
+"%C"
+msgstr ""
+
+#: fortran/openmp.cc:6933
+#, gcc-internal-format
+msgid "expected %<:%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:6947
+#, gcc-internal-format
+msgid "declarative directive variants are not supported"
+msgstr ""
+
+#: fortran/openmp.cc:6968
 #, gcc-internal-format, gfc-internal-format
-msgid "Unexpected junk after OMP THREADPRIVATE at %C"
+msgid ""
+"variant directive used in OMP BEGIN METADIRECTIVE at %C must have a "
+"corresponding end directive"
 msgstr ""
 
-#: fortran/openmp.cc:6189
+#: fortran/openmp.cc:7002
 #, gcc-internal-format, gfc-internal-format
-msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+msgid "Unexpected junk after OMP METADIRECTIVE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6295
+#: fortran/openmp.cc:7061
 #, 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"
+msgid "Threadprivate variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:6300
+#: fortran/openmp.cc:7098
 #, 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"
+msgid "Unexpected junk after OMP THREADPRIVATE at %C"
+msgstr ""
+
+#: fortran/openmp.cc:7105
+#, gcc-internal-format, gfc-internal-format
+msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6305
+#: fortran/openmp.cc:7204
 #, 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"
+"$OMP REQUIRES %s but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:6331
+#: fortran/openmp.cc:7247
 #, 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:6335
+#: fortran/openmp.cc:7251
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %qs specified at %L comes after using a device "
 "construct/routine"
 msgstr ""
 
-#: fortran/openmp.cc:6358
+#: fortran/openmp.cc:7274
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified via module "
@@ -79883,7 +81617,7 @@ msgid ""
 "might be through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:6363
+#: fortran/openmp.cc:7279
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified at %L "
@@ -79891,477 +81625,507 @@ msgid ""
 "through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:6374
+#: fortran/openmp.cc:7290
 #, 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:6379
+#: fortran/openmp.cc:7295
 #, 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:6408
+#: fortran/openmp.cc:7325
 #, 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:6486
+#: fortran/openmp.cc:7410
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected ACQ_REL, ACQUIRE, RELAXED, RELEASE or SEQ_CST for "
 "ATOMIC_DEFAULT_MEM_ORDER clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6502
+#: fortran/openmp.cc:7426
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6508
-#, gcc-internal-format
-msgid "%qs clause at %L specified more than once"
-msgstr ""
-
-#: fortran/openmp.cc:6511
+#: fortran/openmp.cc:7435
 #, 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"
+"Expected UNIFIED_ADDRESS, UNIFIED_SHARED_MEMORY, SELF_MAPS, "
+"DYNAMIC_ALLOCATORS, REVERSE_OFFLOAD, or ATOMIC_DEFAULT_MEM_ORDER clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6537
+#: fortran/openmp.cc:7461
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INCLUSIVE or EXCLUSIVE clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6543
+#: fortran/openmp.cc:7467
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP SCAN at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6742
+#: fortran/openmp.cc:7666
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after TASKYIELD clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6830
+#: fortran/openmp.cc:7765
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP MASTER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6862
+#: fortran/openmp.cc:7797
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP NOTHING statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6897 fortran/openmp.cc:6900 fortran/openmp.cc:6903
+#: fortran/openmp.cc:7832 fortran/openmp.cc:7835 fortran/openmp.cc:7838
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE"
 msgstr ""
 
-#: fortran/openmp.cc:6907
+#: fortran/openmp.cc:7842
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause requires %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:6937
+#: fortran/openmp.cc:7872
 #, 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:6948
+#: fortran/openmp.cc:7883
 #, 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:6966
+#: fortran/openmp.cc:7901
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC READ at %L incompatible with RELEASE clause"
 msgstr ""
 
-#: fortran/openmp.cc:6976
+#: fortran/openmp.cc:7911
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause"
 msgstr ""
 
-#: fortran/openmp.cc:7013
+#: fortran/openmp.cc:7948
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC ATOMIC statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:7028
+#: fortran/openmp.cc:7963
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP BARRIER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:7084
+#: fortran/openmp.cc:8019
 #, 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:7090
+#: fortran/openmp.cc:8025
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CANCELLATION POINT statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:7111
+#: fortran/openmp.cc:8046
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:7150
+#: fortran/openmp.cc:8085
 #, gcc-internal-format, gfc-internal-format
 msgid "%s clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:7162
+#: fortran/openmp.cc:8097 fortran/openmp.cc:10303
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:7174
+#: fortran/openmp.cc:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be non-negative"
 msgstr ""
 
-#: fortran/openmp.cc:7185
+#: fortran/openmp.cc:8120
 #, gcc-internal-format
 msgid "Cray pointer object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7188
+#: fortran/openmp.cc:8123
 #, gcc-internal-format
 msgid "Cray pointee object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7194 fortran/openmp.cc:9074
+#: fortran/openmp.cc:8129 fortran/openmp.cc:10126
 #, gcc-internal-format
 msgid "POINTER object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7199
+#: fortran/openmp.cc:8134
 #, gcc-internal-format
 msgid "Cray pointer object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7204
+#: fortran/openmp.cc:8139
 #, gcc-internal-format
 msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7214 fortran/openmp.cc:8559 fortran/openmp.cc:8836
+#: fortran/openmp.cc:8149 fortran/openmp.cc:9560 fortran/openmp.cc:9861
 #, gcc-internal-format
 msgid "Assumed size array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7217
+#: fortran/openmp.cc:8152
 #, gcc-internal-format
 msgid "Assumed rank array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7233 fortran/openmp.cc:8823
+#: fortran/openmp.cc:8168 fortran/openmp.cc:9848
 #, gcc-internal-format
 msgid "POINTER object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7238 fortran/openmp.cc:9078
+#: fortran/openmp.cc:8173 fortran/openmp.cc:10130
 #, gcc-internal-format
 msgid "Cray pointer object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7243 fortran/openmp.cc:9081
+#: fortran/openmp.cc:8178 fortran/openmp.cc:10133
 #, gcc-internal-format
 msgid "Cray pointee object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7248 fortran/openmp.cc:9069
+#: fortran/openmp.cc:8183 fortran/openmp.cc:10121
 #, gcc-internal-format
 msgid "ALLOCATABLE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7251
+#: fortran/openmp.cc:8186
 #, gcc-internal-format
 msgid "VALUE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7294
+#: fortran/openmp.cc:8229
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7343
+#: fortran/openmp.cc:8278
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7379
+#: fortran/openmp.cc:8320
 #, gcc-internal-format
 msgid ""
 "Unexpected function-result variable %qs at %L in declarative !$OMP ALLOCATE"
 msgstr ""
 
-#: fortran/openmp.cc:7385
+#: fortran/openmp.cc:8326
 #, gcc-internal-format
 msgid "Procedure pointer %qs not supported with !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7391
+#: fortran/openmp.cc:8332
 #, gcc-internal-format
 msgid ""
 "Argument %qs at %L to declarative !$OMP ALLOCATE directive must be a variable"
 msgstr ""
 
-#: fortran/openmp.cc:7398
+#: fortran/openmp.cc:8339
 #, 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:7405
+#: fortran/openmp.cc:8346
 #, gcc-internal-format
 msgid ""
 "Unexpected dummy argument %qs as argument at %L to declarative !$OMP ALLOCATE"
 msgstr ""
 
-#: fortran/openmp.cc:7411
+#: fortran/openmp.cc:8352
 #, gcc-internal-format
 msgid ""
 "Unexpected coarray argument %qs as argument at %L to declarative !$OMP "
 "ALLOCATE"
 msgstr ""
 
-#: fortran/openmp.cc:7419
+#: fortran/openmp.cc:8360
 #, gcc-internal-format
 msgid "Duplicated common block %</%s/%> in !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7426
+#: fortran/openmp.cc:8367
 #, gcc-internal-format
 msgid "Duplicated variable %qs in !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7437
+#: fortran/openmp.cc:8378
 #, gcc-internal-format
 msgid "Sorry, EQUIVALENCE object %qs not supported with !$OMP ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7446
+#: fortran/openmp.cc:8387
 #, gcc-internal-format
 msgid ""
 "Sorry, Cray pointers and pointees such as %qs are not supported with !$OMP "
 "ALLOCATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7455
+#: fortran/openmp.cc:8396
 #, gcc-internal-format
 msgid ""
 "Unexpected allocatable variable %qs at %L in declarative !$OMP ALLOCATE "
 "directive"
 msgstr ""
 
-#: fortran/openmp.cc:7460
+#: fortran/openmp.cc:8401
 #, gcc-internal-format
 msgid ""
 "Unexpected pointer variable %qs at %L in declarative !$OMP ALLOCATE directive"
 msgstr ""
 
-#: fortran/openmp.cc:7471 fortran/openmp.cc:8026
+#: fortran/openmp.cc:8412 fortran/openmp.cc:9027
 #, 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:7486
+#: fortran/openmp.cc:8427
 #, 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:7491
+#: fortran/openmp.cc:8432
 #, 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:7505 fortran/openmp.cc:8010
+#: fortran/openmp.cc:8446 fortran/openmp.cc:9011
 #, gcc-internal-format
 msgid ""
 "Expected integer expression of the %<omp_allocator_handle_kind%> kind at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7521
+#: fortran/openmp.cc:8462
 #, gcc-internal-format, gfc-internal-format
 msgid "HOLDS expression at %L must be a scalar logical expression"
 msgstr ""
 
-#: fortran/openmp.cc:7557
+#: fortran/openmp.cc:8498
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause parameter is less than COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7560
+#: fortran/openmp.cc:8501
 #, gcc-internal-format, gfc-internal-format
-msgid "ORDER clause must not be used together ORDERED at %L"
+msgid "ORDER clause must not be used together with ORDERED at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7567 fortran/openmp.cc:7578 fortran/resolve.cc:11309
-#: fortran/resolve.cc:12878
+#: fortran/openmp.cc:8508 fortran/openmp.cc:8519 fortran/resolve.cc:12571
+#: fortran/resolve.cc:14195
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:7582
+#: fortran/openmp.cc:8523
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause without modifier at %L used together with IF clauses with modifiers"
 msgstr ""
 
-#: fortran/openmp.cc:7707
+#: fortran/openmp.cc:8648
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause modifier %s at %L not appropriate for the current OpenMP construct"
 msgstr ""
 
-#: fortran/openmp.cc:7717
+#: fortran/openmp.cc:8658
 #, gcc-internal-format, gfc-internal-format
 msgid "SELF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:7726
+#: fortran/openmp.cc:8667
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:7736
+#: fortran/openmp.cc:8676
+#, gcc-internal-format, gfc-internal-format
+msgid "NOVARIANTS clause at %L requires a scalar LOGICAL expression"
+msgstr ""
+
+#: fortran/openmp.cc:8686
+#, gcc-internal-format, gfc-internal-format
+msgid "NOCONTEXT clause at %L requires a scalar LOGICAL expression"
+msgstr ""
+
+#: fortran/openmp.cc:8697
 #, gcc-internal-format, gfc-internal-format
 msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:7741
+#: fortran/openmp.cc:8702
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "INTEGER expression of SCHEDULE clause's chunk_size at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:7748
+#: fortran/openmp.cc:8709
 #, gcc-internal-format, gfc-internal-format
 msgid "Both MONOTONIC and NONMONOTONIC schedule modifiers specified at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7751
+#: fortran/openmp.cc:8712
 #, gcc-internal-format, gfc-internal-format
 msgid "NONMONOTONIC schedule modifier specified with ORDERED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7760
+#: fortran/openmp.cc:8721
 #, 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:7781
+#: fortran/openmp.cc:8742
 #, gcc-internal-format
 msgid "Variable %qs is not a dummy argument at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7816
+#: fortran/openmp.cc:8777
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "copied"
 msgstr ""
 
-#: fortran/openmp.cc:7820
+#: fortran/openmp.cc:8781
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "mapped"
 msgstr ""
 
-#: fortran/openmp.cc:7825 fortran/openmp.cc:11441
+#: fortran/openmp.cc:8786 fortran/openmp.cc:12641
 #, gcc-internal-format
 msgid "Object %qs is not a variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7836
+#: fortran/openmp.cc:8797
 #, 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:7840
+#: fortran/openmp.cc:8801
 #, gcc-internal-format
 msgid ""
 "ORDERED clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7843
+#: fortran/openmp.cc:8804
 #, gcc-internal-format
 msgid ""
 "SCHEDULE clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7874 fortran/openmp.cc:7886 fortran/openmp.cc:7907
-#: fortran/openmp.cc:7919 fortran/openmp.cc:7942 fortran/openmp.cc:7950
-#: fortran/openmp.cc:7971 fortran/openmp.cc:7982 fortran/openmp.cc:7994
-#: fortran/openmp.cc:8229 fortran/openmp.cc:11465
+#: fortran/openmp.cc:8836 fortran/openmp.cc:8848 fortran/openmp.cc:8869
+#: fortran/openmp.cc:8881 fortran/openmp.cc:8943 fortran/openmp.cc:8951
+#: fortran/openmp.cc:8972 fortran/openmp.cc:8983 fortran/openmp.cc:8995
+#: fortran/openmp.cc:9230 fortran/openmp.cc:12665
 #, gcc-internal-format
 msgid "Symbol %qs present on multiple clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7915
+#: fortran/openmp.cc:8877
 #, gcc-internal-format
 msgid "Symbol %qs has mixed component and non-component accesses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7965
+#: fortran/openmp.cc:8900
+#, gcc-internal-format
+msgid ""
+"DEPEND clause at %L requires action clause with %<targetsync%> interop-type"
+msgstr ""
+
+#: fortran/openmp.cc:8907
+#, gcc-internal-format
+msgid ""
+"DEPEND clause at %L requires %<targetsync%> interop-type, lacking it for %qs "
+"at %L"
+msgstr ""
+
+#: fortran/openmp.cc:8922
+#, gcc-internal-format
+msgid ""
+"%qs at %L in %qs clause must be a scalar integer variable of "
+"%<omp_interop_kind%> kind"
+msgstr ""
+
+#: fortran/openmp.cc:8927
+#, gcc-internal-format
+msgid "%qs at %L in %qs clause must be definable"
+msgstr ""
+
+#: fortran/openmp.cc:8966
 #, gcc-internal-format
 msgid "Symbol %qs present on both data and map clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8051
+#: fortran/openmp.cc:9052
 #, gcc-internal-format
 msgid "%qs appears more than once in %<allocate%> at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8093
+#: fortran/openmp.cc:9094 fortran/trans-openmp.cc:7405
 #, gcc-internal-format
 msgid ""
 "%qs specified in %<allocate%> clause at %L but not in an explicit "
 "privatization clause"
 msgstr ""
 
-#: fortran/openmp.cc:8121
+#: fortran/openmp.cc:9122
 #, gcc-internal-format
 msgid "Unexpected coarray %qs in %<allocate%> at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8135
+#: fortran/openmp.cc:9136
 #, gcc-internal-format
 msgid ""
 "%qs specified in %<allocate%> at %L but not in the associated ALLOCATE "
 "statement"
 msgstr ""
 
-#: fortran/openmp.cc:8169
+#: fortran/openmp.cc:9170
 #, gcc-internal-format
 msgid ""
 "%qs listed in %<allocate%> statement at %L but it is neither explicitly in "
@@ -80369,772 +82133,846 @@ msgid ""
 "argument list"
 msgstr ""
 
-#: fortran/openmp.cc:8180
+#: fortran/openmp.cc:9181
 #, gcc-internal-format
 msgid ""
 "Unexpected coarray %qs in %<allocate%> at %L, implicitly listed in %<!$OMP "
 "ALLOCATE%> at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8205
+#: fortran/openmp.cc:9206
 #, gcc-internal-format
 msgid ""
 "ALLOCATORS directive at %L inside a target region must specify an ALLOCATOR "
 "modifier for %qs"
 msgstr ""
 
-#: fortran/openmp.cc:8209
+#: fortran/openmp.cc:9210
 #, gcc-internal-format
 msgid ""
 "ALLOCATE directive at %L inside a target region must specify an ALLOCATOR "
 "clause for %qs"
 msgstr ""
 
-#: fortran/openmp.cc:8213
+#: fortran/openmp.cc:9214
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ALLOCATE directive at %L inside a target region must specify an ALLOCATOR "
 "clause"
 msgstr ""
 
-#: fortran/openmp.cc:8236
+#: fortran/openmp.cc:9237
 #, gcc-internal-format
 msgid "Array %qs is not permitted in reduction at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8249
+#: fortran/openmp.cc:9250
 #, gcc-internal-format
 msgid "Symbol %qs present on both FROM and TO clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8267
+#: fortran/openmp.cc:9268
 #, gcc-internal-format
 msgid "Non-THREADPRIVATE object %qs in COPYIN clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8273
+#: fortran/openmp.cc:9274
 #, gcc-internal-format, gfc-internal-format
 msgid "NOWAIT clause must not be used with COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8278
+#: fortran/openmp.cc:9279
 #, gcc-internal-format
 msgid "Assumed size array %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8281
+#: fortran/openmp.cc:9282
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8289
+#: fortran/openmp.cc:9290
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8292
+#: fortran/openmp.cc:9293
 #, gcc-internal-format
 msgid "Cray pointee %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8295
+#: fortran/openmp.cc:9296
 #, gcc-internal-format
 msgid "Associate name %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8301
+#: fortran/openmp.cc:9302
 #, gcc-internal-format
 msgid "DETACH event handle %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8316
+#: fortran/openmp.cc:9317
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8326
+#: fortran/openmp.cc:9327
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause at %L requires a scalar positive constant integer "
 "alignment expression"
 msgstr ""
 
-#: fortran/openmp.cc:8352
+#: fortran/openmp.cc:9353
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range begin expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8358
+#: fortran/openmp.cc:9359
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range end expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8364
+#: fortran/openmp.cc:9365
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8369
+#: fortran/openmp.cc:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonzero range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8382
+#: fortran/openmp.cc:9383
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Dependence-type SINK used together with SOURCE on the same construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8392
+#: fortran/openmp.cc:9393
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK addend not a constant integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8398
+#: fortran/openmp.cc:9399
 #, gcc-internal-format
 msgid "omp_cur_iteration at %L requires %<-1%> as logical offset"
 msgstr ""
 
-#: fortran/openmp.cc:8408
+#: fortran/openmp.cc:9409
 #, 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:8419
+#: fortran/openmp.cc:9420
 #, 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:8463
+#: fortran/openmp.cc:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "Array is not contiguous at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8478
+#: fortran/openmp.cc:9479
 #, gcc-internal-format
 msgid "%qs clause argument must be ALLOCATABLE or a POINTER at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8490
+#: fortran/openmp.cc:9491
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected substring reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8498
+#: fortran/openmp.cc:9499
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected complex-parts designator reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8507 fortran/openmp.cc:8525
+#: fortran/openmp.cc:9508 fortran/openmp.cc:9526
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is not a proper array section"
 msgstr ""
 
-#: fortran/openmp.cc:8517
+#: fortran/openmp.cc:9518
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride should not be specified for array section in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8539
+#: fortran/openmp.cc:9540
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is a zero size array section"
 msgstr ""
 
-#: fortran/openmp.cc:8565
+#: fortran/openmp.cc:9566
 #, gcc-internal-format
 msgid ""
 "List item %qs with allocatable components is not permitted in map clause at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8591
+#: fortran/openmp.cc:9576
+#, gcc-internal-format, gfc-internal-format
+msgid "Mapping polymorphic list item at %L is unspecified behavior"
+msgstr ""
+
+#: fortran/openmp.cc:9612
 #, 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:8622
+#: fortran/openmp.cc:9643
 #, 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:8651
+#: fortran/openmp.cc:9672
 #, 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:8667 fortran/openmp.cc:8807
+#: fortran/openmp.cc:9688 fortran/openmp.cc:9832
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8670 fortran/openmp.cc:8810
+#: fortran/openmp.cc:9691 fortran/openmp.cc:9835
 #, 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:8682
+#: fortran/openmp.cc:9705
 #, gcc-internal-format
 msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)"
 msgstr ""
 
-#: fortran/openmp.cc:8739
+#: fortran/openmp.cc:9764
 #, gcc-internal-format
 msgid "Memspace %qs at %L in USES_ALLOCATORS must be a predefined memory space"
 msgstr ""
 
-#: fortran/openmp.cc:8747
+#: fortran/openmp.cc:9772
 #, 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:8755
+#: fortran/openmp.cc:9780
 #, gcc-internal-format
 msgid ""
 "Allocator %qs at %L in USES_ALLOCATORS must either a variable or a "
 "predefined allocator"
 msgstr ""
 
-#: fortran/openmp.cc:8760
+#: fortran/openmp.cc:9785
 #, gcc-internal-format
 msgid ""
 "A memory space or traits array may not be specified for predefined allocator "
 "%qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8771
+#: fortran/openmp.cc:9796
 #, 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:8801
+#: fortran/openmp.cc:9826
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:8813
+#: fortran/openmp.cc:9838
 #, gcc-internal-format
 msgid "Associate name %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8820
+#: fortran/openmp.cc:9845
 #, gcc-internal-format
 msgid "Procedure pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8826
+#: fortran/openmp.cc:9851
 #, gcc-internal-format
 msgid "Cray pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8839
+#: fortran/openmp.cc:9864
 #, gcc-internal-format
 msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
 msgstr ""
 
 #. case OMP_LIST_REDUCTION:
-#: fortran/openmp.cc:8849
+#: fortran/openmp.cc:9874
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8860
+#: fortran/openmp.cc:9885
 #, gcc-internal-format
 msgid "DETACH event handle %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8884
+#: fortran/openmp.cc:9907
+#, gcc-internal-format, gfc-internal-format
+msgid "FIRSTPRIVATE with polymorphic list item at %L is unspecified behavior"
+msgstr ""
+
+#: fortran/openmp.cc:9936
 #, gcc-internal-format, gfc-internal-format
 msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8977
+#: fortran/openmp.cc:10029
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9005
+#: fortran/openmp.cc:10057
 #, gcc-internal-format, gfc-internal-format
 msgid "LINEAR clause modifier used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9011
+#: fortran/openmp.cc:10063
 #, 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:9019
+#: fortran/openmp.cc:10071
 #, gcc-internal-format
 msgid "LINEAR variable %qs must be INTEGER at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9024
+#: fortran/openmp.cc:10076
 #, gcc-internal-format
 msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9035
+#: fortran/openmp.cc:10087
 #, gcc-internal-format
 msgid ""
 "%qs in LINEAR clause at %L requires a scalar integer linear-step expression"
 msgstr ""
 
-#: fortran/openmp.cc:9052
+#: fortran/openmp.cc:10104
 #, 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:9086
+#: fortran/openmp.cc:10138
 #, gcc-internal-format
 msgid "%s clause variable %qs at %L is neither a POINTER nor an array"
 msgstr ""
 
-#: fortran/openmp.cc:9146
+#: fortran/openmp.cc:10198
 #, gcc-internal-format, gfc-internal-format
 msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9159
+#: fortran/openmp.cc:10211
 #, gcc-internal-format, gfc-internal-format
 msgid "Value of HINT clause at %L shall be a valid constant hint expression"
 msgstr ""
 
-#: fortran/openmp.cc:9169
+#: fortran/openmp.cc:10221
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:9199
+#: fortran/openmp.cc:10231
+#, gcc-internal-format
+msgid ""
+"%<GRAINSIZE%> clause at %L must not be used together with %<NUM_TASKS%> "
+"clause"
+msgstr ""
+
+#: fortran/openmp.cc:10234
+#, gcc-internal-format
+msgid ""
+"%<REDUCTION%> clause at %L must not be used together with %<NOGROUP%> clause"
+msgstr ""
+
+#: fortran/openmp.cc:10238
+#, gcc-internal-format
+msgid "%<FULL%> clause at %C must not be used together with %<PARTIAL%> clause"
+msgstr ""
+
+#: fortran/openmp.cc:10261
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible use of TILE and COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9223
+#: fortran/openmp.cc:10285
 #, 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:9226
+#: fortran/openmp.cc:10288
 #, gcc-internal-format, gfc-internal-format
 msgid "%s must contain at least one MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9236
+#: fortran/openmp.cc:10298
+#, gcc-internal-format, gfc-internal-format
+msgid "SIZES requires constant expression at %L"
+msgstr ""
+
+#: fortran/openmp.cc:10314
 #, gcc-internal-format
 msgid ""
 "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)"
 msgstr ""
 
-#: fortran/openmp.cc:9241
+#: fortran/openmp.cc:10319
 #, gcc-internal-format, gfc-internal-format
 msgid "The event handle at %L must not be an array element"
 msgstr ""
 
-#: fortran/openmp.cc:9245
+#: fortran/openmp.cc:10323
 #, 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:9249
+#: fortran/openmp.cc:10327
 #, gcc-internal-format
 msgid ""
 "%<DETACH%> clause at %L must not be used together with %<MERGEABLE%> clause"
 msgstr ""
 
-#: fortran/openmp.cc:9256
+#: fortran/openmp.cc:10334
 #, gcc-internal-format
 msgid "%<host_data%> construct at %L requires %<use_device%> clause"
 msgstr ""
 
-#: fortran/openmp.cc:9410
+#: fortran/openmp.cc:10488
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected IF at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:9418
+#: fortran/openmp.cc:10496
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ELSE at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:9530
+#: fortran/openmp.cc:10608
 #, gcc-internal-format
 msgid ""
 "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9536
+#: fortran/openmp.cc:10614
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic variable at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:9544
+#: fortran/openmp.cc:10622
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic expression at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:9552
+#: fortran/openmp.cc:10630
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9561
+#: fortran/openmp.cc:10639
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9568
+#: fortran/openmp.cc:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9585
+#: fortran/openmp.cc:10663
 #, 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:9590
+#: fortran/openmp.cc:10668
 #, 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:9602
+#: fortran/openmp.cc:10680
 #, 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:9610
+#: fortran/openmp.cc:10688
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type "
 "at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9620
+#: fortran/openmp.cc:10698
 #, 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:9636
+#: fortran/openmp.cc:10714
 #, 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:9644
+#: fortran/openmp.cc:10722
 #, 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:9662
+#: fortran/openmp.cc:10740
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE "
+"!$OMP ATOMIC UPDATE at %L with FAIL clause requires either the COMPARE "
 "clause or using the intrinsic MIN/MAX procedure"
 msgstr ""
 
-#: fortran/openmp.cc:9689
+#: fortran/openmp.cc:10767
 #, 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:9737
+#: fortran/openmp.cc:10815
 #, 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:9751
+#: fortran/openmp.cc:10829
 #, 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:9784
+#: fortran/openmp.cc:10862
 #, 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:9808
+#: fortran/openmp.cc:10886
 #, 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:9815
+#: fortran/openmp.cc:10893
 #, 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:9838
+#: fortran/openmp.cc:10916
 #, gcc-internal-format
 msgid ""
 "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9845
+#: fortran/openmp.cc:10923
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9853
+#: fortran/openmp.cc:10931
 #, gcc-internal-format
 msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9871
+#: fortran/openmp.cc:10949
 #, 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:9876
+#: fortran/openmp.cc:10954
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected !$OMP ATOMIC expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9978
+#: fortran/openmp.cc:11062
 #, 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:9985
+#: fortran/openmp.cc:11069
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP SCAN at %L with zero executable statements in preceding structured "
 "block sequence"
 msgstr ""
 
-#: fortran/openmp.cc:9992
+#: fortran/openmp.cc:11076
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP SCAN at %L with zero executable statements in succeeding structured "
 "block sequence"
 msgstr ""
 
-#: fortran/openmp.cc:10206
+#: fortran/openmp.cc:11292
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot contain loop in intervening code at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10286
+#: fortran/openmp.cc:11373
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot contain OpenMP directive in intervening code at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10298 fortran/openmp.cc:10324
+#: fortran/openmp.cc:11385 fortran/openmp.cc:11411
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot contain OpenMP API call in intervening code at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10852
+#: fortran/openmp.cc:11934
+#, gcc-internal-format, gfc-internal-format
+msgid "SIZES clause is required on !$OMP TILE construct at %L"
+msgstr ""
+
+#: fortran/openmp.cc:11961
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO WHILE or DO without loop control at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10858
+#: fortran/openmp.cc:11967
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10865
+#: fortran/openmp.cc:11977
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Generated loop of UNROLL construct at %L without PARTIAL clause does not "
+"have canonical form"
+msgstr ""
+
+#: fortran/openmp.cc:11984
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"UNROLL construct at %L with PARTIAL clause generates just one loop with "
+"canonical form but %d loops are needed"
+msgstr ""
+
+#: fortran/openmp.cc:11999
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"TILE construct at %L generates %d loops with canonical form but %d loops are "
+"needed"
+msgstr ""
+
+#: fortran/openmp.cc:12010
+#, gcc-internal-format
+msgid "Imperfectly nested loop using generated loops"
+msgstr ""
+
+#: fortran/openmp.cc:12022
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10872
+#: fortran/openmp.cc:12029
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must not be THREADPRIVATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10887
+#: fortran/openmp.cc:12044
 #, 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:10891
+#: fortran/openmp.cc:12048
 #, 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:10898
+#: fortran/openmp.cc:12055
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable used in more than one loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10904
+#: fortran/openmp.cc:12061
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable at %L is bound in intervening code"
 msgstr ""
 
-#: fortran/openmp.cc:10913
+#: fortran/openmp.cc:12070
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop start expression not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10920
+#: fortran/openmp.cc:12077
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop start expression at %L uses variable bound in intervening code"
 msgstr ""
 
-#: fortran/openmp.cc:10929
+#: fortran/openmp.cc:12086
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop end expression not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10936
+#: fortran/openmp.cc:12093
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop end expression at %L uses variable bound in intervening code"
 msgstr ""
 
-#: fortran/openmp.cc:10943
+#: fortran/openmp.cc:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop bounds reference different iteration variables at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10949
+#: fortran/openmp.cc:12106
 #, gcc-internal-format, gfc-internal-format
 msgid "%s loop increment not in canonical form at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10956
+#: fortran/openmp.cc:12113
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s loop increment expression at %L uses variable bound in intervening code"
 msgstr ""
 
+#: fortran/openmp.cc:12124
+#, gcc-internal-format
+msgid "Non-rectangular loops from generated loops unsupported"
+msgstr ""
+
 #. Parse error, can't recover from this.
-#: fortran/openmp.cc:10974
+#: fortran/openmp.cc:12140
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for collapsed %s (level %d) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10986
+#: fortran/openmp.cc:12152
 #, gcc-internal-format, gfc-internal-format
 msgid "%s inner loops must be perfectly nested with ORDERED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:10993
+#: fortran/openmp.cc:12159
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s inner loops must be perfectly nested with REDUCTION INSCAN clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11220 fortran/openmp.cc:11233
+#: fortran/openmp.cc:12166
+#, gcc-internal-format, gfc-internal-format
+msgid "%s inner loops must be perfectly nested at %L"
+msgstr ""
+
+#: fortran/openmp.cc:12420 fortran/openmp.cc:12433
 #, gcc-internal-format, gfc-internal-format
 msgid "The %s directive cannot be specified within a %s region at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11252
+#: fortran/openmp.cc:12452
 #, 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:11258
+#: fortran/openmp.cc:12458
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11264
+#: fortran/openmp.cc:12464
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11280
+#: fortran/openmp.cc:12480
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11292
+#: fortran/openmp.cc:12492
 #, gcc-internal-format, gfc-internal-format
 msgid "%s !$ACC LOOP loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11302 fortran/openmp.cc:11311
+#: fortran/openmp.cc:12502 fortran/openmp.cc:12511
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for %s !$ACC LOOP at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11327
+#: fortran/openmp.cc:12527
 #, 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:11348
+#: fortran/openmp.cc:12548
 #, gcc-internal-format, gfc-internal-format
 msgid "TILE requires constant expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11448
+#: fortran/openmp.cc:12648
 #, gcc-internal-format
 msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11495
+#: fortran/openmp.cc:12695
 #, gcc-internal-format
 msgid ""
 "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE "
 "( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11501
+#: fortran/openmp.cc:12701
 #, gcc-internal-format
 msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11569
+#: fortran/openmp.cc:12788
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP TARGET region at %L with a nested TEAMS at %L may not contain any "
@@ -81142,83 +82980,102 @@ msgid ""
 "construct"
 msgstr ""
 
-#: fortran/openmp.cc:11573
+#: fortran/openmp.cc:12792
 #, 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:11667
+#: fortran/openmp.cc:12810
+#, gcc-internal-format
+msgid ""
+"%<OMP DISPATCH%> directive at %L must be followed by a procedure call with "
+"optional assignment"
+msgstr ""
+
+#: fortran/openmp.cc:12817
+#, gcc-internal-format
+msgid ""
+"%<OMP DISPATCH%> directive at %L cannot be followed by a procedure pointer"
+msgstr ""
+
+#: fortran/openmp.cc:12828 fortran/openmp.cc:12988
+#, gcc-internal-format
+msgid ""
+"argument list item %qs in %<need_device_ptr%> at %L must be of TYPE(C_PTR)"
+msgstr ""
+
+#: fortran/openmp.cc:12924
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause"
 msgstr ""
 
-#: fortran/openmp.cc:11681
+#: fortran/openmp.cc:12938
 #, 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:11687
+#: fortran/openmp.cc:12944
 #, gcc-internal-format
 msgid ""
 "Unexpected !$OMP SCAN at %L outside loop construct with %<inscan%> REDUCTION "
 "clause"
 msgstr ""
 
-#: fortran/openmp.cc:11708
+#: fortran/openmp.cc:12973
 #, gcc-internal-format
 msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11732
+#: fortran/openmp.cc:13011
 #, 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:11740
+#: fortran/openmp.cc:13019
 #, 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:11769
+#: fortran/openmp.cc:13048
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11791
+#: fortran/openmp.cc:13070
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11807
+#: fortran/openmp.cc:13086
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Subroutine call with alternate returns in combiner of !$OMP DECLARE "
 "REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:11822
+#: fortran/openmp.cc:13101
 #, 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:11832
+#: fortran/openmp.cc:13111
 #, 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:11840
+#: fortran/openmp.cc:13119
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type "
@@ -81276,73 +83133,78 @@ msgid ""
 "Flag %<-fmax-stack-var-size=%d%> overwrites %<-frecursive%> implied by %qs"
 msgstr ""
 
-#: fortran/options.cc:507
+#: fortran/options.cc:526
 #, gcc-internal-format
 msgid "Fixed line length must be at least seven"
 msgstr ""
 
-#: fortran/options.cc:510
+#: fortran/options.cc:529
 #, gcc-internal-format
 msgid "Free line length must be at least three"
 msgstr ""
 
-#: fortran/options.cc:513
+#: fortran/options.cc:532
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum subrecord length cannot exceed %d"
 msgstr ""
 
-#: fortran/options.cc:532
+#: fortran/options.cc:555
 #, gcc-internal-format
 msgid "gfortran: Only one %<-J%> option allowed"
 msgstr ""
 
-#: fortran/options.cc:607
+#: fortran/options.cc:630
 #, gcc-internal-format
 msgid "Argument to %<-ffpe-trap%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:609
+#: fortran/options.cc:632
 #, gcc-internal-format
 msgid "Argument to %<-ffpe-summary%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:658
+#: fortran/options.cc:681
 #, gcc-internal-format
 msgid "Argument to %<-fcheck%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:723
+#: fortran/options.cc:746
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum supported identifier length is %d"
 msgstr ""
 
-#: fortran/options.cc:738
+#: fortran/options.cc:761
 #, gcc-internal-format
 msgid "Unrecognized option to %<-finit-logical%>: %s"
 msgstr ""
 
-#: fortran/options.cc:754
+#: fortran/options.cc:777
 #, gcc-internal-format
 msgid "The value of n in %<-finit-character=n%> must be between 0 and 127"
 msgstr ""
 
-#: fortran/parse.cc:655
+#: fortran/options.cc:889
+#, gcc-internal-format
+msgid "command-line option %<-fno-builtin-%s%> is not valid for Fortran"
+msgstr ""
+
+#: fortran/parse.cc:665
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:719
+#: fortran/parse.cc:729
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OpenACC directives other than ROUTINE may not appear in PURE procedures at %C"
 msgstr ""
 
-#: fortran/parse.cc:785
+#: fortran/parse.cc:795
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable OpenACC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:817
+#: fortran/parse.cc:827
 #, gcc-internal-format
 msgid ""
 "%qs directive at %L must either have a variable argument or, if associated "
@@ -81350,7 +83212,7 @@ msgid ""
 "construct"
 msgstr ""
 
-#: fortran/parse.cc:829
+#: fortran/parse.cc:839
 #, gcc-internal-format
 msgid ""
 "Structure-component expression at %L in %qs directive not permitted in "
@@ -81358,7 +83220,7 @@ msgid ""
 "be preceded by an executable statement or OpenMP construct"
 msgstr ""
 
-#: fortran/parse.cc:855
+#: fortran/parse.cc:865
 #, gcc-internal-format
 msgid ""
 "%qs directive at %L associated with an ALLOCATE stmt must be preceded by an "
@@ -81366,151 +83228,151 @@ msgid ""
 "have the allocatable or pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:1023 fortran/parse.cc:1325
+#: fortran/parse.cc:1055 fortran/parse.cc:1366
 #, 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:1296
+#: fortran/parse.cc:1333
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable OpenMP directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1312
+#: fortran/parse.cc:1353
 #, gcc-internal-format
 msgid ""
 "OpenMP ERROR directive at %L with %<at(execution)%> clause in a PURE "
 "procedure"
 msgstr ""
 
-#: fortran/parse.cc:1440
+#: fortran/parse.cc:1491
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1442
+#: fortran/parse.cc:1493
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C, ignored"
 msgstr ""
 
-#: fortran/parse.cc:1502 fortran/parse.cc:1729
+#: fortran/parse.cc:1553 fortran/parse.cc:1780
 #, gcc-internal-format, gfc-internal-format
 msgid "Zero is not a valid statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1509 fortran/parse.cc:1721
+#: fortran/parse.cc:1560 fortran/parse.cc:1772
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-numeric character in statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1521 fortran/parse.cc:1770
+#: fortran/parse.cc:1572 fortran/parse.cc:1821
 #, gcc-internal-format, gfc-internal-format
 msgid "Semicolon at %C needs to be preceded by statement"
 msgstr ""
 
-#: fortran/parse.cc:1528 fortran/parse.cc:1785
+#: fortran/parse.cc:1579 fortran/parse.cc:1836
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label without statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:1591 fortran/parse.cc:1772
+#: fortran/parse.cc:1642 fortran/parse.cc:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Semicolon at %C without preceding statement"
 msgstr ""
 
-#: fortran/parse.cc:1614 fortran/parse.cc:1748
+#: fortran/parse.cc:1665 fortran/parse.cc:1799
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad continuation line at %C"
 msgstr ""
 
-#: fortran/parse.cc:2060
+#: fortran/parse.cc:2151
 #, gcc-internal-format, gfc-internal-format
 msgid "FORMAT statement at %L does not have a statement label"
 msgstr ""
 
-#: fortran/parse.cc:2975
+#: fortran/parse.cc:3096
 #, gcc-internal-format
 msgid "gfc_ascii_statement(): Bad statement code"
 msgstr ""
 
-#: fortran/parse.cc:3124
+#: fortran/parse.cc:3247
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3281
+#: fortran/parse.cc:3404
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot follow %s statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:3298
+#: fortran/parse.cc:3421
 #, gcc-internal-format
 msgid "Unexpected end of file in %qs"
 msgstr ""
 
-#: fortran/parse.cc:3333
+#: fortran/parse.cc:3456
 #, gcc-internal-format
 msgid "Derived-type %qs with SEQUENCE must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3336
+#: fortran/parse.cc:3459
 #, gcc-internal-format
 msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3356
+#: fortran/parse.cc:3479
 #, gcc-internal-format, gfc-internal-format
 msgid "Components in TYPE at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3360
+#: fortran/parse.cc:3483
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound procedure at %C"
 msgstr ""
 
-#: fortran/parse.cc:3368
+#: fortran/parse.cc:3491
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC binding at %C"
 msgstr ""
 
-#: fortran/parse.cc:3376
+#: fortran/parse.cc:3499
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3388
+#: fortran/parse.cc:3511
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C with empty CONTAINS section"
 msgstr ""
 
-#: fortran/parse.cc:3398 fortran/parse.cc:3853
+#: fortran/parse.cc:3521 fortran/parse.cc:3976
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:3405
+#: fortran/parse.cc:3528
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede procedure bindings"
 msgstr ""
 
-#: fortran/parse.cc:3412 fortran/parse.cc:3866
+#: fortran/parse.cc:3535 fortran/parse.cc:3989
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate PRIVATE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3422
+#: fortran/parse.cc:3545
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3426
+#: fortran/parse.cc:3549
 #, gcc-internal-format, gfc-internal-format
 msgid "Already inside a CONTAINS block at %C"
 msgstr ""
 
-#: fortran/parse.cc:3545
+#: fortran/parse.cc:3668
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type LOCK_TYPE must have a codimension or be a "
@@ -81518,27 +83380,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3551
+#: fortran/parse.cc:3674
 #, 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:3556
+#: fortran/parse.cc:3679
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type LOCK_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3560
+#: fortran/parse.cc:3683
 #, 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:3565
+#: fortran/parse.cc:3688
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -81547,7 +83409,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3572
+#: fortran/parse.cc:3695
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -81556,7 +83418,7 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3582
+#: fortran/parse.cc:3705
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type EVENT_TYPE must have a codimension or be a "
@@ -81564,27 +83426,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3588
+#: fortran/parse.cc:3711
 #, 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:3593
+#: fortran/parse.cc:3716
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type EVENT_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3597
+#: fortran/parse.cc:3720
 #, 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:3602
+#: fortran/parse.cc:3725
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -81593,7 +83455,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3609
+#: fortran/parse.cc:3732
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -81602,331 +83464,375 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3661
+#: fortran/parse.cc:3784
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create map component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3694
+#: fortran/parse.cc:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create union component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3749
+#: fortran/parse.cc:3872
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in nested structure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3836
+#: fortran/parse.cc:3959
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3844
+#: fortran/parse.cc:3967
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C without components"
 msgstr ""
 
-#: fortran/parse.cc:3860
+#: fortran/parse.cc:3983
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3877
+#: fortran/parse.cc:4000
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3883
+#: fortran/parse.cc:4006
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE attribute at %C already specified in TYPE statement"
 msgstr ""
 
-#: fortran/parse.cc:3888
+#: fortran/parse.cc:4011
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate SEQUENCE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3898
+#: fortran/parse.cc:4021
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS block in derived type definition at %C"
 msgstr ""
 
-#: fortran/parse.cc:3956
+#: fortran/parse.cc:4079
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM declaration at %C has no ENUMERATORS"
 msgstr ""
 
-#: fortran/parse.cc:4043
+#: fortran/parse.cc:4166
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in INTERFACE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4068
+#: fortran/parse.cc:4191
 #, gcc-internal-format
 msgid ""
 "Name %qs of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/parse.cc:4099
+#: fortran/parse.cc:4222
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C in INTERFACE body"
 msgstr ""
 
-#: fortran/parse.cc:4117
+#: fortran/parse.cc:4240
 #, gcc-internal-format
 msgid ""
 "INTERFACE procedure %qs at %L has the same name as the enclosing procedure"
 msgstr ""
 
-#: fortran/parse.cc:4256
+#: fortran/parse.cc:4379
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4288
+#: fortran/parse.cc:4411
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:4372
+#: fortran/parse.cc:4495
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement must appear in a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:4380
+#: fortran/parse.cc:4503
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C follows another accessibility specification"
 msgstr ""
 
-#: fortran/parse.cc:4432
+#: fortran/parse.cc:4555
 #, gcc-internal-format
 msgid "Bad kind expression for function %qs at %L"
 msgstr ""
 
-#: fortran/parse.cc:4436
+#: fortran/parse.cc:4559
 #, gcc-internal-format
 msgid "The type for function %qs at %L is not accessible"
 msgstr ""
 
-#: fortran/parse.cc:4496
+#: fortran/parse.cc:4619
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
 msgstr ""
 
-#: fortran/parse.cc:4518
+#: fortran/parse.cc:4641
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in WHERE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4577
+#: fortran/parse.cc:4700
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in FORALL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4628
+#: fortran/parse.cc:4751
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:4646
+#: fortran/parse.cc:4769
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate ELSE statements at %L and %C"
 msgstr ""
 
-#: fortran/parse.cc:4707
+#: fortran/parse.cc:4830
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
 msgstr ""
 
-#: fortran/parse.cc:4791
+#: fortran/parse.cc:4914
 #, 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:4867
+#: fortran/parse.cc:4990
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected RANK or RANK DEFAULT following SELECT RANK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4931
+#: fortran/parse.cc:5054
 #, gcc-internal-format
 msgid "Variable %qs at %C cannot be redefined inside loop beginning at %L"
 msgstr ""
 
-#: fortran/parse.cc:4964
+#: fortran/parse.cc:5087
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is within another block"
 msgstr ""
 
-#: fortran/parse.cc:4974
+#: fortran/parse.cc:5097
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
 msgstr ""
 
-#: fortran/parse.cc:5000
+#: fortran/parse.cc:5123
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenACC region at %C"
 msgstr ""
 
-#: fortran/parse.cc:5001
+#: fortran/parse.cc:5124
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenMP region at %C"
 msgstr ""
 
-#: fortran/parse.cc:5027
+#: fortran/parse.cc:5150
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in END CRITICAL at %C does not match CRITICAL label"
 msgstr ""
 
-#: fortran/parse.cc:5096 fortran/parse.cc:5977
+#: fortran/parse.cc:5219 fortran/parse.cc:6162
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:5131
+#: fortran/parse.cc:5254
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSOCIATE construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:5410
+#: fortran/parse.cc:5567
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr ""
 
-#: fortran/parse.cc:5426
+#: fortran/parse.cc:5583
 #, gcc-internal-format, gfc-internal-format
 msgid "Named block DO at %L requires matching ENDDO name"
 msgstr ""
 
-#: fortran/parse.cc:5583 fortran/parse.cc:6135 fortran/parse.cc:6153
+#. We have found some extra statements between the loop
+#. and the "end metadirective" which is required in a
+#. "begin metadirective" construct, or perhaps the
+#. "end metadirective" is missing entirely.
+#. We have found some extra statements between the END BLOCK
+#. and the "end metadirective" which is required in a
+#. "begin metadirective" construct, or perhaps the
+#. "end metadirective" is missing entirely.
+#: fortran/parse.cc:5817 fortran/parse.cc:6314
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected OMP END METADIRECTIVE at %C"
+msgstr ""
+
+#: fortran/parse.cc:5827 fortran/parse.cc:6330 fortran/parse.cc:6348
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicated NOWAIT clause on %s and %s at %C"
 msgstr ""
 
-#: fortran/parse.cc:5684 fortran/parse.cc:5746
+#: fortran/parse.cc:5931 fortran/parse.cc:5993
 #, gcc-internal-format, gfc-internal-format
 msgid "OpenACC directive inside of CRITICAL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:5721
+#: fortran/parse.cc:5968
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s at %C"
 msgstr ""
 
-#: fortran/parse.cc:5765
+#: fortran/parse.cc:6012
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DO loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5785
+#: fortran/parse.cc:6032
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant !$ACC END LOOP at %C"
 msgstr ""
 
-#: fortran/parse.cc:5835
+#: fortran/parse.cc:6082
 #, 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:5855
+#: fortran/parse.cc:6102
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s at %C; expected ALLOCATE or %s statement"
 msgstr ""
 
-#: fortran/parse.cc:5858
+#: fortran/parse.cc:6105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s at %C; expected ALLOCATE statement after %s"
 msgstr ""
 
-#: fortran/parse.cc:6146
+#: fortran/parse.cc:6341
 #, gcc-internal-format, gfc-internal-format
 msgid "Name after !$omp critical and !$omp end critical does not match at %C"
 msgstr ""
 
-#: fortran/parse.cc:6221
+#: fortran/parse.cc:6405
+#, gcc-internal-format
+msgid ""
+"%<OMP DISPATCH%> directive must be followed by a procedure call with "
+"optional assignment at %C"
+msgstr ""
+
+#: fortran/parse.cc:6416
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicated NOWAIT clause on !$OMP DISPATCH and !$OMP END DISPATCH at %C"
+msgstr ""
+
+#: fortran/parse.cc:6488
+#, gcc-internal-format, gfc-internal-format
+msgid "Unexpected %s statement in OMP METADIRECTIVE block at %C"
+msgstr ""
+
+#: fortran/parse.cc:6529
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Variants in a metadirective at %L have different associations; consider "
+"using a BLOCK construct or BEGIN/END METADIRECTIVE"
+msgstr ""
+
+#: fortran/parse.cc:6534
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Variants in a metadirective at %L have different associations; consider "
+"using a BLOCK construct"
+msgstr ""
+
+#: fortran/parse.cc:6584
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
 msgstr ""
 
-#: fortran/parse.cc:6235
+#: fortran/parse.cc:6598
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C after the first executable statement"
 msgstr ""
 
-#: fortran/parse.cc:6391
+#: fortran/parse.cc:6714
 #, gcc-internal-format
 msgid "%<GCC unroll%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6394
+#: fortran/parse.cc:6717
 #, gcc-internal-format
 msgid "%<GCC ivdep%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6397
+#: fortran/parse.cc:6720
 #, gcc-internal-format
 msgid "%<GCC vector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6400
+#: fortran/parse.cc:6723
 #, gcc-internal-format
 msgid "%<GCC novector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6516
+#: fortran/parse.cc:6839
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C is already ambiguous"
 msgstr ""
 
-#: fortran/parse.cc:6573
+#: fortran/parse.cc:6896
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:6598
+#: fortran/parse.cc:6921
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:6712
+#: fortran/parse.cc:7035
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
 msgstr ""
 
-#: fortran/parse.cc:6764
+#: fortran/parse.cc:7087
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6768
+#: fortran/parse.cc:7091
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6774
+#: fortran/parse.cc:7097
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6777
+#: fortran/parse.cc:7100
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6799
+#: fortran/parse.cc:7122
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
 msgstr ""
 
-#: fortran/parse.cc:6825
+#: fortran/parse.cc:7148
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:6928
+#: fortran/parse.cc:7251
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr ""
@@ -81934,7 +83840,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:7429
+#: fortran/parse.cc:7755
 #, gcc-internal-format, gfc-internal-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr ""
@@ -81949,569 +83855,579 @@ msgstr ""
 msgid "gfc_check_digit(): bad radix"
 msgstr ""
 
-#: fortran/primary.cc:279
+#: fortran/primary.cc:317
 #, gcc-internal-format, gfc-internal-format
 msgid "Integer kind %d at %C not available"
 msgstr ""
 
-#: fortran/primary.cc:288
+#: fortran/primary.cc:326
 #, gcc-internal-format
 msgid ""
 "Integer too big for its kind at %C. This check can be disabled with the "
 "option %<-fno-range-check%>"
 msgstr ""
 
-#: fortran/primary.cc:316
+#: fortran/primary.cc:388
+#, gcc-internal-format, gfc-internal-format
+msgid "Unsigned kind %d at %C not available"
+msgstr ""
+
+#: fortran/primary.cc:419
 #, gcc-internal-format, gfc-internal-format
 msgid "Hollerith constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:323
+#: fortran/primary.cc:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid Hollerith constant: %L must contain at least one character"
 msgstr ""
 
-#: fortran/primary.cc:329
+#: fortran/primary.cc:432
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid Hollerith constant: Integer kind at %L should be default"
 msgstr ""
 
-#: fortran/primary.cc:349
+#: fortran/primary.cc:452
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid Hollerith constant at %L contains a wide character"
 msgstr ""
 
-#: fortran/primary.cc:435
+#: fortran/primary.cc:538
 #, gcc-internal-format, gfc-internal-format
 msgid "Hexadecimal constant at %L uses nonstandard X instead of Z"
 msgstr ""
 
-#: fortran/primary.cc:444
+#: fortran/primary.cc:547
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty set of digits in BOZ constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:450
+#: fortran/primary.cc:553
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal character in BOZ constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:473
+#: fortran/primary.cc:576
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ constant at %C uses nonstandard postfix syntax"
 msgstr ""
 
-#: fortran/primary.cc:498
+#: fortran/primary.cc:601
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ used outside a DATA statement at %L"
 msgstr ""
 
-#: fortran/primary.cc:589
+#: fortran/primary.cc:692
 #, gcc-internal-format
 msgid "exponent-letter %<q%> in real-literal-constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:594
+#: fortran/primary.cc:697
 #, gcc-internal-format
 msgid "Extension: exponent-letter %<q%> in real-literal-constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:615
+#: fortran/primary.cc:718
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing exponent in real number at %C"
 msgstr ""
 
-#: fortran/primary.cc:693
+#: fortran/primary.cc:796
 #, gcc-internal-format
 msgid "Real number at %C has a %<d%> exponent and an explicit kind"
 msgstr ""
 
-#: fortran/primary.cc:703
+#: fortran/primary.cc:806
 #, gcc-internal-format
 msgid "Real number at %C has a %<q%> exponent and an explicit kind"
 msgstr ""
 
-#: fortran/primary.cc:717
+#: fortran/primary.cc:820
 #, gcc-internal-format
 msgid "Invalid exponent-letter %<q%> in real-literal-constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:730
+#: fortran/primary.cc:833
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid real kind %d at %C"
 msgstr ""
 
-#: fortran/primary.cc:745
+#: fortran/primary.cc:848
 #, gcc-internal-format, gfc-internal-format
 msgid "Real constant overflows its kind at %C"
 msgstr ""
 
-#: fortran/primary.cc:750
+#: fortran/primary.cc:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Real constant underflows its kind at %C"
 msgstr ""
 
-#: fortran/primary.cc:755
+#: fortran/primary.cc:858
 #, gcc-internal-format
 msgid "gfc_range_check() returned bad value"
 msgstr ""
 
-#: fortran/primary.cc:803
+#: fortran/primary.cc:906
 #, gcc-internal-format
 msgid "Non-significant digits in %qs number at %C, maybe incorrect KIND"
 msgstr ""
 
-#: fortran/primary.cc:895
+#: fortran/primary.cc:998
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SUBSTRING specification at %C"
 msgstr ""
 
-#: fortran/primary.cc:1095
+#: fortran/primary.cc:1198
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid kind %d for CHARACTER constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1116
+#: fortran/primary.cc:1219
 #, gcc-internal-format, gfc-internal-format
 msgid "Unterminated character constant beginning at %C"
 msgstr ""
 
-#: fortran/primary.cc:1146
+#: fortran/primary.cc:1249
 #, gcc-internal-format
 msgid "Character %qs in string at %C is not representable in character kind %d"
 msgstr ""
 
-#: fortran/primary.cc:1159
+#: fortran/primary.cc:1262
 #, gcc-internal-format
 msgid "match_string_constant(): Delimiter not found"
 msgstr ""
 
-#: fortran/primary.cc:1193
+#: fortran/primary.cc:1296
 msgid "Substring start index (%td) at %L below 1"
 msgstr ""
 
-#: fortran/primary.cc:1199
+#: fortran/primary.cc:1302
 msgid "Substring end index (%td) at %L exceeds string length"
 msgstr ""
 
-#: fortran/primary.cc:1284
+#: fortran/primary.cc:1387
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad kind for logical constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1328
+#: fortran/primary.cc:1431
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected PARAMETER symbol in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1339
+#: fortran/primary.cc:1442
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1345
+#: fortran/primary.cc:1448
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1349
+#: fortran/primary.cc:1452
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER symbol in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1372
+#: fortran/primary.cc:1478
 #, gcc-internal-format
 msgid "gfc_match_sym_complex_part(): Bad type"
 msgstr ""
 
-#: fortran/primary.cc:1379
+#: fortran/primary.cc:1485
 #, gcc-internal-format, gfc-internal-format
 msgid "Error converting PARAMETER constant in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1511
+#: fortran/primary.cc:1617
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in COMPLEX constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1638
+#: fortran/primary.cc:1751
 #, gcc-internal-format
 msgid "Namelist %qs cannot be an argument at %L"
 msgstr ""
 
-#: fortran/primary.cc:1740
+#: fortran/primary.cc:1853
 #, gcc-internal-format
 msgid "Keyword %qs at %C has already appeared in the current argument list"
 msgstr ""
 
-#: fortran/primary.cc:1807
+#: fortran/primary.cc:1920
 #, gcc-internal-format, gfc-internal-format
 msgid "argument list function at %C"
 msgstr ""
 
-#: fortran/primary.cc:1881
+#: fortran/primary.cc:1994
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected alternate return label at %C"
 msgstr ""
 
-#: fortran/primary.cc:1928
+#: fortran/primary.cc:2041
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing keyword name in actual argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:1974
+#: fortran/primary.cc:2087
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:1995
+#: fortran/primary.cc:2108
 #, gcc-internal-format
 msgid "extend_ref(): Bad tail"
 msgstr ""
 
-#: fortran/primary.cc:2097
+#: fortran/primary.cc:2210
 #, gcc-internal-format
 msgid ""
 "Array section designator, e.g. %<(:)%>, is required besides the coarray "
 "designator %<[...]%> at %C"
 msgstr ""
 
-#: fortran/primary.cc:2105
+#: fortran/primary.cc:2218
 #, gcc-internal-format
 msgid "Coarray designator at %C but %qs is not a coarray"
 msgstr ""
 
-#: fortran/primary.cc:2338
+#: fortran/primary.cc:2461
 #, gcc-internal-format
 msgid "Symbol %qs at %C has no IMPLICIT type"
 msgstr ""
 
-#: fortran/primary.cc:2345
+#: fortran/primary.cc:2468
 #, gcc-internal-format
 msgid "Unexpected %<%c%> for nonderived-type variable %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:2366
+#: fortran/primary.cc:2489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected structure component name at %C"
 msgstr ""
 
-#: fortran/primary.cc:2387 fortran/primary.cc:2562
+#: fortran/primary.cc:2510 fortran/primary.cc:2685
 #, gcc-internal-format, gfc-internal-format
 msgid "RE or IM part_ref at %C"
 msgstr ""
 
-#: fortran/primary.cc:2439 fortran/primary.cc:2567
+#: fortran/primary.cc:2562 fortran/primary.cc:2690
 #, gcc-internal-format, gfc-internal-format
 msgid "The RE or IM part_ref at %C must be applied to a COMPLEX expression"
 msgstr ""
 
-#: fortran/primary.cc:2446 fortran/primary.cc:2580
+#: fortran/primary.cc:2569 fortran/primary.cc:2703
 #, gcc-internal-format, gfc-internal-format
 msgid "The LEN part_ref at %C must be applied to a CHARACTER expression"
 msgstr ""
 
-#: fortran/primary.cc:2505
+#: fortran/primary.cc:2628
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:2523
+#: fortran/primary.cc:2646
 #, gcc-internal-format
 msgid ""
 "%qs at %C is not an inquiry reference to an intrinsic type component %qs"
 msgstr ""
 
-#: fortran/primary.cc:2526
+#: fortran/primary.cc:2649
 #, gcc-internal-format
 msgid "%qs at %C is not an inquiry reference to an intrinsic type component"
 msgstr ""
 
-#: fortran/primary.cc:2596
+#: fortran/primary.cc:2719
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The KIND part_ref at %C must be applied to an expression of intrinsic type"
 msgstr ""
 
-#: fortran/primary.cc:2624
+#: fortran/primary.cc:2747
 #, gcc-internal-format
 msgid "Procedure pointer component %qs requires an argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:2727
+#: fortran/primary.cc:2833
+#, gcc-internal-format, gfc-internal-format
+msgid "Unexpected array/substring ref at %C"
+msgstr ""
+
+#: fortran/primary.cc:2855
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonpolymorphic reference to abstract type at %C"
 msgstr ""
 
-#: fortran/primary.cc:2734
+#: fortran/primary.cc:2862
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed procedure-pointer component at %C"
 msgstr ""
 
-#: fortran/primary.cc:2772
+#: fortran/primary.cc:2900
 #, gcc-internal-format
 msgid "gfc_variable_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:2990
+#: fortran/primary.cc:3118
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:3047
+#: fortran/primary.cc:3175
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Bad array reference"
 msgstr ""
 
-#: fortran/primary.cc:3226
+#: fortran/primary.cc:3354
 #, gcc-internal-format
 msgid ""
 "No initializer for allocatable component %qs given in the structure "
 "constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3237
+#: fortran/primary.cc:3365
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with missing optional arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3246
+#: fortran/primary.cc:3374
 #, gcc-internal-format
 msgid ""
 "No initializer for component %qs given in the structure constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3294
+#: fortran/primary.cc:3422
 #, gcc-internal-format
 msgid "Cannot construct ABSTRACT type %qs at %L"
 msgstr ""
 
-#: fortran/primary.cc:3314
+#: fortran/primary.cc:3442
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with named arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3329
+#: fortran/primary.cc:3457
 #, gcc-internal-format, gfc-internal-format
 msgid "Component initializer without name after component named %s at %L"
 msgstr ""
 
-#: fortran/primary.cc:3334
+#: fortran/primary.cc:3462
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many components in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3393
+#: fortran/primary.cc:3521
 msgid "CHARACTER expression will be truncated in constructor (%td/%td) at %L"
 msgstr ""
 
-#: fortran/primary.cc:3411
+#: fortran/primary.cc:3539
 #, gcc-internal-format
 msgid "Component %qs is initialized twice in the structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3423
+#: fortran/primary.cc:3551
 #, gcc-internal-format
 msgid ""
 "Coindexed expression to pointer component %qs in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3477
+#: fortran/primary.cc:3605
 #, gcc-internal-format
 msgid ""
 "component %qs at %L has already been set by a parent derived type constructor"
 msgstr ""
 
-#: fortran/primary.cc:3642
+#: fortran/primary.cc:3768
 #, gcc-internal-format, gfc-internal-format
 msgid "%%LOC() as an rvalue at %C"
 msgstr ""
 
-#: fortran/primary.cc:3701
+#: fortran/primary.cc:3827
 #, 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:3732 fortran/primary.cc:4134
+#: fortran/primary.cc:3858 fortran/primary.cc:4265
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %C is not appropriate for an expression"
 msgstr ""
 
-#: fortran/primary.cc:3837
+#: fortran/primary.cc:3963
 #, gcc-internal-format
 msgid "Unexpected use of subroutine name %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3869
+#: fortran/primary.cc:3995
 #, gcc-internal-format
 msgid "Statement function %qs requires argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3872
+#: fortran/primary.cc:3998
 #, gcc-internal-format
 msgid "Function %qs requires an argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3922
+#: fortran/primary.cc:4053
 #, gcc-internal-format
 msgid "Missing argument to %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3935
+#: fortran/primary.cc:4066
 #, 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:4090
+#: fortran/primary.cc:4221
 #, gcc-internal-format
 msgid "Missing argument list in function %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:4204
+#: fortran/primary.cc:4335
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %C"
 msgstr ""
 
-#: fortran/primary.cc:4245
+#: fortran/primary.cc:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant at %C in an EQUIVALENCE"
 msgstr ""
 
-#: fortran/primary.cc:4250
+#: fortran/primary.cc:4381
 #, gcc-internal-format
 msgid "PARAMETER %qs shall not appear in a DATA statement at %C"
 msgstr ""
 
-#: fortran/primary.cc:4286
+#: fortran/primary.cc:4417
 #, gcc-internal-format
 msgid "%qs at %C is not a variable"
 msgstr ""
 
-#: fortran/resolve.cc:114
+#: fortran/resolve.cc:123
 #, gcc-internal-format
 msgid "%qs at %L is of the ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:117
+#: fortran/resolve.cc:126
 #, gcc-internal-format
 msgid "ABSTRACT type %qs used at %L"
 msgstr ""
 
-#: fortran/resolve.cc:134
+#: fortran/resolve.cc:143
 #, gcc-internal-format
 msgid "Interface %qs at %L is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.cc:147
+#: fortran/resolve.cc:156
 #, gcc-internal-format
 msgid "Interface %qs at %L may not be generic"
 msgstr ""
 
-#: fortran/resolve.cc:154
+#: fortran/resolve.cc:163
 #, gcc-internal-format
 msgid "Interface %qs at %L may not be a statement function"
 msgstr ""
 
-#: fortran/resolve.cc:163
+#: fortran/resolve.cc:172
 #, gcc-internal-format
 msgid "Intrinsic procedure %qs not allowed in PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:169
+#: fortran/resolve.cc:178
 #, gcc-internal-format
 msgid "Interface %qs at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.cc:191
+#: fortran/resolve.cc:200
 #, gcc-internal-format
 msgid "PROCEDURE %qs at %L may not be used as its own interface"
 msgstr ""
 
-#: fortran/resolve.cc:292
+#: fortran/resolve.cc:301
 #, gcc-internal-format
 msgid ""
 "Alternate return specifier in elemental subroutine %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:296
+#: fortran/resolve.cc:305
 #, gcc-internal-format
 msgid "Alternate return specifier in function %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:308
+#: fortran/resolve.cc:317
 #, gcc-internal-format
 msgid "Self-referential argument %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:380
+#: fortran/resolve.cc:389
 #, gcc-internal-format
 msgid "Dummy procedure %qs of PURE procedure at %L must also be PURE"
 msgstr ""
 
-#: fortran/resolve.cc:390
+#: fortran/resolve.cc:399
 #, gcc-internal-format
 msgid ""
 "Argument %qs of pure function %qs at %L with VALUE attribute but without "
 "INTENT(IN)"
 msgstr ""
 
-#: fortran/resolve.cc:395
+#: fortran/resolve.cc:404
 #, gcc-internal-format
 msgid "Argument %qs of pure function %qs at %L must be INTENT(IN) or VALUE"
 msgstr ""
 
-#: fortran/resolve.cc:403
+#: fortran/resolve.cc:412
 #, gcc-internal-format
 msgid ""
 "Argument %qs of pure subroutine %qs at %L with VALUE attribute but without "
 "INTENT"
 msgstr ""
 
-#: fortran/resolve.cc:408
+#: fortran/resolve.cc:417
 #, gcc-internal-format
 msgid ""
 "Argument %qs of pure subroutine %qs at %L must have its INTENT specified or "
 "have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:418
+#: fortran/resolve.cc:427
 #, gcc-internal-format
 msgid ""
 "INTENT(OUT) argument %qs of pure procedure %qs at %L may not be polymorphic"
 msgstr ""
 
-#: fortran/resolve.cc:451
+#: fortran/resolve.cc:460
 #, gcc-internal-format
 msgid "Coarray dummy argument %qs at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.cc:459
+#: fortran/resolve.cc:468
 #, gcc-internal-format
 msgid "Argument %qs of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:468
+#: fortran/resolve.cc:477
 #, gcc-internal-format
 msgid ""
 "Argument %qs of elemental procedure at %L cannot have the ALLOCATABLE "
 "attribute"
 msgstr ""
 
-#: fortran/resolve.cc:478
+#: fortran/resolve.cc:487
 #, gcc-internal-format
 msgid ""
 "Argument %qs of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:486
+#: fortran/resolve.cc:495
 #, gcc-internal-format
 msgid "Dummy procedure %qs not allowed in elemental procedure %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:495
+#: fortran/resolve.cc:504
 #, gcc-internal-format
 msgid ""
 "Argument %qs of elemental procedure %qs at %L must have its INTENT specified "
@@ -82520,311 +84436,316 @@ msgstr ""
 
 #. F03:C1263 (R1238) The function-name and each dummy-arg-name
 #. shall be specified, explicitly or implicitly, to be scalar.
-#: fortran/resolve.cc:510
+#: fortran/resolve.cc:519
 #, gcc-internal-format
 msgid "Argument %qs of statement function %qs at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:521
+#: fortran/resolve.cc:530
 #, gcc-internal-format
 msgid ""
 "Character-valued argument %qs of statement function at %L must have constant "
 "length"
 msgstr ""
 
-#: fortran/resolve.cc:571
+#: fortran/resolve.cc:580
 #, gcc-internal-format
 msgid ""
 "Contained procedure %qs at %L has the same name as its encompassing procedure"
 msgstr ""
 
-#: fortran/resolve.cc:591
+#: fortran/resolve.cc:600
 #, gcc-internal-format
 msgid "Contained function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:594
+#: fortran/resolve.cc:603
 #, gcc-internal-format
 msgid "Result %qs of contained function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:620
+#: fortran/resolve.cc:629
 #, gcc-internal-format
 msgid "Character-valued module procedure %qs at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.cc:622
+#: fortran/resolve.cc:631
 #, gcc-internal-format
 msgid "Character-valued internal function %qs at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.cc:795
+#: fortran/resolve.cc:804
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.cc:806
+#: fortran/resolve.cc:815
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entry %s with mismatched characteristics"
 msgstr ""
 
-#: fortran/resolve.cc:821
+#: fortran/resolve.cc:830
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Function %s at %L with entries returning variables of different string "
 "lengths"
 msgstr ""
 
-#: fortran/resolve.cc:853
+#: fortran/resolve.cc:862
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:857
+#: fortran/resolve.cc:866
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:864
+#: fortran/resolve.cc:873
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:868
+#: fortran/resolve.cc:877
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:875
+#: fortran/resolve.cc:884
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:879
+#: fortran/resolve.cc:888
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:917
+#: fortran/resolve.cc:926
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:922
+#: fortran/resolve.cc:931
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:973
+#: fortran/resolve.cc:982
 #, gcc-internal-format
 msgid "Global entity %qs at %L cannot appear in a COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:977
+#: fortran/resolve.cc:986
 #, gcc-internal-format
 msgid "Global entity %qs at %L cannot appear in a COMMON block"
 msgstr ""
 
-#: fortran/resolve.cc:987
+#: fortran/resolve.cc:996
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:994
+#: fortran/resolve.cc:1003
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is "
 "allowed"
 msgstr ""
 
-#: fortran/resolve.cc:998
+#: fortran/resolve.cc:1007
 #, 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:1005
+#: fortran/resolve.cc:1014
 #, gcc-internal-format
 msgid "%qs at %L cannot appear in COMMON [F2008:C5100]"
 msgstr ""
 
-#: fortran/resolve.cc:1010
+#: fortran/resolve.cc:1019
 #, gcc-internal-format
 msgid "Automatic object %qs at %L cannot appear in COMMON at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1022
+#: fortran/resolve.cc:1031
 #, 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:1026
+#: fortran/resolve.cc:1035
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L has an ultimate component that is "
 "allocatable"
 msgstr ""
 
-#: fortran/resolve.cc:1030
+#: fortran/resolve.cc:1039
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.cc:1074
+#: fortran/resolve.cc:1083
 #, 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:1088
+#: fortran/resolve.cc:1097
 #, gcc-internal-format
 msgid "COMMON block %qs at %L uses the same global identifier as entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1096
+#: fortran/resolve.cc:1105
 #, 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:1118
+#: fortran/resolve.cc:1127
 #, 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:1139
+#: fortran/resolve.cc:1148
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1143
+#: fortran/resolve.cc:1152
 #, gcc-internal-format
 msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.cc:1147
+#: fortran/resolve.cc:1156
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1151
+#: fortran/resolve.cc:1160
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.cc:1156
+#: fortran/resolve.cc:1165
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1223
+#: fortran/resolve.cc:1232
 #, gcc-internal-format
 msgid "The KIND parameter %qs in the PDT constructor at %C has no value"
 msgstr ""
 
-#: fortran/resolve.cc:1366
+#: fortran/resolve.cc:1375
 #, 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:1387
+#: fortran/resolve.cc:1396
 #, 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:1422
+#: fortran/resolve.cc:1431
 #, gcc-internal-format
 msgid ""
 "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1467
+#: fortran/resolve.cc:1477
 #, 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:1501
+#: fortran/resolve.cc:1511
 #, gcc-internal-format
 msgid ""
 "Interface mismatch for procedure-pointer component %qs in structure "
 "constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:1520
+#: fortran/resolve.cc:1530
 #, gcc-internal-format
 msgid ""
 "Bad array spec of component %qs referenced in structure constructor at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1533
+#: fortran/resolve.cc:1543
 #, 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:1554
+#: fortran/resolve.cc:1564
 #, 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:1583
+#: fortran/resolve.cc:1591
+#, gcc-internal-format, gfc-internal-format
+msgid "Pointer assignment target at %L has a vector subscript"
+msgstr ""
+
+#: fortran/resolve.cc:1603
 #, gcc-internal-format
 msgid ""
 "Invalid expression in the structure constructor for pointer component %qs at "
 "%L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1709
+#: fortran/resolve.cc:1729
 #, 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:1771
+#: fortran/resolve.cc:1791
 #, gcc-internal-format
 msgid "%qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:1775
+#: fortran/resolve.cc:1795
 #, gcc-internal-format
 msgid "GENERIC procedure %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1896
+#: fortran/resolve.cc:1916
 #, gcc-internal-format
 msgid "Type specified for intrinsic function %qs at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.cc:1909
+#: fortran/resolve.cc:1929
 #, gcc-internal-format
 msgid "Intrinsic subroutine %qs at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.cc:1920
+#: fortran/resolve.cc:1940
 #, gcc-internal-format
 msgid "%qs declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.cc:1933
+#: fortran/resolve.cc:1953
 #, gcc-internal-format
 msgid ""
 "The intrinsic %qs declared INTRINSIC at %L is not available in the current "
@@ -82832,96 +84753,96 @@ msgid ""
 "fall-intrinsics%> in order to use it."
 msgstr ""
 
-#: fortran/resolve.cc:1971
+#: fortran/resolve.cc:1991
 #, gcc-internal-format
 msgid ""
 "Non-RECURSIVE procedure %qs from module %qs is  possibly calling itself "
 "recursively in procedure %qs.  Declare it RECURSIVE or use %<-frecursive%>"
 msgstr ""
 
-#: fortran/resolve.cc:1976 fortran/resolve.cc:6843
+#: fortran/resolve.cc:1996 fortran/resolve.cc:7678
 #, 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:2035 fortran/resolve.cc:10823 fortran/resolve.cc:12805
+#: fortran/resolve.cc:2055 fortran/resolve.cc:12084 fortran/resolve.cc:14122
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.cc:2067
+#: fortran/resolve.cc:2087
 #, gcc-internal-format
 msgid "Derived type %qs is used as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2085
+#: fortran/resolve.cc:2105
 #, gcc-internal-format
 msgid "Statement function %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2093
+#: fortran/resolve.cc:2113
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2100
+#: fortran/resolve.cc:2120
 #, gcc-internal-format
 msgid "Internal procedure %qs is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2108
+#: fortran/resolve.cc:2128
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2135
+#: fortran/resolve.cc:2155
 #, gcc-internal-format
 msgid ""
 "Unable to find a specific INTRINSIC procedure for the reference %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2157
+#: fortran/resolve.cc:2177
 #, gcc-internal-format
 msgid "Symbol %qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:2220
+#: fortran/resolve.cc:2241
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.cc:2227
+#: fortran/resolve.cc:2248
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.cc:2241
+#: fortran/resolve.cc:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.cc:2253
+#: fortran/resolve.cc:2274
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:2264
+#: fortran/resolve.cc:2285
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL procedure pointer component %qs is not allowed as an actual "
 "argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2273
+#: fortran/resolve.cc:2294
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:2420
+#: fortran/resolve.cc:2442
 #, gcc-internal-format
 msgid ""
 "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be "
@@ -82929,92 +84850,97 @@ msgid ""
 "argument with the same rank (Fortran 2018, 15.5.2.12)"
 msgstr ""
 
-#: fortran/resolve.cc:2459
+#: fortran/resolve.cc:2481
 #, 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:2733
+#: fortran/resolve.cc:2755
 #, gcc-internal-format
 msgid "Return type mismatch of function %qs at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.cc:2760
+#: fortran/resolve.cc:2782
 #, gcc-internal-format
 msgid "Interface mismatch in global procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:2866
+#: fortran/resolve.cc:2894
 #, gcc-internal-format
 msgid "There is no specific function for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2886
+#: fortran/resolve.cc:2914
 #, gcc-internal-format
 msgid ""
 "Generic function %qs at %L is not consistent with a specific intrinsic "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:2924
+#: fortran/resolve.cc:2952
 #, gcc-internal-format
 msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:2979
+#: fortran/resolve.cc:3013
 #, gcc-internal-format
 msgid "Unable to resolve the specific function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3056
+#: fortran/resolve.cc:3090
 #, gcc-internal-format
 msgid ""
 "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3088
+#: fortran/resolve.cc:3125
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
 msgstr ""
 
-#: fortran/resolve.cc:3092 fortran/resolve.cc:18158
+#: fortran/resolve.cc:3129 fortran/resolve.cc:19551
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:3216
+#: fortran/resolve.cc:3261
+#, gcc-internal-format, gfc-internal-format
+msgid "Reference to impure function at %L inside a DO CONCURRENT"
+msgstr ""
+
+#: fortran/resolve.cc:3271
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.cc:3223
+#: fortran/resolve.cc:3278
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.cc:3230
+#: fortran/resolve.cc:3285
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:3297
+#: fortran/resolve.cc:3352
 #, gcc-internal-format
 msgid "Unexpected junk after %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3308
+#: fortran/resolve.cc:3363
 #, gcc-internal-format
 msgid "%qs at %L is not a function"
 msgstr ""
 
-#: fortran/resolve.cc:3316 fortran/resolve.cc:3831
+#: fortran/resolve.cc:3371 fortran/resolve.cc:3904
 #, gcc-internal-format
 msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3328
+#: fortran/resolve.cc:3383
 #, gcc-internal-format
 msgid ""
 "ABSTRACT INTERFACE %qs at %L must not have an assumed character length "
@@ -83022,349 +84948,459 @@ msgid ""
 msgstr ""
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.cc:3371
+#: fortran/resolve.cc:3426
 #, 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:3405
+#: fortran/resolve.cc:3460
 #, gcc-internal-format
 msgid "resolve_function(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3419
+#: fortran/resolve.cc:3474
 #, 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:3435
+#: fortran/resolve.cc:3490
 #, gcc-internal-format
 msgid ""
 "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE "
 "construct"
 msgstr ""
 
-#: fortran/resolve.cc:3497
+#: fortran/resolve.cc:3552
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as function %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3501
+#: fortran/resolve.cc:3556
 #, gcc-internal-format
 msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3559
+#: fortran/resolve.cc:3614
 #, gcc-internal-format
 msgid "Using function %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3575
+#: fortran/resolve.cc:3640
+#, gcc-internal-format, gfc-internal-format
+msgid "Subroutine call at %L in a DO CONCURRENT block is not PURE"
+msgstr ""
+
+#: fortran/resolve.cc:3648
 #, gcc-internal-format
 msgid "Subroutine call to %qs in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3581
+#: fortran/resolve.cc:3654
 #, gcc-internal-format
 msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3587
+#: fortran/resolve.cc:3660
 #, gcc-internal-format
 msgid "Subroutine call to %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3655
+#: fortran/resolve.cc:3728
 #, gcc-internal-format
 msgid "There is no specific subroutine for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3664
+#: fortran/resolve.cc:3737
 #, gcc-internal-format
 msgid ""
 "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:3699
+#: fortran/resolve.cc:3772
 #, gcc-internal-format
 msgid ""
 "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:3744
+#: fortran/resolve.cc:3817
 #, gcc-internal-format
 msgid "Unable to resolve the specific subroutine %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3802
+#: fortran/resolve.cc:3875
 #, gcc-internal-format
 msgid "%qs at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3841
+#: fortran/resolve.cc:3914
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3845
+#: fortran/resolve.cc:3918
 #, gcc-internal-format
 msgid ""
 "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3890
+#: fortran/resolve.cc:3963
 #, gcc-internal-format
 msgid "resolve_subroutine(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3907
+#: fortran/resolve.cc:3980
 #, gcc-internal-format
 msgid "Using subroutine %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3934
+#: fortran/resolve.cc:4007
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.cc:3986
+#: fortran/resolve.cc:4059
 #, gcc-internal-format
 msgid "logical_to_bitwise(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4089
+#: fortran/resolve.cc:4162
 #, gcc-internal-format
 msgid "Impure function %qs at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4093
+#: fortran/resolve.cc:4166
 #, gcc-internal-format, gfc-internal-format
 msgid "Impure function at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4180
+#: fortran/resolve.cc:4261
 #, gcc-internal-format
 msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4204
+#: fortran/resolve.cc:4269
+#, gcc-internal-format, gfc-internal-format
+msgid "Negation of unsigned expression at %L not permitted "
+msgstr ""
+
+#: fortran/resolve.cc:4290
 #, gcc-internal-format
 msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4389 fortran/resolve.cc:4404
+#: fortran/resolve.cc:4300
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid context for NULL() pointer at %L"
+msgstr ""
+
+#: fortran/resolve.cc:4318
+#, gcc-internal-format
+msgid "Operand of unary numeric operator %qs at %L is %s"
+msgstr ""
+
+#: fortran/resolve.cc:4333 fortran/resolve.cc:4367
+#, gcc-internal-format
+msgid "Operands of binary numeric operator %qs at %L are %s/%s"
+msgstr ""
+
+#: fortran/resolve.cc:4347 fortran/resolve.cc:4536 fortran/resolve.cc:4705
+#, gcc-internal-format, gfc-internal-format
+msgid "Inconsistent ranks for operator at %L and %L"
+msgstr ""
+
+#: fortran/resolve.cc:4359
+#, gcc-internal-format
+msgid ""
+"Unexpected derived-type entities in binary intrinsic numeric operator %qs at "
+"%L"
+msgstr ""
+
+#: fortran/resolve.cc:4383
+#, gcc-internal-format, gfc-internal-format
+msgid "Operands of string concatenation operator at %L are %s/%s"
+msgstr ""
+
+#: fortran/resolve.cc:4426
+#, gcc-internal-format
+msgid "Operands of logical operator %qs at %L are %s/%s"
+msgstr ""
+
+#: fortran/resolve.cc:4449
+#, gcc-internal-format, gfc-internal-format
+msgid "Operand of .not. operator at %L is %s"
+msgstr ""
+
+#: fortran/resolve.cc:4464
+#, gcc-internal-format, gfc-internal-format
+msgid "COMPLEX quantities cannot be compared at %L"
+msgstr ""
+
+#: fortran/resolve.cc:4494 fortran/resolve.cc:4509
 #, 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:4454
+#: fortran/resolve.cc:4544
+#, gcc-internal-format, gfc-internal-format
+msgid "Inconsistent types for operator at %L and %L: %s and %s"
+msgstr ""
+
+#: fortran/resolve.cc:4568
 #, gcc-internal-format, gfc-internal-format
 msgid "Equality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4456
+#: fortran/resolve.cc:4570
 #, gcc-internal-format, gfc-internal-format
 msgid "Inequality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4516
+#: fortran/resolve.cc:4583
+#, gcc-internal-format, gfc-internal-format
+msgid "Logicals at %L must be compared with %s instead of %s"
+msgstr ""
+
+#: fortran/resolve.cc:4591
+#, gcc-internal-format
+msgid "Operands of comparison operator %qs at %L are %s/%s"
+msgstr ""
+
+#: fortran/resolve.cc:4606
+#, gcc-internal-format
+msgid "Unknown operator %qs at %L; did you mean %qs?"
+msgstr ""
+
+#: fortran/resolve.cc:4609
+#, gcc-internal-format
+msgid "Unknown operator %qs at %L"
+msgstr ""
+
+#: fortran/resolve.cc:4614
+#, gcc-internal-format
+msgid "Operand of user operator %qs at %L is %s"
+msgstr ""
+
+#: fortran/resolve.cc:4621
+#, gcc-internal-format
+msgid "Operands of user operator %qs at %L are %s/%s"
+msgstr ""
+
+#: fortran/resolve.cc:4635
 #, gcc-internal-format
 msgid "resolve_operator(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4802
+#: fortran/resolve.cc:4733
+#, gcc-internal-format, gfc-internal-format
+msgid "Inconsistent coranks for operator at %L and %L"
+msgstr ""
+
+#: fortran/resolve.cc:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4807
+#: fortran/resolve.cc:4937
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4817
+#: fortran/resolve.cc:4947
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4822
+#: fortran/resolve.cc:4952
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4843
+#: fortran/resolve.cc:4973
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4860
+#: fortran/resolve.cc:4990
 #, 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:4868
+#: fortran/resolve.cc:4998
 #, 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:4884
+#: fortran/resolve.cc:5014
 #, 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:4893
+#: fortran/resolve.cc:5023
 #, 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:4909
+#: fortran/resolve.cc:5039
 #, gcc-internal-format
 msgid "check_dimension(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:4932
+#: fortran/resolve.cc:5062
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4942
+#: fortran/resolve.cc:5072
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4950
+#: fortran/resolve.cc:5080
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4966
+#: fortran/resolve.cc:5096
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4994
+#: fortran/resolve.cc:5124
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5000
+#: fortran/resolve.cc:5130
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.cc:5006
+#: fortran/resolve.cc:5136
 #, gcc-internal-format, gfc-internal-format
 msgid "REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5046
+#: fortran/resolve.cc:5176
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5053
+#: fortran/resolve.cc:5183
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.cc:5113
+#: fortran/resolve.cc:5244
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid array reference of a non-array entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5127
+#: fortran/resolve.cc:5259
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(1)"
 msgstr ""
 
-#: fortran/resolve.cc:5139
+#: fortran/resolve.cc:5271
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(2)"
 msgstr ""
 
-#: fortran/resolve.cc:5184
+#: fortran/resolve.cc:5316
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.cc:5282
+#: fortran/resolve.cc:5414
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5289
+#: fortran/resolve.cc:5421
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5311
+#: fortran/resolve.cc:5443
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5318
+#: fortran/resolve.cc:5450
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5338
+#: fortran/resolve.cc:5470
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:5529
+#: fortran/resolve.cc:5670
 #, gcc-internal-format
 msgid "resolve_ref(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:5543
+#: fortran/resolve.cc:5684
 #, 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:5553
+#: fortran/resolve.cc:5694
 #, 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:5601
+#: fortran/resolve.cc:5742
 #, 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:5693
+#: fortran/resolve.cc:5854
 #, gcc-internal-format
 msgid "gfc_expression_rank(): Two array specs"
 msgstr ""
 
-#: fortran/resolve.cc:5790
+#: fortran/resolve.cc:5883
+#, gcc-internal-format
+msgid "Illegal coarray index"
+msgstr ""
+
+#. Treat non-pure functions.
+#: fortran/resolve.cc:6204
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Sorry, not yet able to call a non-pure/non-elemental function %s in a "
+"coarray reference;  use a temporary for the function's result instead"
+msgstr ""
+
+#: fortran/resolve.cc:6588
 #, 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:5800
+#: fortran/resolve.cc:6598
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -83373,14 +85409,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:5810
+#: fortran/resolve.cc:6608
 #, 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:5829
+#: fortran/resolve.cc:6629
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -83389,326 +85425,450 @@ 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:5839
+#: fortran/resolve.cc:6639
 #, 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:5850
+#: fortran/resolve.cc:6650
 #, 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:5859
+#: fortran/resolve.cc:6659
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5875
+#: fortran/resolve.cc:6676
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5932
+#: fortran/resolve.cc:6737
 #, gcc-internal-format
 msgid "Scalar variable %qs has an array reference at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6077
+#: fortran/resolve.cc:6893
 #, 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:6082
+#: fortran/resolve.cc:6898
 #, gcc-internal-format
 msgid ""
 "Variable %qs is used at %L before the ENTRY statement in which it is a "
 "parameter"
 msgstr ""
 
-#: fortran/resolve.cc:6152
+#: fortran/resolve.cc:6975
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6165
+#: fortran/resolve.cc:6988
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6181
+#: fortran/resolve.cc:7005
 #, gcc-internal-format
 msgid "Using variable %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:6424
+#: fortran/resolve.cc:7061 fortran/resolve.cc:7149 fortran/resolve.cc:7173
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid array reference at %L"
+msgstr ""
+
+#: fortran/resolve.cc:7258
 #, 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:6602 fortran/resolve.cc:6754
+#: fortran/resolve.cc:7437 fortran/resolve.cc:7589
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in typebound call at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6718
+#: fortran/resolve.cc:7553
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:6725
+#: fortran/resolve.cc:7560
 #, gcc-internal-format
 msgid ""
 "Base object for procedure-pointer component call at %L is of ABSTRACT type "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:6764
+#: fortran/resolve.cc:7599
 #, gcc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:6773
+#: fortran/resolve.cc:7608
 #, 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:6968
+#: fortran/resolve.cc:7803
 #, gcc-internal-format
 msgid ""
 "Found no matching specific binding for the call to the GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7002
+#: fortran/resolve.cc:7837
 #, gcc-internal-format
 msgid "%qs at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:7054
+#: fortran/resolve.cc:7889
 #, gcc-internal-format
 msgid "%qs at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:7589
+#: fortran/resolve.cc:8430
 #, gcc-internal-format
 msgid "gfc_resolve_expr(): Bad expression type"
 msgstr ""
 
-#: fortran/resolve.cc:7622
+#: fortran/resolve.cc:8463
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.cc:7632
+#: fortran/resolve.cc:8473
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.cc:7636 fortran/resolve.cc:7643
+#: fortran/resolve.cc:8477 fortran/resolve.cc:8484
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7698
+#: fortran/resolve.cc:8539
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7721
+#: fortran/resolve.cc:8562
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.cc:7738
+#: fortran/resolve.cc:8579
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it overflows"
 msgstr ""
 
-#: fortran/resolve.cc:7744
+#: fortran/resolve.cc:8585
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it underflows"
 msgstr ""
 
-#: fortran/resolve.cc:7805
+#: fortran/resolve.cc:8645
+#, gcc-internal-format
+msgid ""
+"Variable %qs referenced in concurrent-header at %L must not appear in LOCAL "
+"locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8681
+#, gcc-internal-format
+msgid ""
+"Variable %qs at %L not specified in a locality spec of DO CONCURRENT at %L "
+"but required due to DEFAULT (NONE)"
+msgstr ""
+
+#: fortran/resolve.cc:8733
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected variable name in %s locality spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8742
+#, gcc-internal-format
+msgid "Variable %qs at %L has already been specified in a locality-spec"
+msgstr ""
+
+#: fortran/resolve.cc:8752
+#, gcc-internal-format
+msgid "Index variable %qs at %L cannot be specified in alocality-spec"
+msgstr ""
+
+#: fortran/resolve.cc:8765
+#, gcc-internal-format
+msgid "OPTIONAL attribute not permitted for %qs in %s locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8772
+#, gcc-internal-format
+msgid "Assumed-size array not permitted for %qs in %s locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8785
+#, gcc-internal-format
+msgid "ALLOCATABLE attribute not permitted for %qs in %s locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8790
+#, gcc-internal-format
+msgid ""
+"Nonpointer polymorphic dummy argument not permitted for %qs in %s locality-"
+"spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8795
+#, gcc-internal-format
+msgid "Coarray not permitted for %qs in %s locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8801
+#, gcc-internal-format
+msgid "Finalizable type not permitted for %qs in %s locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8806
+#, gcc-internal-format
+msgid ""
+"Type with ultimate allocatable component not permitted for %qs in %s "
+"locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8814
+#, gcc-internal-format
+msgid ""
+"ASYNCHRONOUS attribute not permitted for %qs in REDUCE locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8818
+#, gcc-internal-format
+msgid "VOLATILE attribute not permitted for %qs in REDUCE locality-spec at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8872
+#, gcc-internal-format
+msgid "Expected numeric type for %qs in REDUCE at %L, got %s"
+msgstr ""
+
+#: fortran/resolve.cc:8881
+#, gcc-internal-format
+msgid "Expected logical type for %qs in REDUCE at %L, got %qs"
+msgstr ""
+
+#: fortran/resolve.cc:8899
+#, gcc-internal-format
+msgid ""
+"Expected INTEGER, REAL or CHARACTER type for %qs in REDUCE with MIN/MAX at "
+"%L, got %s"
+msgstr ""
+
+#: fortran/resolve.cc:8908
+#, gcc-internal-format
+msgid ""
+"Expected integer type for %qs in REDUCE with IAND/IOR/IEOR at %L, got %s"
+msgstr ""
+
+#: fortran/resolve.cc:8946
+#, gcc-internal-format
+msgid "Variable %qs in locality-spec at %L is not used"
+msgstr ""
+
+#: fortran/resolve.cc:8963
+#, gcc-internal-format
+msgid ""
+"Sorry, LOCAL and LOCAL_INIT are not yet supported for %<do concurrent%> "
+"constructs at %L"
+msgstr ""
+
+#: fortran/resolve.cc:8984
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7810
+#: fortran/resolve.cc:8989
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7817
+#: fortran/resolve.cc:8996
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7825
+#: fortran/resolve.cc:9004
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.cc:7830
+#: fortran/resolve.cc:9009
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7843
+#: fortran/resolve.cc:9022
 #, gcc-internal-format
 msgid "FORALL index %qs may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7948 fortran/resolve.cc:8246
+#: fortran/resolve.cc:9127 fortran/resolve.cc:9425
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:7956 fortran/resolve.cc:8209
+#: fortran/resolve.cc:9135 fortran/resolve.cc:9388
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8066
+#: fortran/resolve.cc:9245
 #, 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:8097
+#: fortran/resolve.cc:9276
 #, 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:8257
+#: fortran/resolve.cc:9440
+#, gcc-internal-format, gfc-internal-format
+msgid "The intrinsic NULL cannot be used as source-expr at %L"
+msgstr ""
+
+#: fortran/resolve.cc:9448
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8269
+#: fortran/resolve.cc:9460
 #, 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:8283
+#: fortran/resolve.cc:9474
 #, 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:8308
+#: fortran/resolve.cc:9499
 #, 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:8321
+#: fortran/resolve.cc:9512
 #, 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:8339
+#: fortran/resolve.cc:9530
 #, 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:8423 fortran/resolve.cc:8438
+#: fortran/resolve.cc:9614 fortran/resolve.cc:9629
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8430
+#: fortran/resolve.cc:9621
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array specification or array-valued SOURCE= expression required in ALLOCATE "
 "statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8455
+#: fortran/resolve.cc:9646
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8465 fortran/resolve.cc:8567
+#: fortran/resolve.cc:9656 fortran/resolve.cc:9758
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8471
+#: fortran/resolve.cc:9662
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8483
+#: fortran/resolve.cc:9674
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound of 1 at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8494 fortran/resolve.cc:8522
+#: fortran/resolve.cc:9685 fortran/resolve.cc:9713
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8541
+#: fortran/resolve.cc:9732
 #, 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:8556
+#: fortran/resolve.cc:9747
 #, gcc-internal-format
 msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8598
+#: fortran/resolve.cc:9789
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8627
+#: fortran/resolve.cc:9818
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8640
+#: fortran/resolve.cc:9831
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.cc:8654
+#: fortran/resolve.cc:9845
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8683
+#: fortran/resolve.cc:9874
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8715
+#: fortran/resolve.cc:9906
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8721 fortran/resolve.cc:8727
+#: fortran/resolve.cc:9912 fortran/resolve.cc:9918
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -83717,301 +85877,308 @@ 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:8955
+#: fortran/resolve.cc:10146
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9006
+#: fortran/resolve.cc:10197
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.cc:9017
+#: fortran/resolve.cc:10208
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.cc:9030
+#: fortran/resolve.cc:10221
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:9076
+#: fortran/resolve.cc:10267
 #, 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:9095
+#: fortran/resolve.cc:10288
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.cc:9105
+#: fortran/resolve.cc:10298
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr ""
 
-#: fortran/resolve.cc:9123 fortran/resolve.cc:9131
+#: fortran/resolve.cc:10316 fortran/resolve.cc:10324
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.cc:9193 fortran/resolve.cc:9957
+#: fortran/resolve.cc:10386 fortran/resolve.cc:11220
 #, 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:9219
+#: fortran/resolve.cc:10412
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:9232
+#: fortran/resolve.cc:10425
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9247
+#: fortran/resolve.cc:10440
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.cc:9350
+#: fortran/resolve.cc:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.cc:9412
+#: fortran/resolve.cc:10605
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"(F202y)Missing or invalid bound in ASSOCIATE rank remapping of associate "
+"name %s at %L"
+msgstr ""
+
+#: fortran/resolve.cc:10621
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure pointer"
 msgstr ""
 
-#: fortran/resolve.cc:9421
+#: fortran/resolve.cc:10630
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9438
+#: fortran/resolve.cc:10647
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure name"
 msgstr ""
 
-#: fortran/resolve.cc:9454
+#: fortran/resolve.cc:10663
 #, gcc-internal-format, gfc-internal-format
 msgid "Associating selector-expression at %L yields a procedure"
 msgstr ""
 
-#: fortran/resolve.cc:9508
+#: fortran/resolve.cc:10717
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L cannot be NULL()"
 msgstr ""
 
-#: fortran/resolve.cc:9513
+#: fortran/resolve.cc:10722
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L has no type"
 msgstr ""
 
-#: fortran/resolve.cc:9571
+#: fortran/resolve.cc:10781
 #, gcc-internal-format
 msgid "Associate-name %qs at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.cc:9582
+#: fortran/resolve.cc:10792
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS selector at %L needs a temporary which is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.cc:9821
+#: fortran/resolve.cc:11079
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9865 fortran/resolve.cc:9877
+#: fortran/resolve.cc:11128 fortran/resolve.cc:11140
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L must not be coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:9906
+#: fortran/resolve.cc:11169
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE IS at %L overlaps with TYPE IS at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9919
+#: fortran/resolve.cc:11182
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.cc:9932
+#: fortran/resolve.cc:11195
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be an extension of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:9935
+#: fortran/resolve.cc:11198
 #, gcc-internal-format
 msgid "Unexpected intrinsic type %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9945
+#: fortran/resolve.cc:11208
 #, 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:10192
+#: fortran/resolve.cc:11459
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10325
+#: fortran/resolve.cc:11592
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK DEFAULT at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10334
+#: fortran/resolve.cc:11601
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (*) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10337
+#: fortran/resolve.cc:11604
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (%i) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10347
+#: fortran/resolve.cc:11614
 #, 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:10456
+#: fortran/resolve.cc:11723
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid context for NULL () intrinsic at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10510
+#: fortran/resolve.cc:11777
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO %s procedure at %L must be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:10520
+#: fortran/resolve.cc:11787
 #, 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:10533
+#: fortran/resolve.cc:11800
 #, 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:10542
+#: fortran/resolve.cc:11809
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.cc:10549
+#: fortran/resolve.cc:11816
 #, 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:10560
+#: fortran/resolve.cc:11827
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.cc:10566
+#: fortran/resolve.cc:11833
 #, 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:10584
+#: fortran/resolve.cc:11851
 #, 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:10641
+#: fortran/resolve.cc:11902
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10651
+#: fortran/resolve.cc:11912
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10655
+#: fortran/resolve.cc:11916
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray or coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10658
+#: fortran/resolve.cc:11919
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray but not coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10665 fortran/resolve.cc:10787
+#: fortran/resolve.cc:11926 fortran/resolve.cc:12048
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10677 fortran/resolve.cc:10799
+#: fortran/resolve.cc:11938 fortran/resolve.cc:12060
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10689
+#: fortran/resolve.cc:11950
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.cc:10702
+#: fortran/resolve.cc:11963
 #, gcc-internal-format, gfc-internal-format
 msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10763
+#: fortran/resolve.cc:12024
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10767 fortran/resolve.cc:10777
+#: fortran/resolve.cc:12028 fortran/resolve.cc:12038
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.cc:10830
+#: fortran/resolve.cc:12091
 #, 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:10840
+#: fortran/resolve.cc:12101
 #, 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:10857 fortran/resolve.cc:10880
+#: fortran/resolve.cc:12118 fortran/resolve.cc:12141
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10861 fortran/resolve.cc:10886
+#: fortran/resolve.cc:12122 fortran/resolve.cc:12147
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -84019,80 +86186,85 @@ 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:10901
+#: fortran/resolve.cc:12162
 #, 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:10973
+#: fortran/resolve.cc:12234
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10989
+#: fortran/resolve.cc:12250
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:11002 fortran/resolve.cc:11094
+#: fortran/resolve.cc:12263 fortran/resolve.cc:12355
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11012 fortran/resolve.cc:11104
+#: fortran/resolve.cc:12273 fortran/resolve.cc:12365
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11043
+#: fortran/resolve.cc:12304
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11052
+#: fortran/resolve.cc:12313
 #, 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:11209
+#: fortran/resolve.cc:12470
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL construct at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11230
+#: fortran/resolve.cc:12491
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar variable of type integer"
 msgstr ""
 
-#: fortran/resolve.cc:11240
+#: fortran/resolve.cc:12501
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.cc:11317
+#: fortran/resolve.cc:12579
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.cc:11435
+#: fortran/resolve.cc:12700
 #, gcc-internal-format
 msgid "gfc_resolve_blocks(): Bad block type"
 msgstr ""
 
-#: fortran/resolve.cc:11498
+#: fortran/resolve.cc:12780
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Variable in the ordinary assignment at %L is a procedure pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:11559
+#: fortran/resolve.cc:12800
+#, gcc-internal-format, gfc-internal-format
+msgid "Cannot assign %s to %s at %L"
+msgstr ""
+
+#: fortran/resolve.cc:12848
 #, gcc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%wd/%wd) at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11591
+#: fortran/resolve.cc:12880
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed expression at %L is assigned to a derived type variable with a "
@@ -84100,7 +86272,7 @@ msgid ""
 msgstr ""
 
 #. F2008, C1283 (4).
-#: fortran/resolve.cc:11597
+#: fortran/resolve.cc:12886
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the "
@@ -84109,43 +86281,43 @@ msgid ""
 "component selection."
 msgstr ""
 
-#: fortran/resolve.cc:11609
+#: fortran/resolve.cc:12898
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:11641
+#: fortran/resolve.cc:12930
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to polymorphic coarray at %L is not permitted"
 msgstr ""
 
-#: fortran/resolve.cc:11645
+#: fortran/resolve.cc:12934
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to an allocatable polymorphic variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11650
+#: fortran/resolve.cc:12939
 #, gcc-internal-format
 msgid ""
 "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-"
 "lhs%>"
 msgstr ""
 
-#: fortran/resolve.cc:11657
+#: fortran/resolve.cc:12946
 #, 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:11668
+#: fortran/resolve.cc:12957
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed variable must not have an allocatable ultimate component in "
 "assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12091
+#: fortran/resolve.cc:13346
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TODO: type-bound defined assignment(s) at %L not done because multiple part "
@@ -84154,93 +86326,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:12395
+#: fortran/resolve.cc:13660
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer procedure assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12407
+#: fortran/resolve.cc:13672
 #, 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:12492
+#: fortran/resolve.cc:13768
 #, gcc-internal-format
 msgid ""
 "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:12683
+#: fortran/resolve.cc:13981
 #, gcc-internal-format, gfc-internal-format
 msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:12719
+#: fortran/resolve.cc:14017
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12723
+#: fortran/resolve.cc:14021
 #, gcc-internal-format
 msgid "Variable %qs has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12734
+#: fortran/resolve.cc:14032
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.cc:12772
+#: fortran/resolve.cc:14089
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected intrinsic assignment in OMP WORKSHARE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12814
+#: fortran/resolve.cc:14131
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12861
+#: fortran/resolve.cc:14178
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid NULL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12865
+#: fortran/resolve.cc:14182
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:12926
+#: fortran/resolve.cc:14243
 #, gcc-internal-format
 msgid "gfc_resolve_code(): No expression on DO WHILE"
 msgstr ""
 
-#: fortran/resolve.cc:12931
+#: fortran/resolve.cc:14248
 #, 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:13015
+#: fortran/resolve.cc:14332
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.cc:13119
+#: fortran/resolve.cc:14444
 #, gcc-internal-format
 msgid "gfc_resolve_code(): Bad statement code"
 msgstr ""
 
-#: fortran/resolve.cc:13140
+#: fortran/resolve.cc:14465
 #, gcc-internal-format
 msgid "Using parameter %qs declared at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:13234
+#: fortran/resolve.cc:14559
 #, gcc-internal-format
 msgid ""
 "Variable %qs with binding label %qs at %L uses the same global identifier as "
@@ -84249,7 +86421,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:13248
+#: fortran/resolve.cc:14573
 #, gcc-internal-format
 msgid ""
 "Variable %qs from module %qs with binding label %qs at %L uses the same "
@@ -84259,1136 +86431,1169 @@ 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:13267
+#: fortran/resolve.cc:14592
 #, 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:13353
+#: fortran/resolve.cc:14678
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:13591
+#: fortran/resolve.cc:14916
 #, gcc-internal-format
 msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:13595
+#: fortran/resolve.cc:14920
 #, gcc-internal-format
 msgid "Scalar object %qs at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:13603
+#: fortran/resolve.cc:14928
 #, gcc-internal-format
 msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:13614
+#: fortran/resolve.cc:14939
 #, gcc-internal-format
 msgid "Array %qs at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:13632
+#: fortran/resolve.cc:14957
 #, gcc-internal-format
 msgid "Type %qs of CLASS variable %qs at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.cc:13644
+#: fortran/resolve.cc:14971
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.cc:13677
+#: fortran/resolve.cc:15004
 #, 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:13699
+#: fortran/resolve.cc:15026
 #, gcc-internal-format
 msgid ""
 "Implied SAVE for module variable %qs at %L, needed due to the default "
 "initialization"
 msgstr ""
 
-#: fortran/resolve.cc:13732
+#: fortran/resolve.cc:15059
 #, gcc-internal-format
 msgid ""
 "Entity %qs at %L has a deferred type parameter and requires either the "
 "POINTER or ALLOCATABLE attribute"
 msgstr ""
 
+#: fortran/resolve.cc:15073
+#, gcc-internal-format
+msgid "Automatic object %qs at %L cannot have the SAVE attribute"
+msgstr ""
+
 #. F08:C541. The shape of an array defined in a main program or module
 #. * needs to be constant.
-#: fortran/resolve.cc:13768
+#: fortran/resolve.cc:15095
 #, gcc-internal-format
 msgid "The module or main program array %qs at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.cc:13793
+#: fortran/resolve.cc:15120
 #, 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:13814
+#: fortran/resolve.cc:15141
 #, gcc-internal-format
 msgid "%qs at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.cc:13821
+#: fortran/resolve.cc:15148
 #, gcc-internal-format
 msgid "COMMON variable %qs at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:13869
+#: fortran/resolve.cc:15196
 #, gcc-internal-format
 msgid "Allocatable %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13872
+#: fortran/resolve.cc:15199
 #, gcc-internal-format
 msgid "External %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13875
+#: fortran/resolve.cc:15202
 #, gcc-internal-format
 msgid "Dummy %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13878
+#: fortran/resolve.cc:15205
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13881
+#: fortran/resolve.cc:15208
 #, gcc-internal-format
 msgid "Function result %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13884
+#: fortran/resolve.cc:15211
 #, gcc-internal-format
 msgid "Automatic array %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13926
+#: fortran/resolve.cc:15253
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13958
+#: fortran/resolve.cc:15285
 #, gcc-internal-format
 msgid "Character-valued statement function %qs at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.cc:13981
+#: fortran/resolve.cc:15308
 #, 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:14003
+#: fortran/resolve.cc:15330
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs "
 "which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.cc:14021
+#: fortran/resolve.cc:15348
 #, gcc-internal-format
 msgid "Function %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:14033
+#: fortran/resolve.cc:15360
 #, gcc-internal-format
 msgid "External object %qs at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:14043
+#: fortran/resolve.cc:15370
 #, gcc-internal-format
 msgid "ELEMENTAL function %qs at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.cc:14053
+#: fortran/resolve.cc:15380
 #, gcc-internal-format
 msgid ""
 "Statement function %qs at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.cc:14072
+#: fortran/resolve.cc:15399
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.cc:14076
+#: fortran/resolve.cc:15403
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.cc:14080
+#: fortran/resolve.cc:15407
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.cc:14084
+#: fortran/resolve.cc:15411
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:14097
+#: fortran/resolve.cc:15424
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14108
+#: fortran/resolve.cc:15435
 #, gcc-internal-format
 msgid "Procedure pointer %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:14114
+#: fortran/resolve.cc:15441
 #, gcc-internal-format
 msgid "Dummy procedure %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:14134
+#: fortran/resolve.cc:15461
 #, 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:14191
+#: fortran/resolve.cc:15518
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14197
+#: fortran/resolve.cc:15524
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14203
+#: fortran/resolve.cc:15530
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14211
+#: fortran/resolve.cc:15538
 #, gcc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14217
+#: fortran/resolve.cc:15544
 #, gcc-internal-format
 msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.cc:14260
+#: fortran/resolve.cc:15587
 #, 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:14268
+#: fortran/resolve.cc:15595
 #, 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:14276
+#: fortran/resolve.cc:15603
 #, 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:14285
+#: fortran/resolve.cc:15612
 #, 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:14309
+#: fortran/resolve.cc:15636
 #, gcc-internal-format
 msgid "Interface of %qs at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.cc:14379
+#: fortran/resolve.cc:15706
 #, gcc-internal-format
 msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:14388
+#: fortran/resolve.cc:15715
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14396 fortran/resolve.cc:14413
+#: fortran/resolve.cc:15723 fortran/resolve.cc:15740
 #, gcc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14404
+#: fortran/resolve.cc:15731
 #, 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:14421
+#: fortran/resolve.cc:15748
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:14427
+#: fortran/resolve.cc:15754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14433
+#: fortran/resolve.cc:15760
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.cc:14441
+#: fortran/resolve.cc:15768
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:14450
+#: fortran/resolve.cc:15777
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:14472
+#: fortran/resolve.cc:15799
 #, gcc-internal-format
 msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14509
+#: fortran/resolve.cc:15836
 #, 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:14550
+#: fortran/resolve.cc:15877
 #, gcc-internal-format
 msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14586
+#: fortran/resolve.cc:15913
 #, gcc-internal-format
 msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:14645
+#: fortran/resolve.cc:15972
 #, gcc-internal-format
 msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14657
+#: fortran/resolve.cc:15984
 #, gcc-internal-format
 msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.cc:14685
+#: fortran/resolve.cc:16012
 #, gcc-internal-format
 msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.cc:14741
+#: fortran/resolve.cc:16068
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L cannot be NOPASS"
 msgstr ""
 
-#: fortran/resolve.cc:14953
+#: fortran/resolve.cc:16280
 #, gcc-internal-format
 msgid ""
 "%qs must be a module procedure or an external procedure with an explicit "
 "interface at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14996
+#: fortran/resolve.cc:16323
 #, gcc-internal-format
 msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15010
+#: fortran/resolve.cc:16337
 #, gcc-internal-format
 msgid "Procedure %qs with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:15024 fortran/resolve.cc:15566
+#: fortran/resolve.cc:16351 fortran/resolve.cc:16893
 #, gcc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15033
+#: fortran/resolve.cc:16360
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15043
+#: fortran/resolve.cc:16370
 #, gcc-internal-format
 msgid ""
 "Argument %qs of %qs with PASS(%s) at %L must be of the parametric derived-"
 "type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15085
+#: fortran/resolve.cc:16412
 #, gcc-internal-format
 msgid ""
 "All LEN type parameters of the passed dummy argument %qs of %qs at %L must "
 "be ASSUMED."
 msgstr ""
 
-#: fortran/resolve.cc:15095
+#: fortran/resolve.cc:16422
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:15101
+#: fortran/resolve.cc:16428
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:15107
+#: fortran/resolve.cc:16434
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:15136
+#: fortran/resolve.cc:16463
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as a component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15146
+#: fortran/resolve.cc:16473
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15241
+#: fortran/resolve.cc:16568
 #, gcc-internal-format
 msgid ""
 "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and "
 "not overridden"
 msgstr ""
 
-#: fortran/resolve.cc:15346
+#: fortran/resolve.cc:16673
 #, gcc-internal-format
 msgid "Coarray component %qs at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:15355
+#: fortran/resolve.cc:16682
 #, 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:15365
+#: fortran/resolve.cc:16692
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L with coarray component shall be a nonpointer, "
 "nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.cc:15390
+#: fortran/resolve.cc:16717
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.cc:15401
+#: fortran/resolve.cc:16728
 #, gcc-internal-format
 msgid "Component %qs of BIND(C) type at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:15499
+#: fortran/resolve.cc:16826
 #, gcc-internal-format
 msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15513
+#: fortran/resolve.cc:16840
 #, gcc-internal-format
 msgid ""
 "Procedure pointer component %qs with PASS at %L must have at least one "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:15529
+#: fortran/resolve.cc:16856
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15539
+#: fortran/resolve.cc:16866
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:15548
+#: fortran/resolve.cc:16875
 #, gcc-internal-format
 msgid ""
 "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15557
+#: fortran/resolve.cc:16884
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:15599
+#: fortran/resolve.cc:16926
 #, gcc-internal-format
 msgid ""
 "Component %qs of %qs at %L has the same name as an inherited type-bound "
 "procedure"
 msgstr ""
 
-#: fortran/resolve.cc:15612
+#: fortran/resolve.cc:16939
 #, gcc-internal-format
 msgid ""
 "Character length of component %qs needs to be a constant specification "
 "expression at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15623
+#: fortran/resolve.cc:16950
 #, gcc-internal-format
 msgid ""
 "Character length expression of component %qs at %L must be of INTEGER type, "
 "found %s"
 msgstr ""
 
-#: fortran/resolve.cc:15636
+#: fortran/resolve.cc:16963
 #, gcc-internal-format
 msgid ""
 "Character component %qs of %qs at %L with deferred length must be a POINTER "
 "or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:15669
+#: fortran/resolve.cc:16996
 #, 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:15677
+#: fortran/resolve.cc:17004
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.cc:15686
+#: fortran/resolve.cc:17013
 #, 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:15772
+#: fortran/resolve.cc:17099
 #, gcc-internal-format, gfc-internal-format
 msgid "Conflicting initializers in union at %L and %L"
 msgstr ""
 
-#: fortran/resolve.cc:15817
+#: fortran/resolve.cc:17191
 #, 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:15830
+#: fortran/resolve.cc:17204
 #, gcc-internal-format
 msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.cc:15894
+#: fortran/resolve.cc:17274
 #, gcc-internal-format
 msgid ""
 "Parameterized type %qs does not have a component corresponding to parameter "
 "%qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15927
+#: fortran/resolve.cc:17306
 #, 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:15941
+#: fortran/resolve.cc:17320
 #, gcc-internal-format
 msgid "Derived type %qs at %L has not been declared"
 msgstr ""
 
-#: fortran/resolve.cc:16009
+#: fortran/resolve.cc:17388
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:16015
+#: fortran/resolve.cc:17394
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16021
+#: fortran/resolve.cc:17400
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16029
+#: fortran/resolve.cc:17408
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16046
+#: fortran/resolve.cc:17425
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC "
 "namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16068
+#: fortran/resolve.cc:17447
 #, 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:16079
+#: fortran/resolve.cc:17458
 #, 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:16106
+#: fortran/resolve.cc:17485
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16125
+#: fortran/resolve.cc:17504
 #, gcc-internal-format
 msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16141
+#: fortran/resolve.cc:17520
 #, gcc-internal-format
 msgid ""
 "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:16152
+#: fortran/resolve.cc:17531
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16160
+#: fortran/resolve.cc:17539
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16212
+#: fortran/resolve.cc:17591
 #, gcc-internal-format
 msgid ""
 "Entity %qs at %L has a deferred LEN parameter %qs and requires either the "
 "POINTER or ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16224
+#: fortran/resolve.cc:17603
 #, 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:16231
+#: fortran/resolve.cc:17610
 #, 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:16290
+#: fortran/resolve.cc:17669
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays "
 "at %L are unsupported"
 msgstr ""
 
-#: fortran/resolve.cc:16303
+#: fortran/resolve.cc:17682
 #, gcc-internal-format
 msgid ""
 "%<omp_all_memory%>, declared at %L, may only be used in the OpenMP DEPEND "
 "clause"
 msgstr ""
 
-#: fortran/resolve.cc:16361
+#: fortran/resolve.cc:17747
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16364
+#: fortran/resolve.cc:17750
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16461
+#: fortran/resolve.cc:17848
 #, 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:16482
+#: fortran/resolve.cc:17869
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16496
+#: fortran/resolve.cc:17883
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16499
+#: fortran/resolve.cc:17886
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16509
+#: fortran/resolve.cc:17898
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16516
+#: fortran/resolve.cc:17905
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16529
+#: fortran/resolve.cc:17918
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.cc:16535
+#: fortran/resolve.cc:17924
 #, gcc-internal-format
 msgid ""
 "%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:16545
+#: fortran/resolve.cc:17934
 #, gcc-internal-format
 msgid ""
 "Character dummy variable %qs at %L with VALUE attribute must have constant "
 "length"
 msgstr ""
 
-#: fortran/resolve.cc:16554
+#: fortran/resolve.cc:17943
 #, gcc-internal-format
 msgid ""
 "C interoperable character dummy variable %qs at %L with VALUE attribute must "
 "have length one"
 msgstr ""
 
-#: fortran/resolve.cc:16567 fortran/resolve.cc:16744
+#: fortran/resolve.cc:17956 fortran/resolve.cc:18133
 #, gcc-internal-format
 msgid "The derived type %qs at %L is of type %qs, which has not been defined"
 msgstr ""
 
-#: fortran/resolve.cc:16581
+#: fortran/resolve.cc:17970
 #, 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:16590
+#: fortran/resolve.cc:17979
 #, 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:16599
+#: fortran/resolve.cc:17988
 #, 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:16607
+#: fortran/resolve.cc:17996
 #, 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:16614
+#: fortran/resolve.cc:18003
 #, 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:16634
+#: fortran/resolve.cc:18023
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
 msgstr ""
 
-#: fortran/resolve.cc:16641
+#: fortran/resolve.cc:18030
 #, 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:16648
+#: fortran/resolve.cc:18037
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16655
+#: fortran/resolve.cc:18044
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
 msgstr ""
 
-#: fortran/resolve.cc:16681
+#: fortran/resolve.cc:18070
 #, 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:16691
+#: fortran/resolve.cc:18080
 #, gcc-internal-format
 msgid "BIND(C) Variable %qs at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:16770
+#: fortran/resolve.cc:18159
 #, gcc-internal-format
 msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16785
+#: fortran/resolve.cc:18174
 #, 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:16798
+#: fortran/resolve.cc:18187
 #, 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:16816
+#: fortran/resolve.cc:18205
 #, 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:16828
+#: fortran/resolve.cc:18217
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16837
+#: fortran/resolve.cc:18226
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16850
+#: fortran/resolve.cc:18239
 #, gcc-internal-format
 msgid ""
 "Function result %qs at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.cc:16859
+#: fortran/resolve.cc:18248
 #, 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:16872
+#: fortran/resolve.cc:18261
 #, 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:16888
+#: fortran/resolve.cc:18277
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:16896
+#: fortran/resolve.cc:18285
 #, gcc-internal-format
 msgid ""
-"Coarray variable %qs at %L shall not have codimensions with deferred shape"
+"Coarray variable %qs at %L shall not have codimensions with deferred shape "
+"without allocatable"
 msgstr ""
 
-#: fortran/resolve.cc:16903
+#: fortran/resolve.cc:18293
 #, gcc-internal-format
 msgid "Allocatable coarray variable %qs at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16916
+#: fortran/resolve.cc:18306
 #, 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:16925
+#: fortran/resolve.cc:18315
 #, gcc-internal-format
 msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16941
+#: fortran/resolve.cc:18331
 #, gcc-internal-format
 msgid ""
 "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16947
+#: fortran/resolve.cc:18337
 #, gcc-internal-format
 msgid ""
 "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16972
+#: fortran/resolve.cc:18362
 #, gcc-internal-format
 msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17032
+#: fortran/resolve.cc:18422
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:17044
+#: fortran/resolve.cc:18434
 #, gcc-internal-format
 msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:17151
+#: fortran/resolve.cc:18544
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting definable entity near %L"
 msgstr ""
 
-#: fortran/resolve.cc:17159
+#: fortran/resolve.cc:18552
 #, gcc-internal-format
 msgid "BLOCK DATA element %qs at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.cc:17166
+#: fortran/resolve.cc:18559
 #, gcc-internal-format
 msgid "DATA array %qs at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.cc:17173
+#: fortran/resolve.cc:18566
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.cc:17189
+#: fortran/resolve.cc:18582
 #, gcc-internal-format
 msgid "DATA element %qs at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.cc:17196
+#: fortran/resolve.cc:18589
 #, 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:17205
+#: fortran/resolve.cc:18598
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:17267
+#: fortran/resolve.cc:18660
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.cc:17280
+#: fortran/resolve.cc:18673
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.cc:17356
+#: fortran/resolve.cc:18749
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-constant character length at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.cc:17384
+#: fortran/resolve.cc:18777
 #, 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:17392
+#: fortran/resolve.cc:18785
 #, 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:17400
+#: fortran/resolve.cc:18793
 #, 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:17407
+#: fortran/resolve.cc:18800
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L shall not be zero"
 msgstr ""
 
-#: fortran/resolve.cc:17532
+#: fortran/resolve.cc:18925
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.cc:17698
+#: fortran/resolve.cc:19091
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr ""
 
-#: fortran/resolve.cc:17704
+#: fortran/resolve.cc:19097
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.cc:17788
+#: fortran/resolve.cc:19181
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L must have SEQUENCE attribute to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17797
+#: fortran/resolve.cc:19190
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17805
+#: fortran/resolve.cc:19198
 #, 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:17821
+#: fortran/resolve.cc:19214
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L with pointer component(s) cannot be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17924
+#: fortran/resolve.cc:19317
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17939
+#: fortran/resolve.cc:19332
 #, 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:17964
+#: fortran/resolve.cc:19357
 #, gcc-internal-format
 msgid ""
 "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure "
 "procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17973
+#: fortran/resolve.cc:19366
 #, gcc-internal-format
 msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:18048
+#. Since the pair of objects is not of the same type, mixed or
+#. non-default sequences can be rejected.
+#: fortran/resolve.cc:19396
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Sequence %s with mixed components in EQUIVALENCE statement at %L with "
+"different type objects"
+msgstr ""
+
+#: fortran/resolve.cc:19406
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Non-default type object or sequence %s in EQUIVALENCE statement at %L with "
+"objects of different type"
+msgstr ""
+
+#: fortran/resolve.cc:19416
+#, gcc-internal-format
+msgid ""
+"Non-CHARACTER object %qs in default CHARACTER EQUIVALENCE statement at %L"
+msgstr ""
+
+#: fortran/resolve.cc:19423
+#, gcc-internal-format
+msgid "Non-NUMERIC object %qs in default NUMERIC EQUIVALENCE statement at %L"
+msgstr ""
+
+#: fortran/resolve.cc:19441
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:18059
+#: fortran/resolve.cc:19452
 #, gcc-internal-format
 msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:18070
+#: fortran/resolve.cc:19463
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.cc:18101
+#: fortran/resolve.cc:19494
 #, gcc-internal-format
 msgid "Self reference in character length expression for %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:18168
+#: fortran/resolve.cc:19561
 #, gcc-internal-format
 msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:18181
+#: fortran/resolve.cc:19574
 #, gcc-internal-format
 msgid "ENTRY %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:18203
+#: fortran/resolve.cc:19596
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:18213
+#: fortran/resolve.cc:19606
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.cc:18221
+#: fortran/resolve.cc:19614
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:18235
+#: fortran/resolve.cc:19628
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:18253
+#: fortran/resolve.cc:19646
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:18260
+#: fortran/resolve.cc:19653
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.cc:18342
+#: fortran/resolve.cc:19735
 #, gcc-internal-format
 msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -85423,8 +87628,8 @@ msgid ""
 msgstr ""
 
 #: fortran/scanner.cc:1011
-#, gcc-internal-format, gfc-internal-format
-msgid "Ignoring '!$omx' vendor-extension sentinel at %C"
+#, gcc-internal-format
+msgid "Ignoring %<!$omx%> vendor-extension sentinel at %C"
 msgstr ""
 
 #: fortran/scanner.cc:1323 fortran/scanner.cc:1526
@@ -85537,316 +87742,316 @@ msgstr ""
 msgid "Invalid KIND parameter of %s at %L"
 msgstr ""
 
-#: fortran/simplify.cc:788
+#: fortran/simplify.cc:805
 #, gcc-internal-format
 msgid "gfc_simplify_abs(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:809
+#: fortran/simplify.cc:826
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s function at %L is negative"
 msgstr ""
 
-#: fortran/simplify.cc:816
+#: fortran/simplify.cc:833
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s function at %L outside of range [0,127]"
 msgstr ""
 
-#: fortran/simplify.cc:834
+#: fortran/simplify.cc:851
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Argument of %s function at %L is too large for the collating sequence of "
 "kind %d"
 msgstr ""
 
-#: fortran/simplify.cc:871
+#: fortran/simplify.cc:888
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOS at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:885
+#: fortran/simplify.cc:902
 #, gcc-internal-format
 msgid "in gfc_simplify_acos(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:904
+#: fortran/simplify.cc:921
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOSH at %L must not be less than 1"
 msgstr ""
 
-#: fortran/simplify.cc:919
+#: fortran/simplify.cc:936
 #, gcc-internal-format
 msgid "in gfc_simplify_acosh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1148
+#: fortran/simplify.cc:1165
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ASIN at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1162
+#: fortran/simplify.cc:1179
 #, gcc-internal-format
 msgid "in gfc_simplify_asin(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1197
+#: fortran/simplify.cc:1214
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOSD at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1223
+#: fortran/simplify.cc:1240
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ASIND at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1275
+#: fortran/simplify.cc:1292
 #, gcc-internal-format
 msgid "in gfc_simplify_asinh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1303
+#: fortran/simplify.cc:1320
 #, gcc-internal-format
 msgid "in gfc_simplify_atan(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1324
+#: fortran/simplify.cc:1341
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ATANH at %L must be inside the range -1 to 1"
 msgstr ""
 
-#: fortran/simplify.cc:1338
+#: fortran/simplify.cc:1355
 #, gcc-internal-format
 msgid "in gfc_simplify_atanh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1355
+#: fortran/simplify.cc:1372
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "If first argument of ATAN2 at %L is zero, then the second argument must not "
 "be zero"
 msgstr ""
 
-#: fortran/simplify.cc:1447
+#: fortran/simplify.cc:1464
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of BESSEL_YN is -INF at %L"
 msgstr ""
 
-#: fortran/simplify.cc:1813
+#: fortran/simplify.cc:1864
 #, gcc-internal-format
 msgid "gfc_simplify_dcmplx(): Bad type (x)"
 msgstr ""
 
-#: fortran/simplify.cc:1832
+#: fortran/simplify.cc:1884
 #, gcc-internal-format
 msgid "gfc_simplify_dcmplx(): Bad type (y)"
 msgstr ""
 
-#: fortran/simplify.cc:1899
+#: fortran/simplify.cc:1951
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "If first argument of ATAN2D at %L is zero, then the second argument must not "
 "be zero"
 msgstr ""
 
-#: fortran/simplify.cc:1934
+#: fortran/simplify.cc:1986
 #, gcc-internal-format
 msgid "in gfc_simplify_cos(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:2402
+#: fortran/simplify.cc:2458
 #, gcc-internal-format
 msgid "gfc_simplify_dim(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:2976
+#: fortran/simplify.cc:3049
 #, gcc-internal-format
 msgid "in gfc_simplify_exp(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:3194
+#: fortran/simplify.cc:3267
 #, gcc-internal-format
 msgid "gfc_simplify_floor(): Bad kind"
 msgstr ""
 
-#: fortran/simplify.cc:3307
+#: fortran/simplify.cc:3384
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR at %L must be of length one"
 msgstr ""
 
-#: fortran/simplify.cc:3315
+#: fortran/simplify.cc:3392
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR function at %L outside of range 0..127"
 msgstr ""
 
-#: fortran/simplify.cc:3443
+#: fortran/simplify.cc:3553
 #, gcc-internal-format, gfc-internal-format
 msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3467
+#: fortran/simplify.cc:3579
 #, gcc-internal-format
 msgid "IBITS: Bad bit"
 msgstr ""
 
-#: fortran/simplify.cc:3528
+#: fortran/simplify.cc:3646
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ICHAR at %L must be of length one"
 msgstr ""
 
 #. Left shift, as in SHIFTL.
-#: fortran/simplify.cc:3840 fortran/simplify.cc:3848
+#: fortran/simplify.cc:4007 fortran/simplify.cc:4015
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of %s is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3860
+#: fortran/simplify.cc:4027
 #, gcc-internal-format, gfc-internal-format
 msgid "Magnitude of second argument of %s exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3988
+#: fortran/simplify.cc:4159
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at "
 "%C"
 msgstr ""
 
-#: fortran/simplify.cc:3991
+#: fortran/simplify.cc:4162
 #, gcc-internal-format, gfc-internal-format
 msgid "Absolute value of SHIFT shall be less than or equal to SIZE at %C"
 msgstr ""
 
-#: fortran/simplify.cc:4338 fortran/simplify.cc:4471
+#: fortran/simplify.cc:4509 fortran/simplify.cc:4642
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.cc:4729
+#: fortran/simplify.cc:4975
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:4742
+#: fortran/simplify.cc:4988
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.cc:4753
+#: fortran/simplify.cc:4999
 #, gcc-internal-format
 msgid "gfc_simplify_log: bad type"
 msgstr ""
 
-#: fortran/simplify.cc:4770
+#: fortran/simplify.cc:5016
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:5123
+#: fortran/simplify.cc:5448
 #, gcc-internal-format
 msgid "simplify_min_max(): Bad type in arglist"
 msgstr ""
 
-#: fortran/simplify.cc:6045 fortran/simplify.cc:6053
+#: fortran/simplify.cc:6371 fortran/simplify.cc:6379
 #, gcc-internal-format
 msgid "Argument %qs of MOD at %L shall not be zero"
 msgstr ""
 
-#: fortran/simplify.cc:6059
+#: fortran/simplify.cc:6385
 #, gcc-internal-format
 msgid "gfc_simplify_mod(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6097 fortran/simplify.cc:6105
+#: fortran/simplify.cc:6424 fortran/simplify.cc:6432
 #, gcc-internal-format
 msgid "Argument %qs of MODULO at %L shall not be zero"
 msgstr ""
 
-#: fortran/simplify.cc:6111
+#: fortran/simplify.cc:6438
 #, gcc-internal-format
 msgid "gfc_simplify_modulo(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6183
+#: fortran/simplify.cc:6510
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6760
+#: fortran/simplify.cc:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6816
+#: fortran/simplify.cc:7360
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6853
+#: fortran/simplify.cc:7397
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Evaluation of string longer than 2**28 at %L deferred to runtime, expect bugs"
 msgstr ""
 
-#: fortran/simplify.cc:6911
+#: fortran/simplify.cc:7455
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The SHAPE array for the RESHAPE intrinsic at %L has a negative value %d for "
 "dimension %d"
 msgstr ""
 
-#: fortran/simplify.cc:6936
+#: fortran/simplify.cc:7480
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6950
+#: fortran/simplify.cc:7494
 #, gcc-internal-format, gfc-internal-format
 msgid "Sizes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6965
+#: fortran/simplify.cc:7509
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Element with a value of %d in ORDER at %L must be in the range [1, ..., %d] "
 "for the RESHAPE intrinsic near %L"
 msgstr ""
 
-#: fortran/simplify.cc:6976
+#: fortran/simplify.cc:7520
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDER at %L is not a permutation of the size of SHAPE at %L"
 msgstr ""
 
-#: fortran/simplify.cc:7038
+#: fortran/simplify.cc:7582
 #, gcc-internal-format, gfc-internal-format
 msgid "Reshaped array too large at %C"
 msgstr ""
 
-#: fortran/simplify.cc:7159
+#: fortran/simplify.cc:7703
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.cc:7656
+#: fortran/simplify.cc:8223
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument (%d) to intrinsic SIZE at %L out of range (1:%d)"
 msgstr ""
 
-#: fortran/simplify.cc:7781
+#: fortran/simplify.cc:8352
 #, gcc-internal-format
 msgid "Bad type in gfc_simplify_sign"
 msgstr ""
 
-#: fortran/simplify.cc:7810
+#: fortran/simplify.cc:8381
 #, gcc-internal-format
 msgid "in gfc_simplify_sin(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:7948 fortran/simplify.cc:8231
+#: fortran/simplify.cc:8519 fortran/simplify.cc:8802
 #, gcc-internal-format
 msgid "Failure getting length of a constant array."
 msgstr ""
 
-#: fortran/simplify.cc:7958
+#: fortran/simplify.cc:8529
 #, gcc-internal-format
 msgid ""
 "The number of elements (%d) in the array constructor at %L requires an "
@@ -85854,95 +88059,95 @@ msgid ""
 "option."
 msgstr ""
 
-#: fortran/simplify.cc:8025
+#: fortran/simplify.cc:8596
 #, gcc-internal-format, gfc-internal-format
 msgid "Simplification of SPREAD at %C not yet implemented"
 msgstr ""
 
-#: fortran/simplify.cc:8049
+#: fortran/simplify.cc:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.cc:8065
+#: fortran/simplify.cc:8636
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument of SQRT at %L"
 msgstr ""
 
-#: fortran/simplify.cc:8412
+#: fortran/simplify.cc:8983
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY "
 "lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.cc:8435
+#: fortran/simplify.cc:9006
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY "
 "upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.cc:8935
+#: fortran/simplify.cc:9549
 #, gcc-internal-format
 msgid ""
 "Character %qs in string at %L cannot be converted into character kind %d"
 msgstr ""
 
-#: fortran/st.cc:303
+#: fortran/st.cc:314
 #, gcc-internal-format
 msgid "gfc_free_statement(): Bad statement"
 msgstr ""
 
-#: fortran/symbol.cc:141
+#: fortran/symbol.cc:139
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT NONE (type) statement at %L following an IMPLICIT statement"
 msgstr ""
 
-#: fortran/symbol.cc:178
+#: fortran/symbol.cc:176
 #, gcc-internal-format
 msgid "Letter %qc already set in IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/symbol.cc:200
+#: fortran/symbol.cc:198
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot specify IMPLICIT at %C after IMPLICIT NONE"
 msgstr ""
 
-#: fortran/symbol.cc:210
+#: fortran/symbol.cc:208
 #, gcc-internal-format
 msgid "Letter %qc already has an IMPLICIT type at %C"
 msgstr ""
 
-#: fortran/symbol.cc:234
+#: fortran/symbol.cc:232
 #, gcc-internal-format
 msgid ""
 "Option %<-fallow-leading-underscore%> is for use only by gfortran "
 "developers, and should not be used for implicitly typed variables"
 msgstr ""
 
-#: fortran/symbol.cc:239
+#: fortran/symbol.cc:237
 #, gcc-internal-format
 msgid "gfc_get_default_type(): Bad symbol %qs"
 msgstr ""
 
-#: fortran/symbol.cc:309
+#: fortran/symbol.cc:307
 #, gcc-internal-format
 msgid "gfc_set_default_type(): symbol already has a type"
 msgstr ""
 
-#: fortran/symbol.cc:319
+#: fortran/symbol.cc:317
 #, gcc-internal-format
 msgid "Symbol %qs at %L has no IMPLICIT type; did you mean %qs?"
 msgstr ""
 
-#: fortran/symbol.cc:323
+#: fortran/symbol.cc:321
 #, gcc-internal-format
 msgid "Symbol %qs at %L has no IMPLICIT type"
 msgstr ""
 
 #. BIND(C) variables should not be implicitly declared.
-#: fortran/symbol.cc:343
+#: fortran/symbol.cc:341
 #, gcc-internal-format
 msgid ""
 "Implicitly declared BIND(C) variable %qs at %L may not be C interoperable"
@@ -85950,139 +88155,144 @@ msgstr ""
 
 #. Dummy args to a BIND(C) routine may not be interoperable if
 #. they are implicitly typed.
-#: fortran/symbol.cc:359
+#: fortran/symbol.cc:357
 #, gcc-internal-format
 msgid ""
 "Implicitly declared variable %qs at %L may not be C interoperable but it is "
 "a dummy argument to the BIND(C) procedure %qs at %L"
 msgstr ""
 
-#: fortran/symbol.cc:400
+#: fortran/symbol.cc:398
 #, gcc-internal-format
 msgid "Function result %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/symbol.cc:501
+#: fortran/symbol.cc:418 fortran/symbol.cc:923 fortran/symbol.cc:1802
+#, gcc-internal-format, gfc-internal-format
+msgid "%s attribute conflicts with %s attribute at %L"
+msgstr ""
+
+#: fortran/symbol.cc:424 fortran/symbol.cc:926
+#, gcc-internal-format
+msgid "%s attribute conflicts with %s attribute in %qs at %L"
+msgstr ""
+
+#: fortran/symbol.cc:506
 #, gcc-internal-format, gfc-internal-format
 msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
 msgstr ""
 
-#: fortran/symbol.cc:526
+#: fortran/symbol.cc:531
 #, gcc-internal-format, gfc-internal-format
 msgid "Namelist group name at %L cannot have the SAVE attribute"
 msgstr ""
 
-#: fortran/symbol.cc:545
+#: fortran/symbol.cc:550
 #, gcc-internal-format
 msgid "internal procedure %qs at %L conflicts with DUMMY argument"
 msgstr ""
 
-#: fortran/symbol.cc:578
+#: fortran/symbol.cc:583
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer at %C"
 msgstr ""
 
-#: fortran/symbol.cc:790
+#: fortran/symbol.cc:795
 #, gcc-internal-format, gfc-internal-format
 msgid "%s attribute applied to %s %s at %L"
 msgstr ""
 
-#: fortran/symbol.cc:797
+#: fortran/symbol.cc:802
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) applied to %s %s at %L"
 msgstr ""
 
-#: fortran/symbol.cc:918 fortran/symbol.cc:929 fortran/symbol.cc:1809
-#, gcc-internal-format, gfc-internal-format
-msgid "%s attribute conflicts with %s attribute at %L"
-msgstr ""
-
-#: fortran/symbol.cc:921 fortran/symbol.cc:935
-#, gcc-internal-format
-msgid "%s attribute conflicts with %s attribute in %qs at %L"
-msgstr ""
-
-#: fortran/symbol.cc:979
+#: fortran/symbol.cc:968
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot change attributes of USE-associated symbol at %L"
 msgstr ""
 
-#: fortran/symbol.cc:982
+#: fortran/symbol.cc:971
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot change attributes of USE-associated symbol %s at %L"
 msgstr ""
 
-#: fortran/symbol.cc:998
+#: fortran/symbol.cc:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1040
+#: fortran/symbol.cc:1029
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE specified outside of INTERFACE body at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1057
+#: fortran/symbol.cc:1046
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate AUTOMATIC attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1081
+#: fortran/symbol.cc:1070
 #, gcc-internal-format
 msgid "CODIMENSION specified for %qs outside its INTERFACE body at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1107
+#: fortran/symbol.cc:1096
 #, gcc-internal-format
 msgid "DIMENSION specified for %qs outside its INTERFACE body at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1270
+#: fortran/symbol.cc:1259
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %L appears in multiple pointer() statements"
 msgstr ""
 
-#: fortran/symbol.cc:1289
+#: fortran/symbol.cc:1278
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate PROTECTED attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1322
+#: fortran/symbol.cc:1310
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1334
+#: fortran/symbol.cc:1323
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicate SAVE attribute specified near %C"
+msgstr ""
+
+#: fortran/symbol.cc:1327
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate SAVE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1354
+#: fortran/symbol.cc:1347
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate VALUE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1373
+#: fortran/symbol.cc:1366
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate VOLATILE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1385
+#: fortran/symbol.cc:1378
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE attribute at %L cannot be specified in a PURE procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1406
+#: fortran/symbol.cc:1399
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate ASYNCHRONOUS attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1805
+#: fortran/symbol.cc:1798
 #, gcc-internal-format
 msgid "%s attribute of %qs conflicts with %s attribute at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1842
+#: fortran/symbol.cc:1835
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s procedure at %L is already declared as %s procedure. \n"
@@ -86091,370 +88301,375 @@ msgid ""
 "kind of executable statement before it. FIXME"
 msgstr ""
 
-#: fortran/symbol.cc:1850
+#: fortran/symbol.cc:1843
 #, gcc-internal-format, gfc-internal-format
 msgid "%s procedure at %L is already declared as %s procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1885
+#: fortran/symbol.cc:1878
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1909
+#: fortran/symbol.cc:1902
 #, gcc-internal-format, gfc-internal-format
 msgid "ACCESS specification at %L was already specified"
 msgstr ""
 
-#: fortran/symbol.cc:1926
+#: fortran/symbol.cc:1919
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate BIND attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1933
+#: fortran/symbol.cc:1926
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1949
+#: fortran/symbol.cc:1942
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate EXTENDS attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1953
+#: fortran/symbol.cc:1946
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTENDS at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1979
+#: fortran/symbol.cc:1972
 #, gcc-internal-format
 msgid "Symbol %qs at %L already has an explicit interface"
 msgstr ""
 
-#: fortran/symbol.cc:1986
+#: fortran/symbol.cc:1979
 #, gcc-internal-format
 msgid "%qs at %L has attributes specified outside its INTERFACE body"
 msgstr ""
 
-#: fortran/symbol.cc:2024
+#: fortran/symbol.cc:2017
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %L conflicts with symbol from module %qs, use-associated at %L"
 msgstr ""
 
-#: fortran/symbol.cc:2028 fortran/symbol.cc:2031
+#: fortran/symbol.cc:2021 fortran/symbol.cc:2024
 #, gcc-internal-format
 msgid "Symbol %qs at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/symbol.cc:2038
+#: fortran/symbol.cc:2031
 #, gcc-internal-format
 msgid "Procedure %qs at %L may not have basic type of %s"
 msgstr ""
 
-#: fortran/symbol.cc:2050
+#: fortran/symbol.cc:2043
 #, gcc-internal-format
 msgid "Symbol %qs at %L cannot have a type"
 msgstr ""
 
-#: fortran/symbol.cc:2295
+#: fortran/symbol.cc:2288
 #, gcc-internal-format
 msgid "Component %qs at %C already in the parent type at %L"
 msgstr ""
 
-#: fortran/symbol.cc:2380
+#: fortran/symbol.cc:2373
 #, gcc-internal-format
 msgid "Symbol %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/symbol.cc:2412
+#: fortran/symbol.cc:2405
 #, gcc-internal-format
 msgid "Derived type %qs at %C is being used before it is defined"
 msgstr ""
 
-#: fortran/symbol.cc:2622
+#: fortran/symbol.cc:2615
 #, gcc-internal-format
 msgid "Component %qs at %C is a PRIVATE component of %qs"
 msgstr ""
 
-#: fortran/symbol.cc:2643
+#: fortran/symbol.cc:2636
 #, gcc-internal-format
 msgid "%qs at %C is not a member of the %qs structure; did you mean %qs?"
 msgstr ""
 
-#: fortran/symbol.cc:2647
+#: fortran/symbol.cc:2640
 #, gcc-internal-format
 msgid "%qs at %C is not a member of the %qs structure"
 msgstr ""
 
-#: fortran/symbol.cc:2811
+#: fortran/symbol.cc:2816
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate statement label %d at %L and %L"
 msgstr ""
 
-#: fortran/symbol.cc:2822
+#: fortran/symbol.cc:2827
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C already referenced as branch target"
 msgstr ""
 
-#: fortran/symbol.cc:2832
+#: fortran/symbol.cc:2837
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C already referenced as a format label"
 msgstr ""
 
-#: fortran/symbol.cc:2839
+#: fortran/symbol.cc:2844
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DO termination statement which is not END DO or CONTINUE with label %d at %C"
 msgstr ""
 
-#: fortran/symbol.cc:2880
+#: fortran/symbol.cc:2885
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C previously used as a FORMAT label"
 msgstr ""
 
-#: fortran/symbol.cc:2889
+#: fortran/symbol.cc:2894
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C previously used as branch target"
 msgstr ""
 
-#: fortran/symbol.cc:2896
+#: fortran/symbol.cc:2901
 #, gcc-internal-format, gfc-internal-format
 msgid "Shared DO termination label %d at %C"
 msgstr ""
 
-#: fortran/symbol.cc:2900
+#: fortran/symbol.cc:2905
 #, gcc-internal-format, gfc-internal-format
 msgid "Labeled DO statement at %L"
 msgstr ""
 
-#: fortran/symbol.cc:3241
+#: fortran/symbol.cc:3296
 #, gcc-internal-format
 msgid "Name %qs at %C is an ambiguous reference to %qs from module %qs"
 msgstr ""
 
-#: fortran/symbol.cc:3244
+#: fortran/symbol.cc:3299
 #, gcc-internal-format
 msgid ""
 "Name %qs at %C is an ambiguous reference to %qs from current program unit"
 msgstr ""
 
 #. Symbol is from another namespace.
-#: fortran/symbol.cc:3489
+#: fortran/symbol.cc:3544
 #, gcc-internal-format
 msgid "Symbol %qs at %C has already been host associated"
 msgstr ""
 
-#: fortran/symbol.cc:4543
+#: fortran/symbol.cc:4599
 #, gcc-internal-format
 msgid "verify_bind_c_derived_type(): Given symbol is unexpectedly NULL"
 msgstr ""
 
-#: fortran/symbol.cc:4556
+#: fortran/symbol.cc:4612
 #, gcc-internal-format
 msgid ""
 "Derived type %qs declared at %L must have the BIND attribute to be C "
 "interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4574
+#: fortran/symbol.cc:4630
 #, 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:4595
+#: fortran/symbol.cc:4651
 #, 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:4605
+#: fortran/symbol.cc:4661
 #, 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:4616
+#: fortran/symbol.cc:4672
 #, 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:4655
+#: fortran/symbol.cc:4711
 #, 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:4665
+#: fortran/symbol.cc:4721
 #, gcc-internal-format
 msgid "Component %qs in derived type %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4677
+#: fortran/symbol.cc:4733
 #, gcc-internal-format
 msgid ""
 "Derived type %qs at %L cannot have the SEQUENCE attribute because it is "
 "BIND(C)"
 msgstr ""
 
-#: fortran/symbol.cc:5181 fortran/symbol.cc:5186
+#: fortran/symbol.cc:5246 fortran/symbol.cc:5251
 #, gcc-internal-format
 msgid "Symbol %qs is used before it is typed at %L"
 msgstr ""
 
-#: fortran/target-memory.cc:137
+#: fortran/target-memory.cc:145
 #, gcc-internal-format
 msgid "Invalid expression in gfc_element_size."
 msgstr ""
 
-#: fortran/target-memory.cc:361
+#: fortran/target-memory.cc:371
 #, gcc-internal-format
 msgid "Invalid expression in gfc_target_encode_expr."
 msgstr ""
 
-#: fortran/target-memory.cc:637
+#: fortran/target-memory.cc:647
 #, gcc-internal-format
 msgid "Invalid expression in gfc_target_interpret_expr."
 msgstr ""
 
-#: fortran/target-memory.cc:710
+#: fortran/target-memory.cc:720
 #, gcc-internal-format, gfc-internal-format
 msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
 msgstr ""
 
-#: fortran/target-memory.cc:713
+#: fortran/target-memory.cc:723
 #, gcc-internal-format, gfc-internal-format
 msgid "Overlapping unequal initializers in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/trans-array.cc:2338 fortran/trans-expr.cc:9854
+#: fortran/trans-array.cc:2467 fortran/trans-expr.cc:10413
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"The structure constructor at %C has been finalized. This feature was removed "
+"The structure constructor at %L has been finalized. This feature was removed "
 "by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization."
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/trans-array.cc:6608
+#: fortran/trans-array.cc:6830
 #, 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:8852
+#: fortran/trans-array.cc:9232
 #, gcc-internal-format
 msgid "Creating array temporary at %L for argument %qs"
 msgstr ""
 
-#: fortran/trans-array.cc:12215
+#: fortran/trans-array.cc:12688
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
 
-#: fortran/trans-common.cc:411
+#: fortran/trans-common.cc:414
 #, gcc-internal-format
 msgid ""
 "Named COMMON block %qs at %L shall be of the same size as elsewhere (%wu vs "
 "%wu bytes)"
 msgstr ""
 
-#: fortran/trans-common.cc:819
+#: fortran/trans-common.cc:839
 #, gcc-internal-format
 msgid "get_mpz(): Not an integer constant"
 msgstr ""
 
-#: fortran/trans-common.cc:847
+#: fortran/trans-common.cc:867
 #, gcc-internal-format
 msgid "element_number(): Bad dimension type"
 msgstr ""
 
-#: fortran/trans-common.cc:917
+#: fortran/trans-common.cc:937
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array reference at %L"
 msgstr ""
 
-#: fortran/trans-common.cc:925
+#: fortran/trans-common.cc:945
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal reference type at %L as EQUIVALENCE object"
 msgstr ""
 
-#: fortran/trans-common.cc:965
+#: fortran/trans-common.cc:985
 #, gcc-internal-format
 msgid "Inconsistent equivalence rules involving %qs at %L and %qs at %L"
 msgstr ""
 
 #. Aligning this field would misalign a previous field.
-#: fortran/trans-common.cc:1154
+#: fortran/trans-common.cc:1174
 #, gcc-internal-format
 msgid ""
 "The equivalence set for variable %qs declared at %L violates alignment "
 "requirements"
 msgstr ""
 
-#: fortran/trans-common.cc:1219
+#: fortran/trans-common.cc:1222
+#, gcc-internal-format
+msgid "Sorry, !$OMP allocate for COMMON block variable %qs at %L not supported"
+msgstr ""
+
+#: fortran/trans-common.cc:1243
 #, gcc-internal-format
 msgid "Equivalence for %qs does not match ordering of COMMON %qs at %L"
 msgstr ""
 
-#: fortran/trans-common.cc:1234
+#: fortran/trans-common.cc:1258
 #, gcc-internal-format
 msgid ""
 "The equivalence set for %qs cause an invalid extension to COMMON %qs at %L"
 msgstr ""
 
-#: fortran/trans-common.cc:1250
+#: fortran/trans-common.cc:1274
 #, gcc-internal-format
 msgid ""
 "Padding of %d bytes required before %qs in COMMON %qs at %L; reorder "
 "elements or use %<-fno-align-commons%>"
 msgstr ""
 
-#: fortran/trans-common.cc:1256
+#: fortran/trans-common.cc:1280
 #, gcc-internal-format
 msgid ""
 "Padding of %d bytes required before %qs in COMMON at %L; reorder elements or "
 "use %<-fno-align-commons%>"
 msgstr ""
 
-#: fortran/trans-common.cc:1277
+#: fortran/trans-common.cc:1301
 #, gcc-internal-format
 msgid "COMMON %qs at %L does not exist"
 msgstr ""
 
-#: fortran/trans-common.cc:1286
+#: fortran/trans-common.cc:1310
 #, gcc-internal-format
 msgid ""
 "COMMON %qs at %L requires %d bytes of padding; reorder elements or use %<-"
 "fno-align-commons%>"
 msgstr ""
 
-#: fortran/trans-common.cc:1291
+#: fortran/trans-common.cc:1315
 #, gcc-internal-format
 msgid ""
 "COMMON at %L requires %d bytes of padding; reorder elements or use %<-fno-"
 "align-commons%>"
 msgstr ""
 
-#: fortran/trans-const.cc:336
+#: fortran/trans-const.cc:347
 #, gcc-internal-format, gfc-internal-format
 msgid "Assigning value other than 0 or 1 to LOGICAL has undefined result at %L"
 msgstr ""
 
-#: fortran/trans-const.cc:402
+#: fortran/trans-const.cc:413
 #, gcc-internal-format, gfc-internal-format
 msgid "non-constant initialization expression at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:764
+#: fortran/trans-decl.cc:783
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, moved "
@@ -86467,172 +88682,172 @@ msgid ""
 "SAVE attribute."
 msgstr ""
 
-#: fortran/trans-decl.cc:1801
+#: fortran/trans-decl.cc:1914
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L has no default type"
 msgstr ""
 
-#: fortran/trans-decl.cc:1805
+#: fortran/trans-decl.cc:1918
 #, gcc-internal-format
 msgid "intrinsic variable which isn't a procedure"
 msgstr ""
 
-#: fortran/trans-decl.cc:4572 fortran/trans-decl.cc:7965
+#: fortran/trans-decl.cc:4741 fortran/trans-decl.cc:8157
 #, gcc-internal-format
 msgid "Return value of function %qs at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:5117
+#: fortran/trans-decl.cc:5273
 #, gcc-internal-format
 msgid "Deferred type parameter not yet supported"
 msgstr ""
 
-#: fortran/trans-decl.cc:5232
-#, gcc-internal-format
-msgid "Sorry, !$OMP allocate for COMMON block variable %qs at %L not supported"
-msgstr ""
-
-#: fortran/trans-decl.cc:5239
-#, gcc-internal-format
-msgid ""
-"Sorry, !$OMP allocate for variable %qs at %L with SAVE attribute not yet "
-"implemented"
-msgstr ""
-
-#: fortran/trans-decl.cc:5445
+#: fortran/trans-decl.cc:5585
 #, gcc-internal-format
 msgid "backend decl for module variable %qs already exists"
 msgstr ""
 
-#: fortran/trans-decl.cc:5458
+#: fortran/trans-decl.cc:5598
 #, gcc-internal-format
 msgid "Unused PRIVATE module variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6080
+#: fortran/trans-decl.cc:6266
 #, gcc-internal-format
 msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument"
 msgstr ""
 
-#: fortran/trans-decl.cc:6083
+#: fortran/trans-decl.cc:6269
 #, gcc-internal-format
 msgid "Symbol %qs at %L has the WEAK attribute but is a local variable"
 msgstr ""
 
-#: fortran/trans-decl.cc:6098
+#: fortran/trans-decl.cc:6284
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:6104
+#: fortran/trans-decl.cc:6290
 #, 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:6115 fortran/trans-decl.cc:6266
+#: fortran/trans-decl.cc:6301 fortran/trans-decl.cc:6452
 #, gcc-internal-format
 msgid "Unused dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6131
+#: fortran/trans-decl.cc:6317
 #, gcc-internal-format
 msgid "Unused module variable %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6150
+#: fortran/trans-decl.cc:6336
 #, gcc-internal-format
 msgid "Unused variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6199
+#: fortran/trans-decl.cc:6385
 #, gcc-internal-format
 msgid "Unused parameter %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6203
+#: fortran/trans-decl.cc:6389
 #, gcc-internal-format
 msgid "Unused parameter %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:6233
+#: fortran/trans-decl.cc:6419
 #, gcc-internal-format
 msgid "Return value %qs of function %qs declared at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:6830
+#: fortran/trans-decl.cc:7017
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
 msgstr ""
 
-#: fortran/trans-expr.cc:1132
+#: fortran/trans-decl.cc:7216 fortran/trans-expr.cc:6114
+#, gcc-internal-format
+msgid "Unsigned not yet implemented"
+msgstr ""
+
+#: fortran/trans-decl.cc:8329
+#, gcc-internal-format
+msgid ""
+"Symbol %qs at %L is declared in a BLOCK DATA program unit but is not in a "
+"COMMON block"
+msgstr ""
+
+#: fortran/trans-expr.cc:1211
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot compute the length of the char array at %L."
 msgstr ""
 
-#: fortran/trans-expr.cc:1936
+#: fortran/trans-expr.cc:2041
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable variable at %L will be added"
 msgstr ""
 
-#: fortran/trans-expr.cc:2272
+#: fortran/trans-expr.cc:2368
 #, 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:2281
+#: fortran/trans-expr.cc:2377
 #, 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:3980
+#: fortran/trans-expr.cc:4276
 #, gcc-internal-format
 msgid "Unknown intrinsic op"
 msgstr ""
 
-#: fortran/trans-expr.cc:5499
+#: fortran/trans-expr.cc:5862
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown argument list function at %L"
 msgstr ""
 
-#: fortran/trans-expr.cc:10432
+#: fortran/trans-expr.cc:11011
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "If bounds remapping is specified at %L, the pointer target shall not be NULL"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:944
+#: fortran/trans-intrinsic.cc:946
 #, gcc-internal-format
 msgid "Intrinsic function %qs (%d) not recognized"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:2449 fortran/trans-intrinsic.cc:2998
-#: fortran/trans-intrinsic.cc:3199
+#: fortran/trans-intrinsic.cc:2478 fortran/trans-intrinsic.cc:3027
+#: fortran/trans-intrinsic.cc:3230
 #, gcc-internal-format
 msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12361 fortran/trans-stmt.cc:1104
+#: fortran/trans-intrinsic.cc:13340 fortran/trans-stmt.cc:1107
 #, 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:12368
+#: fortran/trans-intrinsic.cc:13347
 #, gcc-internal-format, gfc-internal-format
 msgid "The event variable at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/trans-io.cc:1993
+#: fortran/trans-io.cc:2000
 #, gcc-internal-format
 msgid "build_dt: format with namelist"
 msgstr ""
 
-#: fortran/trans-io.cc:2534
+#: fortran/trans-io.cc:2550
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad IO basetype (%d)"
 msgstr ""
@@ -86647,39 +88862,44 @@ msgstr ""
 msgid "implicit mapping of assumed size array %qD"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3296
+#: fortran/trans-openmp.cc:1558
+#, gcc-internal-format
+msgid "Implicit mapping of polymorphic variable %qD is unspecified behavior"
+msgstr ""
+
+#: fortran/trans-openmp.cc:3349
 #, gcc-internal-format
 msgid "optional class parameter"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3712
+#: fortran/trans-openmp.cc:3766
 #, gcc-internal-format
 msgid "unhandled expression type"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3992
+#: fortran/trans-openmp.cc:4046
 #, gcc-internal-format
 msgid "unhandled expression"
 msgstr ""
 
-#: fortran/trans-openmp.cc:4114
+#: fortran/trans-openmp.cc:4168
 #, gcc-internal-format
 msgid "%<uses_allocators%> clause with traits and memory spaces"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5038
+#: fortran/trans-openmp.cc:5146
 #, gcc-internal-format
 msgid "%<!$OMP %s%> at %L requires %<-fopenmp-allocators%>"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5041
+#: fortran/trans-openmp.cc:5149
 #, gcc-internal-format
 msgid ""
 "All files that might deallocate such a variable must be compiled with %<-"
 "fopenmp-allocators%>"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5044
+#: fortran/trans-openmp.cc:5152
 #, gcc-internal-format
 msgid ""
 "This includes explicit DEALLOCATE, reallocation on intrinsic assignment, "
@@ -86687,73 +88907,112 @@ msgid ""
 "components allocated with an OpenMP allocator"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5621 fortran/trans-openmp.cc:5641
+#: fortran/trans-openmp.cc:5729 fortran/trans-openmp.cc:5749
 #, gcc-internal-format
 msgid "non-rectangular loop nest with non-constant step for %qs"
 msgstr ""
 
-#: fortran/trans-openmp.cc:5643
+#: fortran/trans-openmp.cc:5751
 #, gcc-internal-format
 msgid "Used here"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7165
-#, gcc-internal-format
-msgid ""
-"%qs specified in 'allocate' clause at %L but not in an explicit "
-"privatization clause"
-msgstr ""
-
-#: fortran/trans-openmp.cc:8065
+#: fortran/trans-openmp.cc:8317
 #, gcc-internal-format
 msgid "gfc_trans_omp_workshare(): Bad statement code"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8368
-#, gcc-internal-format, gfc-internal-format
-msgid "The base name for 'declare variant' must be specified at %L "
+#: fortran/trans-openmp.cc:8722
+#, gcc-internal-format
+msgid "The base name for %<declare variant%> must be specified at %L"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8378
+#: fortran/trans-openmp.cc:8732
 #, 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:8381
+#: fortran/trans-openmp.cc:8735
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be an entry name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8384
+#: fortran/trans-openmp.cc:8738
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a generic name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8387
+#: fortran/trans-openmp.cc:8741
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a procedure pointer"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8390
+#: fortran/trans-openmp.cc:8744
 #, gcc-internal-format, gfc-internal-format
 msgid "The base procedure at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8503
+#: fortran/trans-openmp.cc:8775
 #, gcc-internal-format
 msgid "Cannot find symbol %qs"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8514
+#: fortran/trans-openmp.cc:8787
 #, gcc-internal-format
 msgid "variant %qs at %L is not a function or subroutine"
 msgstr ""
 
-#: fortran/trans-openmp.cc:8528
+#: fortran/trans-openmp.cc:8829
 #, gcc-internal-format
 msgid "variant %qs and base %qs at %L have incompatible types: %s"
 msgstr ""
 
+#: fortran/trans-openmp.cc:8835
+#, gcc-internal-format
+msgid ""
+"%<append_args%> clause implies that %qs has %d dummy arguments of integer "
+"type with %<omp_interop_kind%> kind"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8861
+#, gcc-internal-format
+msgid ""
+"%qs at %L must be a nonpointer, nonallocatable scalar integer dummy argument "
+"of %<omp_interop_kind%> kind as it utilized with the %<append_args%> clause "
+"at %L"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8871
+#, gcc-internal-format
+msgid ""
+"%qs at %L with OPTIONAL attribute not support when utilized with the "
+"%<append_args%> clause at %L"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8881
+#, gcc-internal-format
+msgid ""
+"%qs at %L has %d but requires %d %<omp_interop_kind%> kind dummy arguments "
+"as it is utilized with the %<append_args%> clause at %L"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8896
+#, gcc-internal-format
+msgid ""
+"the %qs clause can only be specified if the %<dispatch%> selector of the "
+"construct selector set appears in the %<match%> clause at %L"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8985
+#, gcc-internal-format
+msgid "list item %qs at %L is not a dummy argument"
+msgstr ""
+
+#: fortran/trans-openmp.cc:8991
+#, gcc-internal-format
+msgid "%qs at %L is specified more than once"
+msgstr ""
+
 #: fortran/trans-stmt.cc:576
 #, gcc-internal-format, gfc-internal-format
 msgid "An alternate return at %L without a * dummy argument"
@@ -86764,89 +89023,89 @@ msgstr ""
 msgid "Sorry, the lock component of derived type at %L is not yet supported"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1367
+#: fortran/trans-stmt.cc:1370
 #, 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:3700
+#: fortran/trans-stmt.cc:3802
 #, gcc-internal-format
 msgid "gfc_trans_select(): Bad type for case expr."
 msgstr ""
 
-#: fortran/trans-types.cc:537
+#: fortran/trans-types.cc:619
 #, gcc-internal-format
 msgid ""
 "%<-fconvert=r16_ieee%> or %<-fconvert=r16_ibm%> not supported on this "
 "architecture"
 msgstr ""
 
-#: fortran/trans-types.cc:550
+#: fortran/trans-types.cc:632
 #, gcc-internal-format
 msgid "INTEGER(KIND=8) is not available for %<-fdefault-integer-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:559
+#: fortran/trans-types.cc:641
 #, gcc-internal-format
 msgid "INTEGER(KIND=8) is not available for %<-finteger-4-integer-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:578
+#: fortran/trans-types.cc:662
 #, gcc-internal-format
 msgid "REAL(KIND=8) is not available for %<-fdefault-real-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:586
+#: fortran/trans-types.cc:670
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-fdefault-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:594
+#: fortran/trans-types.cc:678
 #, gcc-internal-format
 msgid "REAL(KIND=16) is not available for %<-fdefault-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:602
+#: fortran/trans-types.cc:686
 #, gcc-internal-format
 msgid "REAL(KIND=8) is not available for %<-freal-4-real-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:610
+#: fortran/trans-types.cc:694
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-4-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:618
+#: fortran/trans-types.cc:702
 #, gcc-internal-format
 msgid "REAL(KIND=16) is not available for %<-freal-4-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:649
+#: fortran/trans-types.cc:733
 #, gcc-internal-format
 msgid "REAL(KIND=4) is not available for %<-freal-8-real-4%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:657
+#: fortran/trans-types.cc:741
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-8-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:665
+#: fortran/trans-types.cc:749
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-8-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:807
+#: fortran/trans-types.cc:909
 #, gcc-internal-format
 msgid "gfc_validate_kind(): Got bad type"
 msgstr ""
 
-#: fortran/trans-types.cc:811
+#: fortran/trans-types.cc:913
 #, gcc-internal-format
 msgid "gfc_validate_kind(): Got bad kind"
 msgstr ""
 
-#: fortran/trans.cc:2683
+#: fortran/trans.cc:2663
 #, gcc-internal-format
 msgid "gfc_trans_code(): Bad statement code"
 msgstr ""
@@ -86937,82 +89196,92 @@ msgstr ""
 msgid "unexpected EOF"
 msgstr ""
 
-#: lto/lto-common.cc:2030
+#: go/gofrontend/expressions.cc:985
+#, gcc-internal-format
+msgid "invalid use of type"
+msgstr ""
+
+#: go/gofrontend/statements.cc:2670
+#, gcc-internal-format
+msgid "expected call expression"
+msgstr ""
+
+#: lto/lto-common.cc:2041
 #, gcc-internal-format
 msgid "bytecode stream: garbage at the end of symbols section"
 msgstr ""
 
-#: lto/lto-common.cc:2057
+#: lto/lto-common.cc:2068
 #, gcc-internal-format
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto-common.cc:2089
+#: lto/lto-common.cc:2100
 #, 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:2109
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr ""
 
-#: lto/lto-common.cc:2101
+#: lto/lto-common.cc:2112
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
 
-#: lto/lto-common.cc:2122
+#: lto/lto-common.cc:2133
 #, gcc-internal-format
 msgid "invalid line in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2144
+#: lto/lto-common.cc:2155
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2150
+#: lto/lto-common.cc:2161
 #, gcc-internal-format
 msgid "resolution sub id %wx not in object file"
 msgstr ""
 
-#: lto/lto-common.cc:2267
+#: lto/lto-common.cc:2285
 #, 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:2305
 #, gcc-internal-format
 msgid "cannot read %<LTO_section_decls%> from %s"
 msgstr ""
 
-#: lto/lto-common.cc:2408
+#: lto/lto-common.cc:2426
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr ""
 
-#: lto/lto-common.cc:2429
+#: lto/lto-common.cc:2447
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr ""
 
-#: lto/lto-common.cc:2440
+#: lto/lto-common.cc:2458
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr ""
 
-#: lto/lto-common.cc:2757
+#: lto/lto-common.cc:2775
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr ""
 
-#: lto/lto-common.cc:2882
+#: lto/lto-common.cc:2900
 #, gcc-internal-format, gfc-internal-format
 msgid "missing resolution data for %s"
 msgstr ""
 
-#: lto/lto-common.cc:2919
+#: lto/lto-common.cc:2937
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -87032,17 +89301,17 @@ msgstr ""
 msgid "Not configured with %<--enable-gather-detailed-mem-stats%>."
 msgstr ""
 
-#: lto/lto-lang.cc:324
+#: lto/lto-lang.cc:328
 #, gcc-internal-format
 msgid "%s:%s: %E: %E"
 msgstr ""
 
-#: lto/lto-lang.cc:879
+#: lto/lto-lang.cc:893
 #, gcc-internal-format
 msgid "%<-fwpa%> and %<-fltrans%> are mutually exclusive"
 msgstr ""
 
-#: lto/lto-lang.cc:913
+#: lto/lto-lang.cc:927
 #, gcc-internal-format
 msgid "%<-flinker-output=rel%> and %<-fltrans%> are mutually exclusive"
 msgstr ""
@@ -87067,7 +89336,7 @@ msgstr ""
 msgid "two or more sections for %s"
 msgstr ""
 
-#: lto/lto-partition.cc:535
+#: lto/lto-partition.cc:1122
 #, gcc-internal-format
 msgid "min partition size cannot be greater than max partition size"
 msgstr ""
@@ -87142,47 +89411,47 @@ msgstr ""
 msgid "previously declared here"
 msgstr ""
 
-#: lto/lto.cc:174
+#: lto/lto.cc:176
 #, gcc-internal-format
 msgid "%<lto_obj_file_open()%> failed"
 msgstr ""
 
-#: lto/lto.cc:206
+#: lto/lto.cc:208
 #, gcc-internal-format
 msgid "waitpid failed"
 msgstr ""
 
-#: lto/lto.cc:209
+#: lto/lto.cc:211
 #, gcc-internal-format
 msgid "streaming subprocess failed"
 msgstr ""
 
-#: lto/lto.cc:212
+#: lto/lto.cc:214
 #, gcc-internal-format
 msgid "streaming subprocess was killed by signal"
 msgstr ""
 
-#: lto/lto.cc:319
+#: lto/lto.cc:321
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.cc:427
+#: lto/lto.cc:429
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.cc:434
+#: lto/lto.cc:436
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.cc:444
+#: lto/lto.cc:446
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: m2/gm2-lang.cc:1133
+#: m2/gm2-lang.cc:1142
 #, gcc-internal-format
 msgid "cannot convert expression, only base types can be converted"
 msgstr ""
@@ -87193,7 +89462,7 @@ msgstr ""
 msgid "%qs is not a valid Modula-2 system library name or abbreviation"
 msgstr ""
 
-#: m2/gm2spec.cc:724 m2/gm2spec.cc:732
+#: m2/gm2spec.cc:730 m2/gm2spec.cc:738
 #, gcc-internal-format
 msgid "%qs and %qs cannot both be enabled"
 msgstr ""
@@ -87305,12 +89574,12 @@ msgstr ""
 msgid "%qs applied to an incomplete type"
 msgstr ""
 
-#: m2/gm2-gcc/m2linemap.cc:332
+#: m2/gm2-gcc/m2linemap.cc:333
 #, gcc-internal-format
 msgid "memory allocation failed in vasprintf"
 msgstr ""
 
-#: m2/gm2-gcc/m2linemap.cc:364 rust/rust-diagnostics.cc:166
+#: m2/gm2-gcc/m2linemap.cc:365 rust/rust-diagnostics.cc:166
 #, gcc-internal-format, gfc-internal-format
 msgid "at %s, %s"
 msgstr ""
@@ -87335,98 +89604,98 @@ msgstr ""
 msgid "field number out of range trying to access set element"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:224
+#: m2/gm2-gcc/m2type.cc:225
 #, gcc-internal-format
 msgid "array declaration canonicalization has failed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:315
+#: m2/gm2-gcc/m2type.cc:316
 #, gcc-internal-format
 msgid "low bound for the array is outside the ztype limits"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:317
+#: m2/gm2-gcc/m2type.cc:318
 #, gcc-internal-format
 msgid "high bound for the array is outside the ztype limits"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:909
+#: m2/gm2-gcc/m2type.cc:917
 #, gcc-internal-format
 msgid "set base type must be an ordinal type"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:938
+#: m2/gm2-gcc/m2type.cc:946
 #, gcc-internal-format
 msgid "ordinal type expected"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:947
+#: m2/gm2-gcc/m2type.cc:955
 #, 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:1989
+#: m2/gm2-gcc/m2type.cc:1995
 #, gcc-internal-format
 msgid "redeclaration of enum %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2055
+#: m2/gm2-gcc/m2type.cc:2061
 #, gcc-internal-format
 msgid "enumeration values exceed range of integer"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2289
+#: m2/gm2-gcc/m2type.cc:2295
 #, gcc-internal-format
 msgid "set type cannot be initialized with a %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2296
+#: m2/gm2-gcc/m2type.cc:2302
 #, gcc-internal-format
 msgid "set type does not take another integer value"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2421
+#: m2/gm2-gcc/m2type.cc:2427
 #, gcc-internal-format
 msgid "array cannot be initialized with a %qs"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2427
+#: m2/gm2-gcc/m2type.cc:2433
 #, gcc-internal-format
 msgid "array type must be initialized"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2434
+#: m2/gm2-gcc/m2type.cc:2440
 #, gcc-internal-format
 msgid "array element value must be the same type as its declaration"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2497
+#: m2/gm2-gcc/m2type.cc:2503
 #, gcc-internal-format
 msgid "low bound for the subrange has overflowed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2499
+#: m2/gm2-gcc/m2type.cc:2505
 #, gcc-internal-format
 msgid "high bound for the subrange has overflowed"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2796
+#: m2/gm2-gcc/m2type.cc:2802
 #, gcc-internal-format
 msgid "requested alignment is not a constant"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2798
+#: m2/gm2-gcc/m2type.cc:2804
 #, gcc-internal-format
 msgid "requested alignment is not a power of 2"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2800
+#: m2/gm2-gcc/m2type.cc:2806
 #, gcc-internal-format
 msgid "requested alignment is too large"
 msgstr ""
 
-#: m2/gm2-gcc/m2type.cc:2826
+#: m2/gm2-gcc/m2type.cc:2832
 #, gcc-internal-format
 msgid "alignment may not be specified for %qD"
 msgstr ""
@@ -88453,9 +90722,16 @@ msgstr ""
 msgid "%qD declared %<static%> in %<constexpr%> context"
 msgstr ""
 
+#: 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 ""
+
 #: rust/backend/rust-tree.cc:616
 #, gcc-internal-format
-msgid "ignoring return value of %qD, that must be used: %<%s%>"
+msgid "ignoring return value of %qD, that must be used: %qs"
 msgstr ""
 
 #: rust/backend/rust-tree.cc:617
@@ -88465,7 +90741,7 @@ msgstr ""
 
 #: rust/backend/rust-tree.cc:633
 #, gcc-internal-format
-msgid "ignoring returned value of type %qT, that must be used: %<%s%>"
+msgid "ignoring returned value of type %qT, that must be used: %qs"
 msgstr ""
 
 #: rust/backend/rust-tree.cc:634
index 3f79239658a9be828347e0bafacda2a4494fac3e..e0358a51630517a5b2f59b0864ca1010b1dbc925 100644 (file)
@@ -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: 2024-02-16 21:34+0000\n"
+"POT-Creation-Date: 2025-02-14 22:50+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"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: charset.cc:759
-#, c-format
+#, gcc-internal-format, gfc-internal-format
 msgid "conversion from %s to %s not supported by iconv"
 msgstr ""
 
@@ -27,22 +27,22 @@ msgid "iconv_open"
 msgstr ""
 
 #: charset.cc:772
-#, c-format
+#, gcc-internal-format, gfc-internal-format
 msgid "no iconv implementation, cannot convert from %s to %s"
 msgstr ""
 
 #: charset.cc:870
-#, c-format
-msgid "character 0x%lx is not in the basic source character set\n"
+#, gcc-internal-format
+msgid "character 0x%lx is not in the basic source character set"
 msgstr ""
 
 #: charset.cc:887
-#: charset.cc:2574
+#: charset.cc:2639
 msgid "converting to execution character set"
 msgstr ""
 
 #: charset.cc:893
-#, c-format
+#, gcc-internal-format
 msgid "character 0x%lx is not unibyte in execution character set"
 msgstr ""
 
@@ -51,16 +51,18 @@ msgid "universal character names are only valid in C++ and C99"
 msgstr ""
 
 #: charset.cc:1553
-msgid "C99's universal character names are incompatible with C90"
+#, gcc-internal-format
+msgid "C99%'s universal character names are incompatible with C90"
 msgstr ""
 
 #: charset.cc:1556
-#, c-format
-msgid "the meaning of '\\%c' is different in traditional C"
+#, gcc-internal-format
+msgid "the meaning of %<\\%c%> is different in traditional C"
 msgstr ""
 
 #: charset.cc:1595
-msgid "'\\N' not followed by '{'"
+#, gcc-internal-format
+msgid "%<\\N%> not followed by %<{%>"
 msgstr ""
 
 #: charset.cc:1625
@@ -73,990 +75,1230 @@ msgstr ""
 msgid "empty named universal character escape sequence"
 msgstr ""
 
-#: charset.cc:1637
+#: charset.cc:1639
 msgid "named universal character escapes are only valid in C++23"
 msgstr ""
 
-#: charset.cc:1657
-#, c-format
+#: charset.cc:1659
+#, gcc-internal-format
 msgid ""
-"\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+"%<\\N{%.*s}%> is not a valid universal character; treating it as separate "
+"tokens"
 msgstr ""
 
-#: charset.cc:1663
-#, c-format
-msgid "\\N{%.*s} is not a valid universal character"
+#: charset.cc:1665
+#, gcc-internal-format
+msgid "%<\\N{%.*s}%> is not a valid universal character"
 msgstr ""
 
-#: charset.cc:1673
-#, c-format
-msgid "did you mean \\N{%s}?"
+#: charset.cc:1675
+#, gcc-internal-format
+msgid "did you mean %<\\N{%s}%>?"
 msgstr ""
 
-#: charset.cc:1691
-#, c-format
+#: charset.cc:1693
+#, gcc-internal-format
 msgid ""
-"'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+"%<\\N{%> not terminated with %<}%> after %.*s; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1700
-#, c-format
-msgid "'\\N{' not terminated with '}' after %.*s"
+#: charset.cc:1702
+#, gcc-internal-format
+msgid "%<\\N{%> not terminated with %<}%> after %.*s"
 msgstr ""
 
-#: charset.cc:1708
-msgid "In _cpp_valid_ucn but not a UCN"
+#: charset.cc:1710
+#, gcc-internal-format
+msgid "in %<_cpp_valid_ucn%> but not a UCN"
 msgstr ""
 
-#: charset.cc:1750
+#: charset.cc:1753
 msgid "empty delimited escape sequence; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1757
-#: charset.cc:2124
-#: charset.cc:2227
+#: charset.cc:1760
+#: charset.cc:2163
+#: charset.cc:2280
 msgid "empty delimited escape sequence"
 msgstr ""
 
-#: charset.cc:1761
-#: charset.cc:2130
-#: charset.cc:2233
+#: charset.cc:1769
+#: charset.cc:2172
+#: charset.cc:2289
 msgid "delimited escape sequences are only valid in C++23"
 msgstr ""
 
-#: charset.cc:1775
-#, c-format
+#: charset.cc:1774
+#: charset.cc:1779
+#: charset.cc:2177
+#: charset.cc:2182
+#: charset.cc:2294
+#: charset.cc:2299
+msgid "delimited escape sequences are only valid in C2Y"
+msgstr ""
+
+#: charset.cc:1794
+#, gcc-internal-format
 msgid ""
-"'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+"%<\\u{%> not terminated with %<}%> after %.*s; treating it as separate tokens"
 msgstr ""
 
-#: charset.cc:1787
-#, c-format
+#: charset.cc:1806
+#, gcc-internal-format
 msgid "incomplete universal character name %.*s"
 msgstr ""
 
-#: charset.cc:1791
-#, c-format
-msgid "'\\u{' not terminated with '}' after %.*s"
+#: charset.cc:1810
+#, gcc-internal-format
+msgid "%<\\u{%> not terminated with %<}%> after %.*s"
 msgstr ""
 
-#: charset.cc:1806
-#, c-format
+#: charset.cc:1818
+#, gcc-internal-format
 msgid "%.*s is not a valid universal character"
 msgstr ""
 
-#: charset.cc:1816
-#: lex.cc:2082
-msgid "'$' in identifier or number"
+#: charset.cc:1834
+#: charset.cc:1838
+#, gcc-internal-format
+msgid "%.*s is not a valid universal character name before C23"
+msgstr ""
+
+#: charset.cc:1854
+#: lex.cc:2096
+#, gcc-internal-format
+msgid "%<$%> in identifier or number"
 msgstr ""
 
-#: charset.cc:1826
-#, c-format
+#: charset.cc:1864
+#, gcc-internal-format
 msgid "universal character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1830
-#, c-format
+#: charset.cc:1868
+#, gcc-internal-format
 msgid "universal character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:1837
-#, c-format
+#: charset.cc:1875
+#, gcc-internal-format
 msgid "%.*s is outside the UCS codespace"
 msgstr ""
 
-#: charset.cc:1881
-#: charset.cc:3037
+#: charset.cc:1919
+#: charset.cc:3072
 msgid "converting UCN to source character set"
 msgstr ""
 
-#: charset.cc:1888
+#: charset.cc:1926
 msgid "converting UCN to execution character set"
 msgstr ""
 
-#: charset.cc:1952
-#, c-format
+#: charset.cc:1990
+#, gcc-internal-format
 msgid "extended character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1969
-#, c-format
+#: charset.cc:2007
+#, gcc-internal-format
 msgid "extended character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:2091
-msgid "the meaning of '\\x' is different in traditional C"
+#: charset.cc:2129
+#, gcc-internal-format
+msgid "the meaning of %<\\x%> is different in traditional C"
 msgstr ""
 
-#: charset.cc:2138
-msgid "\\x used with no following hex digits"
+#: charset.cc:2190
+#, gcc-internal-format
+msgid "%<\\x%> used with no following hex digits"
 msgstr ""
 
-#: charset.cc:2144
-#, c-format
-msgid "'\\x{' not terminated with '}' after %.*s"
+#: charset.cc:2196
+#, gcc-internal-format
+msgid "%<\\x{%> not terminated with %<}%> after %.*s"
 msgstr ""
 
-#: charset.cc:2152
+#: charset.cc:2204
 msgid "hex escape sequence out of range"
 msgstr ""
 
-#: charset.cc:2195
-msgid "'\\o' not followed by '{'"
+#: charset.cc:2247
+#, gcc-internal-format
+msgid "%<\\o%> not followed by %<}%>"
 msgstr ""
 
-#: charset.cc:2239
-#, c-format
-msgid "'\\o{' not terminated with '}' after %.*s"
+#: charset.cc:2305
+#, gcc-internal-format
+msgid "%<\\o{%> not terminated with %<}%> after %.*s"
 msgstr ""
 
-#: charset.cc:2248
+#: charset.cc:2314
 msgid "octal escape sequence out of range"
 msgstr ""
 
-#: charset.cc:2300
-#: charset.cc:2310
-#, c-format
-msgid "numeric escape sequence in unevaluated string: '\\%c'"
+#: charset.cc:2366
+#: charset.cc:2376
+#, gcc-internal-format
+msgid "numeric escape sequence in unevaluated string: %<\\%c%>"
 msgstr ""
 
-#: charset.cc:2338
-msgid "the meaning of '\\a' is different in traditional C"
+#: charset.cc:2404
+#, gcc-internal-format
+msgid "the meaning of %<\\a%> is different in traditional C"
 msgstr ""
 
-#: charset.cc:2345
-#, c-format
-msgid "non-ISO-standard escape sequence, '\\%c'"
+#: charset.cc:2410
+#, gcc-internal-format
+msgid "non-ISO-standard escape sequence, %<\\%c%>"
 msgstr ""
 
-#: charset.cc:2353
-#, c-format
-msgid "unknown escape sequence: '\\%c'"
+#: charset.cc:2418
+#, gcc-internal-format
+msgid "unknown escape sequence: %<\\%c%>"
 msgstr ""
 
-#: charset.cc:2363
-#, c-format
-msgid "unknown escape sequence: '\\%s'"
+#: charset.cc:2428
+#, gcc-internal-format
+msgid "unknown escape sequence: %<\\%s%>"
 msgstr ""
 
-#: charset.cc:2371
+#: charset.cc:2436
 msgid "converting escape sequence to execution character set"
 msgstr ""
 
-#: charset.cc:2511
+#: charset.cc:2576
 msgid "missing open quote"
 msgstr ""
 
-#: charset.cc:2772
+#: charset.cc:2807
 msgid "character not encodable in a single execution character code unit"
 msgstr ""
 
-#: charset.cc:2777
+#: charset.cc:2812
 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
+#: charset.cc:2830
+#, gcc-internal-format
 msgid ""
-"multi-character literal with %ld characters exceeds 'int' size of %ld bytes"
+"multi-character literal with %ld characters exceeds %<int%> size of %ld bytes"
 msgstr ""
 
-#: charset.cc:2799
-#: charset.cc:2894
+#: charset.cc:2834
+#: charset.cc:2929
 msgid "multi-character literal cannot have an encoding prefix"
 msgstr ""
 
-#: charset.cc:2802
-#: charset.cc:2897
+#: charset.cc:2837
+#: charset.cc:2932
 msgid "character not encodable in a single code unit"
 msgstr ""
 
-#: charset.cc:2806
+#: charset.cc:2841
 msgid "multi-character character constant"
 msgstr ""
 
-#: charset.cc:2938
+#: charset.cc:2973
 msgid "empty character constant"
 msgstr ""
 
-#: charset.cc:3122
-#, c-format
+#: charset.cc:3158
+#, gcc-internal-format, gfc-internal-format
 msgid "failure to convert %s to %s"
 msgstr ""
 
-#: directives.cc:237
-#: directives.cc:280
-#, c-format
+#: directives.cc:243
+#, gcc-internal-format
+msgid "extra tokens at end of %<#%s%> directive"
+msgstr ""
+
+#: directives.cc:286
+#, gcc-internal-format, gfc-internal-format
 msgid "extra tokens at end of #%s directive"
 msgstr ""
 
-#: directives.cc:387
-#, c-format
-msgid "#%s is a GCC extension"
+#: directives.cc:396
+#: directives.cc:1370
+#, gcc-internal-format
+msgid "%<#%s%> is a GCC extension"
 msgstr ""
 
-#: directives.cc:394
-#: directives.cc:2163
-#: directives.cc:2202
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
+#: directives.cc:404
+#: directives.cc:2681
+#: directives.cc:2720
+#, gcc-internal-format
+msgid "%<#%s%> before C++23 is a GCC extension"
 msgstr ""
 
-#: directives.cc:397
-#: directives.cc:401
-#: directives.cc:2167
-#: directives.cc:2206
-#, c-format
-msgid "#%s before C23 is a GCC extension"
+#: directives.cc:409
+#: directives.cc:415
+#: directives.cc:1373
+#: directives.cc:2685
+#: directives.cc:2725
+#, gcc-internal-format
+msgid "%<#%s%> before C23 is a GCC extension"
 msgstr ""
 
-#: directives.cc:407
-#, c-format
-msgid "#%s is a deprecated GCC extension"
+#: directives.cc:423
+#, gcc-internal-format
+msgid "%<#%s%> is a deprecated GCC extension"
 msgstr ""
 
-#: directives.cc:420
-msgid "suggest not using #elif in traditional C"
+#: directives.cc:436
+#, gcc-internal-format
+msgid "suggest not using %<#elif%> in traditional C"
 msgstr ""
 
-#: directives.cc:423
-#, c-format
-msgid "traditional C ignores #%s with the # indented"
+#: directives.cc:439
+#, gcc-internal-format
+msgid "traditional C ignores %<#%s%> with the %<#%> indented"
 msgstr ""
 
-#: directives.cc:427
-#, c-format
-msgid "suggest hiding #%s from traditional C with an indented #"
+#: directives.cc:443
+#, gcc-internal-format
+msgid "suggest hiding %<#%s%> from traditional C with an indented %<#%>"
 msgstr ""
 
-#: directives.cc:453
+#: directives.cc:468
 msgid "embedding a directive within macro arguments is not portable"
 msgstr ""
 
-#: directives.cc:481
+#: directives.cc:497
 msgid "style of line directive is a GCC extension"
 msgstr ""
 
-#: directives.cc:556
-#, c-format
+#: directives.cc:572
+#, gcc-internal-format, gfc-internal-format
 msgid "invalid preprocessing directive #%s; did you mean #%s?"
 msgstr ""
 
-#: directives.cc:562
-#, c-format
+#: directives.cc:578
+#, gcc-internal-format, gfc-internal-format
 msgid "invalid preprocessing directive #%s"
 msgstr ""
 
-#: directives.cc:632
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
+#: directives.cc:656
+#, gcc-internal-format
+msgid "%qs cannot be used as a macro name"
 msgstr ""
 
-#: directives.cc:639
-#, c-format
-msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+#: directives.cc:663
+#, gcc-internal-format
+msgid "%qs cannot be used as a macro name as it is an operator in C++"
 msgstr ""
 
-#: directives.cc:642
-#, c-format
-msgid "no macro name given in #%s directive"
+#: directives.cc:666
+#, gcc-internal-format
+msgid "no macro name given in %<#%s%> directive"
 msgstr ""
 
-#: directives.cc:645
+#: directives.cc:669
 msgid "macro names must be identifiers"
 msgstr ""
 
-#: directives.cc:698
-#: directives.cc:702
-#, c-format
-msgid "undefining \"%s\""
+#: directives.cc:743
+#: directives.cc:747
+#, gcc-internal-format
+msgid "undefining %qs"
 msgstr ""
 
-#: directives.cc:759
-msgid "missing terminating > character"
+#: directives.cc:805
+#, gcc-internal-format
+msgid "missing terminating %<>%> character"
 msgstr ""
 
-#: directives.cc:818
-#, c-format
-msgid "#%s expects \"FILENAME\" or <FILENAME>"
+#: directives.cc:865
+#, gcc-internal-format
+msgid "%<#%s%> expects %<\"FILENAME\"%> or %<<FILENAME>%>"
 msgstr ""
 
-#: directives.cc:864
-#, c-format
+#: directives.cc:911
+#: directives.cc:1386
+#, gcc-internal-format, gfc-internal-format
 msgid "empty filename in #%s"
 msgstr ""
 
-#: directives.cc:873
-#, c-format
+#: directives.cc:920
+#, gcc-internal-format
+msgid ""
+"%<#include%> nested depth %u exceeds maximum of %u (use %<-fmax-include-"
+"depth=DEPTH%> to increase the maximum)"
+msgstr ""
+
+#: directives.cc:965
+#, gcc-internal-format
+msgid "%<#include_next%> in primary source file"
+msgstr ""
+
+#: directives.cc:1037
+#: directives.cc:1059
+#: directives.cc:1062
+#: directives.cc:1065
+#, gcc-internal-format, gfc-internal-format
+msgid "unbalanced '%c'"
+msgstr ""
+
+#: directives.cc:1120
+#: directives.cc:1311
+#, gcc-internal-format
+msgid "expected %<)%>"
+msgstr ""
+
+#: directives.cc:1126
+#: directives.cc:1177
+msgid "expected parameter name"
+msgstr ""
+
+#: directives.cc:1137
+#, gcc-internal-format
 msgid ""
-"#include nested depth %u exceeds maximum of %u (use -fmax-include-"
-"depth=DEPTH to increase the maximum)"
+"%<gnu::base64%> parameter conflicts with %<limit%> or %<gnu::offset%> "
+"parameters"
+msgstr ""
+
+#: directives.cc:1147
+#, gcc-internal-format
+msgid "%<gnu::base64%> parameter required in preprocessed source"
+msgstr ""
+
+#: directives.cc:1168
+#, gcc-internal-format
+msgid "expected %<:%>"
 msgstr ""
 
-#: directives.cc:918
-msgid "#include_next in primary source file"
+#: directives.cc:1235
+#, gcc-internal-format
+msgid "duplicate embed parameter '%.*s%s%.*s'"
 msgstr ""
 
-#: directives.cc:944
-#, c-format
-msgid "invalid flag \"%s\" in line directive"
+#: directives.cc:1247
+#, gcc-internal-format
+msgid "unknown embed parameter '%.*s%s%.*s'"
 msgstr ""
 
-#: directives.cc:1011
-msgid "unexpected end of file after #line"
+#: directives.cc:1256
+#, gcc-internal-format
+msgid "expected %<(%>"
 msgstr ""
 
-#: directives.cc:1014
-#, c-format
-msgid "\"%s\" after #line is not a positive integer"
+#: directives.cc:1269
+#, gcc-internal-format
+msgid "too large %<gnu::offset%> argument"
 msgstr ""
 
-#: directives.cc:1020
-#: directives.cc:1022
+#: directives.cc:1316
+msgid "expected character string literal"
+msgstr ""
+
+#: directives.cc:1361
+#, gcc-internal-format
+msgid "%<#embed%> not supported in traditional C"
+msgstr ""
+
+#: directives.cc:1431
+#, gcc-internal-format
+msgid "invalid flag %qs in line directive"
+msgstr ""
+
+#: directives.cc:1499
+#, gcc-internal-format
+msgid "unexpected end of file after %<#line%>"
+msgstr ""
+
+#: directives.cc:1502
+#, gcc-internal-format
+msgid "%qs after %<#line%> is not a positive integer"
+msgstr ""
+
+#: directives.cc:1508
+#: directives.cc:1511
 msgid "line number out of range"
 msgstr ""
 
-#: directives.cc:1035
-#: directives.cc:1116
-#, c-format
-msgid "\"%s\" is not a valid filename"
+#: directives.cc:1524
+#: directives.cc:1605
+#, gcc-internal-format
+msgid "%qs is not a valid filename"
 msgstr ""
 
-#: directives.cc:1076
-#, c-format
-msgid "\"%s\" after # is not a positive integer"
+#: directives.cc:1565
+#, gcc-internal-format
+msgid "%qs after %<#%> is not a positive integer"
 msgstr ""
 
-#: directives.cc:1143
-#, c-format
-msgid "file \"%s\" linemarker ignored due to incorrect nesting"
+#: directives.cc:1632
+#, gcc-internal-format
+msgid "file %qs linemarker ignored due to incorrect nesting"
 msgstr ""
 
-#: directives.cc:1221
-#: directives.cc:1223
-#: directives.cc:1225
-#: directives.cc:1816
-#, c-format
+#: directives.cc:1710
+#: directives.cc:1712
+#: directives.cc:1714
+#: directives.cc:2321
+#, gcc-internal-format, gfc-internal-format
 msgid "%s"
 msgstr ""
 
-#: directives.cc:1249
-#, c-format
+#: directives.cc:1738
+#, gcc-internal-format, gfc-internal-format
 msgid "invalid #%s directive"
 msgstr ""
 
-#: directives.cc:1312
-#, c-format
-msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+#: directives.cc:1801
+#, gcc-internal-format
+msgid "registering pragmas in namespace %qs with mismatched name expansion"
 msgstr ""
 
-#: directives.cc:1321
-#, c-format
-msgid "registering pragma \"%s\" with name expansion and no namespace"
+#: directives.cc:1810
+#, gcc-internal-format
+msgid "registering pragma %qs with name expansion and no namespace"
 msgstr ""
 
-#: directives.cc:1339
-#, c-format
-msgid "registering \"%s\" as both a pragma and a pragma namespace"
+#: directives.cc:1828
+#, gcc-internal-format
+msgid "registering %qs as both a pragma and a pragma namespace"
 msgstr ""
 
-#: directives.cc:1342
-#, c-format
-msgid "#pragma %s %s is already registered"
+#: directives.cc:1831
+#, gcc-internal-format
+msgid "%<#pragma %s %s%> is already registered"
 msgstr ""
 
-#: directives.cc:1345
-#, c-format
-msgid "#pragma %s is already registered"
+#: directives.cc:1834
+#, gcc-internal-format
+msgid "%<#pragma %s%> is already registered"
 msgstr ""
 
-#: directives.cc:1375
+#: directives.cc:1865
 msgid "registering pragma with NULL handler"
 msgstr ""
 
-#: directives.cc:1592
-msgid "#pragma once in main file"
+#: directives.cc:2083
+#, gcc-internal-format
+msgid "%<#pragma once%> in main file"
 msgstr ""
 
-#: directives.cc:1615
-msgid "invalid #pragma push_macro directive"
+#: directives.cc:2153
+#, gcc-internal-format
+msgid "invalid %<#pragma %s_macro%> directive"
 msgstr ""
 
-#: directives.cc:1672
-msgid "invalid #pragma pop_macro directive"
+#: directives.cc:2232
+#, gcc-internal-format
+msgid "invalid %<#pragma GCC poison%> directive"
 msgstr ""
 
-#: directives.cc:1727
-msgid "invalid #pragma GCC poison directive"
+#: directives.cc:2241
+#, gcc-internal-format
+msgid "poisoning existing macro %qs"
 msgstr ""
 
-#: directives.cc:1736
-#, c-format
-msgid "poisoning existing macro \"%s\""
+#: directives.cc:2263
+#, gcc-internal-format
+msgid "%<#pragma system_header%> ignored outside include file"
 msgstr ""
 
-#: directives.cc:1758
-msgid "#pragma system_header ignored outside include file"
-msgstr ""
-
-#: directives.cc:1783
-#, c-format
+#: directives.cc:2288
+#, gcc-internal-format, gfc-internal-format
 msgid "cannot find source file %s"
 msgstr ""
 
-#: directives.cc:1787
-#, c-format
+#: directives.cc:2292
+#, gcc-internal-format, gfc-internal-format
 msgid "current file is older than %s"
 msgstr ""
 
-#: directives.cc:1811
-#, c-format
-msgid "invalid \"#pragma GCC %s\" directive"
+#: directives.cc:2316
+#, gcc-internal-format
+msgid "invalid %<#pragma GCC %s%> directive"
 msgstr ""
 
-#: directives.cc:2019
-msgid "_Pragma takes a parenthesized string literal"
+#: directives.cc:2536
+#, gcc-internal-format
+msgid "%<_Pragma%> takes a parenthesized string literal"
 msgstr ""
 
-#: directives.cc:2102
-msgid "#else without #if"
+#: directives.cc:2619
+#, gcc-internal-format
+msgid "%<#else%> without %<#if%>"
 msgstr ""
 
-#: directives.cc:2107
-msgid "#else after #else"
+#: directives.cc:2624
+#, gcc-internal-format
+msgid "%<#else%> after %<#else%>"
 msgstr ""
 
-#: directives.cc:2109
-#: directives.cc:2143
+#: directives.cc:2626
+#: directives.cc:2661
 msgid "the conditional began here"
 msgstr ""
 
-#: directives.cc:2135
-#, c-format
-msgid "#%s without #if"
+#: directives.cc:2652
+#, gcc-internal-format
+msgid "%<#%s%> without %<#if%>"
 msgstr ""
 
-#: directives.cc:2140
-#, c-format
-msgid "#%s after #else"
+#: directives.cc:2658
+#, gcc-internal-format
+msgid "%<#%s%> after %<#else%>"
 msgstr ""
 
-#: directives.cc:2242
-msgid "#endif without #if"
+#: directives.cc:2762
+#, gcc-internal-format
+msgid "%<#endif%> without %<#if%>"
 msgstr ""
 
-#: directives.cc:2318
-msgid "missing '(' after predicate"
+#: directives.cc:2847
+#, gcc-internal-format
+msgid "missing %<(%> after predicate"
 msgstr ""
 
-#: directives.cc:2336
-msgid "missing ')' to complete answer"
+#: directives.cc:2865
+#, gcc-internal-format
+msgid "missing %<)%> to complete answer"
 msgstr ""
 
-#: directives.cc:2348
-msgid "predicate's answer is empty"
+#: directives.cc:2877
+#, gcc-internal-format
+msgid "predicate%'s answer is empty"
 msgstr ""
 
-#: directives.cc:2378
+#: directives.cc:2907
 msgid "assertion without predicate"
 msgstr ""
 
-#: directives.cc:2381
+#: directives.cc:2910
 msgid "predicate must be an identifier"
 msgstr ""
 
-#: directives.cc:2463
-#, c-format
-msgid "\"%s\" re-asserted"
+#: directives.cc:2992
+#, gcc-internal-format
+msgid "%qs re-asserted"
 msgstr ""
 
-#: directives.cc:2781
-#, c-format
+#: directives.cc:3300
+#, gcc-internal-format, gfc-internal-format
 msgid "unterminated #%s"
 msgstr ""
 
-#: errors.cc:335
-#: errors.cc:350
-#, c-format
+#: errors.cc:343
+#: errors.cc:358
+#, gcc-internal-format, gfc-internal-format
 msgid "%s: %s"
 msgstr ""
 
-#: errors.cc:348
+#: errors.cc:356
 msgid "stdout"
 msgstr ""
 
-#: expr.cc:667
-#: expr.cc:784
+#: expr.cc:694
+#: expr.cc:822
 msgid "fixed-point constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:692
-msgid "invalid prefix \"0b\" for floating constant"
+#: expr.cc:721
+#, gcc-internal-format
+msgid "invalid prefix %<0b%> for floating constant"
 msgstr ""
 
-#: expr.cc:705
+#: expr.cc:727
+#, gcc-internal-format
+msgid "invalid prefix %<0o%> for floating constant"
+msgstr ""
+
+#: expr.cc:740
 msgid "use of C++17 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:708
+#: expr.cc:744
 msgid "use of C99 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:752
-#, c-format
-msgid "invalid suffix \"%.*s\" on floating constant"
+#: expr.cc:789
+#, gcc-internal-format
+msgid "invalid suffix %<%.*s%> on floating constant"
 msgstr ""
 
-#: expr.cc:763
-#: expr.cc:830
-#, c-format
-msgid "traditional C rejects the \"%.*s\" suffix"
+#: expr.cc:800
+#: expr.cc:870
+#, gcc-internal-format
+msgid "traditional C rejects the %<%.*s%> suffix"
 msgstr ""
 
-#: expr.cc:771
+#: expr.cc:809
 msgid "suffix for double constant is a GCC extension"
 msgstr ""
 
-#: expr.cc:777
-#, c-format
-msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
+#: expr.cc:815
+#, gcc-internal-format
+msgid "invalid suffix %<%.*s%> with hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:790
-#: expr.cc:794
-msgid "decimal float constants are a C23 feature"
+#: expr.cc:829
+#: expr.cc:833
+msgid "decimal floating constants are a C23 feature"
 msgstr ""
 
-#: expr.cc:813
-#, c-format
-msgid "invalid suffix \"%.*s\" on integer constant"
+#: expr.cc:853
+#, gcc-internal-format
+msgid "invalid suffix %<%.*s%> on integer constant"
 msgstr ""
 
-#: expr.cc:838
+#: expr.cc:878
 msgid "use of C++11 long long integer constant"
 msgstr ""
 
-#: expr.cc:839
+#: expr.cc:879
 msgid "use of C99 long long integer constant"
 msgstr ""
 
-#: expr.cc:853
+#: expr.cc:894
+#, gcc-internal-format
 msgid "use of C++23 %<size_t%> integer constant"
 msgstr ""
 
-#: expr.cc:854
+#: expr.cc:895
+#, gcc-internal-format
 msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
 msgstr ""
 
-#: expr.cc:864
-#: expr.cc:875
+#: expr.cc:905
+#: expr.cc:916
+#, gcc-internal-format
 msgid "ISO C does not support literal %<wb%> suffixes before C23"
 msgstr ""
 
-#: expr.cc:888
+#: expr.cc:931
 msgid "imaginary constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:895
+#: expr.cc:939
+msgid "imaginary constants are a C2Y feature or GCC extension"
+msgstr ""
+
+#: expr.cc:944
+msgid "imaginary constants are a C2Y feature"
+msgstr ""
+
+#: expr.cc:956
 msgid "binary constants are a C++14 feature or GCC extension"
 msgstr ""
 
-#: expr.cc:897
+#: expr.cc:961
 msgid "binary constants are a C23 feature or GCC extension"
 msgstr ""
 
-#: expr.cc:902
+#: expr.cc:966
 msgid "binary constants are a C23 feature"
 msgstr ""
 
-#: expr.cc:998
+#: expr.cc:974
+#, gcc-internal-format
+msgid "%<0o%> prefixed constants are a C2Y feature or GCC extension"
+msgstr ""
+
+#: expr.cc:979
+#, gcc-internal-format
+msgid "%<0o%> prefixed constants are a C2Y feature"
+msgstr ""
+
+#: expr.cc:1077
 msgid "integer constant is too large for its type"
 msgstr ""
 
-#: expr.cc:1029
+#: expr.cc:1108
 msgid "integer constant is so large that it is unsigned"
 msgstr ""
 
-#: expr.cc:1124
-msgid "missing ')' after \"defined\""
+#: expr.cc:1189
+#, gcc-internal-format
+msgid "%<defined%> in %<#embed%> parameter"
+msgstr ""
+
+#: expr.cc:1206
+#, gcc-internal-format
+msgid "missing %<)%> after %<defined%>"
 msgstr ""
 
-#: expr.cc:1131
-msgid "operator \"defined\" requires an identifier"
+#: expr.cc:1213
+#, gcc-internal-format
+msgid "operator %<defined%> requires an identifier"
 msgstr ""
 
-#: expr.cc:1139
-#, c-format
-msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+#: expr.cc:1221
+#, gcc-internal-format
+msgid "(%qs is an alternative token for %qs in C++)"
 msgstr ""
 
-#: expr.cc:1152
-msgid "this use of \"defined\" may not be portable"
+#: expr.cc:1234
+#, gcc-internal-format
+msgid "this use of %<defined%> may not be portable"
 msgstr ""
 
-#: expr.cc:1197
+#: expr.cc:1279
 msgid "user-defined literal in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1202
+#: expr.cc:1284
 msgid "floating constant in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1208
+#: expr.cc:1290
 msgid "imaginary number in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1257
-#, c-format
-msgid "\"%s\" is not defined, evaluates to 0"
+#: expr.cc:1339
+#, gcc-internal-format
+msgid "%qs is not defined, evaluates to %<0%>"
 msgstr ""
 
-#: expr.cc:1270
+#: expr.cc:1351
 msgid "assertions are a GCC extension"
 msgstr ""
 
-#: expr.cc:1273
+#: expr.cc:1355
 msgid "assertions are a deprecated extension"
 msgstr ""
 
-#: expr.cc:1523
-#, c-format
+#: expr.cc:1619
+#, gcc-internal-format, gfc-internal-format
 msgid "unbalanced stack in %s"
 msgstr ""
 
-#: expr.cc:1543
-#, c-format
+#: expr.cc:1633
+msgid "negative embed parameter operand"
+msgstr ""
+
+#: expr.cc:1639
+msgid "too large embed parameter operand"
+msgstr ""
+
+#: expr.cc:1658
+#, gcc-internal-format, gfc-internal-format
 msgid "impossible operator '%u'"
 msgstr ""
 
-#: expr.cc:1644
-msgid "missing ')' in expression"
+#: expr.cc:1759
+#, gcc-internal-format
+msgid "missing %<)%> in expression"
 msgstr ""
 
-#: expr.cc:1673
-msgid "'?' without following ':'"
+#: expr.cc:1788
+#, gcc-internal-format
+msgid "%<?%> without following %<:%>"
 msgstr ""
 
-#: expr.cc:1683
+#: expr.cc:1798
 msgid "integer overflow in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1688
-msgid "missing '(' in expression"
+#: expr.cc:1803
+#, gcc-internal-format
+msgid "missing %<(%> in expression"
 msgstr ""
 
-#: expr.cc:1720
-#, c-format
-msgid "the left operand of \"%s\" changes sign when promoted"
+#: expr.cc:1835
+#, gcc-internal-format
+msgid "the left operand of %qs changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1725
-#, c-format
-msgid "the right operand of \"%s\" changes sign when promoted"
+#: expr.cc:1840
+#, gcc-internal-format
+msgid "the right operand of %qs changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1984
+#: expr.cc:2099
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: expr.cc:2082
-msgid "comma operator in operand of #if"
+#: expr.cc:2197
+#, gcc-internal-format, gfc-internal-format
+msgid "comma operator in operand of #%s"
 msgstr ""
 
-#: expr.cc:2218
-msgid "division by zero in #if"
+#: expr.cc:2335
+#, gcc-internal-format, gfc-internal-format
+msgid "division by zero in #%s"
 msgstr ""
 
-#: files.cc:520
-msgid "NULL directory in find_file"
+#: files.cc:530
+#, gcc-internal-format
+msgid "NULL directory in %<find_file%>"
 msgstr ""
 
-#: files.cc:583
+#: files.cc:603
 msgid "one or more PCH files were found, but they were invalid"
 msgstr ""
 
-#: files.cc:587
-msgid "use -Winvalid-pch for more information"
+#: files.cc:607
+#, gcc-internal-format
+msgid "use %<-Winvalid-pch%> for more information"
 msgstr ""
 
-#: files.cc:703
-#, c-format
+#: files.cc:737
+#: files.cc:1661
+#, gcc-internal-format, gfc-internal-format
 msgid "%s is a block device"
 msgstr ""
 
-#: files.cc:722
-#, c-format
+#: files.cc:756
+#: files.cc:1261
+#: files.cc:1287
+#: files.cc:1692
+#: files.cc:1762
+#, gcc-internal-format, gfc-internal-format
 msgid "%s is too large"
 msgstr ""
 
-#: files.cc:763
-#, c-format
+#: files.cc:796
+#: files.cc:1783
+#, gcc-internal-format, gfc-internal-format
 msgid "%s is shorter than expected"
 msgstr ""
 
-#: files.cc:1075
-#, c-format
+#: files.cc:1120
+#, gcc-internal-format, gfc-internal-format
 msgid "no include path in which to search for %s"
 msgstr ""
 
-#: files.cc:1598
+#: files.cc:1455
+#, gcc-internal-format
+msgid "%<gnu::base64%> parameter can be only used with %<\".\"%>"
+msgstr ""
+
+#: files.cc:1472
+#, gcc-internal-format
+msgid "%<gnu::base64%> argument not valid base64 encoded string"
+msgstr ""
+
+#: files.cc:2228
 msgid "Multiple include guards may be useful for:\n"
 msgstr ""
 
-#: init.cc:638
-msgid "cppchar_t must be an unsigned type"
+#: files.cc:2306
+#, gcc-internal-format
+msgid "header guard %qs followed by %<#define%> of a different macro"
+msgstr ""
+
+#: files.cc:2310
+#, gcc-internal-format
+msgid "%qs is defined here; did you mean %qs?"
 msgstr ""
 
-#: init.cc:642
-#, c-format
+#: init.cc:676
+#, gcc-internal-format
+msgid "%<cppchar_t%> must be an unsigned type"
+msgstr ""
+
+#: init.cc:680
+#, gcc-internal-format, gfc-internal-format
 msgid ""
 "preprocessor arithmetic has maximum precision of %lu bits; target requires "
 "%lu bits"
 msgstr ""
 
-#: init.cc:649
-msgid "CPP arithmetic must be at least as precise as a target int"
+#: init.cc:687
+#, gcc-internal-format
+msgid "CPP arithmetic must be at least as precise as a target %<int%>"
 msgstr ""
 
-#: init.cc:652
-msgid "target char is less than 8 bits wide"
+#: init.cc:691
+#, gcc-internal-format
+msgid "target %<char%> is less than 8 bits wide"
 msgstr ""
 
-#: init.cc:656
-msgid "target wchar_t is narrower than target char"
+#: init.cc:695
+#, gcc-internal-format
+msgid "target %<wchar_t%> is narrower than target %<char%>"
 msgstr ""
 
-#: init.cc:660
-msgid "target int is narrower than target char"
+#: init.cc:699
+#, gcc-internal-format
+msgid "target %<int%> is narrower than target %<char%>"
 msgstr ""
 
-#: init.cc:665
+#: init.cc:704
 msgid "CPP half-integer narrower than CPP character"
 msgstr ""
 
-#: init.cc:669
-#, c-format
+#: init.cc:708
+#, gcc-internal-format, gfc-internal-format
 msgid ""
 "CPP on this host cannot handle wide character constants over %lu bits, but "
 "the target requires %lu bits"
 msgstr ""
 
-#: lex.cc:1132
+#: lex.cc:1104
 msgid "backslash and newline separated by space"
 msgstr ""
 
-#: lex.cc:1137
+#: lex.cc:1109
+#: lex.cc:1145
+msgid "trailing whitespace"
+msgstr ""
+
+#: lex.cc:1116
 msgid "backslash-newline at end of file"
 msgstr ""
 
-#: lex.cc:1153
-#, c-format
-msgid "trigraph ??%c converted to %c"
+#: lex.cc:1132
+#, gcc-internal-format
+msgid "trigraph %<??%c%> converted to %<%c%>"
+msgstr ""
+
+#: lex.cc:1138
+#, gcc-internal-format
+msgid "trigraph %<??%c%> ignored, use %<-trigraphs%> to enable"
+msgstr ""
+
+#: lex.cc:1149
+msgid "too many consecutive spaces in leading whitespace"
+msgstr ""
+
+#: lex.cc:1154
+msgid "tab after space in leading whitespace"
 msgstr ""
 
 #: lex.cc:1161
-#, c-format
-msgid "trigraph ??%c ignored, use -trigraphs to enable"
+msgid "whitespace other than spaces in leading whitespace"
 msgstr ""
 
-#: lex.cc:1610
+#: lex.cc:1167
+msgid "whitespace other than tabs in leading whitespace"
+msgstr ""
+
+#: lex.cc:1173
+msgid "whitespace other than spaces and tabs in leading whitespace"
+msgstr ""
+
+#: lex.cc:1623
 msgid "end of bidirectional context"
 msgstr ""
 
-#: lex.cc:1651
+#: lex.cc:1664
 msgid "unpaired UTF-8 bidirectional control characters detected"
 msgstr ""
 
-#: lex.cc:1655
+#: lex.cc:1668
 msgid "unpaired UTF-8 bidirectional control character detected"
 msgstr ""
 
-#: lex.cc:1693
-#, c-format
-msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
+#: lex.cc:1706
+#, gcc-internal-format
+msgid "UTF-8 vs UCN mismatch when closing a context by %qs"
 msgstr ""
 
-#: lex.cc:1702
-#, c-format
-msgid "\"%s\" is closing an unopened context"
+#: lex.cc:1715
+#, gcc-internal-format
+msgid "%qs is closing an unopened context"
 msgstr ""
 
-#: lex.cc:1706
-#, c-format
-msgid "found problematic Unicode character \"%s\""
+#: lex.cc:1719
+#, gcc-internal-format
+msgid "found problematic Unicode character %qs"
 msgstr ""
 
-#: lex.cc:1736
-#: lex.cc:1742
-#, c-format
-msgid "invalid UTF-8 character <%x>"
+#: lex.cc:1749
+#: lex.cc:1755
+#, gcc-internal-format
+msgid "invalid UTF-8 character %<<%x>%>"
 msgstr ""
 
-#: lex.cc:1752
-#: lex.cc:1758
-#, c-format
-msgid "invalid UTF-8 character <%x><%x>"
+#: lex.cc:1765
+#: lex.cc:1771
+#, gcc-internal-format
+msgid "invalid UTF-8 character %<<%x><%x>%>"
 msgstr ""
 
-#: lex.cc:1768
-#: lex.cc:1774
-#, c-format
-msgid "invalid UTF-8 character <%x><%x><%x>"
+#: lex.cc:1781
+#: lex.cc:1787
+#, gcc-internal-format
+msgid "invalid UTF-8 character %<<%x><%x><%x>%>"
 msgstr ""
 
-#: lex.cc:1784
-#: lex.cc:1790
-#, c-format
-msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+#: lex.cc:1797
+#: lex.cc:1803
+#, gcc-internal-format
+msgid "invalid UTF-8 character %<<%x><%x><%x><%x>%>"
 msgstr ""
 
-#: lex.cc:1872
-msgid "\"/*\" within comment"
+#: lex.cc:1885
+#, gcc-internal-format
+msgid "%</*%> within comment"
 msgstr ""
 
-#: lex.cc:1976
-#, c-format
+#: lex.cc:1990
+#, gcc-internal-format, gfc-internal-format
 msgid "%s in preprocessing directive"
 msgstr ""
 
-#: lex.cc:1988
+#: lex.cc:2002
 msgid "null character(s) ignored"
 msgstr ""
 
-#: lex.cc:2049
-#, c-format
-msgid "`%.*s' is not in NFKC"
+#: lex.cc:2063
+#, gcc-internal-format
+msgid "%<%.*s%> is not in NFKC"
 msgstr ""
 
-#: lex.cc:2052
-#: lex.cc:2055
-#, c-format
-msgid "`%.*s' is not in NFC"
+#: lex.cc:2066
+#: lex.cc:2069
+#, gcc-internal-format
+msgid "%<%.*s%> is not in NFC"
 msgstr ""
 
-#: lex.cc:2144
-msgid "__VA_OPT__ is not available until C++20"
+#: lex.cc:2158
+#, gcc-internal-format
+msgid "%<__VA_OPT__%> is not available until C++20"
 msgstr ""
 
-#: lex.cc:2147
-msgid "__VA_OPT__ is not available until C23"
+#: lex.cc:2161
+#, gcc-internal-format
+msgid "%<__VA_OPT__%> is not available until C23"
 msgstr ""
 
-#: lex.cc:2155
-msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
+#: lex.cc:2169
+#, gcc-internal-format
+msgid ""
+"%<__VA_OPT__%> can only appear in the expansion of a C++20 variadic macro"
 msgstr ""
 
-#: lex.cc:2172
-#, c-format
-msgid "attempt to use poisoned \"%s\""
+#: lex.cc:2186
+#, gcc-internal-format
+msgid "attempt to use poisoned %qs"
 msgstr ""
 
-#: lex.cc:2177
+#: lex.cc:2191
 msgid "poisoned here"
 msgstr ""
 
-#: lex.cc:2187
-msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
+#: lex.cc:2201
+#, gcc-internal-format
+msgid ""
+"%<__VA_ARGS__%> can only appear in the expansion of a C++11 variadic macro"
 msgstr ""
 
-#: lex.cc:2191
-msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+#: lex.cc:2205
+#, gcc-internal-format
+msgid ""
+"%<__VA_ARGS__%> can only appear in the expansion of a C99 variadic macro"
 msgstr ""
 
-#: lex.cc:2203
-#, c-format
-msgid "identifier \"%s\" is a special operator name in C++"
+#: lex.cc:2217
+#, gcc-internal-format
+msgid "identifier %qs is a special operator name in C++"
 msgstr ""
 
-#: lex.cc:2372
+#: lex.cc:2353
 msgid "adjacent digit separators"
 msgstr ""
 
-#: lex.cc:2521
+#: lex.cc:2502
 msgid ""
 "invalid suffix on literal; C++11 requires a space between literal and string "
 "macro"
 msgstr ""
 
-#: lex.cc:2729
+#: lex.cc:2723
 msgid "raw string delimiter longer than 16 characters"
 msgstr ""
 
-#: lex.cc:2733
+#: lex.cc:2727
 msgid "invalid new-line in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2737
-#: lex.cc:5576
-#, c-format
+#: lex.cc:2731
+#: lex.cc:5671
+#, gcc-internal-format, gfc-internal-format
 msgid "invalid character '%c' in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2775
-#: lex.cc:2798
+#: lex.cc:2770
+#: lex.cc:2793
 msgid "unterminated raw string"
 msgstr ""
 
-#: lex.cc:2955
+#: lex.cc:2950
 msgid "null character(s) preserved in literal"
 msgstr ""
 
-#: lex.cc:2958
-#, c-format
+#: lex.cc:2953
+#, gcc-internal-format, gfc-internal-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: lex.cc:2991
+#: lex.cc:2986
 msgid "C++11 requires a space between string literal and macro"
 msgstr ""
 
-#: lex.cc:3584
+#: lex.cc:3579
 msgid "module control-line cannot be in included file"
 msgstr ""
 
-#: lex.cc:3598
-#, c-format
-msgid "module control-line \"%s\" cannot be an object-like macro"
+#: lex.cc:3593
+#, gcc-internal-format
+msgid "module control-line %qs cannot be an object-like macro"
+msgstr ""
+
+#: lex.cc:3631
+#, gcc-internal-format
+msgid "module name %qs cannot be an object-like macro"
 msgstr ""
 
-#: lex.cc:4004
-#: lex.cc:5409
+#: lex.cc:3637
+#, gcc-internal-format
+msgid "module partition %qs cannot be an object-like macro"
+msgstr ""
+
+#: lex.cc:3658
+#, gcc-internal-format
+msgid "module name followed by %<(%>"
+msgstr ""
+
+#: lex.cc:3662
+#, gcc-internal-format
+msgid "module partition followed by %<(%>"
+msgstr ""
+
+#: lex.cc:4071
+#: lex.cc:5504
 #: traditional.cc:174
 msgid "unterminated comment"
 msgstr ""
 
-#: lex.cc:4018
-#: lex.cc:4052
+#: lex.cc:4085
+#: lex.cc:4120
 msgid "C++ style comments are not allowed in ISO C90"
 msgstr ""
 
-#: lex.cc:4020
-#: lex.cc:4031
-#: lex.cc:4055
+#: lex.cc:4088
+#: lex.cc:4099
+#: lex.cc:4123
 msgid "(this will be reported only once per input file)"
 msgstr ""
 
-#: lex.cc:4029
+#: lex.cc:4097
 msgid "C++ style comments are incompatible with C90"
 msgstr ""
 
-#: lex.cc:4061
+#: lex.cc:4129
 msgid "multi-line comment"
 msgstr ""
 
-#: lex.cc:4484
-#, c-format
+#: lex.cc:4557
+#, gcc-internal-format, gfc-internal-format
 msgid "unspellable token %s"
 msgstr ""
 
-#: lex.cc:5564
-#, c-format
+#: lex.cc:5659
+#, gcc-internal-format, gfc-internal-format
 msgid "raw string delimiter longer than %d characters"
 msgstr ""
 
-#: lex.cc:5634
+#: lex.cc:5729
 msgid "unterminated literal"
 msgstr ""
 
@@ -1065,201 +1307,227 @@ msgid "'##' cannot appear at either end of __VA_OPT__"
 msgstr ""
 
 #: macro.cc:144
-msgid "__VA_OPT__ may not appear in a __VA_OPT__"
+#, gcc-internal-format
+msgid "%<__VA_OPT__%> may not appear in a %<__VA_OPT__%>"
 msgstr ""
 
 #: macro.cc:157
-msgid "__VA_OPT__ must be followed by an open parenthesis"
+#, gcc-internal-format
+msgid "%<__VA_OPT__%> must be followed by an open parenthesis"
 msgstr ""
 
 #: macro.cc:235
-msgid "unterminated __VA_OPT__"
+#, gcc-internal-format
+msgid "unterminated %<__VA_OPT__%>"
 msgstr ""
 
-#: macro.cc:397
-#, c-format
-msgid "\"%s\" used outside of preprocessing directive"
+#: macro.cc:396
+#, gcc-internal-format
+msgid "%qs used outside of preprocessing directive"
 msgstr ""
 
 #: macro.cc:407
-#, c-format
-msgid "missing '(' before \"%s\" operand"
+#, gcc-internal-format
+msgid "missing %<(%> before %qs operand"
 msgstr ""
 
-#: macro.cc:422
-#, c-format
-msgid "operator \"%s\" requires a header-name"
+#: macro.cc:425
+#, gcc-internal-format
+msgid "operator %qs requires a header-name"
 msgstr ""
 
-#: macro.cc:439
-#, c-format
-msgid "missing ')' after \"%s\" operand"
+#: macro.cc:454
+#, gcc-internal-format
+msgid "missing %<)%> after %qs operand"
 msgstr ""
 
-#: macro.cc:459
-#, c-format
-msgid "macro \"%s\" is not used"
+#: macro.cc:499
+#, gcc-internal-format
+msgid "empty filename in %qs"
 msgstr ""
 
-#: macro.cc:498
-#: macro.cc:803
-#, c-format
-msgid "invalid built-in macro \"%s\""
+#: macro.cc:533
+#, gcc-internal-format
+msgid "macro %qs is not used"
 msgstr ""
 
-#: macro.cc:505
-#: macro.cc:613
-#, c-format
-msgid "macro \"%s\" might prevent reproducible builds"
+#: macro.cc:572
+#: macro.cc:888
+#, gcc-internal-format
+msgid "invalid built-in macro %qs"
 msgstr ""
 
-#: macro.cc:536
+#: macro.cc:579
+#: macro.cc:687
+#, gcc-internal-format
+msgid "macro %qs might prevent reproducible builds"
+msgstr ""
+
+#: macro.cc:610
 msgid "could not determine file timestamp"
 msgstr ""
 
-#: macro.cc:627
+#: macro.cc:701
 msgid "could not determine date and time"
 msgstr ""
 
-#: macro.cc:659
-msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+#: macro.cc:733
+#, gcc-internal-format
+msgid "%<__COUNTER__%> expanded inside directive with %<-fdirectives-only%>"
+msgstr ""
+
+#: macro.cc:760
+#, gcc-internal-format
+msgid "%<__has_embed%> not supported in traditional C"
 msgstr ""
 
-#: macro.cc:922
-msgid "invalid string literal, ignoring final '\\'"
+#: macro.cc:1007
+#, gcc-internal-format
+msgid "invalid string literal, ignoring final %<\\%>"
 msgstr ""
 
-#: macro.cc:986
-#, c-format
+#: macro.cc:1071
+#, gcc-internal-format
 msgid "pasting \"%.*s\" and \"%.*s\" does not give a valid preprocessing token"
 msgstr ""
 
-#: macro.cc:1118
+#: macro.cc:1203
+#, gcc-internal-format
 msgid ""
-"ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
+"ISO C++11 requires at least one argument for the %<...%> in a variadic macro"
 msgstr ""
 
-#: macro.cc:1122
+#: macro.cc:1207
+#, gcc-internal-format
 msgid ""
-"ISO C99 requires at least one argument for the \"...\" in a variadic macro"
+"ISO C99 requires at least one argument for the %<...%> in a variadic macro"
 msgstr ""
 
-#: macro.cc:1129
-#, c-format
-msgid "macro \"%s\" requires %u arguments, but only %u given"
+#: macro.cc:1214
+#, gcc-internal-format
+msgid "macro %qs requires %u arguments, but only %u given"
 msgstr ""
 
-#: macro.cc:1134
-#, c-format
-msgid "macro \"%s\" passed %u arguments, but takes just %u"
+#: macro.cc:1219
+#, gcc-internal-format
+msgid "macro %qs passed %u arguments, but takes just %u"
 msgstr ""
 
-#: macro.cc:1138
-#, c-format
-msgid "macro \"%s\" defined here"
+#: macro.cc:1223
+#, gcc-internal-format
+msgid "macro %qs defined here"
 msgstr ""
 
-#: macro.cc:1332
+#: macro.cc:1417
 #: traditional.cc:822
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
+#, gcc-internal-format
+msgid "unterminated argument list invoking macro %qs"
 msgstr ""
 
-#: macro.cc:1478
-#, c-format
-msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+#: macro.cc:1563
+#, gcc-internal-format
+msgid "function-like macro %qs must be used with arguments in traditional C"
 msgstr ""
 
-#: macro.cc:2313
-#, c-format
+#: macro.cc:2398
+#, gcc-internal-format, gfc-internal-format
 msgid ""
 "invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"
 "+98"
 msgstr ""
 
-#: macro.cc:2321
-#: macro.cc:2330
-#, c-format
+#: macro.cc:2406
+#: macro.cc:2415
+#, gcc-internal-format, gfc-internal-format
 msgid ""
 "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
 msgstr ""
 
-#: macro.cc:3381
-#, c-format
-msgid "duplicate macro parameter \"%s\""
+#: macro.cc:3238
+#, gcc-internal-format
+msgid "%qc in module name or partition comes from or after macro expansion"
+msgstr ""
+
+#: macro.cc:3481
+#, gcc-internal-format
+msgid "duplicate macro parameter %qs"
 msgstr ""
 
-#: macro.cc:3463
-#, c-format
-msgid "expected parameter name, found \"%s\""
+#: macro.cc:3563
+#, gcc-internal-format
+msgid "expected parameter name, found %qs"
 msgstr ""
 
-#: macro.cc:3464
-#, c-format
-msgid "expected ',' or ')', found \"%s\""
+#: macro.cc:3564
+#, gcc-internal-format
+msgid "expected %<,%> or %<)%>, found %qs"
 msgstr ""
 
-#: macro.cc:3465
+#: macro.cc:3565
 msgid "expected parameter name before end of line"
 msgstr ""
 
-#: macro.cc:3466
-msgid "expected ')' before end of line"
+#: macro.cc:3566
+#, gcc-internal-format
+msgid "expected %<)%> before end of line"
 msgstr ""
 
-#: macro.cc:3467
-msgid "expected ')' after \"...\""
+#: macro.cc:3567
+#, gcc-internal-format
+msgid "expected %<)%> after %<...%>"
 msgstr ""
 
-#: macro.cc:3524
+#: macro.cc:3624
 msgid "anonymous variadic macros were introduced in C++11"
 msgstr ""
 
-#: macro.cc:3525
-#: macro.cc:3529
+#: macro.cc:3625
+#: macro.cc:3629
 msgid "anonymous variadic macros were introduced in C99"
 msgstr ""
 
-#: macro.cc:3535
+#: macro.cc:3635
 msgid "ISO C++ does not permit named variadic macros"
 msgstr ""
 
-#: macro.cc:3536
+#: macro.cc:3636
 msgid "ISO C does not permit named variadic macros"
 msgstr ""
 
-#: macro.cc:3582
-msgid "'##' cannot appear at either end of a macro expansion"
+#: macro.cc:3682
+#, gcc-internal-format
+msgid "%<##%> cannot appear at either end of a macro expansion"
 msgstr ""
 
-#: macro.cc:3620
+#: macro.cc:3720
 msgid "ISO C++11 requires whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3621
+#: macro.cc:3721
 msgid "ISO C99 requires whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3645
+#: macro.cc:3745
 msgid "missing whitespace after the macro name"
 msgstr ""
 
-#: macro.cc:3698
-msgid "'#' is not followed by a macro parameter"
+#: macro.cc:3798
+#, gcc-internal-format
+msgid "%<#%> is not followed by a macro parameter"
 msgstr ""
 
-#: macro.cc:3862
-#, c-format
-msgid "\"%s\" redefined"
+#: macro.cc:3961
+#, gcc-internal-format
+msgid "%qs redefined"
 msgstr ""
 
-#: macro.cc:3867
+#: macro.cc:3965
 msgid "this is the location of the previous definition"
 msgstr ""
 
-#: macro.cc:4004
-#, c-format
-msgid "macro argument \"%s\" would be stringified in traditional C"
+#: macro.cc:4103
+#, gcc-internal-format
+msgid "macro argument %qs would be stringified in traditional C"
 msgstr ""
 
 #: pch.cc:90
@@ -1273,38 +1541,38 @@ msgid "while writing precompiled header"
 msgstr ""
 
 #: pch.cc:616
-#, c-format
-msgid "%s: not used because `%.*s' is poisoned"
+#, gcc-internal-format
+msgid "%s: not used because %<%.*s%> is poisoned"
 msgstr ""
 
 #: pch.cc:638
-#, c-format
-msgid "%s: not used because `%.*s' not defined"
+#, gcc-internal-format
+msgid "%s: not used because %<%.*s%> not defined"
 msgstr ""
 
 #: pch.cc:650
-#, c-format
-msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
+#, gcc-internal-format
+msgid "%s: not used because %<%.*s%> defined as %qs not %<%.*s%>"
 msgstr ""
 
-#: pch.cc:691
-#, c-format
-msgid "%s: not used because `%s' is defined"
+#: pch.cc:693
+#, gcc-internal-format
+msgid "%s: not used because %qs is defined"
 msgstr ""
 
-#: pch.cc:711
-#, c-format
-msgid "%s: not used because `__COUNTER__' is invalid"
+#: pch.cc:713
+#, gcc-internal-format
+msgid "%s: not used because %<__COUNTER__%> is invalid"
 msgstr ""
 
-#: pch.cc:720
-#: pch.cc:883
+#: pch.cc:722
+#: pch.cc:885
 msgid "while reading precompiled header"
 msgstr ""
 
 #: traditional.cc:891
-#, c-format
-msgid "detected recursion whilst expanding macro \"%s\""
+#, gcc-internal-format
+msgid "detected recursion whilst expanding macro %qs"
 msgstr ""
 
 #: traditional.cc:1114